Вопросы по теме 'flex-lexer'
Есть ли альтернатива для flex / bison, которую можно использовать на 8-битных встроенных системах?
Я пишу небольшой интерпретатор для простого языка, подобного BASIC, в качестве упражнения на микроконтроллере AVR на C с использованием инструментальной цепочки avr-gcc. Однако мне интересно, есть ли какие-нибудь инструменты с открытым исходным...
69790 просмотров
schedule
12.04.2022
Возможны ли обратные ссылки во flex (лексический анализатор)?
Я привык играть с регулярными выражениями в языках, где я могу использовать круглые скобки для захвата ссылок. Единственное, что я вижу во flex, это переменная yytext. Но его содержимое представляет собой полное согласованное регулярное выражение, а...
752 просмотров
schedule
29.03.2023
Разделение памяти между файлами YACC, Lex и C
У меня есть грамматика YACC (Bison), токенизатор Lex (Flex) и программа на C, среди которых мне нужно разделить struct (или любую переменную). В настоящее время я объявляю фактический объект в файле грамматики и extern его везде, где он мне нужен...
1948 просмотров
schedule
23.08.2022
Как сгенерировать различные функции yyparse из lex/yacc для использования в одной и той же программе?
Я хочу сгенерировать две отдельные функции синтаксического анализа из lex/yacc. Обычно yacc дает вам функцию yyparse(), которую вы можете вызвать, когда вам нужно выполнить какой-то анализ, но мне нужно иметь несколько разных yyparse, каждый из...
2248 просмотров
schedule
10.06.2023
Путаница с включением Yacc и Lex
Мне интересно, как правильно скомпилировать программу с Makefile, в котором есть вызовы yyparse?
Это то чем я занимаюсь:
У меня есть Makefile, который компилирует все мои обычные файлы, и они не связаны с y.tab.c или lex.yy.c (они должны быть у...
3287 просмотров
schedule
26.07.2022
Bison: необязательные токены в одном правиле
Я использую GNU Bison 2.4.2 для написания грамматики для нового языка, над которым я работаю, и у меня есть вопрос. Когда я указываю правило, скажем:
statement : T_CLASS T_IDENT '{' T_CLASS_MEMBERS '}' {
// create a node for the...
9424 просмотров
schedule
19.06.2022
Реализация функций eval и load внутри обработчика сценариев с помощью Flex и Bison.
Привет, ребята, я разрабатываю скриптовый движок с помощью flex и bison, и теперь я реализую функции eval и load для этого языка. Просто чтобы дать вам пример, синтаксис выглядит так:
import std.*;
load( "some_script.hy" );
eval( "foo = 123;"...
500 просмотров
schedule
08.06.2022
yy_top_state(), похоже, не работает с flex
Итак, я пишу этот реентерабельный сканер с помощью flex и использую параметр стека для отслеживания состояния. Согласно документации, кажется, что
yy_push_state(SCRIPT, yyscanner);
//now yy_top_state(yyscanner) == SCRIPT; should eval true...
1066 просмотров
schedule
17.03.2024
Почему многострочные комментарии в flex/bison так уклончивы?
Я пытаюсь проанализировать многострочные комментарии в стиле C в моем файле flex (.l):
%s ML_COMMENT
%%
...
<INITIAL>"/*" BEGIN(ML_COMMENT);
<ML_COMMENT>"*/" BEGIN(INITIAL);
<ML_COMMENT>[.\n]+...
7984 просмотров
schedule
23.02.2023
Разделение зарезервированных идентификаторов во flex
У меня есть язык, для которого я делаю парсер, содержащий вызовы функций. Несколько имен функций зарезервированы, и я хотел бы обрабатывать их по-другому в своем грамматике. В EBNF это будет выглядеть так
FunctionCall ::= FunctionName '(' ')'...
663 просмотров
schedule
21.08.2023
Неизвестная ошибка правила при использовании lex
1 %{
2 #include<stdio.h>
3 #include<ctype.h>
4 %}
5 %option noyywrap
6 %%
7 [a-z] { putchar(yytext[0]); }
8
9 "/*"
10 {
11 char ch;
12 while((ch = input()) != '*')
13...
2213 просмотров
schedule
20.04.2023
Получить результат действия Flex/Bison
Я использую Flex/Bison/C++ для вычисления выражения Вот пример файла bison
string res;
yy_scan_string(expression.c_str());
yyparse();
cout<<"Result:"<<res<<"\n";
....
expr: expr PLUS expr {...
1327 просмотров
schedule
14.01.2023
флекс я запутался
вход в лексер
abc gef4 44jdjd ghghg
x
ererete
xyzzz
55k
hello wold
33
мои правила
rule1 [0-9]+[a-zA-Z]+
rule2 [x-z]
rule3 .*
{rule1} { printf("%s \n", yytext); }
{rule2} { printf("%s \n", yytext); }
{rule3} { // ничего не...
97 просмотров
schedule
27.07.2022
Регулярное выражение для строк в Bibtex
Я пытаюсь написать парсер Bibtex с помощью flex/bison. Вот правила для строк в bibtex:
Строки могут быть заключены в двойные кавычки "..." или фигурные скобки {...}
В строке фигурные скобки могут быть вложены
Внутри строки фигурные скобки...
170 просмотров
schedule
16.11.2022
Гибкий скрипт, который соответствует пустым вводам?
Можно ли написать сценарий lex или flex , содержащий набор правил, в которых шаг сопоставления с максимальным значением всегда будет соответствовать строке нулевой длины?
Я спрашиваю об этом, потому что математическое определение регулярных...
2363 просмотров
schedule
13.06.2022
Как использовать REJECT во flex?
Давайте проясним, что я говорю об инструменте лексического анализа.
Для следующего ввода:
aa bb cc dd
Мне нужно, чтобы синтаксический анализатор соответствовал следующим подстрокам:
aa bb
bb cc
cc dd
У меня есть это...
1358 просмотров
schedule
11.07.2022
LookAhead не работает в JFlex
Я пытаюсь использовать JFlex для создания синтаксического анализатора, но сталкиваюсь с очень простой проблемой. Я хочу иметь этот токен
[A-Za-z]+_N$ { System.out.println("Noun"); }
и пусть он распознает «car_N» как «существительное», а НЕ...
1125 просмотров
schedule
27.07.2023
используйте bison для создания исполняемого файла, но с ошибкой
Я следил за руководством по Flex и Bison , чтобы изучить flex и bison, но я застрял. Когда я компилирую с помощью «g ++ snazzle.tab.c lex.yy.c -lfl -o snazzle», я получаю следующие сообщения об ошибках:
snazzle.tab.c: In function ‘int...
1393 просмотров
schedule
09.06.2023
как включить импорт в flex/bison
Я делаю конвертер языков программирования, и у него есть импорт и включение.
Например:
import com.nanana.MyClassFile
include "myfile.any"
Я новичок, что означает, что я потерялся в том, как я могу это сделать. Мне интересно, возможно ли...
988 просмотров
schedule
09.11.2022
Почему гибкий сканер работает медленно при сопоставлении символов NUL?
У меня есть лексер, написанный кем-то другим, который сгенерировал его с помощью flex. Это работает, но в примере, который содержит строковый литерал и много символов NUL, сканирование выполняется очень медленно.
После некоторого поиска в Google я...
200 просмотров
schedule
05.07.2023