这是上下文:我有一个文件(或流),我想处理它的标题,停止,然后以不同的方式处理其余数据。也就是说,假设我有一个像BEGIN GOOD GOOD GOOD GOOD GOOD DONE JUNK JUNK JUNK JUNK ...
. 第一部分 ( BEGIN GOOD+ DONE
) 符合我的语法,我一看到就想停下来DONE
。
AFAIK、YACC 和朋友们想继续消费令牌直到没有更多,所以我必须编写更多的语法来匹配所有JUNK
. 有没有解决的办法?
我正在使用 PLY(Python 的 Lex 和 Yacc 实现),但我对这里的一般答案持开放态度。