Projects / D Parser

D Parser

The DParser is a scannerless GLR parser generator based on the Tomita algorithm. It is self-hosted and very easy to use. Grammars are written in a natural style of EBNF and regular expressions and support both speculative and final actions.

Tags
Licenses
Operating Systems
Implementation

Recent releases

  •  20 Dec 2010 21:42

    Release Notes: This release fixes a Unicode bug, compilation warnings with newer versions of gcc, const issues, a MINGW issue where it lies about the size of a file, a bug in the -R option that prevented substitutions in strings in code, and a bug in error recovery that could result in a crash. Whitespace parsers now inherit attributes of the parent. The ability to disable freelists for better valgrind results has been added.

    •  08 Oct 2009 15:50

      Release Notes: This release adds ambiguity callbacks for Python. It fixes an error recovery crash bug, a column number bug, and missing column and line numbers when using a whitespace subparser.

      •  18 Oct 2006 17:10

        Release Notes: This release removes a call to insecure exec in the Python interface, and fixes a bug with binary left associative operators.

        •  23 Feb 2006 22:24

          Release Notes: Supports generation of user-defined code from a grammar to print the parse tree, and disambiguation based on greediness (optional). Fixes a bug in the Python support that prevented the use of associativity and priority, and adds support for 64-bit systems to the Python interface.

          •  09 Oct 2004 05:25

            Release Notes: A compilation issue with the use of the GC option was fixed along with memory leaks when reusing a parser with a whitespace production in the mkdparser library and the Python interface.

            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.