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

Как компилировать flex в Visual Studio 2005/2008?
Я не могу понять это. Я могу загрузить двоичный файл flex 2.5.4a для win32 из gnuwin32, но я хотел бы собрать последнюю версию (2.5.35) с помощью Visual Studio 2005. Я полагаю, что мог бы построить в cygwin, но где в этом веселье? ?
2772 просмотров

Разработка простого парсера
Моя дневная работа включает в себя разработку компилятора, подобного Pascal. Я все время работал над оптимизацией и генерацией кода. Я также хотел бы начать учиться создавать простой парсер для того же языка. Однако я не совсем уверен, как это...
8125 просмотров
schedule 13.03.2022

трудности с получением комментариев в стиле c в flex/lex
Я хочу сделать правило в flex для использования комментария в стиле c, например /* */ у меня есть следующее c_comment "/*"[\n.]*"*/" Но это никогда не совпадает. Есть идеи, почему? если вам нужно больше моего кода, пожалуйста, дайте мне...
26973 просмотров
schedule 10.04.2024

Как заставить yacc/bison и/или lex/flex перезапускать сканирование после чего-то вроде замены токена?
Есть ли способ заставить bison и/или flex перезапустить сканирование после того, как я заменю какой-то токен на что-то другое? Мой конкретный пример будет с заменой определенного слова/строки. Если я хочу, чтобы слово hello было заменено на...
2901 просмотров
schedule 31.03.2023

Как заставить yacc/bison и lex/flex приостановить сканирование файлов?
Я пытаюсь разобрать файл с помощью Bison/Yacc, но я хочу приостановить синтаксический анализ на некоторое время. Причина, по которой я хочу это сделать, заключается в том, что я хочу последовательно обрабатывать огромный файл и имитировать итератор...
659 просмотров
schedule 29.06.2023

Строки кодирования Flex/Lex с экранированными символами
Я обращусь к этому вопросу для некоторого фона: Регулярное выражение для строкового литерала в flex/lex Проблема, с которой я сталкиваюсь, заключается в обработке ввода с экранированными символами в моем лексере, и я думаю, что это может быть...
11743 просмотров
schedule 22.11.2022

gcc выдает ошибку с flex
Я хотел сгенерировать исполняемый файл из lex.yy, поэтому дал следующую команду: gcc -lfl lex.yy.c Но выдает ошибку как: /tmp/ccAa80My.o:lex.yy.c:(.text+0x325): undefined reference to '_yywrap' /tmp/ccAa80My.o:lex.yy.c:(.text+0xa7a):...
489 просмотров
schedule 07.07.2023

Как сканировать токены только в контексте с помощью Flex?
Я хочу создать синтаксический анализатор шаблонизатора с помощью Flex & Bison. Дело в том, что я хотел бы разбирать только выражения внутри {{..}} и $ {..}. Шаблон может быть любым произвольным текстом со встроенными токенами с таким кодом:...
351 просмотров
schedule 30.04.2022

Bison: $$ и $ 1 указывают на одну и ту же ячейку памяти (объединение YYSTYPE двух типов указателей)
Я создавал парсер для очень простого парсера, когда внезапно начал получать сообщения SEGFAULT. Я сократил свой код до минимума, когда он идет не так: Это мой файл test.flex: %{ #include "test.tab.h" #include <iostream> using namespace...
1010 просмотров
schedule 10.10.2023

Char* как YYSTYPE в flex/bison возвращает только первый символ в токене при использовании с strdup() в лексере
Я использую char* как YYSTYPE в компиляторе, созданном с помощью flex и bison. Линия #define YYSTYPE char* находится в верхней части моего файла грамматики. Некоторым из токенов в моем лексере нужно передать всю строку, которая...
6709 просмотров

Как написать переносимый код, учитывая несовместимость кода lex/flex
Flex — это бесплатная реализация программы Lex, хотя между ними есть некоторые несовместимости. Например, Lex хранит текущую строку в глобальной переменной yylineno , тогда как в flex для доступа к ней необходимо добавить в код %option yylineno...
208 просмотров
schedule 28.04.2023

Я не уверен, как выводить (сложную) полезную информацию, когда в моем парсере bison
Я пишу Flex/Bison Lexer/Parser, чтобы разобрать сценарий моего собственного дизайна в качестве задания для университета. Все идет очень хорошо, и мой скрипт правильно анализирует, обнаруживает любые ошибки и т. Д., И распознает токены, и передает...
135 просмотров
schedule 13.05.2022

Учебное пособие по Bison/Flex с C++, AST и повторным входом как в лексер, так и в парсер
Я изучаю синтаксический анализ, бизон и лекс. Я ищу четкий и полный учебник/пример, который демонстрирует все: C++ (не C) Абстрактное синтаксическое дерево. Реэнтерабельный лексер. Повторный анализатор. Чтение из строки (по сравнению с...
5863 просмотров

Моделирование логических значений в Bison с помощью C
Я пытаюсь сделать логический калькулятор, используя C и bison, но у меня проблемы, потому что C не имеет логического типа. Это часть моих правил Flex: "TRUE" | "T" | "t" {yylval = 1; return TRUE; } "FALSE" | "F" | "f" {yylval = 0;...
1322 просмотров
schedule 24.10.2022

не удается получить доступ к таблице токенов yytname в bison 2.6 или она исчезла?
Я создаю парсер для формата обмена активами. И я включаю директиву %token-table в файл bison, но из гибкого кода я просто не могу получить доступ к таблице или связанным с ней константам. То есть при попытке скомпилировать этот код:...
1232 просмотров
schedule 19.08.2022

сгенерировать a.out из файла lex с помощью makefile
У меня есть auto.lex и я хочу сгенерировать a.out этого файла. Я старался - a.out: lex.yy.c gcc -c lex.yy.c lex.yy.c: auto.lex flex -c auto.lex но это не сработало. ИЗМЕНИТЬ: изменился на - a.out: lex.yy.c...
1570 просмотров
schedule 30.03.2024

ошибка парсера бизона
Я получаю следующие ошибки в моем файле lex. Я не знаю, почему это происходит. Каждая ошибка связана с каждым токеном, возвращаемым анализатору. lexical.l: In function âyylexâ: lexical.l:29: error: expected expression before â;â token...
1340 просмотров

Используя flex, как я могу сохранить содержимое yytext при достижении EOF и вводе через YY_INPUT?
Когда сканер сгенерирован flex-lexer сталкивается с концом файла, он теряет содержимое yytext[] , которое было оставлено там вызовами yymore() в предыдущих правилах. Это ошибочное поведение происходит только в том случае, если YY_INPUT()...
1882 просмотров
schedule 27.12.2022

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

expr-tokens.l , строка 52: нераспознанный %option : реентерабельный
У меня есть файл с именем «expr-tokens.l» или файл «lex», который при попытке проанализировать с помощью команды «flex expr-tokens.l» выдает ошибку ["expr-tokens.l", строка 52 : unrecognized %option : реентерабельный]. Анализ этого файла создаст...
834 просмотров
schedule 29.04.2024