Вопросы по теме 'lalr'
Как исправить конфликты сдвига / уменьшения YACC от оператора постинкремента?
Я пишу грамматику в YACC (на самом деле Bison), и у меня проблема со сдвигом / уменьшением. Это результат включения постфиксных операторов инкремента и декремента. Вот урезанная версия грамматики:
%token NUMBER ID INC DEC
%left '+' '-'...
9302 просмотров
schedule
05.07.2022
Разрешение конфликта сдвига/уменьшения в синтаксическом анализаторе 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 просмотров
schedule
11.02.2023
Не удается устранить следующую ошибку уменьшения-уменьшения (разбор 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