diff options
Diffstat (limited to 'driver/parser.go')
-rw-r--r-- | driver/parser.go | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/driver/parser.go b/driver/parser.go index 7b6df7b..fa89fcf 100644 --- a/driver/parser.go +++ b/driver/parser.go @@ -121,8 +121,11 @@ func (p *Parser) Parse() error { } // semantic action + prodNum := act lhs := p.gram.ParsingTable.LHSSymbols[prodNum] + + // When an alternative is empty, `n` will be 0, and `handle` will be empty slice. n := p.gram.ParsingTable.AlternativeSymbolCounts[prodNum] handle := p.semStack[len(p.semStack)-n:] |