name: FormalGrammars version: 0.2.0.0 author: Christian Hoener zu Siederdissen, 2013-2015 copyright: Christian Hoener zu Siederdissen, 2013-2015 homepage: http://www.bioinf.uni-leipzig.de/Software/gADP/ 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: 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. . 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 these papers: . @ Christian Hoener zu Siederdissen Sneaking Around ConcatMap: Efficient Combinators for Dynamic Programming 2012. Proceedings of the 17th ACM SIGPLAN international conference on Functional programming preprint: @ . @ Andrew Farmer, Christian Höner zu Siederdissen, and Andy Gill. The HERMIT in the stream: fusing stream fusion’s concatMap. 2014. Proceedings of the ACM SIGPLAN 2014 workshop on Partial evaluation and program manipulation. @ . @ Christian Höner zu Siederdissen, Ivo L. Hofacker, and Peter F. Stadler. Product Grammars for Alignment and Folding. 2014. IEEE/ACM Transactions on Computational Biology and Bioinformatics. 99. @ . @ Christian Höner zu Siederdissen, Sonja J. Prohaska, and Peter F. Stadler. Algebraic Dynamic Programming over General Data Structures. 2015. submitted. @ . Extra-Source-Files: README.md changelog.md tests/parsing.gra flag examples description: build the examples default: False manual: True flag llvm description: build using LLVM default: False manual: True flag debug description: dump intermediate Core files default: False manual: True -- TODO relax parsers dependency once https://github.com/ekmett/parsers/issues/37 is dealt with -- explicit dependency on PrimitiveArray to be able to load the examples library build-depends: base >= 4.7 && < 4.9 , ADPfusion == 0.4.0.* , 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.* , 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: FlexibleContexts , FlexibleInstances , GeneralizedNewtypeDeriving , LambdaCase , MultiParamTypeClasses , NamedFieldPuns , NoMonomorphismRestriction , PatternGuards , RankNTypes , RecordWildCards , ScopedTypeVariables , StandaloneDeriving , TemplateHaskell , TupleSections , TypeFamilies , TypeOperators 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 if flag(llvm) ghc-options: -fllvm -optlo-O3 -optlo-std-compile-opts -fllvm-tbaa 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 if flag(llvm) ghc-options: -fllvm -optlo-O3 -fllvm-tbaa source-repository head type: git location: git://github.com/choener/FormalGrammars