diff options
author | Matthias Schiffer <mschiffer@universe-factory.net> | 2015-04-02 11:52:05 +0200 |
---|---|---|
committer | Matthias Schiffer <mschiffer@universe-factory.net> | 2015-04-02 11:52:05 +0200 |
commit | 61c3aa15c347624cb3c4a3106235d061e718ccad (patch) | |
tree | 13e3b3c65ab36636e6b62c8c1315e5030d37ccb9 /src/generator.hpp | |
parent | ab2d315aa2daf404bc6abab2f8f20f72803b8898 (diff) | |
download | solar-61c3aa15c347624cb3c4a3106235d061e718ccad.tar solar-61c3aa15c347624cb3c4a3106235d061e718ccad.zip |
Add simple output generator
Diffstat (limited to 'src/generator.hpp')
-rw-r--r-- | src/generator.hpp | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/src/generator.hpp b/src/generator.hpp index 5396d3e..4c5f9af 100644 --- a/src/generator.hpp +++ b/src/generator.hpp @@ -47,7 +47,7 @@ private: std::map<std::pair<size_t, symbol_t>, size_t> shifts; std::map<size_t, size_t> reductions; - std::map<std::pair<size_t, symbol_t>, size_t> gotos; + std::map<std::pair<size_t, std::string>, size_t> gotos; void close_set(std::set<item_t> *set); std::set<item_t> get_set(const std::string &nonterm); @@ -67,6 +67,22 @@ public: return itemsets.size(); } + const std::vector<item_t> & get_rules() const { + return rules; + } + + const std::map<size_t, size_t> & get_reductions() const { + return reductions; + } + + const std::map<std::pair<size_t, symbol_t>, size_t> & get_shifts() const { + return shifts; + } + + const std::map<std::pair<size_t, std::string>, size_t> & get_gotos() const { + return gotos; + } + generator_t(const std::vector<item_t> &rules0); }; |