FormalGrammars-0.2.1.0: FormalGrammars.cabal
name: FormalGrammars
version: 0.2.1.0
author: Christian Hoener zu Siederdissen, 2013-2015
copyright: Christian Hoener zu Siederdissen, 2013-2015
homepage: https://github.com/choener/FormalGrammars
bug-reports: https://github.com/choener/FormalGrammars/issues
maintainer: choener@bioinf.uni-leipzig.de
category: Formal Languages, Bioinformatics
license: GPL-3
license-file: LICENSE
build-type: Simple
stability: experimental
cabal-version: >= 1.10.0
tested-with: GHC == 7.8.4, GHC == 7.10.1
synopsis: (Context-free) grammars in formal language theory
description:
<http://www.bioinf.uni-leipzig.de/Software/gADP/ 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.
.
Extra-Source-Files:
README.md
changelog.md
tests/parsing.gra
flag examples
description: build the examples
default: False
manual: True
flag debug
description: dump intermediate Core files
default: False
manual: True
library
build-depends: base >= 4.7 && < 4.9
, ADPfusion >= 0.4.1 && < 0.4.2
, ansi-wl-pprint == 0.6.7.*
, bytestring == 0.10.*
, containers
, data-default == 0.5.*
, HaTeX == 3.16.*
, lens == 4.*
, mtl == 2.*
, parsers >= 0.12 && < 0.13
, PrimitiveArray >= 0.6.0 && < 0.6.2
, semigroups >= 0.16 && < 0.17
, template-haskell
, text == 1.*
, transformers >= 0.3 && < 0.5
, trifecta == 1.5.*
, unordered-containers == 0.2.*
, vector == 0.10.*
exposed-modules:
FormalLanguage
FormalLanguage.CFG
FormalLanguage.CFG.Grammar
FormalLanguage.CFG.Grammar.Types
FormalLanguage.CFG.Grammar.Util
FormalLanguage.CFG.Outside
FormalLanguage.CFG.Parser
FormalLanguage.CFG.PrettyPrint
FormalLanguage.CFG.PrettyPrint.ANSI
FormalLanguage.CFG.PrettyPrint.Haskell
FormalLanguage.CFG.PrettyPrint.LaTeX
FormalLanguage.CFG.QQ
-- FormalLanguage.CFG.QuickCheck
FormalLanguage.CFG.TH
default-language:
Haskell2010
default-extensions: DeriveDataTypeable
, DataKinds
, FlexibleContexts
, FlexibleInstances
, GeneralizedNewtypeDeriving
, LambdaCase
, MultiParamTypeClasses
, NamedFieldPuns
, NoMonomorphismRestriction
, PatternGuards
, QuasiQuotes
, RankNTypes
, RecordWildCards
, ScopedTypeVariables
, StandaloneDeriving
, TemplateHaskell
, TupleSections
, TypeFamilies
, TypeOperators
, ViewPatterns
ghc-options:
-O2 -funbox-strict-fields
-- A Simple pretty-printer for formal grammars.
executable GrammarPP
build-depends: base
, ansi-wl-pprint
, cmdargs == 0.10.*
, FormalGrammars
hs-source-dirs:
src
default-language:
Haskell2010
default-extensions: DeriveDataTypeable
, RecordWildCards
main-is:
GrammarPP.hs
executable NussinovFG
if flag(examples)
buildable:
True
build-depends: base
, ADPfusion
, FormalGrammars
, PrimitiveArray
, template-haskell
, vector
else
buildable:
False
hs-source-dirs:
src
main-is:
Nussinov.hs
default-language:
Haskell2010
default-extensions: BangPatterns
, FlexibleContexts
, FlexibleInstances
, MultiParamTypeClasses
, QuasiQuotes
, TemplateHaskell
, TypeFamilies
, TypeOperators
ghc-options:
-O2
-fcpr-off
-funbox-strict-fields
-funfolding-use-threshold1000
-funfolding-keeness-factor1000
if flag(debug)
ghc-options:
-ddump-to-file
-ddump-simpl
-ddump-stg
-dsuppress-all
executable NeedlemanWunschFG
if flag(examples)
buildable:
True
build-depends: base
, ADPfusion
, containers
, FormalGrammars
, PrimitiveArray
, template-haskell
, vector
else
buildable:
False
hs-source-dirs:
src
main-is:
NeedlemanWunsch.hs
default-language:
Haskell2010
default-extensions: BangPatterns
, FlexibleContexts
, FlexibleInstances
, MultiParamTypeClasses
, QuasiQuotes
, TemplateHaskell
, TypeFamilies
, TypeOperators
ghc-options:
-O2
-fcpr-off
-funbox-strict-fields
-funfolding-use-threshold1000
-funfolding-keeness-factor1000
-rtsopts
if flag(debug)
ghc-options:
-ddump-to-file
-ddump-simpl
-ddump-stg
-dsuppress-all
source-repository head
type: git
location: git://github.com/choener/FormalGrammars