Flex有点是Lex程序的免费实现,尽管它们之间存在一些不兼容性。
例如,Lex将当前行存储到全局变量yylineno
中,而在flex中访问它时,您应该添加代码%option yylineno
。
可以编写可移植代码,因为知道Lex无法识别%option
标签吗?
更新:
lex:软件生成实用程序(SGU)Solaris-ELF(4.0)
flex version 2.5.2
答案 0 :(得分:0)
在这种情况下我几乎找到了解决方案,根据此link,要激活全局变量 yylineno ,您应该在执行flex时添加 -l </ strong>选项因此您无需在代码中添加%选项,因此您将在flex和lex之间使用兼容代码。