2

我最近尝试将 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:qualifies,然后是 EXC_BAD_ACCESS。难道我做错了什么?

4

1 回答 1

2

ParseKit的开发者在这里。

使用 Google 代码中的主干头:

http://code.google.com/p/parsekit/

于 2012-08-10T00:15:22.023 回答