コード例 #1
0
ファイル: Interfaz.py プロジェクト: Sohanyuuu/tytus
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
ファイル: main.py プロジェクト: edgarJ91/tytus
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
ファイル: Interfaz2.py プロジェクト: Odra99/tytus
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
ファイル: Interfaz.py プロジェクト: sandymerida/tytus
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
ファイル: sql.py プロジェクト: 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
コード例 #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
ファイル: Interfaz.py プロジェクト: Julio-usac/tytus
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
ファイル: ayuda.py プロジェクト: sandymerida/tytus
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)