我正在为 XCode 使用 Parsekit,但这个问题很可能适用于大多数解析器生成器。我用一个游戏玩家解析一个脚本,它工作正常。但是,我在下一步遇到问题。考虑 grmmer:
@start = 行+; 线=树;
tree = 'tree' 果实分支;
fruits = 'with' 'fruits' 编号;分支 = 'with' '分支' 编号;
以及要通过的脚本:
有果子的树 8 有树枝 12
如果我随后实现匹配的方法,水果和树枝将匹配一次,这是意料之中的。
但是树会匹配两次,为什么?这阻止了我构建我想要的解析树。
谢谢你的帮助!