2
我想用一個簡單的表達式解析器的Python PLY,我無法讓它工作。該代碼是available at bitbucket,但有問題的部分是:Python PLY - 這個語法錯了嗎?
首先,定義:
def p_expr_minus(p):
'''expr : expr MINUS term'''
p[0] = p[1]-p[3]
和
def p_term_divide(p):
'''term : term DIVIDE factor'''
p[0] = p[1]/p[3]
似乎倒,給我拿結果:3-9 = 6和2/8 = 4。
其次,括號表達式factor: (expr)
不起作用。尤其是零件:
def p_factor_brackets(p):
'''factor : OBRACKET expr CBRACKET'''
p[0] = p[2]
無法正常工作。解析表達式如(9+7)
提出了:
TypeError: unknown text at ')'
這些錯誤的來源是什麼?
愚蠢是正確的詞:)謝謝你的答案。 –