Описание тега lex
Lex - это компьютерная программа, которая генерирует лексические анализаторы ("сканеры" или "лексеры"). Lex обычно используется с генератором синтаксического анализатора yacc. Если у вас возникли вопросы об Amazon Lex, используйте тег amazon-lex.
1
ответ
CMake: Flex custom_command никогда не вызывается
У меня есть некоторые проблемы с использованием CMake с Flex в проекте C++. я использую FindFlexи его макрос FLEX_TARGET которая генерирует пользовательскую команду, которая просто называется исполняемым файлом Flex, чтобы создать исходный файл из .…
03 сен '15 в 10:12
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
ответ
Как реализовать семантическую проверку для данного языка
for(var x in z) { a = x + 1 + 2; foo(); } function bar() {} for(t in []){ function hello(a) { a = t + 'hello' + 'world'; } bar(); hello(); } hello(); function hello() {} 15 * 30; 1 + 2 + 3; a = 3 - 2 - 1; a + 10; Допустим, у нас есть семантическое п…
15 апр '18 в 11:16
2
ответа
Лекс распознает [как часть цепочки букв вместо символа
Я пишу простую программу yacc, которая проверяет синтаксис. Я должен быть в состоянии сделать что-то вроде int a[100]; У меня есть много печатных заявлений в моей программе, чтобы вы могли видеть, что происходит. Вместо того чтобы сказать INT found …
25 фев '15 в 07:59
2
ответа
Предупреждение о сборке зубров: "опция -s задана, но правило по умолчанию может быть найдено"
Я получаю предупреждение warning, -s option given but default rule can be matched Если вы зададите Google "опция указана, но правило по умолчанию может быть найдено", вы найдете главу руководства Flex по диагностике и эту запись на старой странице р…
25 окт '09 в 23:36
1
ответ
Парсер из разных потоков
Нам нужно проанализировать значение в соответствии с этой грамматикой: %{ ... #define YYSTYPE Pformatted extern FILE *formattedin; extern Value lexval; %} %token FORMATTED_LEX_ID CHARCONST INTCONST REALCONST STRCONST BOOLCONST FORMATTED_LEX_ERROR %%…
17 июл '14 в 15:25
1
ответ
Lex - распознавание неоднозначных токенов
Все, В моем файле Lex мы опознаем некоторые операторы как токены, некоторые из этих операторов ":p" and ":" проблема в том, что любое слово ведьма начинается с: ":presentation" не признается как ':' word /*grammar*/ и ошибка разбора срабатывает из-з…
07 май '12 в 10:07
1
ответ
Python PLY Lex неоднозначность
У меня проблема с неоднозначностью на уровне токенов. Проблема выглядит так. Мой код выглядит так, чтобы токен t_UN1 имел более высокий приоритет. t_ignore = ' \t\v\r' # whitespace .... def t_UN1(t): #NS_ r'NS\_' return t def t_IDENTIFIER(t): r'[a-z…
03 янв '13 в 21:26
1
ответ
Lex: сохранение всей строки с использованием начального условия и перехода между состояниями
Мне интересно, возможно ли сохранить весь ввод из начального условия в конечное состояние в lex. Например: %x START %% "XXX" BEGIN START; <START>. <START>"YYY" {printf("%s", yytext);} Будет печатать YYY если я введу что-то вроде XXX some…
17 янв '16 в 06:25
1
ответ
Как написать файл lex для ввода, как "{\"a\":1,\"b\":2}"
Я хочу реализовать синтаксический анализатор json, но возникли проблемы с объектом синтаксического анализа, например "{\"a\":1,\"b\":2}", в настоящее время парсер выводит что-то вроде этого '(json (object "{" (kvpair "\"a\":1,\"b\"" ":" (json (numbe…
15 май '15 в 11:32
1
ответ
Обработка #define макросов в yacc/bison lex
Как бы я реализовал #define макросы с yacc/ бизон? Я думал, что все определяемые символы должны соответствовать обычной переменной. Переменные определяются как [a-zA-Z_][a-zA-Z0-9_]* поэтому я полагаю, что могу поставить там проверку, чтобы увидеть,…
23 окт '09 в 17:53
1
ответ
Регулярное выражение в лекс. Почему флекс ведет себя так
Рассмотрим простое целое число, идентифицирующее выражение, например: [0-9]+ printf("Integer"); Теперь, если я дам 123 в качестве входа он возвращает Integer, справедливо. Теперь, если я дам s123 в качестве ввода он распечатывает sInteger, Непревзой…
23 окт '13 в 14:23
1
ответ
Нахождение определенного токена
Ну, я использую lex для поиска токенов. Я хочу получить значение токена идентификатора, которое идет после класса токена, как мне это сделать. Например, моя функция должна возвращать идентификатор после токена класса. Есть ли способ сделать это? Лек…
30 апр '13 в 05:06
1
ответ
Как различить новую строку, вызванную ENTER, и \n, записанные в файле с помощью lex?
Файл: myscanner.h #define TYPE 1 #define NAME 2 #define TABLE_PREFIX 3 #define PORT 4 #define COLON 5 #define IDENTIFIER 6 #define INTEGER 7 Входной файл в сканер: db_type : mysql \n db_name : textdata db_table_prefix : test_ db_port : a1099 Если my…
25 янв '16 в 05:23
1
ответ
Предупреждения lex и yacc не работают должным образом
Lexer.l %{ #include "y.tab.h" %} %% "define" return(TK_KEY_DEFINE); "as" return(TK_KEY_AS); "is" return(TK_KEY_IS); "if" return(TK_KEY_IF); "then" return(TK_KEY_THEN); "else" return(TK_KEY_ELSE); "endif" return(TK_KEY_ENDIF); "with" return(TK_KEY_WI…
11 июн '17 в 12:34
1
ответ
Простая калькуляторная программа на lex и yacc не выдает вывод
Я пытаюсь написать очень простую калькуляторную программу, использующую lex и yacc, но застреваю при выводе на печать. Файлы: calc.l: %{ #include "y.tab.h" extern int yylval; %} %% [0-9]+ {yylval = atoi(yytext); return NUMBER;} [ \t] ; \n return 0; …
07 ноя '17 в 09:46
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
0
ответов
Ошибка Lex: отсутствует спецификатор типа
Следующие рекомендации от пользователя стека и инструкции в следующем вопросе стека: Lex - Как запустить / скомпилировать программу lex в командной строке Я получаю следующую ошибку после выполнения lex wordcount.l а также gcc lex.yy.c Все на OS X и…
19 янв '18 в 01:03
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