Exemplo n.º 1
0
def send_data():
    print("Analizando Entrada:")
    print("==============================================")
    # reporteerrores = []
    contenido = Tentrada.get(1.0, 'end')
    Tsalida.delete("1.0", "end")
    Tsalida.configure(state='normal')

    # print(contenido)
    jsonMode.dropAll()
    jsonMode.createDatabase("DB1")
    Principal = Entorno()

    Principal.database = "DB1"
    instrucciones = g.parse(contenido)
    Tsalida.insert(INSERT, "Salida de consultas\n")
    for instr in instrucciones:
        if instr != None:

            res = instr.ejecutar(Principal)
            if res != None:
                res += '\n'
                Tsalida.insert(INSERT, res)

    Tsalida.configure(state='disabled')
    Principal.mostrarSimbolos()

    reporte_lex_sin()
Exemplo n.º 2
0
def send_data():
    print("Analizando Entrada:")
    print("==============================================")
    # reporteerrores = []
    contenido = Tentrada.get(1.0, 'end')
    variables.consola.delete("1.0", "end")
    variables.consola.configure(state='normal')

    # print(contenido)
    Principal = Entorno()
    jsonMode.dropAll()

    # Principal.database = "DB1"

    instrucciones = g.parse(contenido)
    variables.consola.insert(INSERT, "Salida de consultas\n")
    for instr in instrucciones:
        if instr != None:
            instr.ejecutar(Principal)
            string = str(instr)
            intrprueba = string

    variables.consola.configure(state='disabled')
    # variables.consola.configure()

    setContenido(Principal.mostrarSimbolos())
Exemplo n.º 3
0
def send_data():
    print("Analizando Entrada:")
    print("==============================================")
    # reporteerrores = []
    contenido = Tentrada.get(1.0, 'end')
    variables.consola.delete("1.0", "end")
    variables.consola.configure(state='normal')

    # print(contenido)
    Principal = Entorno()
    jsonMode.dropAll()

    # Principal.database = "DB1"
    instrucciones = g.parse(contenido)
    variables.consola.insert(INSERT, "Salida de consultas\n")
    for instr in instrucciones:
        if instr != None:

            res = instr.ejecutar(Principal)
            if res != None:
                res = str(res) + '\n'
                variables.consola.insert(INSERT, res)
                
    variables.consola.configure(state='disabled')
    #variables.consola.configure()

    tSym = Principal.mostrarSimbolos()
    with open('ts.dot', 'w', encoding='utf8') as ts:
            ts.write(tSym)
            
    check_call(['dot', '-Tpdf', 'ts.dot', '-o', 'ts.pdf'])

    reporte_lex_sin()
Exemplo n.º 4
0
 def __init__(self, tabla_simbolos, tabla_errores, consola, salida):
     self.type_checker = {}
     self.actual_database = ''
     self.tabla_simbolos = tabla_simbolos
     self.tabla_errores = tabla_errores
     self.consola = consola
     self.salida = salida
     jsonMode.dropAll()
     self.initCheck()
Exemplo n.º 5
0
    def __init__(self,
                 raiz,
                 usingDB='',
                 ts={},
                 userTypes={},
                 output=[],
                 errors=[]):
        self.raiz = raiz
        self.usingDB = usingDB
        self.ts = ts
        self.userTypes = userTypes
        self.output = output
        self.errors = errors

        jsonMode.dropAll()
Exemplo n.º 6
0
def traducir():
    # reporteerrores = []
    contenido = Tentrada.get(1.0, 'end')
    variables.consola.delete("1.0", "end")
    variables.consola.configure(state='normal')

    Principal = Entorno()
    jsonMode.dropAll()

    instrucciones = g.parse(contenido)
    variables.consola.insert(INSERT, "Salida de traduccion\n")
    salida = ''
    for instr in instrucciones:
        if instr != None:
            salida += instr.traducir(Principal).codigo3d

    print(salida)
Exemplo n.º 7
0
    def ejecutar(self, ent):
        tam = len(self.listaDef)
        print (tam)
        nuevaTabla = Simbolo(TipoSimbolo.TABLA,self.id)
        listaColumnas = []
        for x in range(0,tam,1):
            tt = self.listaDef[x]
            if tt.tipo == AtributosColumna.COLUMNA_SIMPLE:
                self.numColumnas += 1
                nuevaColumna = Simbolo(tt.tipoDato,tt.identificador)
                listaColumnas.append(nuevaColumna)
        
        nuevaTabla.valor = listaColumnas
        


        DBMS.dropAll()
        DBMS.createDatabase("prueba")
        DBMS.createTable("prueba",self.id,self.numColumnas)
        print("---------------------------------------------")
        DBMS.showCollection()
        print("---------------------------------------------")
Exemplo n.º 8
0
    def m_carga_de_informacion(self):
        # drop all databases if exists
        j.dropAll()

        # create database
        j.createDatabase('BD1')

        # create tables
        j.createTable('BD1', 'personas', 5)
        j.createTable('BD1', 'pais', 4)
        j.createTable('BD1', 'idiomas', 4)

        # create simple primary keys
        j.alterAddPK('BD1', 'personas', [0])
        j.alterAddPK('BD1', 'pais', [0])
        j.alterAddPK('BD1', 'idiomas', [0])

        # insert data in countries
        j.insert('BD1', 'pais',
                 ['GTM', 'Guatemala', 'Central America', 108889])
        j.insert('BD1', 'pais', ['MX', 'Mexico', 'Norte America', 21041])
        j.insert('BD1', 'pais',
                 ['EEUU', 'Estados Unidos', 'Norte America', 21041])

        # insert data in cities
        j.insert('BD1', 'personas', [1, 'Jossie', 'Castrillo', '27', 'GTM'])
        j.insert('BD1', 'personas', [2, 'Juanpi', 'Garcia', '27', 'GTM'])
        j.insert('BD1', 'personas', [3, 'Byron', 'Cermeno', '27', 'GTM'])
        j.insert('BD1', 'personas', [4, 'Hayrton', 'Ixpata', '27', 'GTM'])
        j.insert('BD1', 'personas', [5, 'Dulce', 'DeLeon', '25', 'MX'])
        j.insert('BD1', 'personas', [6, 'Miguel', 'Basir', '26', 'GTM'])
        j.insert('BD1', 'personas', [7, 'Nose', 'Algo', '30', 'EEUU'])

        # inser data in languages
        j.insert('BD1', 'idiomas', ['GTM', 'Espanol', 'official', 64.7])
        j.insert('BD1', 'idiomas', ['EEUU', 'Espanol', 'official', 100.0])
        j.insert('BD1', 'idiomas', ['MX', 'Espanol', 'official', 100.0])
Exemplo n.º 9
0
# JSON Mode Test File
# Released under MIT License
# Copyright (c) 2020 TytusDb Team

from storageManager import jsonMode as j

# drop all databases if exists
j.dropAll()

# create database
j.createDatabase('world')

# create tables
j.createTable('world', 'countries', 4)
j.createTable('world', 'cities', 4)
j.createTable('world', 'languages', 4)

# create simple primary keys
j.alterAddPK('world', 'countries', [0])
j.alterAddPK('world', 'cities', [0])
j.alterAddPK('world', 'languages', [0, 1])

# insert data in countries
j.insert('world', 'countries', ['GTM', 'Guatemala', 'Central America', 108889])
j.insert('world', 'countries', ['SLV', 'El Salvado', 'Central America', 21041])

# insert data in cities
j.insert('world', 'cities', [1, 'Guatemala', 'Guatemala', 'GTM'])
j.insert('world', 'cities', [2, 'Cuilapa', 'Santa Rosa', 'GTM'])
j.insert('world', 'cities', [3, 'San Salvador', 'San Salvador', 'SLV'])
j.insert('world', 'cities', [4, 'San Miguel', 'San Miguel', 'SLV'])
Exemplo n.º 10
0
import gramatica as g
import Utils.TablaSimbolos as table
import Utils.Lista as l
import storageManager.jsonMode as storage
import os
import webbrowser
from Utils.fila import fila
from error import *
import Instrucciones.DML.select as select
import json

#Finalizamos con las importaciones

##########################################################################

storage.dropAll() #Comentar si quieren que se borre todo al cerrar y abrir la app

datos = l.Lista({}, '')

##################################FUNCIONES#################################

app = Flask(__name__)
CORS(app)


#esto es el inicio (puede o no utilizarse)
@app.route('/')
def raiz():
    print('estoy en el inicio')
    return jsonify({"mensaje":"Menu Principal"})
Exemplo n.º 11
0
def interpretar_sentencias(arbol, tablaSimbolos):
    jBase.dropAll()
    global consola
    for nodo in arbol:
        if isinstance(nodo, SCrearBase):
            print("Creando Base-----")
            crearBase(nodo, tablaSimbolos)
            # aqui va el metodo para ejecutar crear base
        elif isinstance(nodo, SShowBase):
            print("Mostrando Base-----")
            if nodo.like == False:
                bases = jBase.showDatabases()
                for base in bases:
                    consola += base + "\n"
            else:
                bases = jBase.showDatabases()
                basn = []
                for base in bases:
                    basn.append(base)
                basn2 = []
                r = re.compile(".*" + nodo.cadena + ".*")
                basn2 = list(filter(r.match, basn))

                for bas in basn2:
                    consola += bas + "\n"

            # aqui va el metodo para ejecutar show base
        elif isinstance(nodo, SUse):
            global useActual
            useActual = nodo.id
        elif isinstance(nodo, SAlterBase):
            print("Alterando Base-----")
            AlterDatabase(nodo, tablaSimbolos)
            # aqui va el metodo para ejecutar alter base
        elif isinstance(nodo, SDropBase):
            print("Drop Base-----")
            if nodo.exists == False:
                db = jBase.dropDatabase(nodo.id.valor)
                if db == 2:
                    listaSemanticos.append(
                        Error.ErrorS(
                            "Error Semantico", "Error la base de datos " +
                            nodo.id.valor + " no existe"))
                elif db == 1:
                    listaSemanticos.append(
                        Error.ErrorS("Error Semantico",
                                     "Error en la operacion."))
                else:
                    b = tablaSimbolos.eliminar(nodo.id.valor)
                    if b == True:
                        consola += "La base de datos " + nodo.id.valor + " se elimino con exito. \n"

            else:
                db = jBase.dropDatabase(nodo.id.valor)
                if db == 1:
                    listaSemanticos.append(
                        Error.ErrorS("Error Semantico",
                                     "Error en la operacion."))
                elif db == 0:
                    b = tablaSimbolos.eliminar(nodo.id.valor)
                    if b == True:
                        consola += "La base de datos " + nodo.id.valor + " se elimino con exito. \n"
                    else:
                        consola += "Error no se pudo elminar la base " + nodo.id.valor + " de la tabla de simbolos \n"
            # aqui va el metodo para ejecutar drop base
        elif isinstance(nodo, STypeEnum):
            print("Enum Type------")
            print(nodo.id)
            for val in nodo.lista:
                print(val.valor)
        elif isinstance(nodo, SUpdateBase):
            print("Update Table-----------")
            print(nodo.id)
            for val in nodo.listaSet:
                print("columna------")
                print(val.columna)
                print("------------")
                if isinstance(val.valor, SOperacion):
                    val2 = val.valor
                    print(val2.opIzq.valor)
                    print(val2.operador)
                    print(val2.opDer.valor)
                else:
                    val2 = val.valor
                    print(val2.valor)
            print(nodo.listaWhere)
        elif isinstance(nodo, SDeleteBase):
            print("Delete Table-------------")
            print(nodo.id)
            print("Tiene where?")
            print(nodo.listaWhere)
        elif isinstance(nodo, STruncateBase):
            print("Truncate Table------------")

            for id in nodo.listaIds:
                print(id)
        elif isinstance(nodo, SInsertBase):
            print("Insert Table-------------")
            print("nombre tabla")
            print(nodo.id)
            print("valores")
            for val in nodo.listValores:
                if isinstance(val, SExpresion):
                    print(val.valor)
        elif isinstance(nodo, SShowTable):
            print("Mostrando tablas----------")
            tablas = jBase.showTables(useActual)
            for tabla in tablas:
                consola += tabla + "\n"
        elif isinstance(nodo, SDropTable):
            print("Drop table-----------")
            bandera = True
            for fk in listaFK:
                if fk.idtlocal == nodo.id:
                    bandera = False
            if bandera:
                b = jBase.dropTable(useActual, nodo.id)
                if b == 0:
                    base = tablaSimbolos.get(useActual)
                    if base.deleteTable(nodo.id) == True:
                        consola += "La tabla " + nodo.id + " de la base " + useActual + " se eliminó con éxito. \n"
                    else:
                        consola += "Error no se pudo eliminar la tabla " + nodo.id + " de la tabla de simbolos \n"
                elif b == 2:
                    listaSemanticos.append(
                        Error.ErrorS(
                            "Error Semantico",
                            "Error la base de datos " + useActual +
                            " no existe, No se puede eliminar la tabla " +
                            nodo.id))
                elif b == 3:
                    listaSemanticos.append(
                        Error.ErrorS(
                            "Error Semantico", "Error la tabla " + nodo.id +
                            " no existe en la base de datos " + useActual))
                elif b == 1:
                    listaSemanticos.append(
                        Error.ErrorS("Error Semantico",
                                     "Error en la operacion."))
            else:
                consola += "No se puede eliminar la tabla debido a que esta siendo referenciada por una llave foranea \n"
        elif isinstance(nodo, SAlterTableRenameColumn):
            print("Cambiando nombre columna---")
            AlterRenameColumn(nodo, tablaSimbolos)
        elif isinstance(nodo, SAlterRenameTable):
            AlterRenameTable(nodo, tablaSimbolos)
        elif isinstance(nodo, SAlterTableAddColumn):
            print("Agregando Columna-----")
            AlterAddColumn(nodo, tablaSimbolos)
        elif isinstance(nodo, SAlterTableCheck):
            print("Agregando check--------")
            AlterTableCheck(nodo, tablaSimbolos)
        elif isinstance(nodo, SAlterTableAddUnique):
            print("Agregando unique-------")
            AlterTableUnique(nodo, tablaSimbolos)
        elif isinstance(nodo, SAlterTableAddFK):
            print("Agregando llave foranea--------")
            AlterTableFK(nodo, tablaSimbolos)
        elif isinstance(nodo, SAlterTable_AlterColumn):
            print("Alter column--------------")
            print(nodo.idtabla)
            for col in nodo.columnas:
                print(col.idcolumna)
        elif isinstance(nodo, SAlterTableDrop):
            print("Alter drop----------")
            print(nodo.idtabla)
            print("Es un constraint?")
            print(nodo.idco)
        elif isinstance(nodo, SCrearTabla):
            crearTabla(nodo, tablaSimbolos)

        # FRANCISCO
        elif isinstance(nodo, Squeries):
            print("Entró a Query")
            if nodo.ope == False:
                print("Query Simple")
                if isinstance(nodo.query1, SQuery):
                    Qselect = nodo.query1.select
                    Qffrom = nodo.query1.ffrom
                    Qwhere = nodo.query1.where
                    Qgroupby = nodo.query1.groupby
                    Qhaving = nodo.query1.having
                    Qorderby = nodo.query1.orderby
                    Qlimit = nodo.query1.limit
                    # SELECT
                    if isinstance(Qselect, SSelectCols):
                        print("Entro a Select")
                        # Distinct
                        if Qselect.distinct != False:
                            print("Distinct True")

                        # Cantidad de columnas
                        if Qselect.cols == "*":
                            print("Todas las Columnas")

                        else:
                            print("Columnas Específicas")
                            for col in Qselect.cols:
                                ##LISTAS
                                if isinstance(col.cols, SExpresion):
                                    print("Expre")
                                    print(col.cols.valor)
                                    # print("Tipo")
                                    # print(col.cols.tipo)
                                elif isinstance(col.cols, SOperacion):
                                    print("Operación")
                                    if isinstance(col.cols.opIzq, SExpresion):
                                        print(col.cols.opIzq.valor)
                                        print(col.cols.operador)
                                        print(col.cols.opDer.valor)

                                ##FUNCIONES DE AGREGACION
                                elif isinstance(col.cols, SFuncAgregacion):
                                    print("Funcion Agregación:")
                                    print(col.cols.funcion)
                                    if isinstance(col.cols.param, SExpresion):
                                        print("val")
                                        print(col.cols.param.valor)
                                    else:
                                        print("val")
                                        print(col.cols.param)

                                        ##FUNCIONES MATH
                                elif isinstance(col.cols, SFuncMath):
                                    print("Funcion Math:")
                                    print(col.cols.funcion)
                                    if isinstance(col.cols.param, SExpresion):
                                        print("param")
                                        print(col.cols.param.valor)
                                    else:
                                        print("param")
                                        print(col.cols.param)

                                elif isinstance(col.cols, SFuncMath2):
                                    print("Funcion Math2:")
                                    print(col.cols.funcion)
                                    if isinstance(col.cols.param, SExpresion):
                                        print("params")
                                        print(col.cols.param.valor)
                                        print(col.cols.param2.valor)
                                    else:
                                        print("params")
                                        print(col.cols.param)
                                        print(col.cols.param2)

                                elif isinstance(col.cols, SFuncMathSimple):
                                    print("Funcion MathSimple:")
                                    print(col.cols.funcion)

                                    ##FUNCIONES TRIG
                                elif isinstance(col.cols, SFuncTrig):
                                    print("Funcion Trig1:")
                                    print(col.cols.funcion)
                                    if isinstance(col.cols.param, SExpresion):
                                        print("param")
                                        print(col.cols.param.valor)
                                    else:
                                        print("param")
                                        print(col.cols.param)

                                elif isinstance(col.cols, SFuncTrig2):
                                    print("Funcion Trig2:")
                                    print(col.cols.funcion)
                                    if isinstance(col.cols.param, SExpresion):
                                        print("params")
                                        print(col.cols.param.valor)
                                        print(col.cols.param2.valor)
                                    else:
                                        print("params")
                                        print(col.cols.param)
                                        print(col.cols.param2)

                                ##FUNCIONES BINARIAS
                                elif isinstance(col.cols, SFuncBinary):
                                    print("Funcion Binaria1:")
                                    print(col.cols.funcion)
                                    if isinstance(col.cols.param, SExpresion):
                                        print("param")
                                        print(col.cols.param.valor)
                                    else:
                                        print("param")
                                        print(col.cols.param)

                                elif isinstance(col.cols, SFuncBinary2):
                                    print("Funcion Binaria2:")
                                    print(col.cols.funcion)
                                    if isinstance(col.cols.param, SExpresion):
                                        print("params")
                                        print(col.cols.param.valor)
                                        print(col.cols.param2.valor)
                                    else:
                                        print("params")
                                        print(col.cols.param)
                                        print(col.cols.param2)

                                elif isinstance(col.cols, SFuncBinary3):
                                    print("Funcion Binaria3:")
                                    print(col.cols.funcion)
                                    if isinstance(col.cols.param, SExpresion):
                                        print("params")
                                        print(col.cols.param.valor)
                                        print(col.cols.param.det)
                                        print(col.cols.param2.valor)
                                    else:
                                        print("params")
                                        print(col.cols.param)
                                        print(col.cols.det)
                                        print(col.cols.param2)

                                elif isinstance(col.cols, SFuncBinary4):
                                    print("Funcion Binaria4:")
                                    print(col.cols.funcion)
                                    if isinstance(col.cols.param, SExpresion):
                                        print("params")
                                        print(col.cols.param.valor)
                                        print(col.cols.param2.valor)
                                        print(col.cols.param3.valor)
                                    else:
                                        print("params")
                                        print(col.cols.param)
                                        print(col.cols.param2)
                                        print(col.cols.param3)

                                # EXTRACT
                                elif isinstance(col.cols, SExtract):
                                    print("Funcion Extract:")
                                    if isinstance(col.cols.field, STipoDato):
                                        print(col.cols.field.dato)
                                        print(col.cols.field.tipo)
                                        print(col.cols.field.cantidad)
                                    print(col.cols.timestampstr)

                                elif isinstance(col.cols, SExtract2):
                                    print("Funcion Extract2:")
                                    if isinstance(col.cols.field, STipoDato):
                                        print(col.cols.field.dato)
                                        print(col.cols.dtype.dato)
                                    if isinstance(col.cols.timestampstr,
                                                  SExpresion):
                                        print("param")
                                        print(col.cols.timestampstr.valor)

                                        # FUNCIONES DE FECHA
                                elif isinstance(col.cols, SSelectFunc):
                                    print("Funcion getFecha:")
                                    print(col.cols.id)

                                elif isinstance(col.cols, SFechaFunc):
                                    print("Funcion Fecha:")
                                    if isinstance(col.cols.param, STipoDato):
                                        print(col.cols.param.valor)
                                        print(col.cols.param2.valor)
                                    else:
                                        print(col.cols.param)
                                        print(col.cols.param2)

                                elif isinstance(col.cols, SFechaFunc2):
                                    print("Funcion Fecha2:")
                                    print(col.cols.id)
                                    print(col.cols.param)
                                    print(col.cols.tipo)
                                    print(col.cols.param2)

                                # CASE
                                elif isinstance(col.cols, SCase):
                                    print("Funcion Case:")
                                    if isinstance(col.cols.casos, SCaseList):
                                        print(col.cols.casos.param)
                                        print(col.cols.casos.param2)
                                        print(col.cols.casos.clist)

                                elif isinstance(col.cols, SCaseElse):
                                    print("Funcion CaseElse:")
                                    if isinstance(col.cols.casos, SCaseList):
                                        print(col.cols.casos.param)
                                        print(col.cols.casos.param2)
                                        print(col.cols.casos.clist)
                                    print(col.cols.casoelse)

                                # OTRAS FUNCIONES
                                elif isinstance(col.cols, SColumnasSubstr):
                                    print("Funcion Substr:")
                                    print(col.cols.st)
                                    print(col.cols.st2)
                                    print(col.cols.st3)

                                elif isinstance(col, SColumnasGreatest):
                                    print("Funcion Greatest:")
                                    print(col.cols)

                                elif isinstance(col.cols, SColumnasLeast):
                                    print("Funcion Least:")
                                    print(col.cols)

                                else:
                                    print("Otro")
                                    print(col.cols)

                                # ALIAS
                                if col.id != False:
                                    if isinstance(col.id, SExpresion):
                                        print("Alias")
                                        print(col.id.valor)

                                        # FROM
                    if isinstance(Qffrom, SFrom):
                        print("entro al From")
                        for col in Qffrom.clist:
                            if isinstance(col, SAlias):
                                if col.alias == False:
                                    print("id")
                                    print(col.id)
                                else:
                                    print("id/alias")
                                    print(col.id)
                                    print(col.alias)

                    elif isinstance(Qffrom, SFrom2):
                        print("entro al From2")
                        # Subquerie
                        print(Qffrom.clist)
                        print(Qffrom.id)

                    else:
                        print("Otro From")

                    # WHERE
                    if isinstance(Qwhere, SWhere):
                        print("entro al Where")
                        for col in Qwhere.clist:
                            if isinstance(col, SWhereCond1):
                                print("Es where1")
                                print(col.conds)
                                # print(col.conds.param.opIzq.valor)
                                # print(col.conds.param.operador)
                                # print(col.conds.param.opDer.valor)

                            elif isinstance(col, SWhereCond2):
                                print("Es where2")
                                print(col.conds)
                                print(col.isnotNull)

                            elif isinstance(col, SWhereCond3):
                                print("Es where3")
                                print(col.conds)
                                print(col.directiva)

                            elif isinstance(col, SWhereCond4):
                                print("Es where4")
                                print(col.conds)
                                print(col.ffrom)

                            elif isinstance(col, SWhereCond5):
                                print("Es where5")
                                print(col.c1)
                                print(col.c2)
                                print(col.c3)

                            elif isinstance(col, SWhereCond6):
                                print("Es where6")
                                print(col.cols)

                            elif isinstance(col, SWhereCond7):
                                print("Es where7")
                                print(col.efunc)
                                print(col.qcols)
                                print(col.anyallsome)
                                print(col.operador)

                            elif isinstance(col, SWhereCond8):
                                print("Es where8")
                                print(col.qcols)
                                print(col.efunc)

                            elif isinstance(col, SWhereCond9):
                                print("Es where9")
                                print(col.between)
                                print(col.efunc)
                                print(col.efunc2)
                            else:
                                print("Otro Where")
                    # GROUP BY
                    if isinstance(Qgroupby, SGroupBy):
                        print("entro al Group By")
                        for col in Qgroupby.slist:
                            if isinstance(col, SExpresion):
                                print("Agrupado por")
                                print(col.valor)
                            else:
                                print("Agrupado por")
                                print(col)
                    # HAVING
                    if isinstance(Qhaving, SHaving):
                        print("entro al Having")
                        print(Qhaving.efunc)

                    # ORDER BY
                    if isinstance(Qorderby, sOrderBy):
                        print("entro al Order By")
                        for col in Qorderby.slist:
                            if isinstance(col, SListOrderBy):
                                if col.ascdesc == False and col.firstlast == False:
                                    print("OrderBy1")
                                    print(col.listorder)
                                elif col.ascdesc == False and col.firstlast != False:
                                    print("OrderBy2")
                                    print(col.listorder)
                                    print(col.firstlast)
                                elif col.ascdesc != False and col.firstlast == False:
                                    print("OrderBy3")
                                    print(col.listorder)
                                    print(col.ascdesc)
                                elif col.ascdesc != False and col.firstlast != False:
                                    print("OrderBy4")
                                    print(col.listorder)
                                    print(col.ascdesc)
                                    print(col.firstlast)

                    # LIMIT
                    if isinstance(Qlimit, SLimit):
                        print("Entro a Limit")
                        if isinstance(Qlimit.limit, SExpresion):
                            print(Qlimit.limit.valor)
                        else:
                            print(Qlimit.limit)

                        if isinstance(Qlimit.offset, SExpresion):
                            print(Qlimit.offset.valor)
                        else:
                            print(Qlimit.offset)
            else:
                print("Query anidada")

    for i in listaSemanticos:
        print(i)
    return consola
Exemplo n.º 12
0
 def ejecutar(self, ent):
     DBMS.dropAll()
     return "Instrucción Drop All ejecutado con exito"
Exemplo n.º 13
0
    def __init__(self,entorno):
        self.entorno=entorno
        jsonMode.dropAll()

        variables.consola.delete("1.0", "end")
        variables.consola.configure(state='normal')
Exemplo n.º 14
0
from storageManager import jsonMode as j
import time

j.dropAll()  #limpieza de todos los datos
inicio = time.time()

#Area para crear bases de datos
print("Estado BD:", j.createDatabase("BD1"))  #Sistema de Asignaciones
print("Estado BD:", j.createDatabase("BD2"))  #Sistema de Compras de productos
print("Estado BD:", j.createDatabase(
    "BD3"))  #Sistema de Accesos de usuario para una base de datos
print("Estado BD:", j.createDatabase(
    "BD4"))  #Sistema de Peliculas y Series para una pagina web
print("Estado BD:",
      j.showDatabases())  #Nos deberia mostrar todas las bases de datos

#Area para crear tablas
'Creamos Tablas Estudiante, Periodo, Año, Asignacion, Curso, Asignacion_Curso'
print("---------Creamos Tabla Estudiante---------")
print("Estado Tabla:", j.createTable("BD1", "Estudiante", 8))
print("Estado PKS:", j.alterAddPK("BD1", "Estudiante", [0]))
print("Estado Inserts", j.loadCSV("./BD1/Estudiantes.csv", "BD1",
                                  "Estudiante"))

print("---------Creamos Tabla Periodo---------")
print("Estado Tabla:", j.createTable("BD1", "Periodo", 2))
print("Estado PKS:", j.alterAddPK("BD1", "Periodo", [0]))
print("Estado Inserts", j.loadCSV("./BD1/Periodo.csv", "BD1", "Periodo"))

print("---------Creamos Tabla Año---------")
print("Estado Tabla:", j.createTable("BD1", "Year", 2))
Exemplo n.º 15
0
import sys
sys.path.append('../G26/Instrucciones')
sys.path.append('../G26/Librerias')
sys.path.append('../G26/Utils')
sys.path.append('../G26')

import gramatica as g
import Instrucciones.DML.select as select
import Instrucciones.DDL.show as show
from storageManager import jsonMode as storage
import Lista as l
from Error import *

eel.init('client')
storage.dropAll()
datos = l.Lista({}, '')


@eel.expose
def analize(texto):
    global datos
    instrucciones = g.parse(texto)

    for instr in instrucciones['ast']:
        if instr != None:
            result = instr.execute(datos)
            if isinstance(result, Error):
                eel.printText(str(result))

            elif isinstance(instr, select.Select) or isinstance(