summaryrefslogtreecommitdiffstats
path: root/src/generator.cpp
diff options
context:
space:
mode:
authorMatthias Schiffer <mschiffer@universe-factory.net>2015-04-05 02:28:52 +0200
committerMatthias Schiffer <mschiffer@universe-factory.net>2015-04-05 02:28:52 +0200
commit96dd0ebd2618df6ed0c1acf795e9a7054592b566 (patch)
tree5d53bd0efa0edd8b4e828c8583974b812a050f9b /src/generator.cpp
parent18f88fc863ffc4c3cc6bb30433228a0e889b2647 (diff)
downloadsolar-96dd0ebd2618df6ed0c1acf795e9a7054592b566.tar
solar-96dd0ebd2618df6ed0c1acf795e9a7054592b566.zip
Add support for simple reduce actions
Diffstat (limited to 'src/generator.cpp')
-rw-r--r--src/generator.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/generator.cpp b/src/generator.cpp
index f336772..6198aba 100644
--- a/src/generator.cpp
+++ b/src/generator.cpp
@@ -36,7 +36,7 @@ std::set<item_t> generator_t::get_set(const std::string &nonterm) {
auto entries = nonterms.equal_range(nonterm);
for (auto entry = entries.first; entry != entries.second; ++entry)
- set.insert(rules[entry->second]);
+ set.insert(rules[entry->second].first);
return set;
}
@@ -117,9 +117,9 @@ void generator_t::generate_itemsets() {
}
}
-generator_t::generator_t(const std::vector<item_t> &rules0) : rules(rules0) {
+generator_t::generator_t(const std::vector<std::pair<item_t, std::string>> &rules0) : rules(rules0) {
for (size_t i = 0; i < rules.size(); i++) {
- item_t rule = rules[i];
+ item_t rule = rules[i].first;
nonterms.emplace(rule.get_lhs(), i);