frown 0.6.1-6 source package in Ubuntu
frown (0.6.1-6) unstable; urgency=low * debian/control: - Add XS-Vcs-Browser field. - Change build dependencies to prefer to build against texlive instead of tetex. * debian/rules: enclose paths in double quotes because directories can contain spaces. -- Ubuntu Archive Auto-Sync <email address hidden> Thu, 26 Apr 2007 23:53:05 +0100
Binary packages built by this source
- frown: LALR(k) parser generator for Haskell 98
Frown is inspired by the parser generator Happy and uses a syntax
quite simular as the syntax used by Happy. Happy only handles LALR(1)
grammars while Frown can use more extensive LALR(k) grammars and the
parsers generated by Frown are also faster than the parsers generated
The salient features of Frown 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
stic, 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, one format due to Ross Paterson
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
- 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
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.
www.informatik. uni-bonn. de/~ralf/ frown/index. html