Esempio n. 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)
Esempio n. 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
Esempio n. 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
Esempio n. 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()
Esempio n. 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
Esempio n. 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)
Esempio n. 7
0
File: sql.py Progetto: Odra99/tytus
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
Esempio n. 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 = []
Esempio n. 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
Esempio n. 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
Esempio n. 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()
Esempio n. 12
0
def analiz(input):
    print(input)
    raiz = g.parse(input)
    results = []
    executeGraphTree(raiz)
Esempio n. 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)