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")


Beispiel #2
0
                    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")