这条指令在flex(lex)中的含义是什么:
#define yywrap() 1
这个[\ t] + $
我在下面的代码中找到它:
(%%
[ \t]+ putchar('_');
[ \t]+%
%%
输入“你好世界”
输出“hello_world”
)
答案 0 :(得分:6)
当扫描程序收到来自
YY_INPUT
的文件结束指示时,它会检查yywrap()
功能。如果yywrap()
返回false(零),则假定该函数已经完成并设置yyin
以指向另一个输入文件,并继续扫描。如果它返回true(非零),则扫描程序终止,向其调用者返回0。请注意,在任何一种情况下,开始条件保持不变;它不会还原为INITIAL
。
#define
用于简化程序的构建(因此不需要-ll
链接选项)。
进一步阅读: