cabal-version: >= 1.10
name: alex
version: 3.4.0.0
-- don't forget updating changelog.md!
license: BSD3
license-file: LICENSE
copyright: (c) Chis Dornan, Simon Marlow
author: Chris Dornan and Simon Marlow
maintainer: https://github.com/haskell/alex
bug-reports: https://github.com/haskell/alex/issues
stability: stable
homepage: http://www.haskell.org/alex/
synopsis: Alex is a tool for generating lexical analysers in Haskell
description:
  Alex is a tool for generating lexical analysers in Haskell.
  It takes a description of tokens based on regular
  expressions and generates a Haskell module containing code
  for scanning text efficiently. It is similar to the tool
  lex or flex for C/C++.

category: Development
build-type: Simple

tested-with:
        GHC == 9.6.2
        GHC == 9.4.5
        GHC == 9.2.8
        GHC == 9.0.2
        GHC == 8.10.7
        GHC == 8.8.4
        GHC == 8.6.5
        GHC == 8.4.4
        GHC == 8.2.2
        GHC == 8.0.2
        GHC == 7.10.3
        GHC == 7.8.4
        GHC == 7.6.3
        GHC == 7.4.2
        GHC == 7.0.4

data-dir: data/

data-files:
        AlexTemplate.hs
        AlexWrappers.hs

extra-source-files:
        CHANGELOG.md
        README.md
        examples/Makefile
        examples/Tokens.x
        examples/Tokens_gscan.x
        examples/Tokens_posn.x
        examples/examples.x
        examples/haskell.x
        examples/lit.x
        examples/pp.x
        examples/state.x
        examples/tiny.y
        examples/words.x
        examples/words_monad.x
        examples/words_posn.x
        src/Parser.y.boot
        src/Scan.x.boot
        src/ghc_hooks.c
        tests/Makefile
        tests/simple.x
        tests/null.x
        tests/tokens.x
        tests/tokens_gscan.x
        tests/tokens_posn.x
        tests/tokens_bytestring.x
        tests/tokens_posn_bytestring.x
        tests/tokens_scan_user.x
        tests/tokens_strict_bytestring.x
        tests/tokens_monad_bytestring.x
        tests/tokens_monadUserState_bytestring.x
        tests/tokens_bytestring_unicode.x
        tests/basic_typeclass.x
        tests/basic_typeclass_bytestring.x
        tests/default_typeclass.x
        tests/gscan_typeclass.x
        tests/posn_typeclass.x
        tests/monad_typeclass.x
        tests/monad_typeclass_bytestring.x
        tests/monadUserState_typeclass.x
        tests/monadUserState_typeclass_bytestring.x
        tests/posn_typeclass_bytestring.x
        tests/strict_typeclass.x
        tests/unicode.x
        tests/issue_71.x
        tests/issue_119.x
        tests/issue_141.x
        tests/issue_197.x
        tests/strict_text_typeclass.x
        tests/posn_typeclass_strict_text.x
        tests/tokens_monadUserState_strict_text.x

source-repository head
    type:     git
    location: https://github.com/haskell/alex.git

executable alex
  hs-source-dirs: src
  main-is: Main.hs

  build-depends: base >= 2.1 && < 5
               , array
               , containers
               , directory

  default-language: Haskell98
  default-extensions: CPP
  other-extensions: MagicHash

  ghc-options: -Wall -rtsopts

  other-modules:
        AbsSyn
        CharSet
        DFA
        DFAMin
        DFS
        Info
        Map
        NFA
        Output
        Paths_alex
        Parser
        ParseMonad
        Scan
        Set
        Sort
        Util
        UTF8
        Data.Ranged
        Data.Ranged.Boundaries
        Data.Ranged.RangedSet
        Data.Ranged.Ranges

test-suite tests
  type: exitcode-stdio-1.0
  main-is: test.hs
  -- This line is important as it ensures that the local `exe:alex` component declared above is built before the test-suite component is invoked, as well as making sure that `alex` is made available on $PATH and `$alex_datadir` is set accordingly before invoking `test.hs`
  build-tools: alex

  default-language: Haskell98

  build-depends: base, process