regex-tdfa 1.3.2.2 → 1.3.2.3
raw patch · 8 files changed
+46/−45 lines, 8 filesdep −faildep −semigroupsdep ~arraydep ~basedep ~bytestring
Dependencies removed: fail, semigroups
Dependency ranges changed: array, base, bytestring, containers
Files
- CHANGELOG.md +8/−2
- LICENSE +1/−1
- README.md +6/−1
- lib/Text/Regex/TDFA/Common.hs +2/−2
- lib/Text/Regex/TDFA/TDFA.hs +2/−2
- lib/Text/Regex/TDFA/TNFA.hs +1/−1
- regex-tdfa.cabal +25/−35
- test/Main.hs +1/−1
CHANGELOG.md view
@@ -1,5 +1,11 @@-For the package version policy (PVP), see http://pvp.haskell.org/faq .+### 1.3.2.3 +_2025-03-02 Andreas Abel_++- Drop support for GHC 7+- Allow `containers < 1`+- Tested with GHC 8.0 - 9.12.1+ ### 1.3.2.2 _2023-08-02, Andreas Abel_@@ -157,7 +163,7 @@ ## 1.1.8 -Make ghc-7.0.2 on platorm 2011.2.0.0.0 happy+Make ghc-7.0.2 on platform 2011.2.0.0.0 happy ## 1.1.7
LICENSE view
@@ -1,4 +1,4 @@-This modile is under this "3 clause" BSD license:+This module is under this "3 clause" BSD license: Copyright (c) 2007-2009, Christopher Kuklewicz All rights reserved.
README.md view
@@ -1,3 +1,8 @@+[](http://hackage.haskell.org/package/regex-tdfa)+[](http://stackage.org/nightly/package/regex-tdfa)+[](http://stackage.org/lts/package/regex-tdfa)+[](https://github.com/haskell-hvr/regex-tdfa/actions/workflows/haskell-ci.yml)+[](https://opensource.org/licenses/BSD-3-Clause) # regex-tdfa This is [`regex-tdfa`](http://hackage.haskell.org/package/regex-tdfa) which is a pure Haskell regular expression library (for POSIX extended regular expressions) originally written by Christopher Kuklewicz.@@ -194,7 +199,7 @@ Regardless of performance, nearly every single OS and Libra for POSIX regular expressions has bugs in sub-matches. This was detailed on the [Regex POSIX Haskell wiki page](https://wiki.haskell.org/Regex_Posix), and can be demonstrated with the [regex-posix-unittest](http://hackage.haskell.org/package/regex-posix-unittest) suite of checks. Test [regex-tdfa-unittest](http://hackage.haskell.org/package/regex-tdfa-unittest) should show regex-tdfa passing these same checks. I owe my understanding of the correct behvior and many of these unit tests to Glenn Fowler at AT&T ("An Interpretation of the POSIX regex Standard"). -### Maintainance history+### Maintenance history The original Darcs repository was at [code.haskell.org](http://code.haskell.org/regex-tdfa/). For a while a fork was maintained by Roman Cheplyaka as
lib/Text/Regex/TDFA/Common.hs view
@@ -28,7 +28,7 @@ common_error :: String -> String -> a common_error moduleName message =- error ("Explict error in module "++moduleName++" : "++message)+ error ("Explicit error in module "++moduleName++" : "++message) on :: (t1 -> t1 -> t2) -> (t -> t1) -> t -> t -> t2 f `on` g = (\x y -> (g x) `f` (g y))@@ -109,7 +109,7 @@ captureGroups :: Bool -- ^ True by default. Set to False to improve speed (and space). } deriving (Read,Show) --- | Used by implementation to name certain 'Postion's during+-- | Used by implementation to name certain 'Position's during -- matching. Identity of 'Position' tag to set during a transition. type Tag = Int
lib/Text/Regex/TDFA/TDFA.hs view
@@ -264,14 +264,14 @@ -- this needs a leading Minimize tag inside at least the parent * operator Ignore -> GT -- XXX this is a guess in analogy with Maximize for the end bit of a group Orbit -> LT -- trace ("choose LT! Just "++show tag++" < Nothing") LT -- 2009 XXX : comment out next line and use the Orbit instead--- Orbit -> err $ "bestTrans.choose : Very Unexpeted Orbit in Just Nothing: "++show (tag,post,aTagOP,f:fs)+-- Orbit -> err $ "bestTrans.choose : Very Unexpected Orbit in Just Nothing: "++show (tag,post,aTagOP,f:fs) choose (Just (tag,post1)) (Just (_,post2)) = case aTagOP!tag of Maximize -> order Minimize -> flipOrder order Ignore -> EQ Orbit -> EQ--- Orbit -> err $ "bestTrans.choose : Very Unexpeted Orbit in Just Just: "++show (tag,(post1,post2),aTagOP,f:fs)+-- Orbit -> err $ "bestTrans.choose : Very Unexpected Orbit in Just Just: "++show (tag,(post1,post2),aTagOP,f:fs) where order = case (post1,post2) of (SetPre,SetPre) -> EQ (SetPost,SetPost) -> EQ
lib/Text/Regex/TDFA/TNFA.hs view
@@ -7,7 +7,7 @@ -- (That will require re-organizing the continuation data a bit) -- | "Text.Regex.TDFA.TNFA" converts the CorePattern Q\/P data (and its--- Pattern leafs) to a QNFA tagged non-deterministic finite automata.+-- Pattern leaves) to a QNFA tagged non-deterministic finite automata. -- -- This holds every possible way to follow one state by another, while -- in the DFA these will be reduced by picking a single best
regex-tdfa.cabal view
@@ -1,6 +1,6 @@-cabal-version: 1.12+cabal-version: 1.24 name: regex-tdfa-version: 1.3.2.2+version: 1.3.2.3 build-Type: Simple license: BSD3@@ -19,14 +19,19 @@ Please consult the "Text.Regex.TDFA" module for API documentation including a tutorial with usage examples; see also <https://wiki.haskell.org/Regular_expressions> for general information about regular expression support in Haskell. -extra-source-files:+extra-doc-files: CHANGELOG.md README.md++extra-source-files: test/cases/*.txt tested-with:- GHC == 9.6.2- GHC == 9.4.5+ GHC == 9.12.1+ GHC == 9.10.1+ GHC == 9.8.4+ GHC == 9.6.6+ GHC == 9.4.8 GHC == 9.2.8 GHC == 9.0.2 GHC == 8.10.7@@ -35,10 +40,6 @@ 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 source-repository head type: git@@ -47,7 +48,7 @@ source-repository this type: git location: https://github.com/haskell-hvr/regex-tdfa.git- tag: v1.3.2.2+ tag: v1.3.2.3 flag force-O2 default: False@@ -93,25 +94,14 @@ other-modules: Paths_regex_tdfa - -- Support Semigroup instances uniformly- --- -- See also- -- https://prime.haskell.org/wiki/Libraries/Proposals/SemigroupMonoid#RecommendedVariant- --- -- NB: This is the same logic `parsec.cabal` uses, so this doesn't- -- add any new dependency that isn't already incurred by- -- `regex-tdfa`'s transitive deps- if !impl(ghc >= 8.0)- build-depends: fail == 4.9.*- , semigroups == 0.18.* || == 0.19.*- build-depends: array >= 0.4 && < 0.6- , base >= 4.5 && < 5- , bytestring >= 0.9.2 && < 0.13- , containers >= 0.4.2 && < 0.7+ build-depends: array >= 0.5 && < 0.6+ , base >= 4.9 && < 5+ , bytestring >= 0.10 && < 0.13+ , containers >= 0.5 && < 1 , mtl >= 2.1.3 && < 2.4 , parsec == 3.1.* , regex-base == 0.94.*- , text >= 1.2.3 && < 2.1+ , text >= 1.2.3 && < 2.2 default-language: Haskell2010 default-extensions: BangPatterns@@ -131,13 +121,16 @@ UnliftedFFITypes other-extensions: CPP - ghc-options: -Wall -funbox-strict-fields -fspec-constr-count=10 -fno-warn-orphans-- if impl(ghc >= 8.0)- ghc-options: -Wcompat+ ghc-options:+ -funbox-strict-fields+ -fspec-constr-count=10+ -Wall+ -Wno-orphans+ -Wcompat if flag(force-O2)- ghc-options: -O2+ ghc-options:+ -O2 test-suite regex-tdfa-unittest@@ -150,9 +143,6 @@ build-depends: regex-tdfa -- dependencies whose version constraints are inherited via intra-package 'regex-tdfa' dependency- if !impl(ghc >= 8.0)- build-depends: fail- , semigroups build-depends: array , base , bytestring@@ -164,7 +154,7 @@ -- component-specific dependencies not inherited via 'regex-tdfa' , directory >= 1.1.0 && < 1.4- , filepath >= 1.3.0 && < 1.5+ , filepath >= 1.3.0 && < 1.6 , utf8-string >= 1.0.1 && < 1.1 default-language: Haskell2010
test/Main.hs view
@@ -178,7 +178,7 @@ putStrLn $ "Explanation and discussion of these tests on the wiki at http://www.haskell.org/haskellwiki/Regex_Posix including comparing results from different operating systems" putStrLn $ "Questions about this package to the author at email <TextRegexLazy@personal.mightyreason.com>" putStrLn $ "The type of both the pattern and test is " ++ show (typeOf (undefined :: RType))- putStrLn $ "Without extactly two arguments:"+ putStrLn $ "Without exactly two arguments:" putStrLn $ " This program runs all test files listed in test/data-dir/test-manifest.txt" putStrLn $ " Lines with negative number are expected to fail, others are expected to pass." putStrLn $ "With exactly two arguments:"