Вопросы по теме 'pegjs'

синтаксический анализ цепочки логических выражений с помощью pegjs
Я пытаюсь разобрать эту строку с помощью peg.js: filter a > 2 or b < 3 or b > 10 or c = 12 Соответствующий отрывок грамматики выглядит так: bool "bool" = left:expr space+ logicOp:logicOp space+ right:bool { return new...
516 просмотров

Ошибка левой рекурсии в Peg.JS
Сейчас я делаю язык программирования для научной выставки. Это моя грамматика PEG.js: start = s:Statements { return ['Program', {}].concat(s); } / _ Statements = s:Statement ";" { return s; } / ss:Statements s:Statement ";"...
473 просмотров
schedule 02.11.2021

Использование PEG.js для простого поиска / замены
Я пытаюсь понять, как использовать PEG.js для простого поиска / замены в тексте. Конечно, это не предназначенное использование для парсера, но в любом случае мне любопытно, какая логика стоит за этими языками, чтобы произвести некоторый поиск /...
265 просмотров
schedule 23.11.2021

Грамматика PEG, которая принимает три необязательных элемента в любом порядке
Предположим, у нас есть три элемента a b и c . В допустимом выражении используются эти три элемента (и необязательные пробелы). Должен присутствовать хотя бы один из этих трех элементов. Все три элемента являются необязательными (если...
326 просмотров
schedule 05.10.2021

Правило условной грамматики в PEGjs
Я пытаюсь реализовать простой DSL, который анализирует основные арифметические выражения. Это нужно сделать в браузере, поэтому я использую PEGjs для генерации парсера. Термины в выражении могут быть числами (целыми или действительными),...
554 просмотров
schedule 14.10.2021

Ожидается любой символ, но не найден конец ввода
мой ввод - это рекурсивная структура, которая выглядит так (обратите внимание на пустую вторую строку): xxx @ {} yyy @ {zzz @ {} wwww} грамматика, как я вижу, должна выглядеть так: start = item+ item = thing / space thing = '@{'...
1574 просмотров
schedule 25.10.2021

что не так с этой грамматикой привязки?
следующая грамматика (из RFC 2396): domainlabel = 'a' / ('a' ('a' / '-')* 'a') не может разобрать это: aa Почему?
103 просмотров
schedule 10.11.2021

Как работает возврат в peg.js (с примером)?
Я определил следующую минимальную грамматику Peg.js: start = "A1" / "A123" которые вы можете попробовать в песочнице . Я ожидал, что будет соответствовать «A1», а также «A123» (согласно моему представлению о том, как работает поиск с...
1680 просмотров
schedule 02.04.2022

Сопоставьте строковый литерал, содержащий нижнюю область, с помощью PEG.js
я продолжаю изучать PEG.js, но застрял на следующем вопросе. Синтаксический анализатор, сгенерированный PEG.js, не может сопоставить строку, содержащую нижние области видимости: CONFIG += stl_off но успешно анализирует строку без...
528 просмотров
schedule 09.07.2022

Почему pegjs не обрабатывает правило пробелов *
Следующая простая грамматика pegjs отлично работает: start = sentence sentence = word ws sentence / word word = [a-z]* ws = " " Он доступен по адресу http://jsfiddle.net/4V3Zt/ . Грамматику также можно вставить в...
219 просмотров
schedule 06.08.2022

Как анализировать только комментарии, используя грамматику pegjs?
Я написал грамматику pegjs, которая должна анализировать любые комментарии в стиле js/c. Однако это не совсем работает, так как мне удалось зафиксировать только сам комментарий и игнорировать все остальное. Как мне изменить эту грамматику, чтобы...
180 просмотров
schedule 18.09.2022

Устранить левую рекурсию в этой грамматике PEG.js
(Примечание: я читал другие вопросы, такие как this , но я не смог понять это). Я написал эту грамматику: start = call ident = [a-z]+ spaces = [ ]+ call = f:ident spaces g:(call / ident) { return f + "(" + g + ")"; } С этим вводом...
2646 просмотров
schedule 24.12.2022

Как высушить это правило PEGjs?
следующее отлично подходит для того, что я пытаюсь сделать, но, очевидно, оно очень повторяющееся. Он должен соответствовать следующим примерам: #id.class1.class2 attr="asdsa" .class1.class2 attr="asdsad" attr="asds" Заманчиво...
335 просмотров
schedule 03.04.2023

Как сгруппировать непустые строки с помощью PEG.js
Я пытаюсь проанализировать файл категорий с помощью PEG.js . Как сгруппировать категории (набор непустых строк, за которыми следует пустая строка) stopwords:fr:aux,au,de,le,du,la,a,et,avec synonyms:en:flavoured, flavored synonyms:en:sorbets,...
207 просмотров
schedule 23.01.2023

Пример использования PEG.js
Я играю с PEG.js . Я создал простой код, который принимает входные данные в форме [буквы и числа]: abc123 привет98765 и т.п. Это код: start = expression expression = text + number text = a: [a-z]+ {return a.join("");} number...
3226 просмотров
schedule 30.05.2023

PEGjs: запрос помощи/руководства по определению арифметических функций
Я изучаю грамматику PEGjs и прошу помощи или руководства по следующим вопросам: У меня есть такие функции, как PRODUCT(), SUM(), DIVIDE() PRODUCT может принимать number /PRODUCT()/SUM()/DIVIDE( ) в качестве параметров (любое число, но через...
120 просмотров
schedule 26.11.2022

Могут ли PEGjs принимать в качестве входных данных закрывающий символ оператора?
Я работаю над грамматикой PEGjs. Большая часть этого работает, но у меня возникли проблемы с одной последней вещью. Мой синтаксический анализатор принимает ввод, который выглядит следующим образом: First:[content]; и возвращает тип (First или...
29 просмотров
schedule 29.04.2023