我刚刚安装了flex,我正在尝试使用Windows 7 64位上的2.5.4版本进行一些简单的测试。 我想将它与野牛生成的解析器集成。 因此,flex manual表示必须声明%选项bison-bridge。
在输入.l文件上运行flex时,出现错误:
Unrecognized %option bison-bridge
我尝试在命令行中而不是在输入中设置此选项,但在键入时设置:
flex.exe --help
没有可用选项设置“野牛桥”......
有人可以帮帮我吗?
答案 0 :(得分:4)
你为什么使用Flex这样古老的版本?版本2.5.31于2003年发布;目前的版本是2012年8月起的2.5.37。
我不确定何时发布了Flex 2.5.4(源代码仍然可以在上面的URL中找到),但它可能根本不包含您所使用的功能。
升级!
答案 1 :(得分:4)
好吧,使用更新版本的flex是最好的答案,但是如果你真的必须使用较旧版本的flex,那么过去可以通过在顶部定义YY_DECL
宏来访问这种功能。 .l文件:
%{
#define YY_DECL int yylex(YYSTYPE *yylval)
%}
会相当于%option bison-bridge
答案 2 :(得分:2)
您可以使用最新版本的flex& bison for http://sourceforge.net/projects/winflexbison/