From 109b5616d3eaa8778132d38e087417f953ed8e10 Mon Sep 17 00:00:00 2001 From: Max Brunsfeld Date: Wed, 14 Jan 2015 23:50:22 -0800 Subject: [PATCH] Remove unused arg to action_takes_precedence --- .../action_takes_precedence_spec.cc | 61 +++++++++---------- .../build_tables/action_takes_precedence.cc | 5 +- .../build_tables/action_takes_precedence.h | 3 +- .../build_tables/build_parse_table.cc | 2 +- 4 files changed, 32 insertions(+), 39 deletions(-) diff --git a/spec/compiler/build_tables/action_takes_precedence_spec.cc b/spec/compiler/build_tables/action_takes_precedence_spec.cc index 09ffaac6..fa4ee904 100644 --- a/spec/compiler/build_tables/action_takes_precedence_spec.cc +++ b/spec/compiler/build_tables/action_takes_precedence_spec.cc @@ -12,11 +12,6 @@ START_TEST describe("action_takes_precedence", []() { bool update; - SyntaxGrammar parse_grammar({ - { "rule1", seq({ sym("rule2"), sym("token2") }) }, - { "rule2", sym("token1") }, - }, {}, set()); - describe("lexical conflicts", [&]() { Symbol sym1(0, SymbolOptionToken); Symbol sym2(1, SymbolOptionToken); @@ -73,18 +68,18 @@ describe("action_takes_precedence", []() { ParseAction non_error = ParseAction::Shift(2, { 0 }); it("favors non-errors", [&]() { - result = action_takes_precedence(non_error, error, sym1, parse_grammar); + result = action_takes_precedence(non_error, error, sym1); AssertThat(result.first, IsTrue()); - result = action_takes_precedence(error, non_error, sym1, parse_grammar); + result = action_takes_precedence(error, non_error, sym1); AssertThat(result.first, IsFalse()); }); it("is not a conflict", [&]() { - result = action_takes_precedence(non_error, error, sym1, parse_grammar); + result = action_takes_precedence(non_error, error, sym1); AssertThat(result.second, IsFalse()); - result = action_takes_precedence(error, non_error, sym1, parse_grammar); + result = action_takes_precedence(error, non_error, sym1); AssertThat(result.second, IsFalse()); }); }); @@ -95,18 +90,18 @@ describe("action_takes_precedence", []() { ParseAction reduce = ParseAction::Reduce(sym2, 1, 1); it("is not a conflict", [&]() { - result = action_takes_precedence(shift, reduce, sym1, parse_grammar); + result = action_takes_precedence(shift, reduce, sym1); AssertThat(result.second, IsFalse()); - result = action_takes_precedence(reduce, shift, sym1, parse_grammar); + result = action_takes_precedence(reduce, shift, sym1); AssertThat(result.second, IsFalse()); }); it("favors the shift", [&]() { - result = action_takes_precedence(shift, reduce, sym1, parse_grammar); + result = action_takes_precedence(shift, reduce, sym1); AssertThat(result.first, IsTrue()); - result = action_takes_precedence(reduce, shift, sym1, parse_grammar); + result = action_takes_precedence(reduce, shift, sym1); AssertThat(result.first, IsFalse()); }); }); @@ -116,18 +111,18 @@ describe("action_takes_precedence", []() { ParseAction reduce = ParseAction::Reduce(sym2, 1, 3); it("is not a conflict", [&]() { - result = action_takes_precedence(shift, reduce, sym1, parse_grammar); + result = action_takes_precedence(shift, reduce, sym1); AssertThat(result.second, IsFalse()); - result = action_takes_precedence(reduce, shift, sym1, parse_grammar); + result = action_takes_precedence(reduce, shift, sym1); AssertThat(result.second, IsFalse()); }); it("favors the reduce", [&]() { - result = action_takes_precedence(shift, reduce, sym1, parse_grammar); + result = action_takes_precedence(shift, reduce, sym1); AssertThat(result.first, IsFalse()); - result = action_takes_precedence(reduce, shift, sym1, parse_grammar); + result = action_takes_precedence(reduce, shift, sym1); AssertThat(result.first, IsTrue()); }); }); @@ -137,18 +132,18 @@ describe("action_takes_precedence", []() { ParseAction reduce = ParseAction::Reduce(sym2, 1, 0); it("is a conflict", [&]() { - result = action_takes_precedence(reduce, shift, sym1, parse_grammar); + result = action_takes_precedence(reduce, shift, sym1); AssertThat(result.second, IsTrue()); - result = action_takes_precedence(shift, reduce, sym1, parse_grammar); + result = action_takes_precedence(shift, reduce, sym1); AssertThat(result.second, IsTrue()); }); it("favors the shift", [&]() { - result = action_takes_precedence(reduce, shift, sym1, parse_grammar); + result = action_takes_precedence(reduce, shift, sym1); AssertThat(result.first, IsFalse()); - result = action_takes_precedence(shift, reduce, sym1, parse_grammar); + result = action_takes_precedence(shift, reduce, sym1); AssertThat(result.first, IsTrue()); }); }); @@ -158,18 +153,18 @@ describe("action_takes_precedence", []() { ParseAction reduce = ParseAction::Reduce(sym2, 1, 2); it("is a conflict", [&]() { - result = action_takes_precedence(reduce, shift, sym1, parse_grammar); + result = action_takes_precedence(reduce, shift, sym1); AssertThat(result.second, IsTrue()); - result = action_takes_precedence(shift, reduce, sym1, parse_grammar); + result = action_takes_precedence(shift, reduce, sym1); AssertThat(result.second, IsTrue()); }); it("favors the shift", [&]() { - result = action_takes_precedence(reduce, shift, sym1, parse_grammar); + result = action_takes_precedence(reduce, shift, sym1); AssertThat(result.first, IsFalse()); - result = action_takes_precedence(shift, reduce, sym1, parse_grammar); + result = action_takes_precedence(shift, reduce, sym1); AssertThat(result.first, IsTrue()); }); }); @@ -181,18 +176,18 @@ describe("action_takes_precedence", []() { ParseAction right = ParseAction::Reduce(sym2, 1, 3); it("favors that action", [&]() { - result = action_takes_precedence(left, right, sym1, parse_grammar); + result = action_takes_precedence(left, right, sym1); AssertThat(result.first, IsFalse()); - result = action_takes_precedence(right, left, sym1, parse_grammar); + result = action_takes_precedence(right, left, sym1); AssertThat(result.first, IsTrue()); }); it("is not a conflict", [&]() { - result = action_takes_precedence(left, right, sym1, parse_grammar); + result = action_takes_precedence(left, right, sym1); AssertThat(result.second, IsFalse()); - result = action_takes_precedence(right, left, sym1, parse_grammar); + result = action_takes_precedence(right, left, sym1); AssertThat(result.second, IsFalse()); }); }); @@ -202,18 +197,18 @@ describe("action_takes_precedence", []() { ParseAction right = ParseAction::Reduce(sym2, 1, 0); it("favors the symbol listed earlier in the grammar", [&]() { - result = action_takes_precedence(left, right, sym1, parse_grammar); + result = action_takes_precedence(left, right, sym1); AssertThat(result.first, IsTrue()); - result = action_takes_precedence(right, left, sym1, parse_grammar); + result = action_takes_precedence(right, left, sym1); AssertThat(result.first, IsFalse()); }); it("records a conflict", [&]() { - result = action_takes_precedence(left, right, sym1, parse_grammar); + result = action_takes_precedence(left, right, sym1); AssertThat(result.second, IsTrue()); - result = action_takes_precedence(right, left, sym1, parse_grammar); + result = action_takes_precedence(right, left, sym1); AssertThat(result.second, IsTrue()); }); }); diff --git a/src/compiler/build_tables/action_takes_precedence.cc b/src/compiler/build_tables/action_takes_precedence.cc index a90055e2..c8d0890b 100644 --- a/src/compiler/build_tables/action_takes_precedence.cc +++ b/src/compiler/build_tables/action_takes_precedence.cc @@ -7,11 +7,10 @@ using std::pair; pair action_takes_precedence(const ParseAction &new_action, const ParseAction &old_action, - const rules::Symbol &symbol, - const SyntaxGrammar &grammar) { + const rules::Symbol &symbol) { if (new_action.type < old_action.type) { auto opposite = - action_takes_precedence(old_action, new_action, symbol, grammar); + action_takes_precedence(old_action, new_action, symbol); return { !opposite.first, opposite.second }; } diff --git a/src/compiler/build_tables/action_takes_precedence.h b/src/compiler/build_tables/action_takes_precedence.h index 98a38e13..79603611 100644 --- a/src/compiler/build_tables/action_takes_precedence.h +++ b/src/compiler/build_tables/action_takes_precedence.h @@ -12,8 +12,7 @@ namespace build_tables { std::pair action_takes_precedence(const ParseAction &new_action, const ParseAction &old_action, - const rules::Symbol &symbol, - const SyntaxGrammar &grammar); + const rules::Symbol &symbol); bool action_takes_precedence(const LexAction &new_action, const LexAction &old_action); diff --git a/src/compiler/build_tables/build_parse_table.cc b/src/compiler/build_tables/build_parse_table.cc index 7ba85a04..9ba6e3f8 100644 --- a/src/compiler/build_tables/build_parse_table.cc +++ b/src/compiler/build_tables/build_parse_table.cc @@ -157,7 +157,7 @@ class ParseTableBuilder { return true; auto result = action_takes_precedence(action, current_action->second, - symbol, grammar); + symbol); if (result.second) record_conflict(symbol, current_action->second, action, item_set);