FormalGrammars: (Context-free) grammars in formal language theory
generalized Algebraic Dynamic Programming
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. The DSL parser can easily be extended. Grammar products, for example, are implemented as a single additional sub-parser.
This library also provides the machinery that transforms an Inside grammar into the corresponding Outside grammar.
Starting with version 0.2.1 it is possible to write multiple context-free grammars within this framework.
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 a number of papers which are given in the README.
[Skip to Readme]
Modules
[Index]
Flags
Manual Flags
Name | Description | Default |
---|---|---|
examples | build the examples | Disabled |
debug | dump intermediate Core files | Disabled |
Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info
Downloads
- FormalGrammars-0.3.0.0.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.md |
Dependencies | ADPfusion (>=0.5.1 && <0.5.2), ansi-wl-pprint (>=0.6.7 && <0.6.8), base (>=4.7 && <4.9), bytestring (>=0.10 && <0.11), cmdargs (>=0.10 && <0.11), containers, data-default (>=0.5 && <0.6), FormalGrammars, HaTeX (>=3.16 && <3.17), lens (>=4.0 && <5.0), mtl (>=2.0 && <3.0), parsers (>=0.12 && <0.13), PrimitiveArray (>=0.6.0 && <0.7.1), semigroups (>=0.16 && <0.19), template-haskell, text (>=1.0 && <1.3), transformers (>=0.3 && <0.5), trifecta (>=1.5 && <1.6), unordered-containers (>=0.2 && <0.3), vector (>=0.10 && <0.12) [details] |
Tested with | ghc ==7.8.4, ghc ==7.10.3 |
License | GPL-3.0-only |
Copyright | Christian Hoener zu Siederdissen, 2013-2016 |
Author | Christian Hoener zu Siederdissen, 2013-2016 |
Maintainer | choener@bioinf.uni-leipzig.de |
Category | Formal Languages, Bioinformatics |
Home page | https://github.com/choener/FormalGrammars |
Bug tracker | https://github.com/choener/FormalGrammars/issues |
Source repo | head: git clone git://github.com/choener/FormalGrammars |
Uploaded | by ChristianHoener at 2016-03-13T23:43:06Z |
Distributions | |
Reverse Dependencies | 9 direct, 1 indirect [details] |
Executables | NeedlemanWunschFG, NussinovFG, GrammarPP |
Downloads | 8622 total (30 in the last 30 days) |
Rating | (no votes yet) [estimated by Bayesian average] |
Your Rating | |
Status | Docs available [build log] Last success reported on 2016-03-13 [all 1 reports] |