I've been working on a major upgrade to Yapps. I had a lot of ideas in mind but I decided to first concentrate on usability. In particular, error messages from parsers tend to be bad. I'm not sure what I actually want to see as an error message though. In the past I tested Yapps by using good grammars and inputs and making sure the output was correct. I'm now starting to build up a set of bad grammars and inputs. I'm not yet sure how to evaluate the error messages in an automated way, so for now I'm manually checking them.

Writing good error messages is hard. You have to get into the right frame of mind -- that of your user -- and figure out what would be most helpful to the person trying to figure out how to fix the error.