我正在尝试为 Parsekit 编写语法以用于我的 iphone 应用程序。我这样做正确吗?
@start = wff;
wff = disjunction ('IMPLIES' | disjunction);
disjunction = conjunction ('OR' | conjunction)*;
conjunction = notexpression ('AND' | notexpression)*'
notexpression = ('NOT')+ primaryexpression;
primaryexpression = (literal | '(' wff ')');
literal = (A | B | C | D | E | F | G | H | I | J | K | L | M | N |O | P | Q | R | S | T | U | V | W | X | Y | Z);
我收到错误:
2012-11-26 10:41:06.348 SemanticTab[4092:c07] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Could not build ClassName from token array for parserName: conjunction'
*** First throw call stack:
当尝试解析 P 或 Q 时?
最佳答案
ParseKit 的开发者|在这里。
我看到两个明显的问题:
包含
连词
产生式定义的行以'
(单引号)结束。那应该是;
(分号)。literal
产生式的定义无效。没有定义名为A
、B
、C
等的产生式。但是,如果我理解您的意图,定义literal
的更简单方法是使用内置的Word
制作:literal = Word;
关于objective-c - ParseKit 的命题逻辑语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13563223/