diff options
Diffstat (limited to 'src/generator_slr.cpp')
-rw-r--r-- | src/generator_slr.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/generator_slr.cpp b/src/generator_slr.cpp index 2989ee1..f277c5a 100644 --- a/src/generator_slr.cpp +++ b/src/generator_slr.cpp @@ -33,7 +33,7 @@ void generator_slr_t::generate_first_sets() { std::set<item_t> items; for (const std::string &nonterm : get_nonterminals()) - first_sets.insert(std::make_pair(nonterm, std::set<symbol_t>())); + first_sets.insert({nonterm, std::set<symbol_t>()}); for (const rule_t &rule : get_grammar().rules) items.insert(rule.item); @@ -74,7 +74,7 @@ void generator_slr_t::generate_follow_sets() { generate_first_sets(); for (const std::string &nonterm : get_nonterminals()) - follow_sets.insert(std::make_pair(nonterm, std::set<symbol_t>())); + follow_sets.insert({nonterm, std::set<symbol_t>()}); follow_sets[""].insert(symbol_t::empty()); @@ -126,16 +126,16 @@ void generator_slr_t::generate_follow_sets() { } bool generator_slr_t::has_reduce_conflict(size_t from, const symbol_t &sym) { - return reductions.count(std::make_pair(from, sym)); + return reductions.count({from, sym}); } void generator_slr_t::add_reduction(size_t from, size_t rule) { const item_t &item = get_grammar().rules[rule].item; for (const symbol_t sym : follow_sets[item.get_lhs()]) { - if (get_shifts().count(std::make_pair(from, sym))) + if (get_shifts().count({from, sym})) throw conflict_error("shift/reduce conflict"); - if (!reductions.insert(std::make_pair(std::make_pair(from, sym), rule)).second) + if (!reductions.insert({{from, sym}, rule}).second) throw conflict_error("reduce/reduce conflict"); } } |