Exemple #1
0
def t_error(t):
    descript = 'error lexico at token ' + str(t.value[0])
    linea = str(t.lineno)
    columna = str(find_column(t))
    nuevo_error = CError(linea,columna,descript,'Lexico')
    insert_error(nuevo_error)
    t.lexer.skip(1)
Exemple #2
0
def p_error(t):
    if t:
        descript = 'error sintactico en el token ' + str(t.type)
        linea = str(t.lineno)
        columna = str(find_column(t))
        nuevo_error = CError(linea,columna,descript,'Sintactico')
        insert_error(nuevo_error)
        parser.errok()
    else:
        print("Syntax error at EOF")
    return
Exemple #3
0
def t_INT(t):
    r'\d+'
    try:
        t.value = int(t.value)
    except ValueError:
        descript = 'error lexico at token ' + str(t.value)
        linea = str(t.lineno)
        columna = str(find_column(t))
        nuevo_error = CError(linea,columna,descript,'Lexico')
        insert_error(nuevo_error)
        print("Valor numerico incorrecto %d", t.value)
        t.value = 0
    return t
Exemple #4
0
def t_DEC(t):
    r'\d+\.\d+'
    try:
        t.value = float(t.value)
    except ValueError:
        descript = 'error lexico at token ' + str(t.value)
        linea = str(t.lineno)
        columna = str(find_column(t))
        nuevo_error = CError(linea,columna,descript,'Lexico')
        insert_error(nuevo_error)
        print("Error no se puede convertir %d", t.value)
        t.value = 0
    return t
Exemple #5
0
        def ejecutar(self):


            try:
                temp = float(self.exp)
            except ValueError:
                e = errores.CError(0,0,"Error en funcion trigonometrica",'Semantico')
                errores.insert_error(e)
                return e

            trim = mt.acos(float(temp))

            trim = mt.acos(float(temp))
            return trim
Exemple #6
0
    def ejecutar(self):

        try:

        try:
            maximo = float(self.lexps[0])


            for dato in self.lexps:
                temp = float(dato)


                if maximo < temp:
                    maximo = temp




                return maximo
        except:
            e = errores.CError(0,0,"Funcion least necesita una lista",'Semantico')
            errores.insert_error(e)
            return e
Exemple #7
0
    global resultadotxt
    global cont
    global tabla
    global contambito
    try:
        try:
            resultado = func.createDatabase(self.iden)
            if resultado == 0:
                NuevoSimbolo = TS.Simbolo(cont,self.iden,TS.TIPO.DATABASE,contambito)
@ -74,7 +107,7 @@ class createdb(instruccion):
    resultadotxt += "Se creo la base de datos " + self.iden + "\n"
    return "Se creo la base de datos " + self.iden + "\n"
elif resultado == 2 and not self.replacedb:
e = errores.CError(0,0,"Ya existe la base de datos " + self.iden,'Semantico')
e = errores.CError(0,0,"Ya existe la base de datos " + self.iden,'Semantico')
errores.insert_error(e)
resultadotxt += "Ya existe la base de datos " + self.iden + "\n"
return "Ya existe la base de datos " + self.iden + "\n"
@ -90,7 +123,7 @@ class createdb(instruccion):
    resultadotxt += "Se reemplazo la base de datos: " + self.iden + "\n"
    return "Se reemplazo la base de datos: " + self.iden + "\n"
else:
e = errores.CError(0,0,"Error al crear base de datos: " + self.iden,'Semantico')
e = errores.CError(0,0,"Error al crear base de datos: " + self.iden,'Semantico')
errores.insert_error(e)
resultadotxt += "Error al crear base de datos: " + self.iden + "\n"
return "Error al crear base de datos: " + self.iden + "\n"
@ -102,6 +135,9 @@ class showdb(instruccion):
    def __init__(self,nombre):
        self.nombre = nombre