summaryrefslogtreecommitdiffhomepage
path: root/cpp.h
diff options
context:
space:
mode:
authorRoland Reichwein <mail@reichwein.it>2020-11-07 15:05:45 +0100
committerRoland Reichwein <mail@reichwein.it>2020-11-07 15:05:45 +0100
commitf0f7a8f7fd237d1f8e2bab2bfb2cb4442e1a692f (patch)
treef3c08014262ad519b183aa9218d48bf65e6bb9f4 /cpp.h
parent71c7fd62f8b5257b82cf32b0f747fcf313fcc617 (diff)
Add node map
Diffstat (limited to 'cpp.h')
-rw-r--r--cpp.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/cpp.h b/cpp.h
index ce4a516..2594a4c 100644
--- a/cpp.h
+++ b/cpp.h
@@ -53,7 +53,12 @@ private:
std::string typeOfChild(int32_t child_id) const;
bool childTypesOfNodeMatch(index_t, const std::vector<std::string>& pattern) const; ///< returns true iff specified type list matches; "" -> don't care
- std::deque<std::shared_ptr<std::any>> mValues;
+ std::deque<std::shared_ptr<std::any>> mValues; // values stack during phase 7.c
+
+ std::unordered_map<std::string, std::function<std::shared_ptr<std::any>(index_t)>> getNodeEvalMap();
+ std::unordered_map<std::string, std::function<std::shared_ptr<std::any>(index_t)>> node_eval_map;
+
+ CPPContext mContext;
void getValueOfToken(index_t index);
void getValueOfNode(index_t index);
void visitRecursive(index_t node_id);