I am not working on Yapps 2 anymore. I wrote a blog post about what I had been looking at for Yapps 3. However I'm not working on that right now either. Sorry! (I tend to work on things when I have an application in mind, and I don't have any applications in mind right now.)
I had been investigating the possibility of LL(2) and higher lookahead. However, it looked like the resulting parsers would be somewhat ugly.
It would be nice to control choices with user-defined predicates.
The most likely future extension is backtracking. A grammar pattern
like (VAR ':=' expr)? {{ return Assign(VAR,expr) }} : expr {{ return expr }}
would turn into code that attempted to match VAR ':=' expr
. If
it succeeded, it would run {{ return ... }}
. If it failed, it
would match expr {{ return expr }}
. Backtracking may make it
less necessary to write LL(2) grammars.