From 2c22c1e193ce8b3abd6f1436457ff92a40646e45 Mon Sep 17 00:00:00 2001 From: Ryo Nihei Date: Sat, 17 Jul 2021 17:29:31 +0900 Subject: Detect multiple syntax errors in a single parse --- grammar/grammar.go | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'grammar') 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{} -- cgit v1.2.3