flex中yywrap()的含义

Ily*_*yes 3 compiler-construction gcc compilation lexical-analysis flex-lexer

这个指令在flex(lex)中意味着什么:

#define yywrap() 1

这个[\ t] + $
我在下面的代码中找到它:

(%% [ \t]+ putchar('_'); [ \t]+% %%

输入"你好世界"

输出"hello_world"

)

Tho*_*key 8

根据The Lex&Yacc Page:

当扫描仪收到来自文件结束的指示时YY_INPUT,它会检查该yywrap()功能.如果yywrap()返回false(零),则假定该函数已经进行并设置yyin为指向另一个输入文件,并继续扫描.如果它返回true(非零),则扫描程序终止,向其调用者返回0.请注意,在任何一种情况下,开始条件保持不变; 它不会回复INITIAL.

#define用于简化构建程序(从而没有-ll需要联动选项).

进一步阅读: