packages feed

fortran-src-0.16.3: fortran-src.cabal

cabal-version: 1.12

-- This file has been generated from package.yaml by hpack version 0.35.2.
--
-- see: https://github.com/sol/hpack

name:           fortran-src
version:        0.16.3
synopsis:       Parsers and analyses for Fortran standards 66, 77, 90, 95 and 2003 (partial).
description:    Provides lexing, parsing, and basic analyses of Fortran code covering standards: FORTRAN 66, FORTRAN 77, Fortran 90, Fortran 95, Fortran 2003 (partial) and some legacy extensions. Includes data flow and basic block analysis, a renamer, and type analysis. For example usage, see the @<https://hackage.haskell.org/package/camfort CamFort>@ project, which uses fortran-src as its front end.
category:       Language
homepage:       https://github.com/camfort/fortran-src#readme
bug-reports:    https://github.com/camfort/fortran-src/issues
author:         Mistral Contrastin,
                Matthew Danish,
                Dominic Orchard,
                Andrew Rice
maintainer:     me@madgen.net,
                Ben Orchard
license:        Apache-2.0
license-file:   LICENSE
build-type:     Simple
tested-with:
    GHC >= 9.0
extra-source-files:
    README.md
    CHANGELOG.md
    test-data/f77-include/foo.f
    test-data/f77-include/no-newline/foo.f
    test-data/module/leaf.f90
    test-data/module/mid1.f90
    test-data/module/mid2.f90
    test-data/module/top.f90
    test-data/rewriter/replacementsmap-columnlimit/001_foo.f
    test-data/rewriter/replacementsmap-columnlimit/001_foo.f.expected
    test-data/rewriter/replacementsmap-columnlimit/002_other.f
    test-data/rewriter/replacementsmap-columnlimit/002_other.f.expected
    test-data/rewriter/replacementsmap-columnlimit/003_multiline.f
    test-data/rewriter/replacementsmap-columnlimit/003_multiline.f.expected
    test-data/rewriter/replacementsmap-columnlimit/004_comment.f
    test-data/rewriter/replacementsmap-columnlimit/004_comment.f.expected
    test-data/rewriter/replacementsmap-columnlimit/005_removals.f
    test-data/rewriter/replacementsmap-columnlimit/005_removals.f.expected
    test-data/rewriter/replacementsmap-columnlimit/006_linewrap_heuristic.f
    test-data/rewriter/replacementsmap-columnlimit/006_linewrap_heuristic.f.expected
    test-data/rewriter/replacementsmap-insertion/001_foo.f
    test-data/rewriter/replacementsmap-insertion/001_foo.f.expected
    test-data/rewriter/replacementsmap-overlapping-filtered/001_foo.f
    test-data/rewriter/replacementsmap-overlapping-filtered/001_foo.f.expected
    test-data/rewriter/replacementsmap-overlapping/001_foo.f
    test-data/rewriter/replacementsmap-overlapping/001_foo.f.expected
    test-data/rewriter/replacementsmap-padimplicitcomment/001_foo.f
    test-data/rewriter/replacementsmap-padimplicitcomment/001_foo.f.expected
    test-data/rewriter/replacementsmap-simple/001_foo.f
    test-data/rewriter/replacementsmap-simple/001_foo.f.expected
    test-data/rewriter/replacementsmap-simple/002_foo.f
    test-data/rewriter/replacementsmap-simple/002_foo.f.expected
    test-data/rewriter/replacementsmap-simple/003_foo.f
    test-data/rewriter/replacementsmap-simple/003_foo.f.expected
    test-data/rewriter/replacementsmap-simple/004_unicode.f
    test-data/rewriter/replacementsmap-simple/004_unicode.f.expected
    test-data/rewriter/replacementsmap-simple/005_unicode.f
    test-data/rewriter/replacementsmap-simple/005_unicode.f.expected
    test-data/rewriter/temp-failure/fail.f

source-repository head
  type: git
  location: https://github.com/camfort/fortran-src

