objective-c - ParseKit 的命题逻辑语法

标签 objective-c grammar parsekit

我正在尝试为 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 的开发者|在这里。

我看到两个明显的问题:

  1. 包含连词 产生式定义的行以'(单引号)结束。那应该是 ;(分号)。

  2. literal 产生式的定义无效。没有定义名为 ABC 等的产生式。但是,如果我理解您的意图,定义 literal 的更简单方法是使用内置的 Word 制作:

    literal = Word;

关于objective-c - ParseKit 的命题逻辑语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13563223/

相关文章:

ios - 在 iOS 中单击 UIButton 时更新 UITableView sectionHeaderHeight

objective-c - 全屏 iPad UIPopoverController

c++ - 为什么 C++ 编译器在行后而不是行上给出错误?

syntax - Modelica 评论

objective-c - ParseKit - SQLite 解析器进入无限递归

ios - 可以从 iPhone 音乐库中读取 mp3 数据吗?

objective-c - 什么是代表?

请序言DCG插图

objective-c - 如何使用 ParseKit 过滤掉不需要的标记?

Objective-C 解析器扑克手牌历史