packages feed

hxt-regex-xmlschema 9.2.0.3 → 9.2.0.7

raw patch · 4 files changed

+33/−23 lines, 4 filesdep ~basedep ~hxt-charpropertiesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependency ranges changed: base, hxt-charproperties

API changes (from Hackage documentation)

- Text.Regex.XMLSchema.Generic: errRegex :: (StringLike s) => GenRegex s -> s
+ Text.Regex.XMLSchema.Generic: errRegex :: StringLike s => GenRegex s -> s
- Text.Regex.XMLSchema.Generic: mkAll :: (StringLike s) => GenRegex s
+ Text.Regex.XMLSchema.Generic: mkAll :: StringLike s => GenRegex s
- Text.Regex.XMLSchema.Generic: mkAlt :: (StringLike s) => GenRegex s -> GenRegex s -> GenRegex s
+ Text.Regex.XMLSchema.Generic: mkAlt :: StringLike s => GenRegex s -> GenRegex s -> GenRegex s
- Text.Regex.XMLSchema.Generic: mkCompl :: (StringLike s) => GenRegex s -> GenRegex s
+ Text.Regex.XMLSchema.Generic: mkCompl :: StringLike s => GenRegex s -> GenRegex s
- Text.Regex.XMLSchema.Generic: mkDiff :: (StringLike s) => GenRegex s -> GenRegex s -> GenRegex s
+ Text.Regex.XMLSchema.Generic: mkDiff :: StringLike s => GenRegex s -> GenRegex s -> GenRegex s
- Text.Regex.XMLSchema.Generic: mkElse :: (StringLike s) => GenRegex s -> GenRegex s -> GenRegex s
+ Text.Regex.XMLSchema.Generic: mkElse :: StringLike s => GenRegex s -> GenRegex s -> GenRegex s
- Text.Regex.XMLSchema.Generic: mkExor :: (StringLike s) => GenRegex s -> GenRegex s -> GenRegex s
+ Text.Regex.XMLSchema.Generic: mkExor :: StringLike s => GenRegex s -> GenRegex s -> GenRegex s
- Text.Regex.XMLSchema.Generic: mkIsect :: (StringLike s) => GenRegex s -> GenRegex s -> GenRegex s
+ Text.Regex.XMLSchema.Generic: mkIsect :: StringLike s => GenRegex s -> GenRegex s -> GenRegex s
- Text.Regex.XMLSchema.Generic: mkOpt :: (StringLike s) => GenRegex s -> GenRegex s
+ Text.Regex.XMLSchema.Generic: mkOpt :: StringLike s => GenRegex s -> GenRegex s
- Text.Regex.XMLSchema.Generic: mkRep :: (StringLike s) => Int -> GenRegex s -> GenRegex s
+ Text.Regex.XMLSchema.Generic: mkRep :: StringLike s => Int -> GenRegex s -> GenRegex s
- Text.Regex.XMLSchema.Generic: mkRng :: (StringLike s) => Int -> Int -> GenRegex s -> GenRegex s
+ Text.Regex.XMLSchema.Generic: mkRng :: StringLike s => Int -> Int -> GenRegex s -> GenRegex s
- Text.Regex.XMLSchema.Generic: mkStar :: (StringLike s) => GenRegex s -> GenRegex s
+ Text.Regex.XMLSchema.Generic: mkStar :: StringLike s => GenRegex s -> GenRegex s
- Text.Regex.XMLSchema.Generic: mkSym1 :: (StringLike s) => Char -> GenRegex s
+ Text.Regex.XMLSchema.Generic: mkSym1 :: StringLike s => Char -> GenRegex s
- Text.Regex.XMLSchema.Generic: mkSymRng :: (StringLike s) => Char -> Char -> GenRegex s
+ Text.Regex.XMLSchema.Generic: mkSymRng :: StringLike s => Char -> Char -> GenRegex s
- Text.Regex.XMLSchema.Generic: mkWord :: (StringLike s) => [Char] -> GenRegex s
+ Text.Regex.XMLSchema.Generic: mkWord :: StringLike s => [Char] -> GenRegex s
- Text.Regex.XMLSchema.Generic: mkZero' :: (StringLike s) => String -> GenRegex s
+ Text.Regex.XMLSchema.Generic: mkZero' :: StringLike s => String -> GenRegex s
- Text.Regex.XMLSchema.Generic.Regex: delta :: (StringLike s) => s -> GenRegex s -> GenRegex s
+ Text.Regex.XMLSchema.Generic.Regex: delta :: StringLike s => s -> GenRegex s -> GenRegex s
- Text.Regex.XMLSchema.Generic.Regex: delta1 :: (StringLike s) => Char -> s -> GenRegex s -> GenRegex s
+ Text.Regex.XMLSchema.Generic.Regex: delta1 :: StringLike s => Char -> s -> GenRegex s -> GenRegex s
- Text.Regex.XMLSchema.Generic.Regex: errRegex :: (StringLike s) => GenRegex s -> s
+ Text.Regex.XMLSchema.Generic.Regex: errRegex :: StringLike s => GenRegex s -> s
- Text.Regex.XMLSchema.Generic.Regex: firstChars :: (StringLike s) => GenRegex s -> CharSet
+ Text.Regex.XMLSchema.Generic.Regex: firstChars :: StringLike s => GenRegex s -> CharSet
- Text.Regex.XMLSchema.Generic.Regex: matchWithRegex :: (StringLike s) => GenRegex s -> s -> Bool
+ Text.Regex.XMLSchema.Generic.Regex: matchWithRegex :: StringLike s => GenRegex s -> s -> Bool
- Text.Regex.XMLSchema.Generic.Regex: matchWithRegex' :: (StringLike s) => GenRegex s -> s -> Maybe (SubexResults s)
+ Text.Regex.XMLSchema.Generic.Regex: matchWithRegex' :: StringLike s => GenRegex s -> s -> Maybe (SubexResults s)
- Text.Regex.XMLSchema.Generic.Regex: mkAll :: (StringLike s) => GenRegex s
+ Text.Regex.XMLSchema.Generic.Regex: mkAll :: StringLike s => GenRegex s
- Text.Regex.XMLSchema.Generic.Regex: mkAlt :: (StringLike s) => GenRegex s -> GenRegex s -> GenRegex s
+ Text.Regex.XMLSchema.Generic.Regex: mkAlt :: StringLike s => GenRegex s -> GenRegex s -> GenRegex s
- Text.Regex.XMLSchema.Generic.Regex: mkCompl :: (StringLike s) => GenRegex s -> GenRegex s
+ Text.Regex.XMLSchema.Generic.Regex: mkCompl :: StringLike s => GenRegex s -> GenRegex s
- Text.Regex.XMLSchema.Generic.Regex: mkDiff :: (StringLike s) => GenRegex s -> GenRegex s -> GenRegex s
+ Text.Regex.XMLSchema.Generic.Regex: mkDiff :: StringLike s => GenRegex s -> GenRegex s -> GenRegex s
- Text.Regex.XMLSchema.Generic.Regex: mkElse :: (StringLike s) => GenRegex s -> GenRegex s -> GenRegex s
+ Text.Regex.XMLSchema.Generic.Regex: mkElse :: StringLike s => GenRegex s -> GenRegex s -> GenRegex s
- Text.Regex.XMLSchema.Generic.Regex: mkExor :: (StringLike s) => GenRegex s -> GenRegex s -> GenRegex s
+ Text.Regex.XMLSchema.Generic.Regex: mkExor :: StringLike s => GenRegex s -> GenRegex s -> GenRegex s
- Text.Regex.XMLSchema.Generic.Regex: mkIsect :: (StringLike s) => GenRegex s -> GenRegex s -> GenRegex s
+ Text.Regex.XMLSchema.Generic.Regex: mkIsect :: StringLike s => GenRegex s -> GenRegex s -> GenRegex s
- Text.Regex.XMLSchema.Generic.Regex: mkOpt :: (StringLike s) => GenRegex s -> GenRegex s
+ Text.Regex.XMLSchema.Generic.Regex: mkOpt :: StringLike s => GenRegex s -> GenRegex s
- Text.Regex.XMLSchema.Generic.Regex: mkRep :: (StringLike s) => Int -> GenRegex s -> GenRegex s
+ Text.Regex.XMLSchema.Generic.Regex: mkRep :: StringLike s => Int -> GenRegex s -> GenRegex s
- Text.Regex.XMLSchema.Generic.Regex: mkRng :: (StringLike s) => Int -> Int -> GenRegex s -> GenRegex s
+ Text.Regex.XMLSchema.Generic.Regex: mkRng :: StringLike s => Int -> Int -> GenRegex s -> GenRegex s
- Text.Regex.XMLSchema.Generic.Regex: mkStar :: (StringLike s) => GenRegex s -> GenRegex s
+ Text.Regex.XMLSchema.Generic.Regex: mkStar :: StringLike s => GenRegex s -> GenRegex s
- Text.Regex.XMLSchema.Generic.Regex: mkSym :: (StringLike s) => CharSet -> GenRegex s
+ Text.Regex.XMLSchema.Generic.Regex: mkSym :: StringLike s => CharSet -> GenRegex s
- Text.Regex.XMLSchema.Generic.Regex: mkSym1 :: (StringLike s) => Char -> GenRegex s
+ Text.Regex.XMLSchema.Generic.Regex: mkSym1 :: StringLike s => Char -> GenRegex s
- Text.Regex.XMLSchema.Generic.Regex: mkSymRng :: (StringLike s) => Char -> Char -> GenRegex s
+ Text.Regex.XMLSchema.Generic.Regex: mkSymRng :: StringLike s => Char -> Char -> GenRegex s
- Text.Regex.XMLSchema.Generic.Regex: mkWord :: (StringLike s) => [Char] -> GenRegex s
+ Text.Regex.XMLSchema.Generic.Regex: mkWord :: StringLike s => [Char] -> GenRegex s
- Text.Regex.XMLSchema.Generic.Regex: mkZero' :: (StringLike s) => String -> GenRegex s
+ Text.Regex.XMLSchema.Generic.Regex: mkZero' :: StringLike s => String -> GenRegex s
- Text.Regex.XMLSchema.Generic.Regex: nullable :: (StringLike s) => GenRegex s -> Bool
+ Text.Regex.XMLSchema.Generic.Regex: nullable :: StringLike s => GenRegex s -> Bool
- Text.Regex.XMLSchema.Generic.Regex: nullable' :: (StringLike s) => GenRegex s -> Nullable s
+ Text.Regex.XMLSchema.Generic.Regex: nullable' :: StringLike s => GenRegex s -> Nullable s
- Text.Regex.XMLSchema.Generic.Regex: splitWithRegex :: (StringLike s) => GenRegex s -> s -> Maybe (SubexResults s, s)
+ Text.Regex.XMLSchema.Generic.Regex: splitWithRegex :: StringLike s => GenRegex s -> s -> Maybe (SubexResults s, s)
- Text.Regex.XMLSchema.Generic.Regex: splitWithRegex' :: (StringLike s) => GenRegex s -> s -> Maybe (GenRegex s, s)
+ Text.Regex.XMLSchema.Generic.Regex: splitWithRegex' :: StringLike s => GenRegex s -> s -> Maybe (GenRegex s, s)
- Text.Regex.XMLSchema.Generic.Regex: splitWithRegexCS :: (StringLike s) => GenRegex s -> CharSet -> s -> Maybe (SubexResults s, s)
+ Text.Regex.XMLSchema.Generic.Regex: splitWithRegexCS :: StringLike s => GenRegex s -> CharSet -> s -> Maybe (SubexResults s, s)
- Text.Regex.XMLSchema.Generic.Regex: splitWithRegexCS' :: (StringLike s) => GenRegex s -> CharSet -> s -> Maybe (GenRegex s, s)
+ Text.Regex.XMLSchema.Generic.Regex: splitWithRegexCS' :: StringLike s => GenRegex s -> CharSet -> s -> Maybe (GenRegex s, s)
- Text.Regex.XMLSchema.Generic.StringLike: class (Eq a, IsString a, Show a) => StringLike a where nullS = isNothing . uncons headS (uncons -> Just (c, _)) = c headS _ = error "headS: empty StringLike" concatS = foldl appendS emptyS
+ Text.Regex.XMLSchema.Generic.StringLike: class (Eq a, IsString a, Show a) => StringLike a
- Text.Regex.XMLSchema.String: errRegex :: (StringLike s) => GenRegex s -> s
+ Text.Regex.XMLSchema.String: errRegex :: StringLike s => GenRegex s -> s
- Text.Regex.XMLSchema.String: mkAll :: (StringLike s) => GenRegex s
+ Text.Regex.XMLSchema.String: mkAll :: StringLike s => GenRegex s
- Text.Regex.XMLSchema.String: mkAlt :: (StringLike s) => GenRegex s -> GenRegex s -> GenRegex s
+ Text.Regex.XMLSchema.String: mkAlt :: StringLike s => GenRegex s -> GenRegex s -> GenRegex s
- Text.Regex.XMLSchema.String: mkCompl :: (StringLike s) => GenRegex s -> GenRegex s
+ Text.Regex.XMLSchema.String: mkCompl :: StringLike s => GenRegex s -> GenRegex s
- Text.Regex.XMLSchema.String: mkDiff :: (StringLike s) => GenRegex s -> GenRegex s -> GenRegex s
+ Text.Regex.XMLSchema.String: mkDiff :: StringLike s => GenRegex s -> GenRegex s -> GenRegex s
- Text.Regex.XMLSchema.String: mkElse :: (StringLike s) => GenRegex s -> GenRegex s -> GenRegex s
+ Text.Regex.XMLSchema.String: mkElse :: StringLike s => GenRegex s -> GenRegex s -> GenRegex s
- Text.Regex.XMLSchema.String: mkExor :: (StringLike s) => GenRegex s -> GenRegex s -> GenRegex s
+ Text.Regex.XMLSchema.String: mkExor :: StringLike s => GenRegex s -> GenRegex s -> GenRegex s
- Text.Regex.XMLSchema.String: mkIsect :: (StringLike s) => GenRegex s -> GenRegex s -> GenRegex s
+ Text.Regex.XMLSchema.String: mkIsect :: StringLike s => GenRegex s -> GenRegex s -> GenRegex s
- Text.Regex.XMLSchema.String: mkOpt :: (StringLike s) => GenRegex s -> GenRegex s
+ Text.Regex.XMLSchema.String: mkOpt :: StringLike s => GenRegex s -> GenRegex s
- Text.Regex.XMLSchema.String: mkRep :: (StringLike s) => Int -> GenRegex s -> GenRegex s
+ Text.Regex.XMLSchema.String: mkRep :: StringLike s => Int -> GenRegex s -> GenRegex s
- Text.Regex.XMLSchema.String: mkRng :: (StringLike s) => Int -> Int -> GenRegex s -> GenRegex s
+ Text.Regex.XMLSchema.String: mkRng :: StringLike s => Int -> Int -> GenRegex s -> GenRegex s
- Text.Regex.XMLSchema.String: mkStar :: (StringLike s) => GenRegex s -> GenRegex s
+ Text.Regex.XMLSchema.String: mkStar :: StringLike s => GenRegex s -> GenRegex s
- Text.Regex.XMLSchema.String: mkSym1 :: (StringLike s) => Char -> GenRegex s
+ Text.Regex.XMLSchema.String: mkSym1 :: StringLike s => Char -> GenRegex s
- Text.Regex.XMLSchema.String: mkSymRng :: (StringLike s) => Char -> Char -> GenRegex s
+ Text.Regex.XMLSchema.String: mkSymRng :: StringLike s => Char -> Char -> GenRegex s
- Text.Regex.XMLSchema.String: mkWord :: (StringLike s) => [Char] -> GenRegex s
+ Text.Regex.XMLSchema.String: mkWord :: StringLike s => [Char] -> GenRegex s

