17得票1回答
%option noinput nounput: 它们有什么作用?

我是新手,所以想知道为什么需要使用这些指令%option nounput %option noinput 是的,我知道如果不这样做,我会收到这些警告:lex.yy.c:1237:17: warning: ‘yyunput’ defined but not used [-Wunused-func...

17得票1回答
Lex/Flex - 扫描 EOF 字符

其他人曾遇到过我正在经历的下列问题,但我找不到任何人报告了解决方案...即如何让Flex识别EOF(文件结尾)。我需要Flex找到EOF并返回一个标记,以表示它已找到文件结尾,这样它可以告诉Yacc/Bison已经到达输入源文件的末尾,并报告成功的解析。 请注意,此问题与此问题不同,因为它涉...

16得票6回答
Flex/Bison IDE?

我正在寻找一个良好的开发环境,以便于编写flex或bison或两者兼而有之。 是否有任何具备这些功能和/或适合此用途的IDE? (如果没有,那么下一个最常见的问题是:是否有集成开发环境的词法分析器/语法分析器生成器?) 谢谢 ~Alex

15得票2回答
Flex文件中的"premature eof error"错误

我有以下代码,当我运行 flex hello.l 命令时会出现错误 "hello.l",line 31: premature EOF。%{ #include <stdlib.h> #include "y.tab.h" %} %% ("hi"|"oi")"\n" ...

15得票3回答
Bison:单个规则中的可选标记

我正在使用GNU Bison 2.4.2写一个新语言的语法,并有一个问题。 当我指定规则时,比如说:statement : T_CLASS T_IDENT '{' T_CLASS_MEMBERS '}' { // create a node for the statem...

15得票4回答
对'yylex()'的未定义引用

我正在尝试使用flex和bison创建一个简单的脚本语言。现在,我只是试图让计算器工作。 然而,我无法编译它。当我运行这个Makefile时:OBJECTS = hug.tab.o hug.yy.o PROGRAM = hug.exe CPP = g++ LEX = flex YACC =...

15得票1回答
使用Flex和Bison编译时出现“Undefined reference to '_yyerror'”错误

我正在尝试制作一个类似Pascal的小型语言的编译器。为此,我正在使用Flex和Bison,但出现了以下错误。 我的Flex文件: %{ #include "y.tab.h" #include <stdlib.h> #include <string.h> #incl...

15得票2回答
#error "在包含Support/DataTypes.h之前必须定义__STDC_LIMIT_MACROS"。

我一直在尝试按照http://gnuu.org/2009/09/18/writing-your-own-toy-compiler/5/上的教程(使用flex、bison和llvm)进行操作,但在输入以下命令时: g++ -o parser parser.cpp tokens.cpp m...

14得票4回答
为什么在flex/bison中多行注释这么难懂?

我正在尝试在我的Flex (.l)文件中解析C风格的多行注释:%s ML_COMMENT %% ... <INITIAL>"/*" BEGIN(ML_COMMENT); <ML_COMMENT>"*/" ...

13得票2回答
如何在LEX / FLEX中编写非贪婪匹配?

我正在尝试使用FLEX和BISON解析一种类似于'C'的旧语言。除了匹配字符串之外,一切都很顺利。 这种相当奇怪的旧语言不支持在字符串文字中引用字符,因此以下都是有效的字符串文字:"hello" "" "\" 我使用以下规则匹配字符串文字:\".*\" { yylval...