3

我刚刚安装了 flex,我正在用它的 2.5.4 版本在 windows 7 64 位上尝试一些简单的测试。我想将它与野牛生成的解析器集成。因此,弹性手册说必须声明 %option bison-bridge。

在输入 .l 文件上运行 flex 时,出现错误:

Unrecognized %option bison-bridge 

我尝试在命令行中而不是在输入中设置此选项,但是在键入时:

flex.exe --help

没有可用的选项设置“野牛桥”......

有人可以帮我吗 ?

4

3 回答 3

4

好吧,使用更新版本的 flex 是最好的答案,但如果你真的必须使用旧版本的 flex,过去可以通过YY_DECL在 .l 文件顶部定义宏来访问这种功能:

%{
#define YY_DECL    int yylex(YYSTYPE *yylval)
%}

会做相当于%option bison-bridge

于 2012-09-26T16:38:49.973 回答
4

为什么要使用这么古老的Flex版本?2.5.31 版本于 2003 年发布;当前版本是 2012 年 8 月的 2.5.37。

我不确定 Flex 2.5.4 何时发布(源代码仍可在上面的 URL 中找到),但它可能根本不包括您所追求的功能。

升级!

于 2012-09-26T14:32:55.440 回答
2

you can use latest versions of flex&bison for windows from http://sourceforge.net/projects/winflexbison/

于 2013-01-29T20:06:44.100 回答