summaryrefslogtreecommitdiffhomepage
path: root/cpp.h
diff options
context:
space:
mode:
Diffstat (limited to 'cpp.h')
-rw-r--r--cpp.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/cpp.h b/cpp.h
index 2594a4c..abd7e16 100644
--- a/cpp.h
+++ b/cpp.h
@@ -51,9 +51,13 @@ private:
std::string locationOfNode(index_t node_index) const; ///< Empty if no location available
void compileError(index_t node_id, const std::string& msg) const;
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
+ bool childTypesOfNodeMatch(index_t index, const std::vector<std::string>& pattern) const; ///< returns true iff specified type list matches; "" -> don't care
+ bool childTypesOfChildMatch(index_t index, index_t child_index, const std::vector<std::string>& pattern) const; ///< returns true iff specified type list matches in specified child; "" -> don't care
std::deque<std::shared_ptr<std::any>> mValues; // values stack during phase 7.c
+ std::shared_ptr<std::any> getValue(index_t node_id, index_t child_id);
+ std::string getType(index_t node_id, index_t child_index);
+ std::string ruleString(index_t node_id);
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;