1
在我能找到優先權的大多數例子中,使用分組(oneOf)文字來設置相同的級別。採用這種方法,我將不得不查找其中的2個(或更多),然後繼續評估。我想要做的是將操作員分開,直接知道它是哪一個並對其進行評估。pyparsing優先權劃分
這就是我想實現什麼,但優先級別現在是錯誤的
arith_prec = [
(subtract_op, 2, opAssoc.LEFT, ast.Substraction),
(add_op, 2, opAssoc.LEFT, ast.Addition),
(divide_op, 2, opAssoc.LEFT, ast.Division),
(multiplication_op, 2, opAssoc.LEFT, ast.Multiplication),
]
這是我收到了,但有與之相匹配的是其中兩個(或更多)
plusop = oneOf(['+', '-'])
multop = oneOf(['*', '/'])
arith_prec = [
(plusop, 2, opAssoc.LEFT,),
(multop, 2, opAssoc.LEFT,),
]
有沒有辦法做到這一點?我已經使用oneOf和Or裏面的arith_prec進行了測試,但沒有用。
謝謝,所以我只好回到我開始的地方並從那裏繼續。 –
順便說一句,你的操作優先級是倒退 - 'multop'應該先走。 – PaulMcG