Описание тега ml-yacc
ML-yacc - генератор синтаксических анализаторов для Standard ML.
2
ответа
ML-Yacc Tiger Parser Уменьшить / уменьшить ошибку
Я выполняю упражнение по программированию Ch3 по созданию Tiger Parser в книге Аппеля "Современная реализация компилятора в ML". Мой файл tiger.grm находится здесь. Ошибка, которую я пытаюсь диагностировать, - это конфликт типа "уменьшить-уменьшить"…
16 фев '17 в 03:02
1
ответ
Ml-YACC вопросы разбора.. работа с типом "юнит"
Прежде всего, это домашнее задание. Я должен сделать программу, которая может анализировать язык, описанный здесь: http://www.cs.princeton.edu/courses/archive/spring12/cos320/resources/fun_language_definition.html Это пример языка Fun: fun id(x:<…
27 мар '15 в 18:54
2
ответа
Конфликты в парсере для пропозициональной логики с тройным оператором IF-THEN-ELSE
Я хочу реализовать синтаксический анализатор для логики высказываний, который имеет следующие операторы в порядке убывания приоритета: НЕ р р и д p ИЛИ q ЕСЛИ р ТО q p IFF q ЕСЛИ р ТО q ДАЛЕЕ r Основная проблема связана с оператором IF-THEN-ELSE. Бе…
08 сен '17 в 01:48
1
ответ
Язык, используемый в файлах bison/yacc
Интересно, какой язык используется в фигурных скобках в разделе правил в файлах yacc/bison, подобных приведенным ниже, и есть ли какая-либо хорошая ссылка на это. stmts : stmt { $$ = new NBlock(); $$->statements.push_back($<stmt>1); } | stm…
10 янв '17 в 01:43
1
ответ
ML-Yacc Tiger Parser неправильно анализирует lvalue
Я работаю над компонентом парсера моего компилятора Tiger в SML, используя ML-Yacc. Я не могу найти каких-либо явных проблем с моим файлом грамматики (я использовал правила приоритета для разрешения всех конфликтов сдвига и уменьшения), но, кажется,…
02 сен '17 в 17:45
1
ответ
Ошибка ML-Yacc в отношении 12 сдвигов / уменьшений конфликтов, связанных с EXP -> EXP BINOP EXP
Это ошибка: 12 shift/reduce conflicts error: state 34: shift/reduce conflict (shift OR, reduce by rule 11) error: state 34: shift/reduce conflict (shift AND, reduce by rule 11) error: state 34: shift/reduce conflict (shift GE, reduce by rule 11) err…
18 мар '16 в 00:28
2
ответа
Удаление уменьшить / уменьшить конфликты
Я создал компилятор для языка, который имеет следующую грамматику, как определено в ML-Yacc (начальный символ - это "программа", которая определяется внизу): %nonassoc FUN VAR ASSIGN PLUSASSIGN MINUSASSIGN TIMESASSIGN DIVIDEASSIGN %right ELSE %left …
22 янв '14 в 02:34
1
ответ
Ссылка на несколько нетерминалов в производственной среде с одинаковым именем в Yacc
Предположим, у меня есть продукция: Expression // These are my semantic actions : Expression PLUS_TOKEN Expression ( create_node(Expression, Expression) ) | SimpleExpression ( SimpleExpression ) (* Returns a node of type expression *) Обратите внима…
12 фев '22 в 16:43
0
ответов
Как я могу разрешить этот конфликт сдвига-уменьшения?
Я следую книге Аппеля «Современная реализация компилятора в ML» и пытаюсь написать грамматику для Tiger. Вот моя первая попытка: %% %term EOF | ID of string | INT of int | STRING of string | COMMA | COLON | SEMICOLON | LPAREN | RPAREN | LBRACK | RBR…
28 ноя '22 в 01:28