*yyin
和*yyout
. 在定义模式动作时, 用户可以用return
语句结束yylex()
, 注意必须返回一个整数. 由于yylex()
的运行环境都是以全局变量方式报讯的, 在下一次调用时, yylex()
可从上次扫描的地方继续扫描. 若用户未定义yylex()
, yylex()
会继续扫描文件直到遇到文件结束符EOF
为止. 遇到EOF
时, yylex()
会调用 int yywarp()
函数. yywarp
函数必须由开发者自己提供, 若该函数返回非0值, 则yylex()
返回0而结束, 否则, yylex()
继续对yyin指向的文件扫描.char *yytext
存放当前被识别的词形int yyleng
存放字符串 yytext
的长度yymore()
将当前识别的词形保留在yytext
中, 分析器下次扫描时的词追加在yytext
中.hello { printf("%s", yytext); yymore(); }
word { printf("%s", yytext); }
当输入串为"helloworld"时, 将会在控制台打印出"hellohelloworld".
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。