nyu is a combination of modern academic approaches to parsing formal grammars from PEGs and expression grammars that represents the new state of the art in parser generators. nyu grammars are written in a powerful language based on PEGs (parsing expression grammars) but with modifications to allow both the AST and the parser to be specified intuitively in a single grammar. nyu outputs parsers that take advantage of the chilon::parser meta-programming library for C++. The generated parsers are almost as concise and readable as the input grammars, yet perform as well as hand-written C code. nyu ASTs are built using tuples, variant types, and lists, and allow self referential parsers and AST nodes to be manipulated. Advanced features such as hashed containers and grammar inheritance are also possible and well tested. nyu is currently powerful enough to deal with complex grammars and bootstraps its own parser.
Piglet is a tool for parsing and lexing text for the .NET framework. The purpose of Piglet is to provide an easy-to-use tool for parsing text which can be easily included in any .NET project as a single assembly. In contrast to most parser generators, Piglet provides a fluent interface which enables you to express your grammar in a syntax which is accessible for users with no prior experience of parser generators. Piglet generates efficient, type safe, and reentrant LALR(1) parsers at runtime, which saves you from having a pre-compile step to generate your parsing tables. It also includes a lexical scanner generator which can be used independently of the parser generator.
YYAST is a library which completes Lex and Yacc by adding an Abstract Syntax Tree (AST). It is designed so that you write as little as code as possible in the Lex and Yacc grammar files, so that it doesn't distract from the grammar of the language, and is intended to make it easier to use high level programming languages for compilers.