[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

RFS: frown -- LALR(k) parser generator for Haskell 98

Hi people,

I am searching for a sponsor for frown. Frown is a parser generator for
Haskell. It has similar syntax to Happy, another parser generator for
Haskell, but frown has a couple of features not found in happy. 

* Package name    : frown
  Version         : 0.6
  Upstream Author : Ralf Hinze <ralf@informatik.uni-bonn.de>
* URL             : http://www.informatik.uni-bonn.de/~ralf/frown/index.html
* License         : GPL version 2
  Description: LALR(k) parser generator for Haskell 98

I have packaged frown because it is a build-dependency of another
package I am maintaining. The package can be downloaded from my website
[1] and can the source package can be downloaded by doing

dget http://moonshine.dnsalias.org/debian/unstable/frown_0.6.1-2_i386.changes

When rebuilding the package don't forget to include the complete
changelog and source by using the -sa -v0.6.0-0 flags when calling

Greetings Arjan Oosting

[1] http://moonshine.dnsalias.org/debian/unstable

Long description:

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, 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
   - 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.
 Homepage: http://www.informatik.uni-bonn.de/~ralf/frown/index.html

Attachment: signature.asc
Description: Dit berichtdeel is digitaal ondertekend

Reply to: