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

Простая грамматика для Lemon LALR Parser
Я застрял с этим с некоторого времени. Я хочу разобрать что-то простое, например: НРАВИТСЯ: слово1 слово2 .. словоN НЕНАВИДИТ: слово1 слово2 .. словоN Я использую Lemon+Flex. На данный момент моя грамматика выглядит примерно так: %left...
1120 просмотров
schedule 27.03.2022

Правильно ли Lemon обрабатывает приоритет nonassoc?
Я чувствую, что генератор синтаксического анализатора Lemon делает это неправильно с приоритетом nonassoc. У меня есть упрощенная грамматика, которая демонстрирует проблемы, которые я вижу. %nonassoc EQ. %left PLUS. stmt ::= expr. expr ::= expr...
128 просмотров
schedule 04.04.2022

Генерация парсера JavaScript SQL для SQLite3 (с Lemon? ANTLR3?)
В течение последних нескольких недель я погружался в прекрасный мир разбора операторов SQL во что-то управляемое только для того, чтобы узнать, что мне, вероятно, понадобится полный лексер/парсер для правильной обработки всех разрешенных...
1485 просмотров
schedule 09.08.2022

Использование правил midaction в Lemon для интерпретации выражения let
Я пытаюсь написать «игрушечный» интерпретатор, используя Flex + Lemon, который поддерживает очень простой синтаксис «let», где переменная X временно привязана к выражению. Например, «letx 3 + 4 in x + 8» должно оцениваться как 15. По сути, я бы...
101 просмотров
schedule 11.08.2022

Восстановление токенов ошибок при разборе (Lemon)
Я использую Lemon в качестве генератора парсеров, его обработка ошибок такая же, как у yacc и bison, если вы не знаете Lemon. В Lemon есть возможность определить токен ошибки в наборе правил, чтобы отлавливать ошибки синтаксического анализа. По...
1185 просмотров
schedule 24.01.2023

Shift/reduce конфликт с вызовом выражения
Когда я пытаюсь скомпилировать этот простой синтаксический анализатор с помощью Lemon, у меня возникает конфликт, но я не вижу, какое правило неверно. Конфликт исчезнет, ​​если я удалю двоичное выражение или выражение вызова. %left Add. program...
200 просмотров

Решение конфликтов синтаксического анализа в крошечной грамматике Lemon
Я пытаюсь изучить основы генератора синтаксического анализатора Lemon , но быстро застрял. Вот небольшая грамматика: %right PLUS_PLUS. %left DOT. program ::= expr. member_expr ::= expr DOT IDENTIFIER. lhs_expr ::= member_expr. expr ::=...
530 просмотров