E. Future Extensions

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.

Amit J Patel, amitp@cs.stanford.edu