protocols-lino 0.0.2
Install from the command line:
Learn more about npm packages
$ npm install @linksplatform/protocols-lino@0.0.2
Install via package.json:
"@linksplatform/protocols-lino": "0.0.2"
About this version
Реализация парсера протокола Lino для JavaScript с использованием Bun и генератора парсеров Peggy.js.
cd js
bun installcd js
npm installКомпиляция грамматики Peggy.js:
bun run build:grammarСборка проекта:
bun run buildЗапуск тестов:
bun testРежим наблюдения:
bun test --watchimport { Parser, Link } from '@linksplatform/protocols-lino';
// Создание парсера
const parser = new Parser();
// Парсинг строки в формате Lino
const input = `папа (любитМаму: любит маму)
сын любитМаму
дочь любитМаму
все (любят маму)`;
const result = parser.parse(input);
console.log(result);
// Обращение к распарсенной структуре
result.forEach(link => {
console.log(link.toString());
});import { Link } from '@linksplatform/protocols-lino';
// Создание связей программно
const link = new Link('родитель', [
new Link('ребенок1'),
new Link('ребенок2')
]);
console.log(link.toString()); // (родитель: ребенок1 ребенок2)
// Доступ к свойствам связи
console.log('ID:', link.id);
console.log('Значения:', link.values);// Обработка вложенных структур
const input = `родитель
ребенок1
ребенок2
внук1
внук2`;
const parsed = await parser.parse(input);
// Работа с группами
import { LinksGroup } from '@linksplatform/protocols-lino';
const group = new LinksGroup(parsed);
console.log(group.format());папа (любитМаму: любит маму)
сын любитМаму
дочь любитМаму
все (любят маму)
папа имеет машину
мама имеет дом
(папа и мама) счастливы
(нотацияСвязей: нотация связей)
(Это тоже нотацияСвязей)
(нотацияСвязей поддерживает (неограниченное количество (ссылок) в каждой связи))
родитель
ребенок1
ребенок2
внук1
внук2
Основной класс парсера для преобразования строк в связи.
-
initialize()- Инициализация парсера (асинхронно) -
parse(input)- Парсинг строки Lino и возвращение связей
Представляет одну связь с ID и значениями.
-
constructor(id, values = [])- Создание новой связи -
toString()- Преобразование связи в строковый формат -
id- Идентификатор связи -
values- Массив дочерних значений/связей
Контейнер для группировки связанных связей.
-
constructor(links)- Создание новой группы -
format()- Форматирование группы в строку
-
src/grammar.pegjs- Определение грамматики Peggy.js -
src/Link.js- Структура данных связи -
src/LinksGroup.js- Контейнер групп связей -
src/Parser.js- Обертка парсера -
src/index.js- Главная точка входа -
tests/- Файлы тестов
- Peggy.js (5.0.6) - Генератор парсеров
- Среда выполнения Bun (разработка)
- Пакет:
@linksplatform/protocols-lino - Версия: 0.1.0
- Лицензия: MIT
Details
- protocols-lino
-
linksplatform
- 7 months ago
- MIT
- 2 dependencies
Assets
- protocols-lino-0.0.2.tgz
Download activity
- Total downloads 0
- Last 30 days 0
- Last week 0
- Today 0