您的示例的问题在于Grako
nameguard默认情况下启用了该功能,并且该功能不允许仅解析
d何时开始
d6。
要禁用此功能,请实例化您自己的
Buffer并将其传递给生成的解析器的实例:
from grako.buffering import Bufferfrom myparser import MyParser# get the textparser = MyParser()parser.parse(Buffer(text, nameguard=False), 'expre')
Bitbucket存储库中的Grako提示版本在
--no-nameguard生成的解析器中添加了命令行选项。



