Пример #1
0
def traducir(input):
    global STACK_INSTRUCCIONES
    STACK_INSTRUCCIONES = str(input).split(';')
    raiz = g.parse(input)
    results = []
    for val in raiz:
        res = val.traducir()
        if isinstance(res, CError):
            print('')
        else:
            results.append(res)
Пример #2
0
def analiz(input):
    meterSimbolos()
    raiz = g.parse(input)
    #report_errors()
    #executeGraphTree()
    #graphTable(ts)
    results = []
    for val in raiz:
        if isinstance(val, CError):
            results.append("Error" + val.tipo + ". Descripcion: " +
                           val.descripcion)
        else:
            results.append(val)
    return results
Пример #3
0
def analiz(input):
    raiz = g.parse(input)
    results = []
    executeGraphTree(raiz)
    for val in raiz:
        res = val.ejecutar()
        if isinstance(res,CError):
            results.append("Error "+ res.tipo+". Descripcion: " +res.descripcion)
        else:
            results.append( res)
    graphTable(ts)
    report_errors()
    report_BNF()
    
    return results
Пример #4
0
def escribir3D(entrada):
    global objopt
    a = open("c3d.py", "w")
    a.write('''
from datetime import date
from variables import tabla as ts
from variables import NombreDB 
from variables import cont 
import tablaDGA as TAS
import sql as sql 
import mathtrig as mt
from reportTable import *
    
    
pila = []
for i in range(100):
    pila.append(i)
    
def ejecutar():
\tglobal cont
\tglobal ts
\tNombreDB = ts.nameDB
\n''')

    input = entrada
    raiz = g.parse(input)
    results = []
    res = ''
    #executeGraphTree(raiz)
    for val in raiz:
        res += val.traducir()
        #pass
    a.write(res)

    a.write('\tgraphTable(ts)\n')
    for fa in g.funciones:
        a.write(fa)

    a.write('''ejecutar()''')
    a.close()
    f = open('c3d.py', 'r')
    file_contents = f.read()
    consola.insert(str(float(0)), file_contents)
    #PARA OPTIMIZACION
    optm.Optimizador(objopt).ejecutar()
Пример #5
0
def analiz(input):
    raiz = g.parse(input)
    results = []
    #executeGraphTree(raiz)
    for val in raiz:
        res = val.ejecutar()
        if isinstance(res, CError):
            results.append("Error " + res.tipo + ". Descripcion: " +
                           res.descripcion)
        else:
            results.append(res)
    #graphTable(ts)
    #report_errors()
    #report_BNF()
    #--------------------------------------------------------
    ListaAsignaciones = []

    ListaAsignaciones.append(optobj.Asignacion("x", "x", "0", "+"))
    ListaAsignaciones.append(optobj.Asignacion("x", "x", "0", "-"))
    ListaAsignaciones.append(optobj.Asignacion("x", "x", "1", "*"))
    ListaAsignaciones.append(optobj.Asignacion("x", "x", "1", "/"))
    ListaAsignaciones.append(optobj.Asignacion("x", "y", "0", "+"))
    ListaAsignaciones.append(optobj.Asignacion("x", "y", "0", "-"))
    ListaAsignaciones.append(optobj.Asignacion("x", "y", "1", "*"))
    ListaAsignaciones.append(optobj.Asignacion("x", "y", "1", "/"))
    ListaAsignaciones.append(optobj.Asignacion("x", "y", "2", "*"))
    ListaAsignaciones.append(optobj.Asignacion("x", "y", "0", "*"))
    ListaAsignaciones.append(optobj.Asignacion("x", "0", "y", "/"))

    print(optm.Optimizador(ListaAsignaciones).ejecutar())

    for simbolo in ts.simbolos:
        print("ID: " + str(ts.simbolos[simbolo].id) + " Nombre: " +
              ts.simbolos[simbolo].nombre + " Ambito: " +
              str(ts.simbolos[simbolo].ambito) + " Tipo indice: " +
              str(ts.simbolos[simbolo].tipoind) + " Orden Indice: " +
              str(ts.simbolos[simbolo].ordenind) + " Columna ind: " +
              str(ts.simbolos[simbolo].columnaind) + " Tabla indice: " +
              str(ts.simbolos[simbolo].tablaind))

    #--------------------------------------------------------
    return results
Пример #6
0
def escribir3D(entrada):

    a = open("c3d.py", "w")

    a.write('''from InstruccionesDGA import tabla 
    from datetime import date
    from InstruccionesDGA import cont 
    from InstruccionesDGA import NombreDB
    from tablaDGA import *
    from sql import * 
    import mathtrig as mt
    #Funcion sql.execute
    
    pila = []
    for i in range(100):
        pila.append(i)
    
    def ejecutar(): \n''')

    input = entrada

    raiz = g.parse(input)
    print(raiz)
    results = []
    res =''
    #executeGraphTree(raiz)
    for val in raiz:
        res += val.traducir()
        #pass
    a.write(res)

    for fa in g.funciones:

        a.write(fa)

    a.write('''ejecutar() ''')
    a.close()

    f = open('c3d.py', 'r')
    file_contents = f.read()

    consola.insert(str(float(0)), file_contents)
