frown: LALR(k) parser generator
Frown is an LALR(k) parser generator for Haskell 98 written in Haskell 98. Its salient features are: • The generated parsers are time and space efficient. On the downside, the parsers are quite large. • Frown generates four different types of parsers. as a common characteristic, the parsers are genuinely functional (ie ‘table-free’); the states of the underlying LR automaton are encoded as mutually recursive functions. Three output formats use a typed stack representation, and one format due to Ross Paterson (code=stackless) works even without a stack. • Encoding states as functions means that each state can be treated individually as opposed to a table-driven approach, which necessitates a uniform treatment of states. For instance, look-ahead is only used when necessary to resolve conflicts. • Frown comes with debugging and tracing facilities; the standard output format due to Doaitse Swierstra (code=standard) may be useful for teaching LR parsing. • Common grammatical patterns such as repetition of symbols can be captured using rule schemata. There are several predefined rule schemata. • Terminal symbols are arbitrary variable-free Haskell patterns or guards. Both terminal and nonterminal symbols may have an arbitrary number of synthesized attributes. • Frown comes with extensive documentation; several example grammars are included. Furthermore, Frown supports the use of monadic lexers, monadic semantic actions, precedences, and associativity, the generation of backtracking parsers, multiple start symbols, error reporting, and a weak form of error correction.
Downloads
- frown-0.6.2.3.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
- No current members of group
For package maintainers and hackage trustees
Candidates
- No Candidates
Versions [RSS] | 0.6, 0.6.2, 0.6.2.1, 0.6.2.2, 0.6.2.3 |
---|---|
Dependencies | base (<4.10), directory [details] |
License | LicenseRef-GPL |
Author | Ralf Hinze |
Maintainer | strake888@gmail.com |
Uploaded | by MatthewFarkasDyck at 2016-03-06T07:47:40Z |
Distributions | |
Reverse Dependencies | 1 direct, 0 indirect [details] |
Executables | frown |
Downloads | 3540 total (5 in the last 30 days) |
Rating | (no votes yet) [estimated by Bayesian average] |
Your Rating | |
Status | Docs not available [build log] Last success reported on 2016-11-27 [all 3 reports] |