コード例 #1
0
class listaCola():
    global listapila
    listapila = pila.pila()

    def __init__(self):
        self.cabeza = None

    def add(self, ipdestino):
        nuevoNodo = nodoLista(ipdestino)

        if self.cabeza == None:
            nuevoNodo.siguiente = None
            self.cabeza = nuevoNodo
        else:
            self.aux = self.cabeza
            while self.aux.siguiente != None:
                self.aux = self.aux.siguiente
            self.aux.siguiente = nuevoNodo

    def recorrer(self):
        self.aux = self.cabeza
        while self.aux != None:
            print self.aux.ipdestino
            #listapila.recorrerOperar(self.au)
            self.aux = self.aux.siguiente

    def desencolar(self):
        if self.cabeza != None:
            aux = self.cabeza
            self.cabeza = self.cabeza.siguiente
            return aux.ipdestino

    def generarJSON(self):
        pythonDictionary = ''
        pythonDictionary += '['
        self.aux = self.cabeza
        while self.aux != None:
            print self.aux.dato
            pythonDictionary += '{' + '"' + "ipmensaje" + '"' + ':' + '"' + self.aux.dato + '"' '}'
            if self.aux.siguiente is not None:
                pythonDictionary += ','

            #listapila.recorrerOperar(self.aux.dato)
            self.aux = self.aux.siguiente
        with open('datosfinales2.json', 'w') as file:

            json.dump(pythonDictionary, file)
        return dictionaryToJson


# listita = listaCola()
# listita.add("192.158.1.1","1 + 20 * 3 - 20")
# listita.add("192.158.1.2","1 + 20 * 3 - 20")
# listita.add("192.158.1.3","1 + 20 * 3 - 20")
# listita.add("192.158.1.4","1 + 20 * 3 - 20")

#listita.add("2")
#listita.add("3")
#listita.add("4")
#listita.recorrer()
コード例 #2
0
class archivo():
    """docstring for operadorArchivo"""
    global pila

    global practica1

    pila = pila.pila()

    def __init__(self):

        self.matrizX = None
        self.matrizY = None
        self.operaciones = None

    def operadorLinea(self, linea, u, lista):

        cola = lista.buscarUsuarios(u).cola
        xmldoc = minidom.parseString(linea)
        print("Atributo")
        print("----------------------")
        itemlist = xmldoc.getElementsByTagName("x")
        for i in itemlist:
            print(i.firstChild.nodeValue)

        itemlist = xmldoc.getElementsByTagName("y")
        for i in itemlist:
            print(i.firstChild.nodeValue)
        itemlist = xmldoc.getElementsByTagName("operacion")
        for i in itemlist:
            #print (i.firstChild.nodeValue.strip())
            cadena = i.firstChild.nodeValue.strip()
            cola.add(cadena)

    def operando(self, u, lista):
        cola = lista.buscarUsuarios(u).cola
        while True:

            print(""" Menu resolver operaciones
		1. Operar siguiente 
		2. Regresar
		""")
            opcion = input()

            if opcion == 1:
                #print cola.desencolar()
                operacion = cola.desencolar()
                if operacion != None:
                    pila.recorrerOperar(operacion)
                else:
                    print("se acabaron las operaciones hdp")

            if opcion == 2:
                break
コード例 #3
0
class listaColaMensaje():
    global listapila
    listapila = pila.pila()

    def __init__(self):
        self.cabeza = None

    def add(self, mensaje):
        nuevoNodo = nodoLista(mensaje)

        if self.cabeza == None:
            nuevoNodo.siguiente = None
            self.cabeza = nuevoNodo
        else:
            self.aux = self.cabeza
            while self.aux.siguiente != None:
                self.aux = self.aux.siguiente
            self.aux.siguiente = nuevoNodo

    def recorrer(self):
        pythonDictionary = ''
        pythonDictionary += '['
        self.aux = self.cabeza
        while self.aux != None:
            print self.aux.mensaje
            #listapila.recorrerOperar(self.au)
            self.aux = self.aux.siguiente

    def desencolar(self):
        if self.cabeza != None:
            aux = self.cabeza
            self.cabeza = self.cabeza.siguiente
            return aux.mensaje

    def generarJSON(self):
        pythonDictionary = ''
        pythonDictionary += '['
        self.aux = self.cabeza
        while self.aux != None:
            print self.aux.mensaje
            pythonDictionary += '{' + '"' + "enOrden" + '"' + ':' + '"' + self.aux.mensaje + '"' '}'
            if self.aux.siguiente is not None:
                pythonDictionary += ','

            #listapila.recorrerOperar(self.aux.mensaje)
            self.aux = self.aux.siguiente
            dictionaryToJson = json.dumps(pythonDictionary)
        with open('datosfinales3.json', 'w') as file:

            json.dump(pythonDictionary, file)
        return dictionaryToJson
