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

Как исправить конфликты сдвига / уменьшения YACC от оператора постинкремента?
Я пишу грамматику в YACC (на самом деле Bison), и у меня проблема со сдвигом / уменьшением. Это результат включения постфиксных операторов инкремента и декремента. Вот урезанная версия грамматики: %token NUMBER ID INC DEC %left '+' '-'...
9302 просмотров

Разрешение конфликта сдвига/уменьшения в синтаксическом анализаторе LALR
Я использую PLY для создания синтаксического анализатора для своего языка, однако у меня есть конфликт сдвига/уменьшения, который вызывает у меня некоторые проблемы. В моем языке есть универсальные типы с синтаксисом, похожим на шаблоны C++. Итак,...
2471 просмотров
schedule 01.07.2022

Каков лучший генератор парсера LALR для C ++, который может генерировать содержательные сообщения об ошибках
Я ищу лучшее решение для генератора парсера LALR для C ++, которое позволит мне создавать действительно хорошие сообщения об ошибках. Я действительно ненавижу синтаксические ошибки, которые генерирует MySQL, и я хочу взять в нем синтаксический...
1413 просмотров
schedule 17.04.2022

Реализация функций eval и load внутри обработчика сценариев с помощью Flex и Bison.
Привет, ребята, я разрабатываю скриптовый движок с помощью flex и bison, и теперь я реализую функции eval и load для этого языка. Просто чтобы дать вам пример, синтаксис выглядит так: import std.*; load( "some_script.hy" ); eval( "foo = 123;"...
500 просмотров
schedule 08.06.2022

Объяснение факторинга от LALR(k) до LALR(1) и/или примеры
Согласно этому сообщению рекурсивного спуска по сравнению с LALR , любой LALR (k) может быть преобразован в LALR (1) с помощью «факторинга». У меня нет Книги Дракона, упомянутой в посте, есть ли какие-то объяснения или примеры где-нибудь в...
170 просмотров
schedule 24.04.2023

Генератор парсера LR (k) или LALR (k) с функциями, аналогичными ANTLR
В настоящее время я пишу парсер для какого-то языка. Мне дали грамматику для этого языка, но в этой грамматике есть некоторые левые рекурсии и конструкции, отличные от LL (*), поэтому ANTLR не очень хорошо работает даже с возвратом. Поскольку...
1161 просмотров
schedule 11.05.2023

Слияние состояний LR для формирования наборов для анализа грамматики LALR
Если предположить, что у меня есть следующие состояния: I1: S->TaV.,$ T -> V.,a I2: T -> V.,a|$ я объединяю эти состояния? По сути, я хочу знать, что является ядром I1. Является { S->TaV . , T->V. } ядро ​​I1 или я...
478 просмотров
schedule 05.03.2023

Можно ли в Менгире сделать правило левоассоциативным, если оно не имеет оператора?
Я пытаюсь использовать Menhir для написания синтаксического анализатора языка регулярных выражений. Моя желаемая грамматика, прежде чем я изменю ее, чтобы устранить двусмысленность, выглядит примерно так, как показано в следующем примере. Обратите...
465 просмотров
schedule 21.08.2022

Должен ли я использовать генераторы синтаксических анализаторов для чего-либо еще, кроме языка?
Пытаясь освоиться с лексическими анализаторами и генераторами парсеров, я понял, что большинство ресурсов в Интернете (учебники, форумы, StackOverflow) говорят только о языках. Это потому, что такие инструменты, как Flex и Bison, подходят только для...
49 просмотров
schedule 05.06.2022

как дать действие для каждого правила bison
Я пытаюсь сделать небольшой компилятор, используя flex и bison, но я не понимал, как выполнить действие для каждого правила. моя грамматика такая: %union{ std::string *s; }; %start program %type <s> expr %token...
216 просмотров

Не удается устранить следующую ошибку уменьшения-уменьшения (разбор LALR)
В настоящее время я реализую часть грамматики Decaf (язык программирования). Вот соответствующий фрагмент кода bison : type: INT | ID | type LS RS ; local_var_decl: type ID SEMICOLON ; name: THIS | ID | name DOT ID | name...
39 просмотров
schedule 01.09.2023

Как анализировать заданную грамматику LALR(1)
У меня возникли проблемы с разбором следующей грамматики с использованием метода LALR. s -> y y -> dX | ydX X -> e | Zd z -> F | epsilon Сначала я в порядке, вот состояние элемента 0: (разделяет состояния просмотра вперед) s...
33 просмотров
schedule 26.07.2022