[ etiona ]
[ ソース: frown ]
パッケージ: frown-doc (0.6.2.3-4)
frown-doc に関するリンク
Trisquel の資源:
frown ソースパッケージをダウンロード:
メンテナ:
Original Maintainers:
- Debian Haskell Group (メールアーカイブ)
- Joachim Breitner
外部の資源:
- ホームページ [hackage.haskell.org]
類似のパッケージ:
LALR(k) parser generator -- documentation
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.