Projects / nyu

nyu

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.

Tags
Licenses
Operating Systems
Implementation
Translations

Recent releases

  •  20 Mar 2011 00:54

    Release Notes: Parsing was made faster by upgrading to chilon 1.5. Spacing? is now parsed between expressions in a sequence rather than Spacing*. A possible bad order of generated rules when using tree operators was fixed.

    •  13 Mar 2011 02:29

      Release Notes: nyu now fully bootstraps its own parser and has become very usable.

      •  16 Oct 2010 04:09

        Release Notes: Partial code generation for classes and enumerations, documentation, and code simplifications and fixes. chilon was upgraded to fix a missing include.

        •  15 Oct 2010 11:11

          Release Notes: Nyu fully parses its own grammar. Classes and enumerations can be defined from nyu. Parser rules can inherit from types. Output file, column, and line information of parsing errors with a visual display pointing to the error location.

          •  01 Oct 2010 02:03

            Release Notes: This is the first public release of nyu. Nyu parses its own language fully and can dump the AST. It cannot output parsers quite yet.

            Screenshot

            Project Spotlight

            OpenStack4j

            A Fluent OpenStack client API for Java.

            Screenshot

            Project Spotlight

            TurnKey TWiki Appliance

            A TWiki appliance that is easy to use and lightweight.