Вопросы по теме 'yacc'
Yacc/Bison, минимизировать количество, группируя математические операции
Я просматриваю исходный код расчета здесь http://epaperpress.com/lexandyacc/
Я вижу эти строки в calc.y
| expr '+' expr { $$ = opr('+', 2, $1, $3); }
| expr '-' expr { $$ = opr('-', 2, $1, $3); }
| expr '*' expr { $$ =...
906 просмотров
schedule
19.05.2024
bison сдвиг/уменьшение проблемы с перемещением добавить операцию в подвыражение
Изначально в примере было это
expr:
INTEGER
| expr '+' expr { $$ = $1 + $3; }
| expr '-' expr { $$ = $1 - $3; }
;
Я хотел, чтобы это было «более просто», поэтому я написал это (я понимаю,...
1056 просмотров
schedule
18.10.2022
Компиляция и выполнение переводчика языка программирования Shakespeare spl2c в Mac OS X 10.6 приводит к предупреждениям/ошибкам
Я хотел поэкспериментировать с языком программирования Shakespeare , поэтому скачал его с здесь и выполнил Makefile, используя cd spl-1.2.1 Make .
Компиляция spl2c выполняется с парой предупреждений:
scanner.l:600: warning, rule cannot...
7222 просмотров
schedule
07.04.2024
Python/YACC: разрешение конфликта сдвига/уменьшения
Я использую PLY. Вот одно из моих состояний из parser.out :
state 3
(5) course_data -> course .
(6) course_data -> course . course_list_tail
(3) or_phrase -> course . OR_CONJ COURSE_NUMBER
(7) course_list_tail -> . ,...
2480 просмотров
schedule
13.01.2024
Какова стратегия добавления продуктов ошибок в грамматику?
Как обычно добавляются ошибки? Я столкнулся с проблемой, что мои продукты ошибок слишком поверхностны: когда синтаксический анализатор начинает выталкивать состояния ошибки в операторе, он всплывает, пока не столкнется с выводом ошибок для раздела, в...
1322 просмотров
schedule
21.09.2022
Lex- и YACC-подобные инструменты для R?
Существуют ли такие инструменты синтаксического анализа для R? В моем случае это не обязательно должен быть инструмент, совместимый с lex/yacc.
(я новичок в R)
РЕДАКТИРОВАТЬ: я заинтересован в реализации другого языка с использованием R.
1634 просмотров
schedule
19.02.2024
Преобразование инфикса в постфикс в YACC (Bison)
Я безуспешно пытался преобразовать инфиксное выражение в постфиксное выражение, используя YACC (Bison). Я хотел бы знать, как это можно сделать? Пример кода будет потрясающим :)
11004 просмотров
schedule
13.01.2024
Нечетная ошибка в программе lex/yacc
Я новичок в lex/yacc и пишу синтаксический анализатор SQL с использованием lex/yacc. Однако для конкретного запроса JOIN (перечисленного ниже) мой синтаксический анализатор намеренно обращается к правилу «select_statement» вместо правила...
367 просмотров
schedule
05.03.2024
LALR грамматика неоднозначна
Я сделал грамматику для логических и арифметических выражений. Я хочу обрабатывать арифметические выражения, например:
(1+5)+(-3)
Я закончил эту работу: я могу обрабатывать все выражения, которые хочу.
Моя проблема в том, что...
428 просмотров
schedule
22.02.2024
Ошибка Yacc и Lex при синтаксическом анализе выражений, использующих бинарные операторы
Я новичок в Lex и Yacc, и я пытаюсь создать парсер для простого языка, который допускает базовые арифметические выражения и выражения равенства. Хотя некоторые из них у меня работают, я сталкиваюсь с ошибками при попытке разобрать выражения,...
893 просмотров
schedule
13.04.2024
время сканирования не отображается должным образом
Это некоторая часть моего C-сканера, основанного на Lex n Yacc, я использую компилятор flex, bison и gcc. Вот часть моего файла yacc. Поэтому я пытаюсь реализовать время сканирования в секундах, например, сканер будет печатать время сканирования в...
79 просмотров
schedule
27.12.2023
Синтаксическая ошибка при запуске lex и yacc
Я новичок в lex и yacc. Я пробовал грамматику, которая создает матрицы и выполняет некоторые операции, такие как сложение, умножение и т. д.
Вот грамматика, которую я использую
program: block ENDS
block: stmt | block ENDS stmt...
405 просмотров
schedule
29.01.2024
yacc получает нулевое значение от нетерминала
Я делаю C-компилятор, следуя [Конструкция компилятора, принципы и практика]. и я почти сделал парсер, используя yacc, но одно правило в yacc делает ошибку.
return_stmt : RETURN SEMI { $$ = newStmtNode(ReturnK);}
|...
102 просмотров
schedule
26.01.2024
Yacc/Bison для иерархических и массивных идентификаторов Verilog
Я пытаюсь разобрать идентификаторы на языке Verilog. Полная грамматика находится здесь .
Они могут иметь следующие формы:
name
name[index]
name[start:stop]
name[index][start:stop]
name.(any of the above)
name[index].(any of the above)...
282 просмотров
schedule
05.03.2024
Почему неизвестная переменная mystring?
Я пытаюсь отладить, почему моя переменная mystring неизвестна, хотя я думаю, что она должна быть в соответствии с более ранним вопросом
Ошибка в грамматике или в коде?
(gdb) run
The program being debugged has been started already.
Start it...
101 просмотров
schedule
04.02.2024
Поддерживает ли YACC ply расширенную форму Бэкуса-Наура?
В примерах, которые я видел , всегда используется "простой" BNF. Вот пример части моего глупого развития:
def p_expression(p):
"""expression : NUMBER
| NAME
| NEGATION
| INCREMENT...
622 просмотров
schedule
08.01.2024
Bison не может разрешать конфликты shift-reduce и reduce-reduce
Я пишу синтаксический анализатор с использованием Bison, но не могу правильно понять грамматику.
Есть два конфликта:
Вот некоторые из правил, используемых для разрешения первого конфликта:
program : function...
393 просмотров
schedule
07.11.2022
Как прокомментировать правило грамматики в yacc и правило сопоставления регулярных выражений в lex?
Я хочу прокомментировать это правило сопоставления в lex. Я не хочу его удалять. Я просто хочу, чтобы он был прокомментирован, чтобы любой, кто увидит файл lex, позже был проинформирован о том, что эта часть была прокомментирована....
147 просмотров
schedule
03.10.2023
Как узнать номер правила, с которого произошло сокращение в слое?
Предположим, у меня есть следующие правила в моей грамматике. Я хочу знать, из какого правила происходит редукция.
iteration_statement : WHILE push_scope LPAREN expression RPAREN compound_statement pop_scope
| DO...
40 просмотров
schedule
05.05.2024
Домашнее задание компилятора Lex && Yacc
Привет (мой английский не очень хорошо, я надеюсь, вы поймете), у меня есть миссия сделать компилятор, я уже сделал язык в lex и yacc, но я сильно застрял, наш учитель попросил нас построить дерево AST с языка и распечатать по предварительному...
202 просмотров
schedule
26.07.2022