Вопросы по теме '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 просмотров
schedule
07.10.2021
Ошибка левой рекурсии в 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