Описание тега flex-lexer

Flex (генератор быстрых лексических анализаторов) - это бесплатное программное обеспечение, которое генерирует лексические анализаторы ("сканеры" или "лексеры").
2 ответа

Как добавить препроцессор в ассемблер flex+bison?

Я написал простой ассемблер, используя flex+bison. Я хотел бы добавить препроцессор (макросы) к языку ассемблера. Я впервые пытаюсь использовать flex+bison, я не знаю, как это сделать. Целесообразно ли добавить отдельный экземпляр flex + bison и вып…
14 апр '12 в 03:43
1 ответ

Как установить приоритеты для правил?

Я написал правила, но я не понял, почему правила желаний не совпадают, потому что в документации сказано следующее: When the generated scanner is run, it analyzes its input looking for strings which match any of its patterns. If it finds more than o…
10 окт '13 в 10:38
1 ответ

Как я могу разобрать в структуре данных для последующего выполнения? (Флекс - Бизон)

Это для школьного задания. Я просто ищу точку в правильном направлении. Может быть, я просто не узнаю ответ, когда увижу его (поиск в Google). Вместо синтаксического анализа грамматики и немедленного выполнения {действия}, я хотел бы поместить все в…
22 май '17 в 18:18
4 ответа

Unix Flex Regex для многострочных комментариев

Я делаю Lexical Analyzer, используя Flex на Unix. Если вы когда-либо использовали его раньше, вы знаете, что в основном вы просто задаете регулярное выражение для токенов любого языка, для которого вы пишете Lexical Analyzer. Я застрял на заключител…
21 янв '11 в 06:15
1 ответ

Lex - распознавание неоднозначных токенов

Все, В моем файле Lex мы опознаем некоторые операторы как токены, некоторые из этих операторов ":p" and ":" проблема в том, что любое слово ведьма начинается с: ":presentation" не признается как ':' word /*grammar*/ и ошибка разбора срабатывает из-з…
07 май '12 в 10:07
2 ответа

Гибкий - нет точки входа

Я изучаю теорию компиляции и как работать с flex, и у меня есть несколько проблем. Я создал файл lex со следующими данными: %% "hello" printf("GOODBYE"); . ; %% Это самый простой, о котором я мог подумать. Если я правильно понимаю, он печатает GOODB…
10 апр '17 в 12:58
1 ответ

Есть ли в файле конфигурации чтение / запись C кода генератора?

Я знаю, как сгенерировать код сканера C с помощью flex или bison, но, к сожалению, мне нужен код C для чтения && -write- configure файла, но я не могу сгенерировать такой код с помощью flex или bison, может быть, я могу использовать файл конфигураци…
21 май '13 в 03:03
1 ответ

Гибкий сгенерированный файл не может быть использован?

Я использую Flex Lexer в качестве лексера для моего проекта компилятора, и у меня есть эта функция, чтобы изменить поток ввода лексера следующим образом: .l void initLexer(string code) { lineNumber = 1; columnNumber = 0; currentStringIndex = 0; yy_d…
27 май '11 в 11:57
1 ответ

Регулярное выражение для имени переменной

Я все еще использую [A-Za-z][A-Za-z_$0-9] как регулярное выражение для перехвата имени переменной (в bison-flex). Теперь я хочу добавить в него точку и квадратную скобку. Например, это может быть abc.def[12], Как мне это сделать?
25 май '16 в 15:51
1 ответ

Проблема с использованием флекс и бизон

Кто -нибудь работал над flex и bison?? у меня есть пример их. я запускаю его, но это показывает без бизонов, например: во flex в.l файле я определил id и поставил printf{"id"} для него. и в бизоне я определил что-то вроде этого: id_list : ID {printf…
07 июн '11 в 08:30
1 ответ

Сцепление с EOF в flex

У меня есть следующая строка: <INITIAL><<EOF>> {return 0;} и мне нужно игнорировать последний EOL - \n или же \r\n до EOF. Я не могу понять, как соединить его с EOF, чтобы оно было действительным регулярным выражением. Я пробовал: …
11 ноя '15 в 20:35
1 ответ

EOF обнаружен в программе действия LEX

У меня есть программа lex следующим образом. Я сталкиваюсь с ошибкой EOF обнаружен в программе действия LEX %{ #include<stdio.h> #include<math.h> #include "y.tab.h" %} %% [ \t]+ ; [0-9]+ {yylval = atoi(yytext); return INTEGER;} [-+*/] {r…
09 фев '17 в 05:32
1 ответ

Используя Flex и Bison вместе

Прежде всего, я должен прояснить, что я новичок в программировании гибких и зубровых программ. Я пытаюсь написать код, распознающий определенную часть объявления. Его синтаксис и логику можно понять с помощью кода flex и bison, который я представляю…
28 дек '15 в 14:40
1 ответ

Как сохранить состояние Bison при разборе кусков разных потоков?

У меня есть одно определение синтаксического анализатора Bison для применения к нескольким потокам. Каждый поток создается порциями через определенные интервалы, поэтому я хотел бы сохранить состояние данного экземпляра синтаксического анализа, чтоб…
12 июн '13 в 14:18
1 ответ

Как обрабатывать любой текстовый файл Unix/DOS/Mac в flex-сканере

Я хочу, чтобы мой гибкий сканер обрабатывал текстовые файлы с символами новой строки, закодированными с использованием lf (Unix), cr (Mac) или cr lf (DOS). Я не забочусь о поддержании точно точного количества строк. Не делая ничего особенного в файл…
15 июн '18 в 01:10
1 ответ

Используйте typedef в union

Я хочу переопределить float, используя: typedef float decimal потому что я использую таблицу "uthash" и у нее нет метода add_float, это может сделать только я через структуру я использовал это в бизоне %union{ decimal dec; } and then declare the tok…
02 ноя '10 в 21:09
1 ответ

Ошибка "что-то не структура или объединение" при компиляции очень простых файлов Lex/Yacc

Я искал ответы на свой вопрос, но никто не решает мою проблему. Это мой действительно простой файл Yacc: %{ #include <stdio.h> #include "y.tab.h" int clientesVodafone = 0; int clientesMovistar = 0; float sumaVodafone = 0.0; float sumaMovistar …
28 май '12 в 11:46
3 ответа

Как создать нисходящую "древовидную" конструкцию с использованием зубров?

Я нашел этот пример, но он создает дерево снизу вверх. Можно ли создать дерево сверху вниз, используя bison, flex? псевдокод: block(parent): { current = new Block(); parent.addBlock(this); } BLOCK_BEGIN_TOKEN block_content(current) BLOCK_END_TOKEN ;…
1 ответ

Проблема с использованием сгенерированного файла из flex

Я пытаюсь настроить проект, который использует flex (быстрый лекс, а не Adobe). Я работаю в Ubuntu и установил flex с помощью метода apt-get. Я погуглил ошибку компиляции и нашел либо людей, которые просто создают свои собственные патчи вокруг нее, …
02 сен '11 в 15:35
1 ответ

Как вы объявляете этот макрос в lex?

Я новичок в Лекс, и я запутался в том, как объявить следующий макрос, ключевое слово. Я хочу, чтобы ключевое слово состояло из "если", "тогда", "еще" или "пока". Я набрал это в лекс: keyword "if" | "then" | "else" | "while" но компилятор выдает мне …
05 фев '16 в 13:49