library
  exposed-modules:
      Language.Fortran.Analysis
      Language.Fortran.Analysis.BBlocks
      Language.Fortran.Analysis.DataFlow
      Language.Fortran.Analysis.ModGraph
      Language.Fortran.Analysis.Renaming
      Language.Fortran.Analysis.SemanticTypes
      Language.Fortran.Analysis.Types
      Language.Fortran.AST
      Language.Fortran.AST.AList
      Language.Fortran.AST.Annotated
      Language.Fortran.AST.Common
      Language.Fortran.AST.Literal
      Language.Fortran.AST.Literal.Boz
      Language.Fortran.AST.Literal.Complex
      Language.Fortran.AST.Literal.Real
      Language.Fortran.Common.Array
      Language.Fortran.Intrinsics
      Language.Fortran.LValue
      Language.Fortran.Parser
      Language.Fortran.Parser.Fixed.Fortran66
      Language.Fortran.Parser.Fixed.Fortran77
      Language.Fortran.Parser.Fixed.Lexer
      Language.Fortran.Parser.Fixed.Utils
      Language.Fortran.Parser.Free.Fortran2003
      Language.Fortran.Parser.Free.Fortran90
      Language.Fortran.Parser.Free.Fortran95
      Language.Fortran.Parser.Free.Lexer
      Language.Fortran.Parser.Free.Utils
      Language.Fortran.Parser.LexerUtils
      Language.Fortran.Parser.Monad
      Language.Fortran.Parser.ParserUtils
      Language.Fortran.PrettyPrint
      Language.Fortran.Repr
      Language.Fortran.Repr.Compat.Natural
      Language.Fortran.Repr.Eval.Common
      Language.Fortran.Repr.Eval.Type
      Language.Fortran.Repr.Eval.Value
      Language.Fortran.Repr.Eval.Value.Op
      Language.Fortran.Repr.Tmp
      Language.Fortran.Repr.Type
      Language.Fortran.Repr.Type.Array
      Language.Fortran.Repr.Type.Scalar
      Language.Fortran.Repr.Type.Scalar.Common
      Language.Fortran.Repr.Type.Scalar.Complex
      Language.Fortran.Repr.Type.Scalar.Int
      Language.Fortran.Repr.Type.Scalar.Real
      Language.Fortran.Repr.Type.Scalar.String
      Language.Fortran.Repr.Util
      Language.Fortran.Repr.Value
      Language.Fortran.Repr.Value.Common
      Language.Fortran.Repr.Value.Machine
      Language.Fortran.Repr.Value.Scalar
      Language.Fortran.Repr.Value.Scalar.Common
      Language.Fortran.Repr.Value.Scalar.Complex
      Language.Fortran.Repr.Value.Scalar.Int
      Language.Fortran.Repr.Value.Scalar.Int.Idealized
      Language.Fortran.Repr.Value.Scalar.Int.Machine
      Language.Fortran.Repr.Value.Scalar.Logical
      Language.Fortran.Repr.Value.Scalar.Logical.Idealized
      Language.Fortran.Repr.Value.Scalar.Logical.Machine
      Language.Fortran.Repr.Value.Scalar.Machine
      Language.Fortran.Repr.Value.Scalar.Real
      Language.Fortran.Repr.Value.Scalar.String
      Language.Fortran.Rewriter
      Language.Fortran.Rewriter.Internal
      Language.Fortran.Transformation.Disambiguation.Function
      Language.Fortran.Transformation.Disambiguation.Intrinsic
      Language.Fortran.Transformation.Grouping
      Language.Fortran.Transformation.Monad
      Language.Fortran.Util.Files
      Language.Fortran.Util.FirstParameter
      Language.Fortran.Util.ModFile
      Language.Fortran.Util.Position
      Language.Fortran.Util.SecondParameter
      Language.Fortran.Version
      Text.PrettyPrint.GenericPretty.Orphans
      Text.PrettyPrint.GenericPretty.ViaShow
  other-modules:
      Paths_fortran_src
  hs-source-dirs:
      src
  default-extensions:
      TupleSections
      EmptyCase
      LambdaCase
      InstanceSigs
      BangPatterns
      ExplicitNamespaces
      DerivingStrategies
      StandaloneDeriving
      DeriveAnyClass
      DeriveGeneric
      DeriveDataTypeable
      DeriveFunctor
      DeriveFoldable
      DeriveTraversable
      DeriveLift
      FlexibleContexts
      FlexibleInstances
      MultiParamTypeClasses
      GADTs
      PolyKinds
      RoleAnnotations
      RankNTypes
      TypeApplications
      DefaultSignatures
      TypeFamilies
      DataKinds
      MagicHash
      BinaryLiterals
      ScopedTypeVariables
      TypeOperators
  ghc-options: -Wall -fno-warn-tabs
  build-tools:
      alex >=3.1
    , happy >=1.19
  build-depends:
      GenericPretty >=1.2.2 && <2
    , array ==0.5.*
    , base >=4.6 && <5
    , binary >=0.8.3.0 && <0.11
    , bytestring >=0.10 && <0.13
    , containers >=0.5 && <0.7
    , deepseq >=1.4 && <1.6
    , directory >=1.2 && <2
    , either >=5.0.1.1 && <5.1
    , fgl ==5.*
    , filepath ==1.4.*
    , mtl >=2.2 && <3
    , pretty >=1.1 && <2
    , process >=1.2.0.0
    , singletons ==3.0.*
    , singletons-base >=3.0 && <3.4
    , singletons-th >=3.0 && <3.4
    , temporary >=1.2 && <1.4
    , text >=1.2 && <2.2
    , uniplate >=1.6 && <2
  default-language: Haskell2010
  if os(windows)
    cpp-options: -DFS_DISABLE_WIN_BROKEN_TESTS

executable fortran-src
  main-is: Main.hs
  other-modules:
      Paths_fortran_src
  hs-source-dirs:
      app
  default-extensions:
      TupleSections
      EmptyCase
      LambdaCase
      InstanceSigs
      BangPatterns
      ExplicitNamespaces
      DerivingStrategies
      StandaloneDeriving
      DeriveAnyClass
      DeriveGeneric
      DeriveDataTypeable
      DeriveFunctor
      DeriveFoldable
      DeriveTraversable
      DeriveLift
      FlexibleContexts
      FlexibleInstances
      MultiParamTypeClasses
      GADTs
      PolyKinds
      RoleAnnotations
      RankNTypes
      TypeApplications
      DefaultSignatures
      TypeFamilies
      DataKinds
      MagicHash
      BinaryLiterals
      ScopedTypeVariables
      TypeOperators
  ghc-options: -Wall -fno-warn-tabs
  build-depends:
      GenericPretty >=1.2.2 && <2
    , array ==0.5.*
    , base >=4.6 && <5
    , binary >=0.8.3.0 && <0.11
    , bytestring >=0.10 && <0.13
    , containers >=0.5 && <0.7
    , deepseq >=1.4 && <1.6
    , directory >=1.2 && <2
    , either >=5.0.1.1 && <5.1
    , fgl ==5.*
    , filepath ==1.4.*
    , fortran-src
    , mtl >=2.2 && <3
    , pretty >=1.1 && <2
    , process >=1.2.0.0
    , singletons ==3.0.*
    , singletons-base >=3.0 && <3.4
    , singletons-th >=3.0 && <3.4
    , temporary >=1.2 && <1.4
    , text >=1.2 && <2.2
    , uniplate >=1.6 && <2
  default-language: Haskell2010
  if os(windows)
    cpp-options: -DFS_DISABLE_WIN_BROKEN_TESTS

test-suite spec
  type: exitcode-stdio-1.0
  main-is: Spec.hs
  other-modules:
      Language.Fortran.Analysis.BBlocksSpec
      Language.Fortran.Analysis.DataFlowSpec
      Language.Fortran.Analysis.ModFileSpec
      Language.Fortran.Analysis.ModGraphSpec
      Language.Fortran.Analysis.RenamingSpec
      Language.Fortran.Analysis.SemanticTypesSpec
      Language.Fortran.Analysis.TypesSpec
      Language.Fortran.AnalysisSpec
      Language.Fortran.AST.Literal.BozSpec
      Language.Fortran.AST.Literal.RealSpec
      Language.Fortran.Parser.Fixed.Fortran66Spec
      Language.Fortran.Parser.Fixed.Fortran77.IncludeSpec
      Language.Fortran.Parser.Fixed.Fortran77.ParserSpec
      Language.Fortran.Parser.Fixed.LexerSpec
      Language.Fortran.Parser.Free.Common
      Language.Fortran.Parser.Free.Fortran2003Spec
      Language.Fortran.Parser.Free.Fortran2008Spec
      Language.Fortran.Parser.Free.Fortran90Spec
      Language.Fortran.Parser.Free.Fortran95Spec
      Language.Fortran.Parser.Free.LexerSpec
      Language.Fortran.Parser.MonadSpec
      Language.Fortran.PrettyPrintSpec
      Language.Fortran.Repr.EvalSpec
      Language.Fortran.Rewriter.InternalSpec
      Language.Fortran.RewriterSpec
      Language.Fortran.Transformation.Disambiguation.FunctionSpec
      Language.Fortran.Transformation.GroupingSpec
      Language.Fortran.Util.FirstParameterSpec
      Language.Fortran.Util.SecondParameterSpec
      TestUtil
      Paths_fortran_src
  hs-source-dirs:
      test
  default-extensions:
      TupleSections
      EmptyCase
      LambdaCase
      InstanceSigs
      BangPatterns
      ExplicitNamespaces
      DerivingStrategies
      StandaloneDeriving
      DeriveAnyClass
      DeriveGeneric
      DeriveDataTypeable
      DeriveFunctor
      DeriveFoldable
      DeriveTraversable
      DeriveLift
      FlexibleContexts
      FlexibleInstances
      MultiParamTypeClasses
      GADTs
      PolyKinds
      RoleAnnotations
      RankNTypes
      TypeApplications
      DefaultSignatures
      TypeFamilies
      DataKinds
      MagicHash
      BinaryLiterals
      ScopedTypeVariables
      TypeOperators
  ghc-options: -Wall
  build-tool-depends:
      hspec-discover:hspec-discover
  build-depends:
      GenericPretty >=1.2.2 && <2
    , QuickCheck >=2.10 && <2.15
    , array ==0.5.*
    , base >=4.6 && <5
    , binary >=0.8.3.0 && <0.11
    , bytestring >=0.10 && <0.13
    , containers >=0.5 && <0.7
    , deepseq >=1.4 && <1.6
    , directory >=1.2 && <2
    , either >=5.0.1.1 && <5.1
    , fgl ==5.*
    , filepath ==1.4.*
    , fortran-src
    , hspec >=2.2 && <3
    , mtl >=2.2 && <3
    , pretty >=1.1 && <2
    , process >=1.2.0.0
    , singletons ==3.0.*
    , singletons-base >=3.0 && <3.4
    , singletons-th >=3.0 && <3.4
    , temporary >=1.2 && <1.4
    , text >=1.2 && <2.2
    , uniplate >=1.6 && <2
  default-language: Haskell2010
  if os(windows)
    cpp-options: -DFS_DISABLE_WIN_BROKEN_TESTS