diff options
Diffstat (limited to 'driver/parser_test.go')
-rw-r--r-- | driver/parser_test.go | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/driver/parser_test.go b/driver/parser_test.go index d50ee85..9467d6c 100644 --- a/driver/parser_test.go +++ b/driver/parser_test.go @@ -395,6 +395,58 @@ b: "a"; `, specErr: true, }, + // Invalid associativity type + { + specSrc: ` +%foo + +s + : a + ; + +a: 'a'; +`, + specErr: true, + }, + // Associativity needs at least one symbol. + { + specSrc: ` +%left + +s + : a + ; + +a: 'a'; +`, + specErr: true, + }, + // Associativity cannot take an undefined symbol. + { + specSrc: ` +%left b + +s + : a + ; + +a: 'a'; +`, + specErr: true, + }, + // Associativity cannot take a non-terminal symbol. + { + specSrc: ` +%left s + +s + : a + ; + +a: 'a'; +`, + specErr: true, + }, } classes := []grammar.Class{ |