Вопросы по теме 'flex-lexer'
Как компилировать flex в Visual Studio 2005/2008?
Я не могу понять это. Я могу загрузить двоичный файл flex 2.5.4a для win32 из gnuwin32, но я хотел бы собрать последнюю версию (2.5.35) с помощью Visual Studio 2005. Я полагаю, что мог бы построить в cygwin, но где в этом веселье? ?
2772 просмотров
schedule
12.02.2024
Разработка простого парсера
Моя дневная работа включает в себя разработку компилятора, подобного 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 просмотров
schedule
01.11.2022
Как написать переносимый код, учитывая несовместимость кода 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 просмотров
schedule
01.06.2022
Моделирование логических значений в 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 просмотров
schedule
06.06.2023
Используя 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