Objective c 使用Parsekit构造解析树

Objective c 使用Parsekit构造解析树,objective-c,xcode,parsing,parser-generator,parsekit,Objective C,Xcode,Parsing,Parser Generator,Parsekit,我正在使用用于XCode的Parsekit,但这个问题很可能适用于大多数解析器生成器。我用gammer解析脚本,结果很好。然而,我在下一步遇到了问题。考虑Grime: @开始=行+; 线=树 树=‘树’的果实和树枝 水果='和'水果'编号; 分支='和'分支'编号 以及要传递的脚本: 结果实的树8,分枝12 如果我随后实现方法匹配,则水果和分支将匹配一次,这是意料之中的 然而,这棵树将被匹配两次,为什么?这阻止了我构建我想要的解析树 谢谢你的帮助 这里是ParseKit的开发者。我想你可能真的

我正在使用用于XCode的Parsekit,但这个问题很可能适用于大多数解析器生成器。我用gammer解析脚本,结果很好。然而,我在下一步遇到了问题。考虑Grime:

@开始=行+; 线=树

树=‘树’的果实和树枝

水果='和'水果'编号; 分支='和'分支'编号

以及要传递的脚本:

结果实的树8,分枝12

如果我随后实现方法匹配,则水果和分支将匹配一次,这是意料之中的

然而,这棵树将被匹配两次,为什么?这阻止了我构建我想要的解析树


谢谢你的帮助

这里是ParseKit的开发者。我想你可能真的问了同样的问题:


如果你仔细阅读我对这个问题的评论,我想你会找到答案的。如果没有,请告诉我。

这里是ParseKit的开发者。我想你可能真的问了同样的问题:


如果你仔细阅读我对这个问题的评论,我想你会找到答案的。如果没有,请告诉我。

你好,托德,谢谢,但我无法完全理解解决方案。将我正在处理的内容存储在程序集的目标中?在我看来,我会匹配“树”,将其添加到通行证树中,匹配“水果”和“树枝”,并将它们添加为子项等等。。。是否有一些例子可以说明如何使用目标解决方案?在Parsekit上做得很好(顺便说一句:)我认为答案是将您正在构建的抽象树/图的根对象(“我认为是传递树”)存储为当前PKAssembly的目标,而不是ivar。当前PKAssembly要么是您创建的要启动的PKAssembly,要么是传递到-didMatchXXX:method的PKAssembly。通过解析构建的“东西”应该始终是当前程序集的目标。您正在构建的“东西”永远不应该是ivar或全局变量。嗨,托德,谢谢,但我无法完全理解解决方案。将我正在处理的内容存储在程序集的目标中?在我看来,我会匹配“树”,将其添加到通行证树中,匹配“水果”和“树枝”,并将它们添加为子项等等。。。是否有一些例子可以说明如何使用目标解决方案?在Parsekit上做得很好(顺便说一句:)我认为答案是将您正在构建的抽象树/图的根对象(“我认为是传递树”)存储为当前PKAssembly的目标,而不是ivar。当前PKAssembly要么是您创建的要启动的PKAssembly,要么是传递到-didMatchXXX:method的PKAssembly。通过解析构建的“东西”应该始终是当前程序集的目标。您正在构建的“东西”永远不应该是ivar或全局var。