The FormalGrammars package

[Tags: gpl, library, program]

Context-free grammars in formal language theory are sets of production rules, non-terminal and terminal symbols. This library provides basic data types and functions to manipulate such grammars.

Grammars can be defined in a small domain-specific language that is very close to typical CFG notation.

In addition, TemplateHaskell and QuasiQuoting functionality allow embedding thusly defined grammars in Haskell programs. ADPfusion then turns such a grammar into an efficient dynamic program. It is also possible to generate Haskell modules that contain the resulting grammar, signature and algebra product.

Alternatives are ansi- or LaTeX-based pretty-printing for users that want to implement their CFG in another language than Haskell.

Formal background can be found in two papers: Christian Höner zu Siederdissen, Ivo L. Hofacker, and Peter F. Stadler Product Grammars for Alignment and Folding submitted and Christian Höner zu Siederdissen, Ivo L. Hofacker, and Peter F. Stadler How to Multiply Dynamic Programming Algorithms Brazilian Symposium on Bioinformatics (BSB 2013) Lecture Notes in Bioinformatics 8213, Springer, Heidelberg


Properties

Versions0.0.0.1, 0.0.0.2
DependenciesADPfusion (>=0.2.0.3), ansi-wl-pprint (>=0.6), base (==4.*), bytestring (>=0.10), cmdargs (==0.10.*), containers, data-default (>=0.5), HaTeX, lens (>=3.9), mtl, parsers (>=0.9), repa (>=3.2), template-haskell, text, transformers (>=0.3), trifecta (>=1.2), unordered-containers (>=0.2), vector (>=0.10)
LicenseGPL-3
CopyrightChristian Hoener zu Siederdissen, 2013
AuthorChristian Hoener zu Siederdissen, 2013
Maintainerchoener@tbi.univie.ac.at
Stabilityexperimental
CategoryFormal Languages, Bioinformatics
Home pagehttp://www.tbi.univie.ac.at/~choener/gramprod/
Source repositoryhead: git clone git://github.com/choener/FormalGrammars
ExecutablesGrammarPP
Upload dateSun Dec 22 23:01:56 UTC 2013
Uploaded byChristianHoener
Downloads264 total (20 in last 30 days)

Modules

Downloads

Maintainers' corner

For package maintainers and hackage trustees