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

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

15得票5回答
规则的空右侧符号的表示法

在编写一个("理论上的")语法时,如果规则的右侧为空,通常会使用符号 ε(或 1)来明确表示这个空值:A → ε | a A 在 Yacc 和其他类似的语法中,这样的文法看起来会像这样a: | 'a' a 或者更糟。a: { $$ = new_list(); } | a 'a' ...

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...

15得票1回答
Bison中的Shift/reduce冲突

我是Bison的新手,遇到了移进/规约冲突的问题......我正在尝试从文件中加载到数组data[]: struct _data { char name[50]; char surname[50]; int year; } data[1000]; 这是我 bison 代码的...

15得票7回答
GCC源代码中的C语法

我正在寻找GCC源代码中的C语法,更具体地说是yacc/bison形式的语法。

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

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

13得票5回答
Bison文件结尾

如果我忘记在任何一个文件的末尾放置空行,那么我的程序会出现语法错误。问题在于我的语法需要换行符来结束当前行。由于没有换行符,bison 生成语法错误,因为它没有完成规则。 如何解决这个问题?我尝试让<<EOF>>返回MY_EOF,但是当我这样做时,lex 就会崩溃。我...

13得票5回答
有没有适用于Flex和Bison的Sublime Text语法?

我正在寻找Sublime Text中可以使我的Flex和Bison文件(或lex/yacc)以易读的方式高亮显示的语法... Sublime Text自动选择Lisp用于Flex文件,但这并不是很好。有没有建议尝试其他语法?或者是否有一个有用的插件(到目前为止还没有找到任何东西)?

13得票7回答
为什么我的Mac(OS X 10.7.3)有一个旧版本(2.3)的Gnu Bison?

我的mac上GNU Bison的版本是2.3,但我知道Bison 2.5早已发布。书籍Flex & Bison使用的是2.5版本。 我应该自己升级到2.5吗?这是必要的吗? 2.3和2.5有什么区别?

12得票1回答
不使用全局或静态变量配置Bison和Flex

我在一款小型语言/IDE中工作。我需要知道如何配置flex和bison以使它们可以协同工作,并且不使用任何全局或静态变量。我需要将我的AST指针传递给bison。我还需要bison将我的AST传递给flex。这是一个线程环境,但我不需要任何线程同步。对于每个yyparse()调用,我需要一个单...