def gen_ir(code): syntree = parser.parse(code) tree = sanitize_tree(syntree) tree = tree[1] code_gen(tree) # call code_gen() to traverse tree & generate code builder.ret(builder.load(var_dict[last_var])) #specify return value
def main(): global infilename if len(sys.argv) == 2: infilename = sys.argv[1] if os.path.isfile(infilename): infile = open(infilename, "r") outfilename = os.path.splitext(infilename)[0] + ".err" sys.stdout = open(outfilename, "w") syntree = parser.parse(infile.read()) sys.stdout = sys.__stdout__ print_tree(syntree) else: print("Invalid file.") else: print("Specify filename, e.g. error_ula.ply my_program.ula")