Вопросы по теме 'bison'
Левая рекурсия в грамматике приводит к конфликтам
Во всей грамматике Bison я использую правую рекурсию, и я читал, что левая рекурсия лучше, потому что ей не нужно сначала строить весь стек.
Однако, когда я пытаюсь переключиться на левую рекурсию на любом из них, я всегда получаю много конфликтов,...
3647 просмотров
schedule
19.04.2024
Как использовать yylval со строками в yacc
Я хочу передать фактическую строку токена. Если у меня есть токен с именем ID, то я хочу, чтобы мой файл yacc действительно знал, как называется ID. Я думаю, что мне нужно передать строку, используя yylval, в файл yacc из файла flex. Как я могу это...
28435 просмотров
schedule
12.06.2024
Проблема с printf в Bison Rule
Я пробовал что-то подобное в моем файле Bison...
ReturnS: RETURN expression {printf(";")}
... но точка с запятой печатается ПОСЛЕ следующей лексемы после этого правила, а не сразу после выражения. Это правило было введено, так как мы должны...
2089 просмотров
schedule
12.06.2024
bison: одна ошибка вызывает дополнительную, но некорректную ошибку
В разделе класса моего кода, если я пишу об ошибке, несколько строк будут сообщены как ошибки, хотя этого не должно быть. Я помещаю « | error » в определенные места, где хорошо/безопасно восстанавливаться после ошибок, но я не думаю, что он его...
118 просмотров
schedule
15.10.2022
Проблемы со встраиванием Guile в C++
Я программист Scheme и пытаюсь использовать Guile для вызова функций Scheme из кода C++ в рамках спецификации Bison. Документация по Guile и C великолепна; однако я не нашел много актуальной актуальной информации о Guile и C++. Поскольку каждая...
1903 просмотров
schedule
27.09.2022
%locations приводит к мгновенному sigsegv
Я смотрю на парсер, сделанный с помощью flex и bison. Бизон 2.5.
Я добавляю %locations в файл .y, перекомпилирую и пытаюсь запустить, в награду получаю sigsegv (ну, эквивалент macosx):
Program received signal EXC_BAD_ACCESS, Could not access...
188 просмотров
schedule
24.03.2024
Как получить строковое значение токена в flex и bison?
У меня есть этот токен в моем файле .lex:
[a-zA-Z0-9]+ { yylval = yytext; return ALPHANUM; }
и этот код в моем файле .y:
Sentence: "Sphere(" ALPHANUM ")."
{
FILE* file = fopen("C:/test.txt", "a+");
char st1[] = "polySphere -name ";...
24434 просмотров
schedule
15.03.2024
Обнаружение/восстановление ошибок в YACC/Bison
Я читал руководства об использовании символа ошибки, yyerrok и т. д. Меня беспокоит, как добавить правила ошибок в синтаксический анализатор, не переусердствуя или не добавляя достаточно.
Есть ли какие-либо общие рекомендации, которым я должен...
1737 просмотров
schedule
05.12.2023
нет ошибок при разборе пустого файла yacc/lex
У меня есть синтаксический анализатор, сгенерированный из yacc/lex. Он отлично работает для всех правил, которые я установил, кроме одного случая.
Если файл, который анализирует этот парсер, пуст, он выдает ошибку. Я хочу добавить правило, чтобы...
846 просмотров
schedule
07.10.2022
Как мне убедить Bison разобрать часть файла?
Если есть входной файл формы:
BEGIN
stuff....
END
BEGIN
stuff ...
END
и мой файл .y имеет вид
%token BEGIN
%token END
%start begin
begin: BEGIN stuff END
и то, что я хочу сделать, это многократно вызывать yyparse, анализируя...
1265 просмотров
schedule
15.06.2024
Бизон флекс для начинающих
Как я могу напечатать номер строки, в которой произошла ошибка. Я попытался использовать yylineno в функции yyerror() и записать %option yylineno в файл .l , но после компиляции он выдает ошибку « yylineno undeclared (first use in this...
5646 просмотров
schedule
20.04.2024
Flex выдает фатальную внутреннюю ошибку сканера - пропущен конец буфера
Я пытаюсь использовать flex против буфера, который постоянно заполняется и пополняется.
У меня есть несколько потоков, работающих со своими независимыми копиями буфера.
В psuedo в моей основной программе это выглядит примерно так:...
4261 просмотров
schedule
05.02.2024
игнорировать совпадающую продукцию в yacc
Можно ли при использовании GNU bison ничего не делать после сопоставления продукции, а затем проверить, можно ли использовать какое-либо другое правило для уменьшения той же последовательности токенов? В принципе, то, что я ищу, похоже на это:...
161 просмотров
schedule
05.12.2023
Flex/Bison: связанный список, разделенный запятыми?
У меня есть следующая грамматика для списка, разделенного запятыми, по крайней мере с одним элементом:
column_expression_list:
column_expression {
$$ = LinkedList_New();
LinkedListItem *item = LinkedListItem_New($1);...
1223 просмотров
schedule
21.11.2023
У меня ошибка при компиляции bison с опцией %define Parser.h
Мой файл Parser.y содержит приведенный ниже код.
%defines "Parser.h"
Я скомпилировал этот файл, и у меня есть ошибка ниже.
$ бизон Parser.y
Parser.y:27.10-19: синтаксическая ошибка, непредвиденная строка
Поэтому я...
193 просмотров
schedule
29.03.2024
команда для создания парсера с bison/flex в windows?
Я пытаюсь разработать компилятор для моей грамматики. Я пишу код сканера, и он корректно работает с flex. Теперь я пишу код синтаксического анализатора, таблицу символов и файл three.h для генерации трехадресного кода. Но я не знаю, как запускать и...
240 просмотров
schedule
16.03.2024
запрос на членство в чем-то, кроме структуры или союза? во Флекс&Бизон
в моем финальном проекте осталось несколько кодов, один из них для flex & bison. Проблема в том, что gcc возвращает мне сообщение "запрос члена ' db ' в чем-то, что не является структурой или объединением" в файле bison... Я не знаю, как это...
1354 просмотров
schedule
09.10.2022
Калькулятор с несколькими переменными Flex/Bison
Я пишу калькулятор на Flex/Bison, который позволяет использовать переменные. Прямо сейчас у меня есть только одна переменная (x), которую вы можете использовать. Я хочу иметь возможность использовать больше, чем просто x. (скорее как аз)....
1466 просмотров
schedule
11.03.2024
Почему эта очень простая грамматика заставляет парсеры GLR подавляться?
Я пробовал несколько разных генераторов парсеров (Bison, DParser и т. Д.), Которые утверждают, что могут генерировать парсеры GLR, то есть те, которые могут обрабатывать неоднозначные грамматики. Вот очень простая двусмысленная грамматика того типа,...
1261 просмотров
schedule
05.03.2024
Ошибка компоновщика Yacc на Mac
Я получаю эту ошибку, когда пытаюсь скомпилировать. Раньше я компилировал файлы lex без проблем, но я не могу заставить yacc компилироваться без ошибок.
:~ yacc project-5.y
:~ lex project.l
:~g++ -o $dragon project-5.tab.c lex.yy.c
clang:...
2547 просмотров
schedule
25.09.2022