Handle external tokens in apply_transitive_closure
This commit is contained in:
parent
0f8e130687
commit
d72b49316b
2 changed files with 39 additions and 24 deletions
|
|
@ -31,6 +31,11 @@ ParseItemSetBuilder::ParseItemSetBuilder(const SyntaxGrammar &grammar,
|
|||
first_sets.insert({symbol, LookaheadSet({ symbol })});
|
||||
}
|
||||
|
||||
for (size_t i = 0, n = grammar.external_tokens.size(); i < n; i++) {
|
||||
Symbol symbol(i, Symbol::External);
|
||||
first_sets.insert({symbol, LookaheadSet({ symbol })});
|
||||
}
|
||||
|
||||
for (size_t i = 0, n = grammar.variables.size(); i < n; i++) {
|
||||
Symbol symbol(i, Symbol::NonTerminal);
|
||||
LookaheadSet first_set;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue