我有一个非常简单的解析器来实现布尔功能,我已经为不同的操作添加了类作为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或B)和C
但是,如果我想在块级别添加一些操作,有没有什么方法可以将parseActions附加到括号块?
答案 0 :(得分:3)
不使用标准API。如果您想要特殊版本的operatorPrecedence
(现在重命名为infixNotation
),请将该例程从pyparsing Python代码复制到您的本地脚本中,并进行所需的任何修改。