--- /dev/null
+
+#include "dom.hh"
+#include "TLexerPush.hh"
+
+main()
+{
+ std::string s;
+ while (getline(std::cin, s))
+ {
+ TLexerPush lexer;
+ for (unsigned long i = 0; i < s.length(); i++)
+ {
+ lexer.push(s[i]);
+ cout << "pending: " << lexer.pending()
+ << " amb: " << lexer.ambiguous();
+ if (!lexer.empty())
+ {
+ TToken tok = lexer.front();
+ DOM::GdomeString v(tok.value);
+ cout << " cat: " << tok.category << " value: " << v << " length: " << v.length();
+ if (!lexer.ambiguous()) lexer.pop();
+ }
+ cout << endl;
+ }
+ }
+}