예제 #1
0
 def AddTransition(self, estado_siguiente, simbolo_min, simbolo_max=''):
     #Si solo se ingresa un simbolo
     if (len(simbolo_max) == 0):
         (self.Transiciones).add(Transicion(estado_siguiente, simbolo_min))
     #Si se ingresa un rango
     else:
         (self.Transiciones).add(
             Transicion(estado_siguiente, simbolo_min, simbolo_max))
예제 #2
0
 def agregar_transicion(self, estado_destino, simbolo):
     if self.transion_esta_vacia:
         global transicion
         transicion = Transicion.Transicion(estado_destino, simbolo)
         self.lista_transiciones.append(transicion)
     else:
         if self.verificar_transicion_repetida(simbolo):
             transicion = Transicion.Transicion(estado_destino, simbolo)
             self.lista_transiciones.append(transicion)
예제 #3
0
 def eliminar_transicion(self, inicio, fin, simbolo):
     tr = Transicion.Transicion(inicio, fin, simbolo)
     indice = 0
     for transicion in self.Transiciones:
         if transicion.igual(tr):
             self.Transiciones.pop(indice)
             return
         indice += 1
예제 #4
0
 def cargar_transiciones(self):
     for linea in self.definicion.splitlines():
         inicio = 0
         fin = 0
         simbolo = ""
         if re.match(r"(\d+)->(\d+),([a-zE])", linea):
             res = re.match(r"(\d+)->(\d+),([a-zE])", linea)
             inicio = int(res.group(1))
             fin = int(res.group(2))
             simbolo = res.group(3)
             tr = Transicion.Transicion(inicio, fin, simbolo)
             self.Transiciones.append(tr)
예제 #5
0
 def cargar_transiciones(self):
     for linea in self.definicion.splitlines():
         inicio = 0
         fin = 0
         simbolo = ""
         if re.match(r"([A-Z]?)->([A-Z]?),([a-z])", linea):
             res = re.match(r"([A-Z]?)->([A-Z]?),([a-z])", linea)
             inicio = res.group(1)
             fin = res.group(2)
             simbolo = res.group(3)
             tr = Transicion.Transicion(inicio, fin, simbolo)
             self.transiciones.append(tr)
예제 #6
0
 def agregar_transicion(self, inicio, fin, simbolo):
     tr = Transicion.Transicion(inicio, fin, simbolo)
     self.Transiciones.append(tr)