-
-
Notifications
You must be signed in to change notification settings - Fork 222
Open
Labels
Description
(Initial discussion in #509)
Currently we require that the parameter to caseInsensitive
is a terminal expression. We could relax this to allow anything that can be statically proven to always be a terminal expression, e.g.:
G {
start = foo<"blah"> foo<"another">
foo<x> = bar<x>
bar<y> = caseInsensitive<y>
}
We should make sure the check also accounts for inheritance — for example, if we create the following subgrammar:
G2 {
start := foo<"blah">
}
evilguest