parsers 0.10 → 0.10.1
raw patch · 5 files changed
+24/−19 lines, 5 filesdep ~base
Dependency ranges changed: base
Files
- parsers.cabal +1/−1
- src/Text/Parser/Char.hs +20/−15
- src/Text/Parser/Combinators.hs +1/−1
- src/Text/Parser/Expression.hs +1/−1
- src/Text/Parser/Token.hs +1/−1
parsers.cabal view
@@ -1,6 +1,6 @@ name: parsers category: Text, Parsing-version: 0.10+version: 0.10.1 license: BSD3 cabal-version: >= 1.10 license-file: LICENSE
src/Text/Parser/Char.hs view
@@ -25,21 +25,22 @@ module Text.Parser.Char ( -- * Combinators- oneOf -- :: CharParsing m => [Char] -> m Char- , noneOf -- :: CharParsing m => [Char] -> m Char- , oneOfSet -- :: CharParsing m => CharSet -> m Char- , noneOfSet -- :: CharParsing m => CharSet -> m Char- , spaces -- :: CharParsing m => m ()- , space -- :: CharParsing m => m Char- , newline -- :: CharParsing m => m Char- , tab -- :: CharParsing m => m Char- , upper -- :: CharParsing m => m Char- , lower -- :: CharParsing m => m Char- , alphaNum -- :: CharParsing m => m Char- , letter -- :: CharParsing m => m Char- , digit -- :: CharParsing m => m Char- , hexDigit -- :: CharParsing m => m Char- , octDigit -- :: CharParsing m => m Char+ oneOf -- :: CharParsing m => [Char] -> m Char+ , noneOf -- :: CharParsing m => [Char] -> m Char+ , oneOfSet -- :: CharParsing m => CharSet -> m Char+ , noneOfSet -- :: CharParsing m => CharSet -> m Char+ , spaces -- :: CharParsing m => m ()+ , space -- :: CharParsing m => m Char+ , newline -- :: CharParsing m => m Char+ , tab -- :: CharParsing m => m Char+ , upper -- :: CharParsing m => m Char+ , lower -- :: CharParsing m => m Char+ , alphaNum -- :: CharParsing m => m Char+ , letter -- :: CharParsing m => m Char+ , digit -- :: CharParsing m => m Char+ , hexDigit -- :: CharParsing m => m Char+ , octDigit -- :: CharParsing m => m Char+ , satisfyRange -- :: CharParsing m => Char -> Char -> m Char -- * Class , CharParsing(..) ) where@@ -166,6 +167,10 @@ octDigit :: CharParsing m => m Char octDigit = satisfy isOctDigit <?> "octal digit" {-# INLINE octDigit #-}++satisfyRange :: CharParsing m => Char -> Char -> m Char+satisfyRange a z = satisfy (\c -> c >= a && c <= z)+{-# INLINE satisfyRange #-} -- | Additional functionality needed to parse character streams. class Parsing m => CharParsing m where
src/Text/Parser/Combinators.hs view
@@ -57,7 +57,7 @@ ) where import Control.Applicative-import Control.Monad (MonadPlus(..), ap)+import Control.Monad (MonadPlus(..)) import Control.Monad.Trans.Class import Control.Monad.Trans.State.Lazy as Lazy import Control.Monad.Trans.State.Strict as Strict
src/Text/Parser/Expression.hs view
@@ -106,7 +106,7 @@ prefixOp = choice prefix <?> "" postfixOp = choice postfix <?> "" - ambiguous assoc op= op *> empty <?> ("ambiguous use of a " ++ assoc ++ "-associative operator")+ ambiguous assoc op = try $ op *> empty <?> ("ambiguous use of a " ++ assoc ++ "-associative operator") ambiguousRight = ambiguous "right" rassocOp ambiguousLeft = ambiguous "left" lassocOp
src/Text/Parser/Token.hs view
@@ -549,7 +549,7 @@ escapeCode :: TokenParsing m => m Char escapeCode = (charEsc <|> charNum <|> charAscii <|> charControl) <?> "escape code" where- charControl = (\c -> toEnum (fromEnum c - fromEnum 'A')) <$> (char '^' *> upper)+ charControl = (\c -> toEnum (fromEnum c - fromEnum '@')) <$> (char '^' *> (upper <|> char '@')) charNum = toEnum . fromInteger <$> num where num = decimal <|> (char 'o' *> number 8 octDigit)