summaryrefslogtreecommitdiff
path: root/parse/lex.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'parse/lex.hpp')
-rw-r--r--parse/lex.hpp28
1 files changed, 21 insertions, 7 deletions
diff --git a/parse/lex.hpp b/parse/lex.hpp
index e01a1cbf..dbf365a0 100644
--- a/parse/lex.hpp
+++ b/parse/lex.hpp
@@ -199,14 +199,28 @@ private:
class TokenTree
{
+ Token m_tok;
+ ::std::vector<TokenTree> m_subtrees;
public:
- TokenTree();
- TokenTree(Token tok);
- TokenTree(::std::vector<TokenTree> subtrees);
-
- const unsigned int size() const;
- const TokenTree& operator[](unsigned int) const;
- const Token& tok() const;
+ TokenTree() {}
+ TokenTree(Token tok):
+ m_tok(tok)
+ {
+ }
+ TokenTree(::std::vector<TokenTree> subtrees):
+ m_subtrees(subtrees)
+ {
+ }
+
+ const unsigned int size() const {
+ return m_subtrees.size();
+ }
+ const TokenTree& operator[](unsigned int idx) const {
+ return m_subtrees[idx];
+ }
+ const Token& tok() const {
+ return m_tok;
+ }
};
class TTStream: