packages feed

mulang-4.3.0: mulang.cabal

name:                mulang
version:             4.3.0
synopsis:            An intermediate language designed to perform advanced code analysis
description:         Mulang is an intermediate language, a combinators library for static code analysis and a multilanguage comand line tool
license:             GPL
license-file:        LICENSE.txt
author:              Franco Leonardo Bulgarelli
maintainer:          franco@mumuki.org
category:            Language
build-type:          Simple
cabal-version:       >=1.10

library
  hs-source-dirs:      src
  default-language:    Haskell2010

-- TODO recheck this is actuall necessary
  ghc-options:
    -Wall
    -fno-warn-missing-signatures
    -fno-warn-unused-do-bind
    -fno-warn-orphans
    -fno-warn-name-shadowing
    -fno-warn-incomplete-patterns
    -fno-warn-missing-pattern-synonym-signatures
    -fwarn-tabs
    -funbox-strict-fields

  exposed-modules:
    Control.Fallible
    Data.List.Extra
    Text.Dictionary
    Text.SimpleParser
    Text.Inflections.Tokenizer
    Language.Mulang
    Language.Mulang.Ast
    Language.Mulang.Identifier
    Language.Mulang.Builder
    Language.Mulang.Generator
    Language.Mulang.Signature
    Language.Mulang.DomainLanguage
    Language.Mulang.Inspector
    Language.Mulang.Inspector.Primitive
    Language.Mulang.Inspector.Generic
    Language.Mulang.Inspector.Typed
    Language.Mulang.Inspector.ObjectOriented
    Language.Mulang.Inspector.ObjectOriented.Polymorphism
    Language.Mulang.Inspector.Functional
    Language.Mulang.Inspector.Logic
    Language.Mulang.Inspector.Procedural
    Language.Mulang.Inspector.Combiner
    Language.Mulang.Inspector.Generic.Duplication
    Language.Mulang.Inspector.Generic.Smell
    Language.Mulang.Parsers
    Language.Mulang.Parsers.Haskell
    Language.Mulang.Parsers.Prolog
    Language.Mulang.Parsers.Java
    Language.Mulang.Parsers.JavaScript
    Language.Mulang.Parsers.Python
    Language.Mulang.Analyzer
    Language.Mulang.Analyzer.Analysis
    Language.Mulang.Analyzer.Analysis.Json
    Language.Mulang.Analyzer.SampleParser
    Language.Mulang.Analyzer.ExpectationsAnalyzer
    Language.Mulang.Analyzer.ExpectationsCompiler
    Language.Mulang.Analyzer.SignaturesAnalyzer
    Language.Mulang.Analyzer.SignatureStyleCompiler
    Language.Mulang.Analyzer.DomainLanguageCompiler
    Language.Mulang.Analyzer.SmellsAnalyzer
  build-depends:
    base                      <= 5,
    bytestring                ,
    text                      ,
    unordered-containers      ,
    containers                ,
    scientific                ,
    vector                    ,
    haskell-src               ,
    language-java             ,
    language-javascript       ,
    language-python           ,
    aeson                     ,
    inflections               <= 0.2.0.1,
    parsec                    ,
    ParsecTools               ,
    split                     ,
    hashable                  ,
    process
  build-tools:
    happy,
    alex

executable mulang
  hs-source-dirs:      app
  main-is:             Main.hs
  default-language:    Haskell2010

  build-depends:
    base                      <= 5,
    bytestring                ,
    text                      ,
    aeson                     ,
    process                   ,
    neat-interpolation        ,
    mulang
  if impl(ghcjs)
    build-depends:
      ghcjs-base

  build-tools:
    happy,
    alex

  other-modules:
    Version

  ghc-options:
    -Wall
    -fno-warn-missing-signatures
    -fno-warn-unused-do-bind
    -fno-warn-orphans
    -fno-warn-name-shadowing
    -fno-warn-incomplete-patterns
    -fno-warn-missing-pattern-synonym-signatures
    -fwarn-tabs
    -funbox-strict-fields
    -threaded

test-suite spec
  hs-source-dirs: spec
  default-language:    Haskell2010

  type: exitcode-stdio-1.0
  ghc-options:
    -Wall
    -fno-warn-missing-signatures
    -fno-warn-unused-do-bind
    -fno-warn-orphans
    -fno-warn-name-shadowing
    -fno-warn-incomplete-patterns
    -fno-warn-missing-pattern-synonym-signatures
    -fwarn-tabs
    -funbox-strict-fields
    -threaded
  main-is:        Spec.hs
  build-depends:
    base                      <= 5,
    bytestring                ,
    text                      ,
    aeson                     ,
    hspec                     ,
    neat-interpolation        ,
    mulang
  build-tools:
    happy,
    alex

source-repository head
  type:     git
  location: https://github.com/mumuki/mulang