packages feed

parsers 0.10.3 → 0.11

raw patch · 4 files changed

+24/−1 lines, 4 filesdep +attoparsec

Dependencies added: attoparsec

Files

parsers.cabal view
@@ -1,6 +1,6 @@ name:          parsers category:      Text, Parsing-version:       0.10.3+version:       0.11 license:       BSD3 cabal-version: >= 1.10 license-file:  LICENSE@@ -51,6 +51,7 @@     charset              >= 0.3     && < 1,     containers           >= 0.4     && < 0.6,     parsec               >= 3.1     && < 3.2,+    attoparsec           >= 0.11.2  && < 0.12,     text                 >= 0.10    && < 1.2,     transformers         >= 0.2     && < 0.4,     unordered-containers >= 0.2     && < 0.3
src/Text/Parser/Char.hs view
@@ -1,5 +1,6 @@ {-# LANGUAGE CPP #-} {-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE ScopedTypeVariables #-} {-# OPTIONS_GHC -fspec-constr -fspec-constr-count=8 #-}  #if defined(__GLASGOW_HASKELL__) && __GLASGOW_HASKELL__ >= 704@@ -65,6 +66,8 @@ import Data.Text import qualified Text.ParserCombinators.ReadP as ReadP import qualified Text.Parsec as Parsec+import qualified Data.Attoparsec.Types as Att+import qualified Data.Attoparsec.Combinator as Att import Text.Parser.Combinators  -- | @oneOf cs@ succeeds if the current character is in the supplied@@ -338,6 +341,11 @@   notChar c = Parsec.satisfy (/= c)   anyChar   = Parsec.anyChar   string    = Parsec.string++instance Att.Chunk t => CharParsing (Att.Parser t) where+  satisfy p = fmap e2c $ Att.satisfyElem $ p . e2c+    where e2c = Att.chunkElemToChar (undefined :: t)+  {-# INLINE satisfy #-}  instance CharParsing ReadP.ReadP where   satisfy   = ReadP.satisfy
src/Text/Parser/Combinators.hs view
@@ -75,6 +75,8 @@ import Data.Monoid import Data.Traversable (sequenceA) import qualified Text.Parsec as Parsec+import qualified Data.Attoparsec.Types as Att+import qualified Data.Attoparsec.Combinator as Att import qualified Text.ParserCombinators.ReadP as ReadP  -- | @choice ps@ tries to apply the parsers in the list @ps@ in order,@@ -370,6 +372,14 @@   unexpected    = Parsec.unexpected   eof           = Parsec.eof   notFollowedBy = Parsec.notFollowedBy++instance Att.Chunk t => Parsing (Att.Parser t) where+  try             = Att.try+  (<?>)           = (Att.<?>)+  skipMany        = Att.skipMany+  skipSome        = Att.skipMany1+  unexpected      = fail+  eof             = Att.endOfInput  instance Parsing ReadP.ReadP where   try        = id
src/Text/Parser/Token.hs view
@@ -1,4 +1,5 @@ {-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# OPTIONS_GHC -fspec-constr -fspec-constr-count=8 #-} {-# LANGUAGE CPP #-}@@ -99,6 +100,7 @@ import Data.Text hiding (empty,zip,foldl,foldl') import qualified Text.ParserCombinators.ReadP as ReadP import qualified Text.Parsec as Parsec+import qualified Data.Attoparsec.Types as Att import Text.Parser.Char import Text.Parser.Combinators import Text.Parser.Token.Highlight@@ -755,5 +757,7 @@   {-# INLINE highlight #-}  instance Parsec.Stream s m Char => TokenParsing (Parsec.ParsecT s u m)++instance Att.Chunk t => TokenParsing (Att.Parser t)  instance TokenParsing ReadP.ReadP