FormalGrammars: (Context-free) grammars in formal language theory
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
Modules
- FormalLanguage
- FormalLanguage.CFG
- FormalLanguage.CFG.Grammar
- FormalLanguage.CFG.Parser
- FormalLanguage.CFG.PrettyPrint
- FormalLanguage.CFG.PrettyPrint.ANSI
- FormalLanguage.CFG.PrettyPrint.Haskell
- FormalLanguage.CFG.PrettyPrint.LaTeX
- FormalLanguage.CFG.QuickCheck
- FormalLanguage.CFG.TH
- FormalLanguage.CFG
Downloads
- FormalGrammars-0.0.0.1.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
Versions [RSS] | 0.0.0.1, 0.0.0.2, 0.2.0.0, 0.2.1.0, 0.2.1.1, 0.3.0.0, 0.3.1.0, 0.3.1.1, 0.3.1.2, 0.4.0.0 |
---|---|
Change log | changelog |
Dependencies | ADPfusion (>=0.2.0.3), ansi-wl-pprint (>=0.6), base (>=4 && <5), bytestring (>=0.10), cmdargs (>=0.10 && <0.11), 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) [details] |
License | GPL-3.0-only |
Copyright | Christian Hoener zu Siederdissen, 2013 |
Author | Christian Hoener zu Siederdissen, 2013 |
Maintainer | choener@tbi.univie.ac.at |
Category | Formal Languages, Bioinformatics |
Home page | http://www.tbi.univie.ac.at/~choener/gramprod/ |
Source repo | head: git clone git://github.com/choener/FormalGrammars |
Uploaded | by ChristianHoener at 2013-12-18T00:06:31Z |
Distributions | |
Reverse Dependencies | 9 direct, 1 indirect [details] |
Executables | GrammarPP |
Downloads | 8702 total (11 in the last 30 days) |
Rating | (no votes yet) [estimated by Bayesian average] |
Your Rating | |
Status | Docs not available [build log] Successful builds reported [all 7 reports] |