The implementation of the Rascal meta-programming language (including interpreter, type checker, parser generator, compiler and JVM based run-time system)
Let's leave this one until we merge Ali's parser. That parser can deal with follow restrictions and rejects of arbitrary complexity, including ones that have filters applied to themselves recursively.
Example:
prints:
true
, if you remove the follow restriction on K, it is filtered and thus returnsfalse
.