12得票3回答
如何在Visual Studio 2010中使用flex和bison?

我阅读了http://msdn.microsoft.com/en-us/library/aa730877%28vs.80%29.aspx,但该文档是针对 VS 2005 的。我遇到了文档中的“在 Visual C++ 中导入 .rules 文件”的部分问题。看起来 VS 2010 不支持 .r...

11得票2回答
使用Flex/Bison实现解释器的REPL

我用Flex和Bison为扫描器/解析器编写了类似C语言的语言的解释器。当执行完整程序文件时它可以正常工作。 现在我正在尝试为解释器实现REPL以供交互使用。我希望它能像Ruby或ML中的命令行解释器一样工作: 显示提示符 接受一条或多条语句 如果表达式不完整 显示继续提示符 允许用户...

11得票4回答
如何在bison和flex中使用缩进作为块分隔符

我想知道如何在bison+flex中实现缩进作为块分隔符,就像在Python中一样。我正在编写自己的编程语言(主要是为了好玩,但我打算将其与游戏引擎一起使用),我会尽力想出一些特殊的东西,以最小化样板代码并最大化开发速度。 我已经用C语言编写了一个编译器(实际上是一个“langToy”到Na...

11得票2回答
GCC在bison生成的头文件中显示“数字常量之前的语法错误”

当我使用bison parser.y -d -t编译我的.y文件,并在我的flex文件中包含parser.tab.h文件时,gcc会报错“错误:数字常量之前的语法错误。”它引用了yytokentype枚举中的第32行,这是该枚举中的第一行。 enum yytokentype { BRE...

11得票1回答
使用flex/bison构建类似于Lisp/Scheme的解析树

我尝试解析类似Lisp/Scheme的简单代码E.g. (func a (b c d) ) 并从中构建一棵树, 我可以在C中完成解析,而不使用(即仅使用flex返回记号,并使用递归构建树)。 但是,对于bison的语法,我不确定在哪里添加代码来构建列表(即与累积终端符号相关联的规则以及将构建的...

11得票3回答
使用ANTLR相比于Flex/Bison有哪些缺点?

我在本科期间几年前曾经使用过Flex、Bison。但是现在我不太记得了。最近,我听说了ANTLR。 您建议我学习ANTLR还是复习一下Flex/Bison? ANTLR比Flex/Bison有更多/更少的功能吗?

11得票2回答
收到警告:规则无法匹配。

我正在构建一个词法和语法分析器。当我尝试使用flex处理我的.l文件时,出现了以下警告。 littleDuck.l:26: warning, rule cannot be matched 第26条规则以{cteI}开头,我的规则部分如下: [ \t\n] ; {RW} ...

11得票2回答
尝试为bison/wisent构建C#语法

我以前从未使用过Bison或Wisent。 我该如何入门? 我的真正目标是为C#生成一个可工作的Wisent/Semantic语法,以允许在emacs中编辑C#代码并具备代码自动完成和其他CEDET功能。 (对于那些不知道的人,Wisent是GNU Bison的一个emacs-lisp端口,...

10得票3回答
如何在yacc中使用字符串与yylval

我想要传递一个令牌的实际字符串。如果我有一个名为ID的令牌,那么我希望我的yacc文件实际上知道ID被称为什么。我认为我需要通过使用yylval从flex文件向yacc文件传递一个字符串。我该如何做到这一点?

10得票1回答
如何在Flex/bison中实现If语句

我不理解这个错误,请你帮帮我,这里有 .l 和 .y 文件。谢谢。 %{ #include "ifanw.tab.h" extern int yylval; %} %% "=" { return EQ; } "!=" { return NE; } "<" {...