def p_expression_uminus(p): '''expression : ADD_OP expression %prec UMINUS''' #p[0] = ast.OpNode(p[1], [0, p[2]]) #faux : insert 0 #p[0] = ast.OpNode(p[1], [ast.TokenNode(0), p[2]]) #correct binaire : insert tokenNode(0) p[0] = ast.OpNode(p[1], [p[2]]) #correct unaire : insert tokenNode(0)
def p_expression_uminus(p): '''expression : ADD_OP expression %prec UMINUS''' p[0] = ast.OpNode(p[1], [0, p[2]])
def p_expression_op(p) : '''expression : expression ADD_OP expression | expression MUL_OP expression''' p[0] = ast.OpNode(p[2], [p[1], p[3]])
def p_expression_op(p): '''expression : expression ADD_OP expression | expression MUL_OP expression''' # Stock into AST graph p[0] = ast.OpNode(p[2], [p[1], p[3]])