如何在lex / flex代码不兼容的情况下编写可移植代码

时间:2011-12-15 08:29:54

标签: portability lex flex-lexer

Flex有点是Lex程序的免费实现,尽管它们之间存在一些不兼容性。

例如,Lex将当前行存储到全局变量yylineno 中,而在flex中访问它时,您应该添加代码%option yylineno

可以编写可移植代码,因为知道Lex无法识别%option 标签吗? 更新:

lex:软件生成实用程序(SGU)Solaris-ELF(4.0)

flex version 2.5.2

1 个答案:

答案 0 :(得分:0)

在这种情况下我几乎找到了解决方案,根据此link,要激活全局变量 yylineno ,您应该在执行flex时添加 -l <​​/ strong>选项因此您无需在代码中添加%选项,因此您将在flex和lex之间使用兼容代码。