*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 删除。