示例#1
0
    def check_transition_target_states(self, transition: dict) -> None:
        for target_state in transition.values():
            if ',' in target_state:
                target_state = target_state.replace(' ', '').split(',')

            for state in target_state:
                if state not in self.states:
                    raise AutomatonException(
                        f'check_transition_target_states ==> '
                        f'{target_state} es un estado inválido')
示例#2
0
 def check_transition_target_states(self, transition: dict) -> None:
     for target_state in transition.values():
         if target_state not in self.states:
             raise AutomatonException(
                 f'check_transition_target_states ==> '
                 f'{target_state} es un estado inválido')
示例#3
0
 def check_transition_symbols(self, transition: dict) -> None:
     for symbol in transition.keys():
         if symbol not in self.symbols:
             raise AutomatonException(f'check_transition_symbols ==> '
                                      f'{symbol} es un símbolo inválido')
示例#4
0
 def check_acceptation_states(self) -> None:
     for state in self.final_states:
         if state not in self.states:
             raise AutomatonException(f'check_acceptation_states ==> '
                                      f'{state} es un estado inválido')
示例#5
0
 def check_initial_state(self) -> None:
     if self.initial_state not in self.states:
         raise AutomatonException(
             f'check_initial_state ==> '
             f'{self.initial_state} es un estado inválido')