我最近尝试将 ParseKit 集成到我的 iPhone 应用程序中。我下载了release-1.5-tag,并将其集成到我的项目中(XCode 4.4,iOS 5.1),并且构建没有问题。当我运行一个简单的示例来尝试解析一些 Javascript(使用与 ParseKit 本身捆绑在一起的语法)时:
NSString *path = [[NSBundle bundleForClass:[self class]] pathForResource:@"javascript" ofType:@"grammar"];
NSString *g = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];
PKParser *parser = [[PKParserFactory factory] parserFromGrammar:g assembler:self];
NSString *s = @"var x = 0;";
[parser parse:s];
我的应用程序挂起一段时间,然后在对 PKParser:matchAndAssemble 和 PKSequence:allMatchesFor 进行数万次调用后,我得到了 EXC_BAD_ACCESS。在所有这些调用结束时,它最终调用 PKTerminal:matchOneAssembly,然后调用 PKCaseInsensitiveLiteral:qualizes,然后调用 EXC_BAD_ACCESS。我做错了什么吗?
最佳答案
关于ParseKit 在简单示例中崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11773994/