最近、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:qualifiedを呼び出し、次にEXC_BAD_ACCESSを呼び出すことになります。私は何か間違ったことをしていますか?