Ejemplo n.º 1
0
 def addEdge(self, start_node, letter, destination_node):
     edge = [letter, destination_node]
     if edge not in self.edges[start_node]:
         self.edges[start_node].append(edge)
     else:
         Log.warning(
             f'Treid to add an already existing edge to the node {start_node}'
         )
Ejemplo n.º 2
0
 def removeDeadStates(self):
     deadStates = list(set(self.states).difference(self.getAliveStates()))
     Log.warning(f'Dead states: {deadStates}')
     for state in self.states:
         i = 0
         while i < len(self.edges[state]):
             if self.edges[state][i][1] in deadStates:
                 self.edges[state].remove(self.edges[state][i])
             else:
                 i += 1
     for state in deadStates:
         Log.succes(f'Removed (dead) {state}')
         self.removeState(state)