aboutsummaryrefslogtreecommitdiff
path: root/grammar/grammar.go
diff options
context:
space:
mode:
Diffstat (limited to 'grammar/grammar.go')
-rw-r--r--grammar/grammar.go10
1 files changed, 9 insertions, 1 deletions
diff --git a/grammar/grammar.go b/grammar/grammar.go
index 00c894c..a43b133 100644
--- a/grammar/grammar.go
+++ b/grammar/grammar.go
@@ -487,7 +487,15 @@ func Compile(gram *Grammar) (*spec.CompiledGrammar, error) {
return nil, err
}
- tab, err := genSLRParsingTable(lr0, gram.productionSet, followSet, len(terms), len(nonTerms))
+ slr := &slrTableBuilder{
+ automaton: lr0,
+ prods: gram.productionSet,
+ follow: followSet,
+ termCount: len(terms),
+ nonTermCount: len(nonTerms),
+ symTab: gram.symbolTable,
+ }
+ tab, err := slr.build()
if err != nil {
return nil, err
}