43 lines
998 B
C++
43 lines
998 B
C++
#ifndef PARSERSTATE_HPP
|
|
#define PARSERSTATE_HPP
|
|
|
|
#include "parsertransition.hpp"
|
|
|
|
namespace Parser {
|
|
class State
|
|
{
|
|
private:
|
|
virtual Action enter( void ) { return Ignore(); };
|
|
virtual Action leave( void ) { return Ignore(); };
|
|
|
|
virtual Transition input( wchar_t ch __attribute__ ((unused)) ) {
|
|
return IgnoreTransition();
|
|
}
|
|
|
|
static Transition anywhere( wchar_t ch );
|
|
|
|
public:
|
|
virtual ~State();
|
|
};
|
|
|
|
class Ground : public State {};
|
|
class Esc : public State {};
|
|
class Esc_Intermediate : public State {};
|
|
|
|
class CSI_Entry : public State {};
|
|
class CSI_Param : public State {};
|
|
class CSI_Intermediate : public State {};
|
|
class CSI_Ignore : public State {};
|
|
|
|
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 OCS_String : public State {};
|
|
class SOS_PM_APC_String : public State {};
|
|
}
|
|
|
|
#endif
|