
Motivation


I decided that investing time into writing my own parser generator might be a good idea, considering the experience I gathered from writing languages without one.
So here it is, a parser generator for context-free grammars, with nested lookaheads, specializations for tokens (e.g. for keywords) and other things.
This thing supports C#, C++0x, and Java as its target platform. No need to worry about writing parsers by hand anymore: Craft a grammar which is much easier to understand and generate a fully-featured parser from that that will automatically yield tons of useful information and notify you of faulty input.
This thing supports C#, C++0x, and Java as its target platform. No need to worry about writing parsers by hand anymore: Craft a grammar which is much easier to understand and generate a fully-featured parser from that that will automatically yield tons of useful information and notify you of faulty input.

Some features


- Clean and actually debuggable parser output for C#, C++0x, and Java
- Properly specified input language (with self-defining grammar) - with regular expressions for token definitions
- Includes an example grammar which serves as the reference for the grammar's grammar itself
- Deployment of the generated parsers is trivial
- Usage of the generated parsers is made comfortable by a clear distinction between rule instances and tokens, and typing according to the grammar being represented by enums in the output nodes
- Token images, line and char numbers are all available for use, and they are always accurate
- If anything's wrong with the input for a generated parser, proper error messages will help you pinpoint the fault location accurately in an instant
- At choice points, you can define syntactic lookaheads of arbitrary complexity and encapsulation


