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

Синтаксическая ошибка, неожиданное значение ИСТИНА, ожидается '{'
Я пишу синтаксический анализатор в Bison для базового компилятора (а затем расширяю его, чтобы он содержал подпрограммы и динамическое распределение памяти). Грамматика определена в Приложении А к книге драконов. Мой сканер Flex работает - я...
1161 просмотров
schedule 28.10.2021

Анализ yytext для числа с плавающей запятой дает ноль
Я использую следующий файл lex для преобразования чисел в токены. Однако программа не может правильно анализировать числа с плавающей запятой. Для отладки я добавил операторы printf, и они показывают, что функция strtof не может правильно...
3659 просмотров

lex | действие правила гибкости игнорируется
Все, В моем файле lex есть шаблон указанного типа: "#"[ \\t]*"ifdef".* { action_ifdef_manager(yytext);} если такой текст заключен в #ifdef GLOBALVAR , действие action_ifdef_manager не вызывается Спасибо за любую помощь.
95 просмотров
schedule 13.10.2021

Парсер Bison: создание функции, возвращающей токены
в моем флексе я хотел бы сделать что-то вроде этого: {VARIABLE} { yylval.string_val=strdup(yytext); return getVarType(yytext); //that is the issue } У меня вопрос:...
711 просмотров
schedule 07.09.2021

Простой пример Flex-bison
Я изучаю флекс и бизон по книге Джона Р. Левина. Я хотел бы прочитать один-единственный "ВЫБРАТЬ;" заявление (это содержимое файла, который читает мой код), но я получаю сообщение «Сканер Flex застрял». Что не так с кодом? Лексер: pmysql.l...
1336 просмотров
schedule 28.09.2021

В Flex когда обновляется yylineno?
Я хочу использовать flex, чтобы получить текущий номер строки. похоже, что у flex есть глобальная переменная yylineno, чтобы сохранить текущий номер строки при компиляции. Несомненно, yylineno будет увеличиваться на 1 при совпадении \ n. но...
658 просмотров
schedule 13.11.2021

В бизоне есть способ вернуть имя токена вместо его типа
Я работаю с Flex и Bison. в моем parse.y (bison) я определяю токены. Когда токен возвращается, он возвращает int. Мне было интересно, есть ли способ взять этот int и сопоставить его с фактическим именем в источнике bison. Например в моем parser.y...
1809 просмотров
schedule 23.11.2021

Генератор анализатора flex / lex: минимизация DFA
Выполняет ли flex или lex минимизацию DFA? Если да, то у меня есть следующие вопросы: какой алгоритм используется? скажем, у нас есть спецификация, как показано ниже %{ #include <stdio.h> %} %% a printf("a\n"); b...
566 просмотров
schedule 14.09.2021

Что означает yytext [0]?
Что означает yytext [0]? А зачем использовать в программе lex и yacc? Я учусь, так что не возражайте, если это будет глупый вопрос.
21049 просмотров
schedule 27.09.2021

flex / bison: как переключить два лексера в одном входном файле
Как я могу передать открытый файл, например читать другим сканером в следующий сканер - и отдавать парсеру?
669 просмотров
schedule 12.09.2021

Как что-то сделать, когда во входном файле достигнут EOF?
Я пытаюсь отслеживать сигнатуры всех функций, чтобы проверить - когда весь входной файл был просканирован - все ли они были определены, и в противном случае сообщить об ошибке. Для этого я хочу, чтобы сканер возвращал синтаксическому анализатору...
1305 просмотров
schedule 19.09.2021

Лексический и семантический анализ компилятора Flex / Bison mini C сдвиг / уменьшение конфликтов
Я хочу написать компилятор для языка mini C, используя flex и bison. Пример моего языка будет выглядеть так: /* This is an example uC program. */ int fac(int n) { if (n < 2) return n; return n * fac(n - 1); } int sum(int n,...
815 просмотров
schedule 11.10.2021

Конфликт сдвига / уменьшения в yacc-Flex
У меня следующая грамматика в yacc, но я получаю 1 конфликт сдвига / уменьшения: %union { char* integer; char* string; char* boolean; char* date; }; %token <integer> INTEGER %token <string> STRING %token...
71 просмотров
schedule 15.09.2021

FLEX / BISON создает location.hh, position.hh, stack.hh в другой папке
У меня такая структура папок include/ src/ | parser.yy | scanner.ll и в src/CMakeLists.txt : SET(BisonOutput ${CMAKE_SOURCE_DIR}/src/_parser.cpp) IF(BISON_FOUND) ADD_CUSTOM_COMMAND( OUTPUT ${BisonOutput} COMMAND...
149 просмотров
schedule 20.09.2021

Flex / Bison - Как я могу разрешить v Множественное определение `symtab '
Я воссоздал расширенный калькулятор из книги" flex & bison " и сделал несколько небольшие доработки для c ++. Но что я не могу решить, так это то, что при компиляции я получаю следующую ошибку. C:\..\BisonFlexCalculator/Includes/calc.hpp:17:...
207 просмотров
schedule 20.10.2021

Windows не может найти FLEX_LIBRARIES
При использовании этого CMakeLists.txt cmake_minimum_required(VERSION 3.17) project(project_c) set(CMAKE_CXX_STANDARD 11) set(project_name project_c) find_package(BISON) find_package(FLEX) BISON_TARGET(parser parser.y...
66 просмотров
schedule 16.10.2021

Какое регулярное выражение для сопоставления пробелов между словами в предложении FLEX?
Я хочу сначала сопоставить пробелы между словами, а затем подсчитать общее количество пробелов в предложении. Я пытаюсь сделать это ниже, %{ #undef yywrap #define yywrap() 1 int VowelCount = 0; int ConsonantCount=0; int CountWhiteSpace=0; int...
40 просмотров
schedule 23.10.2021

Ошибка рекурсии bison с указателем структуры
У меня есть простая структура под названием Polyn, например: typedef struct Polyn { int sign; int coeff; int exp; struct Polyn *next; } Polyn; В моей грамматике bison для рекурсивного построения многочленов я получаю только первый и...
23 просмотров
schedule 27.11.2021

Почему преждевременный eof в этой гибкой программе?
Я делаю программу на гибком языке, которая принимает вводимые пользователем данные в виде строки, описывающей форму. Теперь мой код кажется правильным, но я получаю преждевременный eof при компиляции. Я также пробовал делать то же, что и похожие...
79 просмотров
schedule 05.10.2021

QLALR - пример QParser аварийно завершает работу при запуске в Visual Studio 2008
К сожалению, мне приходится разбирать язык (JScript). Я начал изучать, как использовать Flex, зная, что Qt предоставляет полезный инструмент под названием QLALR для создания синтаксического анализатора. В \ util \ qlalr \ examples \ qparser я нашел...
785 просмотров
schedule 03.01.2022