Вопросы по теме 'flex-lexer'

Проблема с printf в Bison Rule
Я пробовал что-то подобное в моем файле Bison... ReturnS: RETURN expression {printf(";")} ... но точка с запятой печатается ПОСЛЕ следующей лексемы после этого правила, а не сразу после выражения. Это правило было введено, так как мы должны...
2089 просмотров
schedule 12.06.2024

Ошибка при компиляции вывода Lex в C++
Когда я компилирую вывод Lex как C++, я получаю следующие ошибки: $ make [ 6%] Building CXX object lib/CMakeFiles/lang.dir/lex_lexer.cpp.o /home/michael/Projects/lang/build/lib/lex_lexer.cpp: In function ‘int lang::lexyacc::yylex()’:...
1071 просмотров
schedule 04.10.2022

Как получить строковое значение токена в 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

Допустимо ли хранить предыдущее состояние как глобальную переменную?
Одной из самых больших проблем при проектировании комбинации лексический анализатор/парсер является чрезмерное усердие при проектировании анализатора. (f)lex не предназначен для логики синтаксического анализатора, которая иногда может мешать...
292 просмотров
schedule 04.01.2024

Бизон флекс для начинающих
Как я могу напечатать номер строки, в которой произошла ошибка. Я попытался использовать yylineno в функции yyerror() и записать %option yylineno в файл .l , но после компиляции он выдает ошибку « yylineno undeclared (first use in this...
5646 просмотров
schedule 20.04.2024

Как установить API из lex yacc в программу
Я создаю ФАЙЛ .exe, который может анализировать выражение, сгенерированное lex и yacc. Но я просто получаю ввод с экрана и просто возвращаю результат парсера с экрана. Я видел несколько предложений по использованию YY_BUFFER_STATE...
463 просмотров
schedule 22.02.2024

Flex выдает фатальную внутреннюю ошибку сканера - пропущен конец буфера
Я пытаюсь использовать flex против буфера, который постоянно заполняется и пополняется. У меня есть несколько потоков, работающих со своими независимыми копиями буфера. В psuedo в моей основной программе это выглядит примерно так:...
4261 просмотров
schedule 05.02.2024

Определение структуры в flex error C++
Я хочу определить структуру в программе flex: %{ #include <math.h> #include <string> #include <vector> #include <iostream> #include <map> struct Node{ string action; vector<Node> vecini[]; }; %}...
434 просмотров
schedule 17.04.2024

Flex/Bison: связанный список, разделенный запятыми?
У меня есть следующая грамматика для списка, разделенного запятыми, по крайней мере с одним элементом: column_expression_list: column_expression { $$ = LinkedList_New(); LinkedListItem *item = LinkedListItem_New($1);...
1223 просмотров
schedule 21.11.2023

Как заставить CMake найти flex в Windows
Я пытаюсь использовать flex в проекте, и я пытаюсь использовать CMake, чтобы связать flex с моим проектом. Я нашел FindFLEX.cmake онлайн, который я использую для этого. Вы можете найти его здесь . Это должно было быть в CMake по умолчанию, но я...
3443 просмотров
schedule 30.11.2022

Нежадное сопоставление регулярных выражений в Flex
Я только начал работать с Flex и не могу понять, как сопоставить следующее выражение: "Dog".*"Cat" ------------------ Input : Dog Ca Cat Cc Cat ------------------ Output: Dog Ca Cat Cc Cat Но я хочу нежадное сопоставление со следующим...
2361 просмотров
schedule 30.12.2023

запрос на членство в чем-то, кроме структуры или союза? во Флекс&Бизон
в моем финальном проекте осталось несколько кодов, один из них для flex & bison. Проблема в том, что gcc возвращает мне сообщение "запрос члена ' db ' в чем-то, что не является структурой или объединением" в файле bison... Я не знаю, как это...
1354 просмотров
schedule 09.10.2022

Калькулятор с несколькими переменными Flex/Bison
Я пишу калькулятор на Flex/Bison, который позволяет использовать переменные. Прямо сейчас у меня есть только одна переменная (x), которую вы можете использовать. Я хочу иметь возможность использовать больше, чем просто x. (скорее как аз)....
1466 просмотров

Отрицательный диапазон ошибок Flex в классе символов
Я пишу синтаксический анализатор с использованием Flex и Bison и определяю различные токены как: [0-9]+ { yylval.str=strdup(yytext); return digit; } [0-9]+\.[0-9]* { yylval.str=strdup(yytext); return floating; }...
5707 просмотров
schedule 16.03.2024

Регулярное выражение Flex для комментариев
Я пытаюсь изучить flex и у меня проблемы с регулярным выражением, чтобы поймать комментарии. Предполагая, что комментарий начинается с // и доходит до конца строки, я хотел бы, чтобы программа распознала весь комментарий и установила yytext...
203 просмотров
schedule 13.10.2022

Ошибка компоновщика 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

Как я могу указать синтаксическому анализатору не продолжать обработку незавершенных комментариев?
Я работаю над улучшением отчетов об ошибках в моем назначении компилятора. Я обрабатываю незавершенные комментарии во Flex, используя следующий код: <INITIAL>"/*" {BEGIN(COMMENT);} <COMMENT>"*/" {BEGIN(INITIAL);}...
179 просмотров
schedule 20.10.2022

Использование lex / flex вне yacc / bison
В настоящее время я использую bison и flex для анализа формул линейной временной логики и создания из них автоматов. Я использую flex по умолчанию, то есть записываю токен в yylval, если необходимо, и возвращаю идентификатор токена bison. Я...
314 просмотров
schedule 29.12.2023

Что делает return yytext[0]?
В этой части lex программы lex-yacc для чего добавляются строки . return yytext[0]; \n return yytext[0]; Это лексическая часть %{ #include "y.tab.h" %} %% a return A; b return B; . return yytext[0]; \n return yytext[0]; %% Что он...
2505 просмотров
schedule 20.05.2024

Выходной формат Flex/Bison
Я использую Flex и Bison для анализа JSON. Вот как выглядит мой Flex: %% [ \n\t]+ true { return VAL_TRUE; } false { return VAL_FALSE; } null { return VAL_NULL; } {STRING} { yylval->string = strdup(yytext); return...
450 просмотров
schedule 03.11.2023