Remove code related to old error recovery function
This commit is contained in:
parent
48baf056b4
commit
9cb92a0a96
3 changed files with 0 additions and 39 deletions
|
|
@ -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) }
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -216,37 +216,6 @@ namespace tree_sitter {
|
|||
return "#include \"tree_sitter/parser.h\"";
|
||||
}
|
||||
|
||||
string recover_case(ParseStateId state, set<rules::Symbol> 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<rules::Symbol>()));
|
||||
|
||||
return join({
|
||||
"RECOVER_FN() {",
|
||||
indent(_switch("state", cases)),
|
||||
"}"
|
||||
});
|
||||
}
|
||||
|
||||
string lex_function() {
|
||||
return join({
|
||||
"LEX_FN() {",
|
||||
|
|
|
|||
|
|
@ -71,7 +71,6 @@ namespace tree_sitter {
|
|||
|
||||
std::vector<ParseState> states;
|
||||
std::set<rules::Symbol> symbols;
|
||||
std::map<ParseStateId, std::pair<ParseStateId, std::set<rules::Symbol>>> error_table;
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue