def __init__(self): StateDescription.__init__( self, ConstraintStartState(), _ConstraintDefaultTransition(), [ TransitionWithoutAction( Configuration(ConstraintStartState(), ' '), Configuration(VariableState(), '')) ])
def __init__(self): StateDescription.__init__( self, ValueState(), SimpleForwardDefaultTransition(ValueState()), [ TransitionWithoutAction(Configuration(ValueState(), '\\'), Configuration(ValueEscapeState(), '')), _StringEndTransition() ])
def __init__(self): StateDescription.__init__( self, VariableEndState(), _InvalidOperatorTransition(), [ TransitionWithAction(Configuration(VariableEndState(), '='), Configuration(OperatorState(), ''), lambda stack: stack.add_level()) ])
def __init__(self): StateDescription.__init__( self, OperatorEndState(), _InvalidValueTransition(), [ TransitionWithAction(Configuration(OperatorEndState(), '"'), Configuration(ValueState(), ''), lambda stack: stack.add_level()) ])
def __init__(self): StateDescription.__init__( self, StartState(), _InvalidStartTransition(), [ TransitionWithAction(Configuration(StartState(), '"'), Configuration(MessageState(), ''), lambda stack: stack.add_level()) ])
def __init__(self): StateDescription.__init__( self, RequiredArgumentState(), _RequiredArgumentDefaultTransition(), [ TransitionWithAction(Configuration(RequiredArgumentState(), '*'), Configuration(FreeArgumentState(), ''), lambda stack: stack.add_level()) ])
def __init__(self): StateDescription.__init__( self, ExpressionState(), _ExpressionDefaultTransition(), [ TransitionWithoutAction(Configuration(ExpressionState(), ' '), Configuration(ExpressionState(), '')), TransitionWithAction(Configuration(ExpressionState(), '"'), Configuration(StringState(), ''), lambda stack: stack.add_level()) ])
def __init__(self): StateDescription.__init__( self, AdviserState(), SimpleForwardDefaultTransition(AdviserState()), [ TransitionWithoutAction( Configuration(AdviserState(), '"'), Configuration(CodeStringState(AdviserState()), '"')), _AdviserEndTransition() ])
def __init__(self): StateDescription.__init__( self, ArgumentStartState(), _ArgumentStartDefaultTransition(), [ TransitionWithAction(Configuration(ArgumentStartState(), ')'), Configuration(AcceptState(), ''), AcceptState.add_function_to_stack), TransitionWithAction(Configuration(ArgumentStartState(), '*'), Configuration(FreeArgumentState(), ''), lambda stack: stack.add_level()) ])
def __init__(self): StateDescription.__init__( self, MessageState(), SimpleForwardDefaultTransition(MessageState()), [ TransitionWithoutAction( Configuration(MessageState(), '\\'), Configuration(EscapeState(MessageState()), '')), _TransitionFromMessageToCode(), _TransitionFromMessageToAccept() ])
def __init__(self): StateDescription.__init__( self, ConstraintEndState(), _InvalidConstraintTransition(), [ TransitionWithAction(Configuration(ConstraintEndState(), '&'), Configuration(ConstraintStartState(), ''), lambda stack: stack.add_level()), TransitionWithoutAction( Configuration(ConstraintEndState(), ' '), Configuration(ConstraintEndState(), '')) ])
def __init__(self): StateDescription.__init__( self, PythonState(), SimpleForwardDefaultTransition(PythonState()), [ TransitionWithoutAction( Configuration(PythonState(), '"'), Configuration(CodeStringState(PythonState()), '"')), TransitionWithoutAction( Configuration(PythonState(), '}'), Configuration(PythonClosingBraceState(), '')) ])
def get_output_configuration( self, input_configuration: Configuration) -> Configuration: if not input_configuration.character.isalpha( ) and input_configuration.character != '_': raise ParsingError( f'Non-alpha character "{input_configuration.character}" detected.' ) return Configuration(ArgumentState(), input_configuration.character)
def __init__(self): StateDescription.__init__( self, ExpressionEndState(), _ExpressionEndDefaultTransition(), [ TransitionWithoutAction( Configuration(ExpressionEndState(), ' '), Configuration(ExpressionEndState(), '')), TransitionWithAction(Configuration(ExpressionEndState(), '$'), Configuration(AcceptState(), ''), AcceptState.check_stack), TransitionWithoutAction( Configuration(ExpressionEndState(), ','), Configuration(ExpressionState(), '')), _ConversionFromVariableToFunctionName(), TransitionWithAction(Configuration(ExpressionEndState(), ')'), Configuration(ExpressionEndState(), ''), ExpressionEndState.add_function_to_stack) ])
def parse(self, input_tape: str) -> List[object]: self.stack.clear() current_state = self.start_state input_tape_index = 0 for input_char in input_tape: try: configuration = Configuration(current_state, input_char) transition = self._find_transition(configuration) current_state = self._apply_transition(transition, configuration) input_tape_index += 1 except ParsingError as error: print('State:', current_state.name) print('Index:', input_tape_index) print('Original Input:', input_tape) raise error if current_state not in self.accept_states: print('State:', current_state.name) raise ParsingError(f'Parser was not in a final state after the input tape was read.') return self.stack.data_stack[:]
def __init__(self): TransitionWithoutAction.__init__( self, Configuration(MemberState(), ')'), Configuration(ExpressionEndState(), ''))
def __init__(self): TransitionWithoutAction.__init__(self, Configuration(MemberState(), '$'), Configuration(AcceptState(), ''))
def __init__(self): TransitionWithoutAction.__init__( self, Configuration(ValueState(), '"'), Configuration(ConstraintEndState(), ''))
def get_output_configuration( self, input_configuration: Configuration) -> Configuration: output_state = EscapeState(input_configuration.state) return Configuration(output_state, '\\')
def __init__(self): TransitionWithoutAction.__init__(self, Configuration(ArgumentState(), ')'), Configuration(AcceptState(), ''))
def __init__(self): TransitionWithoutAction.__init__( self, Configuration(PythonClosingBraceState(), '}'), Configuration(MessageState(), ''))
def get_output_configuration( self, input_configuration: Configuration) -> Configuration: return Configuration(AdviserState(), input_configuration.character)
def get_output_configuration( self, input_configuration: Configuration) -> Configuration: assert isinstance(input_configuration.state, CodeStringState) return Configuration(input_configuration.state.parent_state, '"')
def get_output_configuration( self, input_configuration: Configuration) -> Configuration: assert isinstance(input_configuration.state, EscapeState) return Configuration(input_configuration.state.parent_state, input_configuration.character)
def __init__(self): TransitionWithoutAction.__init__( self, Configuration(StringState(), '"'), Configuration(ExpressionEndState(), ''))
def __init__(self): TransitionWithoutAction.__init__(self, Configuration(VariableState(), '='), Configuration(OperatorState(), ''))
def __init__(self): TransitionWithoutAction.__init__(self, Configuration(MessageState(), '{'), Configuration(CodeState(), ''))
def __init__(self): TransitionWithoutAction.__init__(self, Configuration(MessageState(), '"'), Configuration(AcceptState(), ''))
def __init__(self): StateDescription.__init__( self, CodeState(), _CodeDefaultTransition(), [ TransitionWithoutAction(Configuration(CodeState(), '{'), Configuration(PythonState(), '')) ])
def __init__(self): Transition.__init__(self, Configuration(CodeStringState(None), '\\'))