]> matita.cs.unibo.it Git - helm.git/blob - helm/DEVEL/mathml_editor/src/TTokenizer.cc
Initial revision
[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(*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   //lexer.push('\n');
18
19   std::vector<TToken> res;
20   res.reserve(tokens.size());
21   copy(tokens.begin(), tokens.end(), back_inserter(res));
22
23   return res;
24 }
25
26 void
27 TTokenizer::push(const TToken& token)
28 {
29   tokens.push_back(token);
30 }
31