def _validate_final_states(self): """Raise an error if any final states are invalid.""" final = {self.final_states} invalid_states = final - self.states if invalid_states: raise exceptions.InvalidStateError( 'Akceptujúci stav ({}) nie je platný, nenachádza sa v množine stavov'.format( ', '.join(invalid_states)))
def _validate_reject_state(self): """Raise an error if reject state are invalid.""" reject = {self.reject_state} invalid_states = reject - self.states if invalid_states: raise exceptions.InvalidStateError( 'Zamietajúci stav ({}) nie je platný, nenachádza sa v množine stavov'.format( ', '.join(invalid_states)))
def _validate_transition_result(self, result): result_state, result_symbol, result_direction = result if result_state not in self.states: raise exceptions.InvalidStateError( 'stav ({}) nie je platný'.format(result_state)) if result_symbol not in self.tape_symbols: raise exceptions.InvalidSymbolError( 'symbol ({}) nie je platný'.format(result_symbol)) self._validate_transition_result_direction(result_direction)
def _validate_transition_result(self, result): length = int((len(result) - 1) / 2) result_state = result[0] if result_state not in self.states: raise exceptions.InvalidStateError( 'stav ({}) nie je platný'.format(result_state)) i = 1 j = length + 1 while i <= length: result_symbol = result[i] result_direction = result[j] i += 1 j += 1 if result_symbol not in self.tape_symbols: raise exceptions.InvalidSymbolError( 'symbol ({}) nie je platný'.format(result_symbol)) self._validate_transition_result_direction(result_direction)
def _validate_transition_state(self, transition_state): if transition_state not in self.states: raise exceptions.InvalidStateError( 'stav ({}) v prechodovej funkcii nie je platný'.format( transition_state))
def _validate_initial_state(self): """Raise an error if the initial state is invalid.""" if self.initial_state not in self.states: raise exceptions.InvalidStateError( '{} nie je platný počiatočný stav, nenachádza sa v množine stavov'.format(self.initial_state))