import ast import compiler def process(node): # Constant folding case #if node.left.__class__ == compiler.ast.Const and node.right.__class__ == compiler.ast.Const: # value = node.left.value + node.right.value # return value #else: dest = ast.nextPRegister() ast.outputInBlock( "n_mul %s, %s, %s" % ( dest, ast.evaluate(node.left), ast.evaluate(node.right) ) ) return dest