parsec2 1.0.0 → 1.0.1
raw patch · 6 files changed
+63/−53 lines, 6 filesdep ~basePVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: base
API changes (from Hackage documentation)
- Text.ParserCombinators.Parsec.Error: instance Show ParseError
- Text.ParserCombinators.Parsec.Language: caseSensitive :: LanguageDef st -> Bool
- Text.ParserCombinators.Parsec.Language: commentEnd :: LanguageDef st -> String
- Text.ParserCombinators.Parsec.Language: commentLine :: LanguageDef st -> String
- Text.ParserCombinators.Parsec.Language: commentStart :: LanguageDef st -> String
- Text.ParserCombinators.Parsec.Language: identLetter :: LanguageDef st -> CharParser st Char
- Text.ParserCombinators.Parsec.Language: identStart :: LanguageDef st -> CharParser st Char
- Text.ParserCombinators.Parsec.Language: nestedComments :: LanguageDef st -> Bool
- Text.ParserCombinators.Parsec.Language: opLetter :: LanguageDef st -> CharParser st Char
- Text.ParserCombinators.Parsec.Language: opStart :: LanguageDef st -> CharParser st Char
- Text.ParserCombinators.Parsec.Language: reservedNames :: LanguageDef st -> [String]
- Text.ParserCombinators.Parsec.Language: reservedOpNames :: LanguageDef st -> [String]
- Text.ParserCombinators.Parsec.Pos: instance Eq SourcePos
- Text.ParserCombinators.Parsec.Pos: instance Ord SourcePos
- Text.ParserCombinators.Parsec.Pos: instance Show SourcePos
- Text.ParserCombinators.Parsec.Prim: instance Functor (GenParser tok st)
- Text.ParserCombinators.Parsec.Prim: instance Monad (GenParser tok st)
- Text.ParserCombinators.Parsec.Prim: instance MonadPlus (GenParser tok st)
- Text.ParserCombinators.Parsec.Prim: stateInput :: State tok st -> [tok]
- Text.ParserCombinators.Parsec.Prim: statePos :: State tok st -> !SourcePos
- Text.ParserCombinators.Parsec.Prim: stateUser :: State tok st -> !st
- Text.ParserCombinators.Parsec.Token: angles :: TokenParser st -> forall a. CharParser st a -> CharParser st a
- Text.ParserCombinators.Parsec.Token: braces :: TokenParser st -> forall a. CharParser st a -> CharParser st a
- Text.ParserCombinators.Parsec.Token: brackets :: TokenParser st -> forall a. CharParser st a -> CharParser st a
- Text.ParserCombinators.Parsec.Token: caseSensitive :: LanguageDef st -> Bool
- Text.ParserCombinators.Parsec.Token: charLiteral :: TokenParser st -> CharParser st Char
- Text.ParserCombinators.Parsec.Token: colon :: TokenParser st -> CharParser st String
- Text.ParserCombinators.Parsec.Token: comma :: TokenParser st -> CharParser st String
- Text.ParserCombinators.Parsec.Token: commaSep :: TokenParser st -> forall a. CharParser st a -> CharParser st [a]
- Text.ParserCombinators.Parsec.Token: commaSep1 :: TokenParser st -> forall a. CharParser st a -> CharParser st [a]
- Text.ParserCombinators.Parsec.Token: commentEnd :: LanguageDef st -> String
- Text.ParserCombinators.Parsec.Token: commentLine :: LanguageDef st -> String
- Text.ParserCombinators.Parsec.Token: commentStart :: LanguageDef st -> String
- Text.ParserCombinators.Parsec.Token: decimal :: TokenParser st -> CharParser st Integer
- Text.ParserCombinators.Parsec.Token: dot :: TokenParser st -> CharParser st String
- Text.ParserCombinators.Parsec.Token: float :: TokenParser st -> CharParser st Double
- Text.ParserCombinators.Parsec.Token: hexadecimal :: TokenParser st -> CharParser st Integer
- Text.ParserCombinators.Parsec.Token: identLetter :: LanguageDef st -> CharParser st Char
- Text.ParserCombinators.Parsec.Token: identStart :: LanguageDef st -> CharParser st Char
- Text.ParserCombinators.Parsec.Token: identifier :: TokenParser st -> CharParser st String
- Text.ParserCombinators.Parsec.Token: integer :: TokenParser st -> CharParser st Integer
- Text.ParserCombinators.Parsec.Token: lexeme :: TokenParser st -> forall a. CharParser st a -> CharParser st a
- Text.ParserCombinators.Parsec.Token: natural :: TokenParser st -> CharParser st Integer
- Text.ParserCombinators.Parsec.Token: naturalOrFloat :: TokenParser st -> CharParser st (Either Integer Double)
- Text.ParserCombinators.Parsec.Token: nestedComments :: LanguageDef st -> Bool
- Text.ParserCombinators.Parsec.Token: octal :: TokenParser st -> CharParser st Integer
- Text.ParserCombinators.Parsec.Token: opLetter :: LanguageDef st -> CharParser st Char
- Text.ParserCombinators.Parsec.Token: opStart :: LanguageDef st -> CharParser st Char
- Text.ParserCombinators.Parsec.Token: operator :: TokenParser st -> CharParser st String
- Text.ParserCombinators.Parsec.Token: parens :: TokenParser st -> forall a. CharParser st a -> CharParser st a
- Text.ParserCombinators.Parsec.Token: reserved :: TokenParser st -> String -> CharParser st ()
- Text.ParserCombinators.Parsec.Token: reservedNames :: LanguageDef st -> [String]
- Text.ParserCombinators.Parsec.Token: reservedOp :: TokenParser st -> String -> CharParser st ()
- Text.ParserCombinators.Parsec.Token: reservedOpNames :: LanguageDef st -> [String]
- Text.ParserCombinators.Parsec.Token: semi :: TokenParser st -> CharParser st String
- Text.ParserCombinators.Parsec.Token: semiSep :: TokenParser st -> forall a. CharParser st a -> CharParser st [a]
- Text.ParserCombinators.Parsec.Token: semiSep1 :: TokenParser st -> forall a. CharParser st a -> CharParser st [a]
- Text.ParserCombinators.Parsec.Token: squares :: TokenParser st -> forall a. CharParser st a -> CharParser st a
- Text.ParserCombinators.Parsec.Token: stringLiteral :: TokenParser st -> CharParser st String
- Text.ParserCombinators.Parsec.Token: symbol :: TokenParser st -> String -> CharParser st String
- Text.ParserCombinators.Parsec.Token: whiteSpace :: TokenParser st -> CharParser st ()
+ Text.ParserCombinators.Parsec.Error: instance GHC.Show.Show Text.ParserCombinators.Parsec.Error.ParseError
+ Text.ParserCombinators.Parsec.Language: [caseSensitive] :: LanguageDef st -> Bool
+ Text.ParserCombinators.Parsec.Language: [commentEnd] :: LanguageDef st -> String
+ Text.ParserCombinators.Parsec.Language: [commentLine] :: LanguageDef st -> String
+ Text.ParserCombinators.Parsec.Language: [commentStart] :: LanguageDef st -> String
+ Text.ParserCombinators.Parsec.Language: [identLetter] :: LanguageDef st -> CharParser st Char
+ Text.ParserCombinators.Parsec.Language: [identStart] :: LanguageDef st -> CharParser st Char
+ Text.ParserCombinators.Parsec.Language: [nestedComments] :: LanguageDef st -> Bool
+ Text.ParserCombinators.Parsec.Language: [opLetter] :: LanguageDef st -> CharParser st Char
+ Text.ParserCombinators.Parsec.Language: [opStart] :: LanguageDef st -> CharParser st Char
+ Text.ParserCombinators.Parsec.Language: [reservedNames] :: LanguageDef st -> [String]
+ Text.ParserCombinators.Parsec.Language: [reservedOpNames] :: LanguageDef st -> [String]
+ Text.ParserCombinators.Parsec.Pos: instance GHC.Classes.Eq Text.ParserCombinators.Parsec.Pos.SourcePos
+ Text.ParserCombinators.Parsec.Pos: instance GHC.Classes.Ord Text.ParserCombinators.Parsec.Pos.SourcePos
+ Text.ParserCombinators.Parsec.Pos: instance GHC.Show.Show Text.ParserCombinators.Parsec.Pos.SourcePos
+ Text.ParserCombinators.Parsec.Prim: [stateInput] :: State tok st -> [tok]
+ Text.ParserCombinators.Parsec.Prim: [statePos] :: State tok st -> !SourcePos
+ Text.ParserCombinators.Parsec.Prim: [stateUser] :: State tok st -> !st
+ Text.ParserCombinators.Parsec.Prim: instance GHC.Base.Alternative (Text.ParserCombinators.Parsec.Prim.GenParser tok st)
+ Text.ParserCombinators.Parsec.Prim: instance GHC.Base.Applicative (Text.ParserCombinators.Parsec.Prim.GenParser tok st)
+ Text.ParserCombinators.Parsec.Prim: instance GHC.Base.Functor (Text.ParserCombinators.Parsec.Prim.GenParser tok st)
+ Text.ParserCombinators.Parsec.Prim: instance GHC.Base.Monad (Text.ParserCombinators.Parsec.Prim.GenParser tok st)
+ Text.ParserCombinators.Parsec.Prim: instance GHC.Base.MonadPlus (Text.ParserCombinators.Parsec.Prim.GenParser tok st)
+ Text.ParserCombinators.Parsec.Token: [angles] :: TokenParser st -> forall a. CharParser st a -> CharParser st a
+ Text.ParserCombinators.Parsec.Token: [braces] :: TokenParser st -> forall a. CharParser st a -> CharParser st a
+ Text.ParserCombinators.Parsec.Token: [brackets] :: TokenParser st -> forall a. CharParser st a -> CharParser st a
+ Text.ParserCombinators.Parsec.Token: [caseSensitive] :: LanguageDef st -> Bool
+ Text.ParserCombinators.Parsec.Token: [charLiteral] :: TokenParser st -> CharParser st Char
+ Text.ParserCombinators.Parsec.Token: [colon] :: TokenParser st -> CharParser st String
+ Text.ParserCombinators.Parsec.Token: [commaSep1] :: TokenParser st -> forall a. CharParser st a -> CharParser st [a]
+ Text.ParserCombinators.Parsec.Token: [commaSep] :: TokenParser st -> forall a. CharParser st a -> CharParser st [a]
+ Text.ParserCombinators.Parsec.Token: [comma] :: TokenParser st -> CharParser st String
+ Text.ParserCombinators.Parsec.Token: [commentEnd] :: LanguageDef st -> String
+ Text.ParserCombinators.Parsec.Token: [commentLine] :: LanguageDef st -> String
+ Text.ParserCombinators.Parsec.Token: [commentStart] :: LanguageDef st -> String
+ Text.ParserCombinators.Parsec.Token: [decimal] :: TokenParser st -> CharParser st Integer
+ Text.ParserCombinators.Parsec.Token: [dot] :: TokenParser st -> CharParser st String
+ Text.ParserCombinators.Parsec.Token: [float] :: TokenParser st -> CharParser st Double
+ Text.ParserCombinators.Parsec.Token: [hexadecimal] :: TokenParser st -> CharParser st Integer
+ Text.ParserCombinators.Parsec.Token: [identLetter] :: LanguageDef st -> CharParser st Char
+ Text.ParserCombinators.Parsec.Token: [identStart] :: LanguageDef st -> CharParser st Char
+ Text.ParserCombinators.Parsec.Token: [identifier] :: TokenParser st -> CharParser st String
+ Text.ParserCombinators.Parsec.Token: [integer] :: TokenParser st -> CharParser st Integer
+ Text.ParserCombinators.Parsec.Token: [lexeme] :: TokenParser st -> forall a. CharParser st a -> CharParser st a
+ Text.ParserCombinators.Parsec.Token: [naturalOrFloat] :: TokenParser st -> CharParser st (Either Integer Double)
+ Text.ParserCombinators.Parsec.Token: [natural] :: TokenParser st -> CharParser st Integer
+ Text.ParserCombinators.Parsec.Token: [nestedComments] :: LanguageDef st -> Bool
+ Text.ParserCombinators.Parsec.Token: [octal] :: TokenParser st -> CharParser st Integer
+ Text.ParserCombinators.Parsec.Token: [opLetter] :: LanguageDef st -> CharParser st Char
+ Text.ParserCombinators.Parsec.Token: [opStart] :: LanguageDef st -> CharParser st Char
+ Text.ParserCombinators.Parsec.Token: [operator] :: TokenParser st -> CharParser st String
+ Text.ParserCombinators.Parsec.Token: [parens] :: TokenParser st -> forall a. CharParser st a -> CharParser st a
+ Text.ParserCombinators.Parsec.Token: [reservedNames] :: LanguageDef st -> [String]
+ Text.ParserCombinators.Parsec.Token: [reservedOpNames] :: LanguageDef st -> [String]
+ Text.ParserCombinators.Parsec.Token: [reservedOp] :: TokenParser st -> String -> CharParser st ()
+ Text.ParserCombinators.Parsec.Token: [reserved] :: TokenParser st -> String -> CharParser st ()
+ Text.ParserCombinators.Parsec.Token: [semiSep1] :: TokenParser st -> forall a. CharParser st a -> CharParser st [a]
+ Text.ParserCombinators.Parsec.Token: [semiSep] :: TokenParser st -> forall a. CharParser st a -> CharParser st [a]
+ Text.ParserCombinators.Parsec.Token: [semi] :: TokenParser st -> CharParser st String
+ Text.ParserCombinators.Parsec.Token: [squares] :: TokenParser st -> forall a. CharParser st a -> CharParser st a
+ Text.ParserCombinators.Parsec.Token: [stringLiteral] :: TokenParser st -> CharParser st String
+ Text.ParserCombinators.Parsec.Token: [symbol] :: TokenParser st -> String -> CharParser st String
+ Text.ParserCombinators.Parsec.Token: [whiteSpace] :: TokenParser st -> CharParser st ()
Files
- CHANGELOG +0/−9
- CHANGES.md +11/−0
- Text/ParserCombinators/Parsec/Language.hs +26/−26
- Text/ParserCombinators/Parsec/Pos.hs +2/−2
- Text/ParserCombinators/Parsec/Prim.hs +17/−6
- parsec2.cabal +7/−10
− CHANGELOG
@@ -1,9 +0,0 @@-parsec2-1.0.0 (Changes from parsec-2.1.0.1)--Sat Jul 24 12:17:43 CDT 2010 Antoine Latter <aslatter@gmail.com>- * add dcoumentation done for parsec-3--Wed Jun 9 22:23:52 CDT 2010 Antoine Latter <aslatter@gmail.com>- * in Parsec.Token, sort names after accounting for case sensitivity, not before- from: Greg Fitzgerald-
+ CHANGES.md view
@@ -0,0 +1,11 @@+# 1.0.1++* Add instances for `Applicative` and `Alternative`.++# 1.0.0 (Changes from parsec-2.1.0.1)++* Add documentation done for parsec-3++* In Parsec.Token, sort names after accounting for case sensitivity, not before+ (from: Greg Fitzgerald).+
Text/ParserCombinators/Parsec/Language.hs view
@@ -40,9 +40,9 @@ , commentLine = "--" , nestedComments = True , identStart = letter- , identLetter = alphaNum <|> oneOf "_'"- , opStart = opLetter haskellStyle- , opLetter = oneOf ":!#$%&*+./<=>?@\\^|-~" + , identLetter = alphaNum <|> oneOf "_'"+ , opStart = opLetter haskellStyle+ , opLetter = oneOf ":!#$%&*+./<=>?@\\^|-~" , reservedOpNames= [] , reservedNames = [] , caseSensitive = True @@ -53,16 +53,16 @@ -- sensitivity. It does not define any reserved words or operators. javaStyle :: LanguageDef st javaStyle = emptyDef- { commentStart = "/*"- , commentEnd = "*/"- , commentLine = "//"- , nestedComments = True- , identStart = letter- , identLetter = alphaNum <|> oneOf "_'" - , reservedNames = []- , reservedOpNames= [] - , caseSensitive = False - }+ { commentStart = "/*"+ , commentEnd = "*/"+ , commentLine = "//"+ , nestedComments = True+ , identStart = letter+ , identLetter = alphaNum <|> oneOf "_'"+ , reservedNames = []+ , reservedOpNames= []+ , caseSensitive = False+ } ----------------------------------------------------------- -- minimal language definition@@ -95,14 +95,14 @@ -- | The language definition for the Haskell language. haskellDef :: LanguageDef st haskellDef = haskell98Def- { identLetter = identLetter haskell98Def <|> char '#'- , reservedNames = reservedNames haskell98Def ++ - ["foreign","import","export","primitive"- ,"_ccall_","_casm_"- ,"forall"- ]+ { identLetter = identLetter haskell98Def <|> char '#'+ , reservedNames = reservedNames haskell98Def ++ + ["foreign","import","export","primitive"+ ,"_ccall_","_casm_"+ ,"forall"+ ] }- + -- | The language definition for the language Haskell98. haskell98Def :: LanguageDef st haskell98Def = haskellStyle@@ -129,10 +129,10 @@ -- | The language definition for the language Mondrian. mondrianDef :: LanguageDef st mondrianDef = javaStyle- { reservedNames = [ "case", "class", "default", "extends"- , "import", "in", "let", "new", "of", "package"- ] - , caseSensitive = True - }+ { reservedNames = [ "case", "class", "default", "extends"+ , "import", "in", "let", "new", "of", "package"+ ]+ , caseSensitive = True+ } - +
Text/ParserCombinators/Parsec/Pos.hs view
@@ -35,8 +35,8 @@ -- a column number. @SourcePos@ is an instance of the 'Show', 'Eq' and -- 'Ord' class. data SourcePos = SourcePos SourceName !Line !Column- deriving (Eq,Ord)- + deriving (Eq,Ord)+ -- | Create a new 'SourcePos' with the given source name, -- line number and column number. newPos :: SourceName -> Line -> Column -> SourcePos
Text/ParserCombinators/Parsec/Prim.hs view
@@ -42,6 +42,7 @@ import Prelude import Text.ParserCombinators.Parsec.Pos import Text.ParserCombinators.Parsec.Error+import qualified Control.Applicative as A import Control.Monad {-# INLINE parsecMap #-}@@ -145,12 +146,12 @@ } -- | Returns the full parser state as a 'State' record.-getParserState :: GenParser tok st (State tok st)-getParserState = updateParserState id +getParserState :: GenParser tok st (State tok st)+getParserState = updateParserState id -- | @setParserState st@ set the full parser state to @st@.-setParserState :: State tok st -> GenParser tok st (State tok st)-setParserState st = updateParserState (const st)+setParserState :: State tok st -> GenParser tok st (State tok st)+setParserState st = updateParserState (const st) @@ -254,7 +255,6 @@ Ok x state err -> let fx = f x in seq fx (Ok fx state err) Error err -> Error err- ----------------------------------------------------------- -- Monad: return, sequence (>>=) and fail@@ -328,7 +328,6 @@ other -> other ) - {- -- variant that favors a consumed reply over an empty one, even it is not the first alternative. empty@(Empty reply) -> case reply of@@ -342,6 +341,18 @@ consumed -> consumed consumed -> consumed -}++-----------------------------------------------------------+-- Bonus instances+-----------------------------------------------------------++instance A.Applicative (GenParser tok st) where+ pure x = return x+ mf <*> mx = mf `ap` mx++instance A.Alternative (GenParser tok st) where+ empty = mzero+ ma <|> mb = ma `mplus` mb -- | The parser @try p@ behaves like parser @p@, except that it
parsec2.cabal view
@@ -1,11 +1,12 @@ cabal-version: >= 1.2 name: parsec2-version: 1.0.0+version: 1.0.1 license: BSD3 license-file: LICENSE author: Daan Leijen <daan@cs.uu.nl> maintainer: Antoine Latter <aslatter@gmail.com>-homepage: http://www.cs.uu.nl/~daan/parsec.html+homepage: https://github.com/aslatter/parsec2+bug-reports: https://github.com/aslatter/parsec2/issues category: Parsing synopsis: Monadic parser combinators description:@@ -17,8 +18,9 @@ This package is a maintained fork of version 2.1 of the parsec package, intended to preserve its simplicity and portability. build-type: Simple-extra-source-files: CHANGELOG+extra-source-files: CHANGES.md cabal-version: >= 1.6+tested-with: GHC >= 7.6 && < 7.11 library { exposed-modules: Text.ParserCombinators.Parsec.Error,@@ -39,11 +41,6 @@ } } source-repository head {- type: darcs- location: http://code.haskell.org/parsec2/parsec2-}-source-repository this {- type: darcs- location: http://code.haskell.org/parsec2/parsec2- tag: 1.0.0+ type: git+ location: https://github.com/aslatter/parsec2 }