Вопросы по теме '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 просмотров
schedule
11.03.2024
Отрицательный диапазон ошибок 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