DParser 1.15 reviewDownload
DParser project is an simple but powerful tool for parsing
DParser project is an simple but powerful tool for parsing. You can specify the form of the text to be parsed using a combination of regular expressions and grammar productions.
Because of the parsing technique (technically a scannerless GLR parser based on the Tomita algorithm) there are no restrictions.
The grammar can be ambiguous, right or left recursive, have any number of null productions, and because there is no seperate tokenizer, can include whitespace in terminals and have terminals which are prefixes of other terminals.
DParser handles not just well formed computer languages and data files, but just about any wacky situation that occurs in the real world.
Here are some key features of "DParser":
Powerful GLR parsing
Simple EBNF-style grammars and regular expression terminals
Priorities and associativities for token and rules
Built-in error recovery
Speculative actions (for semantic disambiguation)
Auto-building of parse tree (optionally)
Final actions as you go, or on the complete parse tree
Tree walkers and default actions (multi-pass compilation support)
Symbol table built for ambiguous parsing
Partial parses, recursive parsing, parsing starting with any non-terminal
Whitespace can be specified as a subgrammar
External (C call interface) tokenizers and external terminal scanners
Good asymptotically efficiency
Comes with ANSI-C, Python and Verilog grammars
Comes with full source
Portable C for easy compilation and linking
BSD licence, so you can included it in your application without worrying about licensing
What's New in This Release:
Removed call to exec in python interface (Brian Sabbey)
Fix binary_op_left in python interface (Brian Sabbey)
DParser 1.15 keywords