diff options
author | crupest <crupest@outlook.com> | 2021-09-11 17:16:51 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2021-09-11 17:16:51 +0800 |
commit | 9f0aa0b06666dc99515a4250085b31f0efa81af8 (patch) | |
tree | 1af7177d0117f8d7ef6a6eb0c9ec6a7152f8f734 /include/cru/parse | |
parent | f6c39185f36070d4e092e4c9d2074b418b8bcf03 (diff) | |
download | cru-9f0aa0b06666dc99515a4250085b31f0efa81af8.tar.gz cru-9f0aa0b06666dc99515a4250085b31f0efa81af8.tar.bz2 cru-9f0aa0b06666dc99515a4250085b31f0efa81af8.zip |
...
Diffstat (limited to 'include/cru/parse')
-rw-r--r-- | include/cru/parse/Grammar.hpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/include/cru/parse/Grammar.hpp b/include/cru/parse/Grammar.hpp index 42649c30..98bed1b1 100644 --- a/include/cru/parse/Grammar.hpp +++ b/include/cru/parse/Grammar.hpp @@ -1,6 +1,7 @@ #pragma once #include "Production.hpp" +#include <unordered_map> #include <vector> namespace cru::parse { @@ -38,6 +39,9 @@ class Grammar : public Object { Grammar* Clone() const; public: // Algorithms + std::unordered_map<Nonterminal*, std::vector<Production*>> + GenerateLeftProductionMap() const; + void EliminateLeftRecursions(); private: |