Вопросы по теме '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 просмотров

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 просмотров

Ошибка 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