我有一个名为“expr-tokens.l”的文件或一个“lex”文件,当我尝试使用“flex expr-tokens.l”命令解析时,出现错误 [“expr-tokens.l”,第 52 行:unrecognized %option : reentrant]。
解析此文件将生成一个“.c”文件,其中包含我试图链接到我的主程序的方法的定义。我不明白这是否是 Bison 版本问题,我使用的是 Bison 2.5.4 版本或其他版本。
任何建议将不胜感激。
我有一个名为“expr-tokens.l”的文件或一个“lex”文件,当我尝试使用“flex expr-tokens.l”命令解析时,出现错误 [“expr-tokens.l”,第 52 行:unrecognized %option : reentrant]。
解析此文件将生成一个“.c”文件,其中包含我试图链接到我的主程序的方法的定义。我不明白这是否是 Bison 版本问题,我使用的是 Bison 2.5.4 版本或其他版本。
任何建议将不胜感激。
%option reentrant
语法适用于扫描仪生成器 Flex(不是 Bison,它与语法一起工作在更高级别)。
确保您的 Flex 版本是最新的。
您可能使用的是 GnuWin32 的旧版本。
有了这个就可以了:http: //sourceforge.net/projects/winflexbison/