import ast def process(node): symbolType = type(node.value) regName = ast.nextPRegister() pyTypeName = "PyInt" if symbolType == int: pyTypeName = "PyInt" elif symbolType == str: pyTypeName = "PyString" elif symbolType == float: pyTypeName = "PyFloat" elif symbolType == bool: pyTypeName = "PyBoolean" elif symbolType == long: pyTypeName = "PyLong" ast.outputInBlock("%s = new %s" % ( regName, pyTypeName ) ) ast.outputInBlock("%s = %s" % ( regName, node.value.__repr__() ) ) return regName def value(node): return node.value.__repr__()