import sys from ast import * if "../.." not in sys.path: sys.path.insert(0,"../..") from gSLParser import gSLParser source_code = """programa nombre_programa inicio fin """ gParser = gSLParser(debug = False) tree = gParser.parse(source_code, debug = 0) print dump(tree) #exec compile(tree, "<gsl_source_code>", "exec")
orelse=[], ), Print(dest=None, values=[], nl=True), ], decorator_list=[], ) ) return functions if __name__ == "__main__": # Interpretaremos el archivo pasado por linea de comandos file = open(sys.argv[1]) source_code = file.read() # Creamos el parser gParser = gSLParser(debug=True) # Generamos el AST tree = gParser.parse(source_code, debug=0) # Agregar funciones predeterminadas tree.body = getRTL() + tree.body import ast tree = ast.fix_missing_locations(tree) # print ast.dump(tree, True, True) # Compilamos y ejecutamos con el compilador de Python exec compile(tree, "<gsl_source_code>", "exec")