From 9cb92a0a961bd4138216b85ef460ca0a7de425e2 Mon Sep 17 00:00:00 2001 From: Max Brunsfeld Date: Mon, 24 Mar 2014 13:16:50 -0700 Subject: [PATCH] Remove code related to old error recovery function --- src/compiler/build_tables/build_tables.cc | 7 ----- src/compiler/generate_code/c_code.cc | 31 ----------------------- src/compiler/parse_table.h | 1 - 3 files changed, 39 deletions(-) diff --git a/src/compiler/build_tables/build_tables.cc b/src/compiler/build_tables/build_tables.cc index bfe57e5f..0e698afb 100644 --- a/src/compiler/build_tables/build_tables.cc +++ b/src/compiler/build_tables/build_tables.cc @@ -44,13 +44,6 @@ namespace tree_sitter { ParseItemSet item_set = transition.second; ParseStateId new_state_id = add_parse_state(item_set); parse_table.add_action(state_id, symbol, ParseAction::Shift(new_state_id)); - - if (symbol == rules::ERROR) { - parse_table.error_table.insert({ - state_id, - { new_state_id, first_set(transition.second, grammar) } - }); - } } } diff --git a/src/compiler/generate_code/c_code.cc b/src/compiler/generate_code/c_code.cc index b38c0d92..e36b56d7 100644 --- a/src/compiler/generate_code/c_code.cc +++ b/src/compiler/generate_code/c_code.cc @@ -216,37 +216,6 @@ namespace tree_sitter { return "#include \"tree_sitter/parser.h\""; } - string recover_case(ParseStateId state, set symbols) { - string result = "RECOVER(" + - to_string(state) + ", " + - to_string(symbols.size()) + ", EXPECT({"; - bool started = false; - for (auto &symbol : symbols) { - if (started) { - result += ", "; - } - result += symbol_id(symbol); - started = true; - } - return result + "}));"; - } - - string recover_function() { - string cases; - for (auto &pair : parse_table.error_table) { - auto pair_for_state = pair.second; - cases += _case(to_string(pair.first), - recover_case(pair_for_state.first, pair_for_state.second)); - } - cases += _default(recover_case(0, set())); - - return join({ - "RECOVER_FN() {", - indent(_switch("state", cases)), - "}" - }); - } - string lex_function() { return join({ "LEX_FN() {", diff --git a/src/compiler/parse_table.h b/src/compiler/parse_table.h index ec98aada..f3dc8eb8 100644 --- a/src/compiler/parse_table.h +++ b/src/compiler/parse_table.h @@ -71,7 +71,6 @@ namespace tree_sitter { std::vector states; std::set symbols; - std::map>> error_table; }; }