我正在浏览ParseKit示例,并尝试修改它以满足我的需要,但遇到了这个问题。只要我将语法文件传递给parserFromGrammar:assembler,我就会得到一个错误:
[__NSArrayM objectAtIndex:]: index 0 beyond bounds for empty array我想这可能是因为我的语法文件中有带下划线的标记名称。ParseKit支持下划线吗?回调的方法名是什么?也就是说,令牌名"foo_bar“会调用方法didMatchFoo_bar吗?
然后我去掉了所有带下划线的名字,它仍然给我这个错误。我使用来自ParseKit网站的示例语法文件:
@start = sentence+;
sentence = adjectives 'beer' '.';
adjectives = cold adjective*;
adjective = cold | freezing;
cold = 'cold';
freezing = 'freezing';谢谢
发布于 2011-08-18 07:05:16
这里是ParseKit的开发者。2件事:
所以在这里查看谷歌代码中的ParseKit:
https://parsekit.googlecode.com/svn/trunk
然后选择"DebugApp“目标和"DebugApp”可执行文件并运行。
在Xcode项目中,全局搜索“冰镇啤酒”。您将看到我已经将您的示例添加为在DebugApp中运行的默认示例。看起来工作正常。
https://stackoverflow.com/questions/7100100
复制相似问题