Tag: 讽刺

使用Irony实现前缀表示法表达式解析器

我正在尝试使用Irony库使用无上下文语法来解析用户输入的前缀表示法逻辑表达式。 这是一个课堂作业,所以如果有人恰好是这方面的专家,我很想知道更多。 我需要接受用户输入的以下格式的逻辑表达式: and PQ — (meaning P ^ Q) or PQ — (meaning P v Q) not P — (meaning ~P) imp PQ — (meaning P -> Q) 我正在尝试使用我在Irony中实现的无上下文语法将这些解析为表达式树。 我正在使用的无上下文语法在BNF中: ::= | | | | ::= “not” ::= “and” ::= “or” ::= “imp” ( is implemented as an IdentifierTerminal object). 我之前使用过Irony来解析表达式但由于某种原因,我无法让它工作。 当我输入表达式and PQ它似乎将“和”标识为标识符终端,而不是和非终结符号的一部分。 我可能会做一些显而易见的事情,但我根本无法理解。 […]