diff options
Diffstat (limited to 'parse/lex.hpp')
-rw-r--r-- | parse/lex.hpp | 28 |
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:
|