我正在使用
来展示文件%option nounput
选项并使用命令行
flex --nounput
Flex版本2.5.35。
但是,cpp输出仍包含行
#define unput(c) yyunput( c, (yytext_ptr) )
这导致g ++的编译问题,因为没有使用unput。
有没有办法以“干净”的方式解决这个问题?两种肮脏的方式显而易见:
答案 0 :(得分:0)
(我试图将这个问题标记为"问题不再可重现"但是标志超时/老去。I'm answering it so that it does not remain an open unanswered question.)
正如@akond所说:
我没有遇到过这个问题。我使用的版本是相同的(flex 2.5.35)。
%option nounput
为我做了诀窍。
我也在2.5.4版本上尝试了这个,并且可以确认没有问题。选项--nounput
不再被识别或documented;但是,%option nounput
remains in the manual。
cpp输出仍包含行#define unput(c) yyunput( c, yytext_ptr )
,但这似乎不会为我生成任何g ++错误。您是使用-pedantic-errors
还是其他类似选项?
答案 1 :(得分:0)
程序不错,但文档过时了。
我发现版本2.6.4接受名词输入选项并做正确的事。