| <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> |
| <html> |
| <head> |
| <meta http-equiv="content-type" |
| content="text/html; charset=ISO-8859-1"> |
| <title>D Parser Homepage</title> |
| </head> |
| <body> |
| <div style="text-align: center;"><big style="font-weight: bold;"><big><big>DParser<br> |
| <small><small><small>(you know... 'da parser)<br> |
| </small></small></small><br> |
| </big></big></big><br> |
| <div style="text-align: left; margin-left: 40px;"><span |
| style="font-weight: bold;">Introduction<br> |
| <br> |
| </span>DParser 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.<br> |
| <br> |
| <span style="font-weight: bold;">Features<br> |
| </span> |
| <ul> |
| <li>Powerful GLR parsing<br> |
| </li> |
| <li>Simple EBNF-style grammars and regular expression terminals</li> |
| <li>Priorities and associativities for token and rules</li> |
| <li>Built-in error recovery</li> |
| <li>Speculative actions (for semantic disambiguation)</li> |
| <li>Auto-building of parse tree (optionally)</li> |
| <li>Final actions as you go, or on the complete parse tree</li> |
| <li>Tree walkers and default actions (multi-pass compilation support)<br> |
| </li> |
| <li>Symbol table built for ambiguous parsing</li> |
| <li>Partial parses, recursive parsing, parsing starting with any |
| non-terminal</li> |
| <li>Whitespace can be specified as a subgrammar</li> |
| <li>External (C call interface) tokenizers and external terminal |
| scanners </li> |
| <li>Good asymptotically efficiency</li> |
| <li>Comes with ANSI-C, Python and Verilog grammars<br> |
| </li> |
| <li>Comes with full source</li> |
| <li>Portable C for easy compilation and linking<br> |
| </li> |
| <li>BSD licence, so you can included it in your application without |
| worrying about licensing<br> |
| </li> |
| </ul> |
| <span style="font-weight: bold;">Examples<br> |
| <br> |
| <a href="d/tests/ansic.test.g">ANSI |
| C grammar</a><br> |
| </span><span style="font-weight: bold;"> </span><span |
| style="font-weight: bold;"> <a |
| href="d/tests/python.test.g">Python |
| grammar</a><br> |
| </span><span style="font-weight: bold;"> </span><span |
| style="font-weight: bold;"> <a |
| href="d/verilog/verilog.g">Verilog |
| grammar</a><br> |
| </span><span style="font-weight: bold;"> </span><span |
| style="font-weight: bold;"></span><span style="font-weight: bold;"><br> |
| Documentation<br> |
| <br> |
| <span style="font-weight: bold;"> |
| </span></span><span style="font-weight: bold;"><a |
| href="d/make_dparser.cat">Man page for |
| parser generator</a><br> |
| </span><span style="font-weight: bold;"> |
| </span><span style="font-weight: bold;"><a |
| href="d/manual.html">Manual</a><br> |
| </span><span style="font-weight: bold;"> |
| </span><span style="font-weight: bold;"><a |
| href="d/faq.html">FAQ</a><br> |
| <br> |
| </span><span style="font-weight: bold;"> Public Headers<br> |
| <br> |
| <a href="d/dparse.h">dparse.h</a> |
| - main |
| parser data structures and functions<br> |
| <a href="d/dparse_tables.h">dparse_tables.h</a> |
| - parse tables data structures<br> |
| <a href="d/dsymtab.h">dsymtab.h</a> |
| - optional symbol |
| table<br> |
| <br> |
| </span><span style="font-weight: bold;">Download<br> |
| <br> |
| <a |
| href="http://prdownloads.sourceforge.net/dparser/d-1.5-src.tar.gz">Source |
| (tar.gz)</a><br> |
| <span style="font-weight: bold;"> </span></span><span |
| style="font-weight: bold;"><a |
| href="http://sourceforge.net/project/showfiles.php?group_id=70166">Binaries |
| for Linux, FreeBSD and Windows (cygwin)</a><br> |
| <br> |
| </span><a href="http://sourceforge.net/projects/dparser/"><span |
| style="font-weight: bold;"></span></a> |
| <div style="text-align: left;"><span style="font-weight: bold;">Additional |
| Information at </span><a |
| href="http://sourceforge.net/projects/dparser/">Sourceforge</a> |
| <div style="text-align: left;"> |
| <table border="1" width="100%" cellpadding="2" cellspacing="2"> |
| <tbody> |
| <tr> |
| </tr> |
| </tbody> |
| </table> |
| <span style="font-weight: bold;">Contact the author: jplevyak at source |
| forge (users.sourceforge.net)</span><br> |
| <a href="http://sourceforge.net/"> <br> |
| <img src="http://sourceforge.net/sflogo.php?group_id=70166&type=5" |
| width="210" height="62" border="0" alt="SourceForge.net Logo"></a><br> |
| </div> |
| </div> |
| </div> |
| </div> |
| </body> |
| </html> |