aboutsummaryrefslogtreecommitdiff
path: root/grammar/grammar.go
diff options
context:
space:
mode:
Diffstat (limited to 'grammar/grammar.go')
-rw-r--r--grammar/grammar.go4
1 files changed, 4 insertions, 0 deletions
diff --git a/grammar/grammar.go b/grammar/grammar.go
index b9f65dc..b4827df 100644
--- a/grammar/grammar.go
+++ b/grammar/grammar.go
@@ -144,6 +144,10 @@ func NewGrammar(root *spec.RootNode) (*Grammar, error) {
}
}
+ if len(root.Productions) == 0 {
+ return nil, fmt.Errorf("a grammar must have at least one production")
+ }
+
prods := newProductionSet()
var augStartSym symbol
astActs := map[productionID][]*astActionEntry{}