Вопросы по теме 'flex-lexer'
Синтаксическая ошибка, неожиданное значение ИСТИНА, ожидается '{'
Я пишу синтаксический анализатор в Bison для базового компилятора (а затем расширяю его, чтобы он содержал подпрограммы и динамическое распределение памяти). Грамматика определена в Приложении А к книге драконов. Мой сканер Flex работает - я...
1161 просмотров
schedule
28.10.2021
Анализ yytext для числа с плавающей запятой дает ноль
Я использую следующий файл lex для преобразования чисел в токены. Однако программа не может правильно анализировать числа с плавающей запятой. Для отладки я добавил операторы printf, и они показывают, что функция strtof не может правильно...
3659 просмотров
schedule
20.11.2021
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