Handle ambiguities between extra and non-extra tokens using normal GLR splitting

This commit is contained in:
Max Brunsfeld 2016-09-06 10:22:16 -07:00
parent d31934ac77
commit b76574e01c
8 changed files with 63 additions and 100 deletions

View file

@ -38,7 +38,6 @@ class ParseAction {
int precedence, rules::Associativity,
const Production &);
static ParseAction ShiftExtra();
static ParseAction ReduceExtra(rules::Symbol symbol);
bool operator==(const ParseAction &) const;
bool operator<(const ParseAction &) const;
@ -74,6 +73,7 @@ class ParseState {
bool operator==(const ParseState &) const;
bool merge(const ParseState &);
void each_advance_action(std::function<void(ParseAction *)>);
bool has_shift_action() const;
std::map<rules::Symbol, ParseTableEntry> entries;
LexStateId lex_state_id;