]> matita.cs.unibo.it Git - helm.git/blob - helm/DEVEL/mathml_editor/src/TTokenizer.cc
* added show/hide cursro methods
[helm.git] / helm / DEVEL / mathml_editor / src / TTokenizer.cc
1
2 #include <algorithm>
3
4 #include "TTokenizer.hh"
5 #include "TPushLexer.hh"
6
7 std::vector<TToken>
8 TTokenizer::tokenize(const std::string& s)
9 {
10   TPushLexer lexer(logger, *this);
11
12   tokens.clear();
13   for (std::string::const_iterator p = s.begin();
14        p != s.end();
15        p++)
16     lexer.push(*p);
17   
18   lexer.flush();
19
20   std::vector<TToken> res;
21   res.reserve(tokens.size());
22   copy(tokens.begin(), tokens.end(), back_inserter(res));
23
24   return res;
25 }
26
27 void
28 TTokenizer::reset()
29 {
30   assert(0);
31 }
32
33 void
34 TTokenizer::push(const TToken& token)
35 {
36   tokens.push_back(token);
37 }
38
39 std::string
40 TTokenizer::drop()
41 {
42   assert(0);
43   return "";
44 }