其他分享
首页 > 其他分享> > C迭代器源上的re2c扫描仪

C迭代器源上的re2c扫描仪

作者:互联网

我试图使用re2c与使用迭代器对定义的输入而不是空终止字符串.

来自手册:

YYCURSOR
[...] 
On entry, YYCURSOR is assumed to point to the first character of the current token.
On exit, YYCURSOR will point to the first character of the following token.

最后一点意味着它正在尝试迭代结束.

是否有一个让re2c与迭代器一起工作的技巧? (除了不使用已检查的迭代器.)

解决方法:

您是否在拉模型中使用re2c,它调用YYFILL(n)或通过传递-f推送模型?

在pull模型中,声明YYFILL(n)在迭代器耗尽时调用return.

在push模型中,你的迭代器循环将决定输入何时完成,你不会再次调用解析器.

标签:lexer,c,re2c
来源: https://codeday.me/bug/20190825/1720011.html