Пример #7
0
def execute(script: str):

    global ts
    if 'SELECT * FROM temp' in script:
        try:
            cargar()
            s = Listaselects.pop()
            s.ejecutar()
            serialaizer()
        except:
            '''Error'''
    else:
        raiz = g.parse(script)

        try:
            for a in raiz:
                a.ejecutar()
        except:
            print('Error' + script)
    return
Пример #8
0
def analiz(input):
    raiz = g.parse(input)
    results = []
    res = ''
    #executeGraphTree(raiz)
    for val in raiz:
        res += val.traducir()
    global a
    a.write(res)
    a.write('\tgraphTable(ts)\n')
    for fa in g.funciones:
        a.write(fa)

    a.write('''ejecutar()''')
    a.close()
    #graphTable(ts)
    #report_errors()
    #report_BNF()
    #--------------------------------------------------------
    '''ListaAsignaciones = []
Пример #9
0
def execute1(script: str):
    global contador
    global pila
    contador = contador + 1
    if script == '3D':
        cargar()
        raiz = g.parse(pila)
        Listaselects = cargar()
        for s in Listaselects:
            if isinstance(raiz, list):
                try:
                    raiz.insert(correlativos.pop(), s)
                except:
                    '''No hay selects'''
        executeGraphTree(raiz)
        for a in raiz:
            print(a)
            a.ejecutar()
    elif 'SELECT * FROM temp' in script:
        correlativos.append(contador)
    else:
        pila += '\n' + script
Пример #10
0
def analiz(input):
    raiz = g.parse(input)
    results = []
    #executeGraphTree(raiz)
    for val in raiz:
        res = val.ejecutar()
        if isinstance(res, CError):
            results.append("Error " + res.tipo + ". Descripcion: " +
                           res.descripcion)
        else:
            results.append(res)
    #graphTable(ts)
    #report_errors()
    #report_BNF()
    for simbolo in ts.simbolos:
        print(" Tipo: " + str(ts.simbolos[simbolo].tipoind) + " Nombre: " +
              ts.simbolos[simbolo].nombre + " Tabla indice: " +
              str(ts.simbolos[simbolo].tablaind) + " Columna ind: " +
              str(ts.simbolos[simbolo].columnaind) + " Orden Indice: " +
              str(ts.simbolos[simbolo].ordenind))
        print("\n")
    return results
Пример #11
0
def escribir3D(entrada):
    global objopt

    a = open("c3d.py", "w")
    a.write('''
from datetime import date
from variables import tabla as ts
from variables import NombreDB 
from variables import cont 
import tablaDGA as TAS
import sql as sql 
import mathtrig as mt
from reportTable import *
from reportError import *
from reportBNF import *
    
    
pila = []
for i in range(100):
    pila.append(i)
    
def ejecutar():
\tglobal cont
\tglobal ts
\tNombreDB = ts.nameDB
\n''')

    input = entrada
    raiz = g.parse(input)
    executeGraphTree(raiz)
    results = []
    res =''
    
    for val in raiz:
        res += val.traducir().replace('\'\'','\'')
        #pass
    a.write(res)

    a.write('\tgraphTable(ts)\n')
    a.write('\treport_errors()\n')
    a.write('\treport_BNF()\n')
    
    for fa in g.funciones:
        a.write(fa)

    a.write('''ejecutar()''')
    a.close()
    f = open('c3d.py', 'r')
    file_contents = f.read()
    consola.insert(str(float(0)), file_contents)
    #PARA OPTIMIZACION
    """
    objopt.append(optobj.Asignacion("x","x","0","+"))
    objopt.append(optobj.Asignacion("x","x","0","-"))
    objopt.append(optobj.Asignacion("x","x","1","*"))
    objopt.append(optobj.Asignacion("x","x","1","/"))
    objopt.append(optobj.Asignacion("t2000","t2000","0","+"))
    objopt.append(optobj.Asignacion("t2525","t2525","0","-"))
    objopt.append(optobj.Asignacion("t9999","t9999","1","*"))
    objopt.append(optobj.Asignacion("t8888","t8888","1","/"))
    """
    optm.Optimizador(objopt).ejecutar()
Пример #12
0
def analiz(input):
    print(input)
    raiz = g.parse(input)
    results = []
    executeGraphTree(raiz)
Пример #13
0
from reportTable import *


pila = []
for i in range(100):
\tpila.append(i)

def ejecutar():
\tglobal cont
\tglobal ts
\tNombreDB = ts.nameDB
	\n''')

input = f.read()

raiz = g.parse(input)

results = []
res = ''
#executeGraphTree(raiz)
for val in raiz:

    res += val.traducir()

    #pass
a.write(res)

a.write('\tgraphTable(ts)\n')
for fa in g.funciones:

    a.write(fa)