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 | Software Development Compilers |
|---|---|
| Licenses | BSD Original BSD Revised |
| Operating Systems | POSIX BSD FreeBSD Linux Windows |
| Implementation | C |
Recent releases


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


Changes: 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.


Changes: 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.


Changes: This release fixes portability/ANSI-C issues, a bug where actions would not fire with regex productions, and changes the binary interface ${action} to be by rule instead of by production and to take an optional integer argument.


Changes: This release fixes a bug in ambiguity handling which could result in incorrect results or a crash. It adds new interfaces for building tables from a grammar in a string and reading and writing binary tables to/from memory and/or a FILE*.