Fill in state table
This commit is contained in:
+56
-19
@@ -7,36 +7,73 @@ namespace Parser {
|
||||
class State
|
||||
{
|
||||
protected:
|
||||
const virtual Transition input_state_rule( wchar_t ch ) { ch = ch; return Transition( Ignore(), NULL ); }
|
||||
virtual Transition input_state_rule( wchar_t ch ) = 0;
|
||||
|
||||
private:
|
||||
const virtual Action enter( void ) { return Ignore(); };
|
||||
const virtual Action leave( void ) { return Ignore(); };
|
||||
virtual Action enter( void ) { return Ignore(); };
|
||||
virtual Action exit( void ) { return Ignore(); };
|
||||
|
||||
const Transition input( wchar_t ch );
|
||||
const static Transition anywhere_rule( wchar_t ch );
|
||||
Transition input( wchar_t ch );
|
||||
Transition anywhere_rule( wchar_t ch );
|
||||
|
||||
public:
|
||||
virtual ~State() {};
|
||||
};
|
||||
|
||||
class Ground : public State {};
|
||||
class Escape : public State {};
|
||||
class Escape_Intermediate : public State {};
|
||||
class Ground : public State {
|
||||
Transition input_state_rule( wchar_t ch );
|
||||
};
|
||||
|
||||
class CSI_Entry : public State {};
|
||||
class CSI_Param : public State {};
|
||||
class CSI_Intermediate : public State {};
|
||||
class CSI_Ignore : public State {};
|
||||
class Escape : public State {
|
||||
Action enter( void );
|
||||
Transition input_state_rule( wchar_t ch );
|
||||
};
|
||||
|
||||
class Escape_Intermediate : public State {
|
||||
Transition input_state_rule( wchar_t ch );
|
||||
};
|
||||
|
||||
class CSI_Entry : public State {
|
||||
Action enter( void );
|
||||
Transition input_state_rule( wchar_t ch );
|
||||
};
|
||||
class CSI_Param : public State {
|
||||
Transition input_state_rule( wchar_t ch );
|
||||
};
|
||||
class CSI_Intermediate : public State {
|
||||
Transition input_state_rule( wchar_t ch );
|
||||
};
|
||||
class CSI_Ignore : public State {
|
||||
Transition input_state_rule( wchar_t ch );
|
||||
};
|
||||
|
||||
class DCS_Entry : public State {};
|
||||
class DCS_Param : public State {};
|
||||
class DCS_Intermediate : public State {};
|
||||
class DCS_Passthrough : public State {};
|
||||
class DCS_Ignore : public State {};
|
||||
class DCS_Entry : public State {
|
||||
Action enter( void );
|
||||
Transition input_state_rule( wchar_t ch );
|
||||
};
|
||||
class DCS_Param : public State {
|
||||
Transition input_state_rule( wchar_t ch );
|
||||
};
|
||||
class DCS_Intermediate : public State {
|
||||
Transition input_state_rule( wchar_t ch );
|
||||
};
|
||||
class DCS_Passthrough : public State {
|
||||
Action enter( void );
|
||||
Transition input_state_rule( wchar_t ch );
|
||||
Action exit( void );
|
||||
};
|
||||
class DCS_Ignore : public State {
|
||||
Transition input_state_rule( wchar_t ch );
|
||||
};
|
||||
|
||||
class OSC_String : public State {};
|
||||
class SOS_PM_APC_String : public State {};
|
||||
class OSC_String : public State {
|
||||
Action enter( void );
|
||||
Transition input_state_rule( wchar_t ch );
|
||||
Action exit( void );
|
||||
};
|
||||
class SOS_PM_APC_String : public State {
|
||||
Transition input_state_rule( wchar_t ch );
|
||||
};
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user