Essence 2.0 LR parser generator available
Michael Sperber <[email protected]>
| Newsgroups | gmane.lisp.scheme.scheme48 |
|---|---|
| Message-ID | <[email protected]> |
Essence is a generator for LR(k) and SLR(k) parsers in R5RS or R6RS Scheme. The generated parsers perform error recovery, and are highly efficient. Testing and debugging a parser does not require an edit-generate-compile-test cycle. Rather, the parser generator results from a general parser which takes the input grammar as a parameter; no generation and recompilation is necessary to try out changes to a grammar. The generated parsers result from the general parser by an automatic program transformation called partial evaluation. This guarantees consistency and ensures correctness. However, no specific knowledge of partial evaluation is required to use Essence. Running Essence requires Scheme 48. Essence 2.0 is a significant improvement over previous releases. In particular, the grammar syntax has been revised. The generated parsers are re-entrant, and more compact. Also, error handling and recovery has been considerably improved. Applicability, scalability, and robustness have been verified in an industrial compiler project. Essence is available from: http://www.informatik.uni-freiburg.de/proglang/software/essence/ Enjoy! Mike Sperber Peter Thiemann