]> matita.cs.unibo.it Git - helm.git/blob - helm/DEVEL/mathml_editor/src/TTokenizer.cc
* code cleanup
[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::push(const TToken& token)
29 {
30   tokens.push_back(token);
31 }
32