Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 使用flex 2.5.4无法识别的%选项野牛桥_Windows_Mingw_Bison_Flex Lexer - Fatal编程技术网

Windows 使用flex 2.5.4无法识别的%选项野牛桥

Windows 使用flex 2.5.4无法识别的%选项野牛桥,windows,mingw,bison,flex-lexer,Windows,Mingw,Bison,Flex Lexer,我刚刚安装了flex,并在Windows7 64位平台上对其2.5.4版本进行了一些简单的测试。 我想将它与bison生成的解析器集成。 因此,报告说必须声明%选项bison bridge 在input.l文件上运行flex时,我得到一个错误: Unrecognized %option bison-bridge 我试图在命令行而不是在输入中设置此选项,但键入时: flex.exe --help 没有可用的选项设置“野牛桥” 有人能帮我吗 你为什么要用这么古老的版本?版本2.5.31于200

我刚刚安装了flex,并在Windows7 64位平台上对其2.5.4版本进行了一些简单的测试。 我想将它与bison生成的解析器集成。 因此,报告说必须声明%选项bison bridge

在input.l文件上运行flex时,我得到一个错误:

Unrecognized %option bison-bridge 
我试图在命令行而不是在输入中设置此选项,但键入时:

flex.exe --help
没有可用的选项设置“野牛桥”


有人能帮我吗

你为什么要用这么古老的版本?版本2.5.31于2003年发布;从2012年8月起,当前版本为2.5.37

我不确定Flex2.5.4是什么时候发布的(源代码仍然可以在上面的URL上找到),但它可能根本不包括您想要的功能


升级

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

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

您可以从

使用最新版本的flex&bison for windows,这是我在windows上找到的唯一安装版本!您能告诉我如何在windows上安装最新版本的flex吗?您有Cygwin或类似产品吗?如果是这样的话,你应该能够得到一个现代的Flex(从2012年4月起可能是2.5.35,或者从2008年起是2.5.34)。您应该检查何时添加了
野牛桥
选项;我不记得以前见过它,但我肯定没有仔细检查每个版本中的手册,也没有将Flex推向极限。您从哪里获得的Bison版本使用了
Bison bridge
选项?你也能在那里找到合适的Flex吗?是的,自从你上次回复我以来,我一直在安装cygwin,我已经让它安装Flex 2.5.37和最新的bison和依赖项。非常感谢你。关于%选项野牛桥,它在手册中!它使生成的扫描器使用全局变量yylvalue,以便将与上次看到的标记相关联的值传递给bison生成的解析器……一旦Cygwin准备好,您就可以开始了。感谢您提供有关该选项的信息。