Files

hxt-regex-xmlschema.cabal view
@@ -1,5 +1,5 @@ Name:                hxt-regex-xmlschema-Version:             9.2.0.3+Version:             9.2.0.7 Synopsis:            A regular expression library for W3C XML Schema regular expressions Description:         This library supports full W3C XML Schema regular expressions                      inclusive all Unicode character sets and blocks.@@ -61,7 +61,7 @@    build-depends:     base               >= 4     && < 5                    , bytestring         >= 0.10-                   , hxt-charproperties >= 9     && < 10+                   , hxt-charproperties >= 9                    , parsec             >= 2.1   && < 4                    , text               >= 0.10 
src/Text/Regex/XMLSchema/Generic/Matching.hs view
@@ -244,7 +244,7 @@     token1''    = token' re1 fcs      -- token'   :: StringLike s => GenRegex s -> CharSet -> (s, Int) -> s -> [Either s s]-    token' re' fcs' (uns, ! n) inp+    token' re' fcs' (uns, !n) inp       | nullS inp     = addUnmatched []       | otherwise     = evalRes . splitWithRegexCS re' fcs' $ inp       where
src/Text/Regex/XMLSchema/Generic/Regex.hs view
@@ -1,4 +1,5 @@-{-# LANGUAGE ViewPatterns #-}+{-# LANGUAGE CPP               #-}+{-# LANGUAGE ViewPatterns      #-} {-# LANGUAGE FlexibleInstances #-}  @@ -22,7 +23,7 @@  module Text.Regex.XMLSchema.Generic.Regex     ( GenRegex-      +     , mkZero     , mkZero'     , mkUnit@@ -69,10 +70,15 @@ where  import Data.List        (intercalate)-import Data.Monoid      ((<>)) import Data.Set.CharSet import Data.String      (IsString(..)) +#if MIN_VERSION_base(4,13,0)+#else+import           Data.Monoid         ((<>))+#endif++ import Text.Regex.XMLSchema.Generic.StringLike  {-@@ -109,7 +115,7 @@                                       -- see splitWithRegex type SubexResults s   = [(Label s, s)]-    + type Nullable s   = (Bool, SubexResults s) @@ -427,7 +433,7 @@ mkCbr ss  e                             = Cbr ss e  -- -------------------------------------------------------------                                  + instance (StringLike s) => Show (GenRegex s) where     show (Zero e)               = "{" ++ toString e ++ "}"     show Unit                   = "()"@@ -471,7 +477,7 @@     show (Intl e1 e2)           = "(" ++ show e1 ++ "{:}" ++ show e2 ++ ")"     show (Br  l     e)          = "({" ++ showL l ++ "}" ++ show e ++ ")"     show (Obr l s n e)          = "({" ++ showL l ++ "=" ++ toString (takeS n s) ++ "}" ++ show e ++ ")"-    show (Cbr ss e)             = "([" ++ intercalate "," (map (\ (l, s) -> showL l ++ "=" ++ toString s) ss) ++ "]"+    show (Cbr ss e)             = "([" ++ intercalate "," (map (\ (l, s) -> showL l ++ "=" ++ (show $ toString s)) ss) ++ "]"                                   ++ show e ++                                   ")" @@ -594,6 +600,11 @@     d' e@(Star e1)          = mkSeq  (d' e1) e     d' (Alt e1 e2)          = mkAlt  (d' e1) (d' e2)     d' (Else e1 e2)         = mkElse (d' e1) (d' e2)++    d' (Seq e1@(Br  l     e1') e2)+      | nullable e1'        = mkAlt (mkSeq (d' e1) e2)  -- longest submatch first+                                    (mkCbr [(l, emptyS)] (d' e2))+     d' (Seq e1@(Obr l s n e1') e2)       | nu                  = mkAlt (mkSeq (d' e1) e2)                                     (mkCbr ((l, takeS n s) : ws) (d' e2))@@ -610,7 +621,7 @@     d' (Exor e1 e2)         = mkExor  (d' e1) (d' e2)     d' (Intl e1 e2)         = mkAlt   (mkInterleave (d' e1)     e2 )                                       (mkInterleave     e1  (d' e2))-                              +     d' (Br  l     e)        = d' (mkObr l inp 0 e)        -- a subex parse starts     d' (Obr l s n e)        = mkObr l s (n + 1) (d' e)    -- a subex parse cont.     d' (Cbr ss e)           = mkCbr ss (d' e)             -- the results of a subex parse@@ -623,7 +634,7 @@   where     d' e@(Zero _)   = e   -- don't process whole input, parse has failed     d' e@(Star Dot) = e   -- don't process input, derivative does not change-    d' e            = delta inp' ( -- trc "delta1=" $+    d' e            = delta inp' ( -- trc ("delta(" ++ show c ++ ")=") $                                    delta1 c inp e)  delta _empty e@@ -726,4 +737,3 @@   | otherwise = Nothing  -- -------------------------------------------------------------
test/Date.hs view
@@ -218,23 +218,23 @@  -- must be extended for weekday or semester, if neccessay -data DateVal       = DT  { _year   :: ! Int-                         , _month  :: ! Int-                         , _day    :: ! Int-                         , _hour   :: ! Int-                         , _min    :: ! Int+data DateVal       = DT  { _year   :: !Int+                         , _month  :: !Int+                         , _day    :: !Int+                         , _hour   :: !Int+                         , _min    :: !Int                          }                      deriving (Eq, Show) -data DateParse     = DP { _pre    ::   StringFct-                        , _rep    ::   StringFct-                        , _dat    :: ! DateVal+data DateParse     = DP { _pre    ::  StringFct+                        , _rep    ::  StringFct+                        , _dat    :: !DateVal                         }  -- just a helper for result output-data DateRep       = DR { _p ::   String-                        , _r ::   String-                        , _d :: ! DateVal+data DateRep       = DR { _p ::  String+                        , _r ::  String+                        , _d :: !DateVal                         }                      deriving (Eq, Show)