我正在玩与ParseKit捆绑在一起的DemoApp,我遇到了一个奇怪的问题。 我创建了这个语法:
@start = tag; tag = '{' Word ';' Word '}';
它解析了一句话:
{foo;bar}
好的。当我稍微改变语法时出现问题:
@start = tag; tag = '{' Word '\' Word '}';
这会导致应用崩溃。 ParseKit似乎不喜欢\
令牌。
有什么想法吗?
答案 0 :(得分:2)
ParseKit的开发人员。
很好的例子!您在ParseKit中发现了与引用字符串中的转义反斜杠相关的错误。我已经解决了这个问题。请更新至HEAD of trunk from Google Code。
但是,这也是您的示例语法中的一个问题。您需要在引用的字符串中转义反斜杠。否则它将逃避“近距离报价”。所以改为:
@start = tag; tag = '{' Word '\\' Word '}';