2 #ifndef __TPushParser_hh__
3 #define __TPushParser_hh__
8 #include "APushParser.hh"
9 #include "TDictionary.hh"
10 #include "TDocument.hh"
13 class TPushParser : public APushParser
16 TPushParser(const class TDictionary&);
17 TPushParser(const class TDictionary&, class TListener&);
18 virtual ~TPushParser();
20 virtual void push(const TToken&);
21 virtual void setCursor(const std::string&);
23 TDocument document(void) const { return doc; }
28 std::string PRIME(void) const;
29 bool isPrimes(const TNode&) const;
36 void do_parameter(const std::string&);
37 void do_superscript(void);
38 void do_subscript(void);
39 void do_space(const std::string&);
40 void do_letter(const std::string&);
41 void do_digit(const std::string&);
42 void do_other(const std::string&);
43 void do_active(const std::string&);
44 void do_comment(void);
45 void do_control(const std::string&);
48 void do_apostrophe(void);
49 void advance(const TNode&);
51 void process(const TToken&);
55 Frame(const TDictionary::Entry& e) : entry(e), pos(0) { };
56 const TDictionary::Entry& entry;
60 std::stack<Frame> frames;
61 //std::list<TToken> buffer;
66 const class TDictionary& dictionary;
67 class TListener* listener;
70 #endif // __TPushParser_hh__