From 94b1f232ea51767fc30c9ed6b3e5912d776bda30 Mon Sep 17 00:00:00 2001 From: Roland Reichwein Date: Thu, 26 Mar 2020 14:50:20 +0100 Subject: Remove old bottom-up algorithm --- grammer.h | 19 ------------------- 1 file changed, 19 deletions(-) (limited to 'grammer.h') diff --git a/grammer.h b/grammer.h index e5c2f11..d70f675 100644 --- a/grammer.h +++ b/grammer.h @@ -20,7 +20,6 @@ struct TreeNode { std::string type; index_t variant; // bnf[type][variant] - std::deque> alternatives; // [type][value] alternatives that we can consider on fail. Discard after parsing! std::vector child_ids; // < 0: terminal: token_id; >= 0: non-terminal: node_id; fill token by token }; @@ -34,9 +33,6 @@ private: // Input std::vector tokens; - // Helper data - index_t tokens_used{0}; // number of tokens used, this is also the next token index to use - BNF &bnf; // not const for access via operator[] const std::string m_top; @@ -50,24 +46,9 @@ private: std::string GetTypeOfNode(index_t node_id) const; bool IsRootNode(index_t node_id) const; bool rootIsStartSymbol() const; - bool AllTokensUsed() const; bool treeIsComplete() const; - std::vector& getNodeExpectedChilds(index_t node_id); - bool subTreeIsComplete(index_t node_id, index_t& to_fill); - size_t CommonPrefix(const std::vector& tokens, const std::vector& types); - void AddFirstNode(); - bool AddRootNode(); - void removeTokensUpTo(index_t token_id); - void removeTokensUpTo(index_t token_id, index_t node_id); - void RemoveLastNode(); - void ChangeNodeType(); - void TrackBack(); void Validate() const; - std::unordered_map traverse(const std::string& lower, const std::string& upper); - std::vector GetPath(std::string upper, std::string lower); index_t AddNode(const std::string& child_type, index_t parent_index); - void AddPath(const std::vector& path, index_t current_index); - bool FillTree(); // top-down algorithm std::unordered_map m_min; // cache -- cgit v1.2.3