我有一个非常简单的解析器来实现布尔函数,在这里我为不同的操作添加了类作为parseAction。在
parseExpr = pp.operatorPrecedence(term,
[
(not_, 1, pp.opAssoc.RIGHT, ClassNotOperation),
(pp.Optional(and_, default="AND"), 2, pp.opAssoc.LEFT, ClassAndOperation),
(or_, 2, pp.opAssoc.LEFT, ClassOrOperation),
])
这有助于我按照正确的顺序分析以下内容
(A or B) and C
但是,如果我想在块级别添加一些操作,有没有什么方法可以将parseActions附加到圆括号块上?在
不使用标准API。如果要执行
operatorPrecedence
(现在重命名为infixNotation
)的特殊版本,请将pyparsing Python代码中的该例程复制到本地脚本中,并进行任何所需的修改。在相关问题 更多 >
编程相关推荐