コード例 #4
0
class listaCola():
    global listapila
    listapila = pila.pila()

    def __init__(self):
        self.cabeza = None

    def add(self, dato):
        nuevoNodo = nodoLista(dato)

        if self.cabeza == None:
            nuevoNodo.siguiente = None
            self.cabeza = nuevoNodo
        else:
            self.aux = self.cabeza
            while self.aux.siguiente != None:
                self.aux = self.aux.siguiente
            self.aux.siguiente = nuevoNodo

    def recorrer(self):
        self.aux = self.cabeza
        while self.aux != None:
            print self.aux.dato
            listapila.recorrerOperar(self.aux.dato)
            self.aux = self.aux.siguiente

    def desencolar(self):
        if self.cabeza != None:
            aux = self.cabeza
            self.cabeza = self.cabeza.siguiente
            return aux.dato


#listita = listaCola()
#listita.add("1")

#listita.add("2")
#listita.add("3")
#listita.add("4")
#listita.recorrer()
コード例 #5
0
ファイル: TablaLR.py プロジェクト: Arturogv15/Compilador
                self.fila = pila.top()
                pila.push(self.reglas[self.accion - 1])
                self.columna = pila.top()
                self.accion = self.tabla[self.fila,
                                         self.regresa_tipo(self.columna)]
                pila.push(self.accion)
                print("=====")
                pila.muestra()
                print("=====")
            #    self.aceptacion = True
            else:
                print("Cadena no valida")
                self.aceptacion = True


LR = TablaLR()
p = pila()
lex = lexico


def main():
    entrada = lex.sig_simbolo(lex)
    tipo_entrada = lex.tipos
    p.push('$')
    p.push(0)
    LR.recorrer_entrada(entrada, tipo_entrada, p)


if __name__ == '__main__':
    main()
コード例 #6
0
from pila import Pila as pila
from Lexico import Lexico as lexico
from Sintactico import TablaLR as sintactico

LR = sintactico()
p = pila()
p_codigo = pila()
lex = lexico


def main():
    lexico_flag = lex.sig_simbolo(lex)
    if lexico_flag == True:
        entrada = lex.simbolos
        tipo_entrada = lex.tipos
        p.push('$')
        p.push(0)
        p_codigo.push('$')
        p_codigo.push(0)
        arbol = LR.recorrer_entrada(entrada, tipo_entrada, p, p_codigo)
        if LR.correcto == True:
            arbol.postorden(arbol.lista_arbol[0])
            if arbol.lista_arbol[0].valido == False:
                print('Semanticamente no es correcto')
            else:
                print('EL CÓDIGO ES CORRECTO\n')
                #arbol.imprime()
        else:
            print('No valido sintácticamente')
    else:
        print('No valido léxicamente')
コード例 #7
0
window.keypad(True)  #enable Keypad mode
curses.noecho()  #prevent input from displaying in the screen
curses.curs_set(0)  #cursor invisible (0)
paint_menu(window)  #paint menu

cola = Cola()
usuario = ""
keystroke = -1
while (keystroke == -1):

    keystroke = window.getch()  #get current key being pressed

    #------------------------------ingreso al snake----------------------
    if (keystroke == 49):
        listaDE = listaDobleEnlazada()
        Pila = pila()
        window.refresh()
        snake.inicioSnake(usuario, listaDE, Pila, cola)
        paint_menu(window)
        keystroke = -1
        #-------------------------Fin snake-----------------------------

    #------------------------------RECORDS-------------------------------
    elif (keystroke == 50):
        window.refresh()
        ventanUltimosRecord.reportes(cola)
        paint_menu(window)
        keystroke = -1
    #--------------------------------------------------------------------

    #--------------------------Cargar Archivo-----------------------------