--- /dev/null
+
+#ifndef __TPushLexer_hh__
+#define __TPushLexer_hh__
+
+#include <string>
+
+#include "APushLexer.hh"
+
+class TPushLexer : public APushLexer
+{
+public:
+ TPushLexer(class APushParser&);
+ virtual ~TPushLexer() { };
+
+ virtual void push(char);
+ virtual void reset(void);
+ virtual bool error(void) const;
+
+private:
+ enum State
+ {
+ ACCEPT,
+ ESCAPE,
+ MACRO,
+ IGNORE_SPACE,
+ PARAMETER
+ };
+
+ void transaction(char, State);
+
+ State state;
+ std::string buffer;
+};
+
+#endif // __TPushLexer_hh__