This library provides convenient combinators for working with and building parsing combinator libraries.
Given a few simple instances, you get access to a large number of canned definitions.
Contact Information
Contributions and bug reports are welcome!
Please feel free to contact me through github or on the #haskell IRC channel on irc.freenode.net.
-Edward Kmett
Changes
0.12.12 [2024.10.26]
Support building with text-2.1.2.
Drop support for pre-8.0 versions of GHC.
0.12.11 [2022.05.07]
Allow building with transformers-0.6.* and mtl-2.3.*.
0.12.10 [2019.05.02]
Make the parsec and attoparsec dependencies optional with the use of
Cabal flags of the same names.
0.12.9 [2018.07.04]
Add instances for the Get type from binary.
Add a surroundedBy function, as a shorthand for between bra ket when
bra and ket are the same.
0.12.8
Remove the doctest test suite, as there are no actual doctests anywhere
in parsers.
0.12.7
Add sepByNonEmpty, sepEndByNonEmpty, and endByNonEmpty to
Text.Parser.Combinators
Fix sporadic QuickCheck test suite failures
0.12.6
Add a library dependency in the doctests test suite
0.12.5
Allow building with GHC 8.2
Add mtl instances for Unspaced, Unhighlighted, and Unlined
Revamp Setup.hs to use cabal-doctest. This makes it build
with Cabal-2.0, and makes the doctests work with cabal new-build and
sandboxes.
0.12.4
Allow transformers 0.5
0.12.3
Build without warnings on GHC 7.10
Add LookAheadParsing instance for attoparsec
Documentation fixes
Fix out-of-bounds error in numeric escapes
Depend on base-orphans for Applicative ReadP on old base
0.12.2
Added parsers for scientific, so we can parse decimal places without losing precision.
0.12.1
Fixed the fixed behavior of notFollowedBy, which was showing internal state. This had led to unnecessary constraints on internal state that are now removed.
0.12
Fixed the behavior of notFollowedBy. This necessitated removing the default implementation, and therefore required a major version bump.
0.11.0.2
Allow attoparsec 0.12
0.11
Mikhail Vorozhtsov refactored attoparsec to permit parsers instances. Instances added.
0.10.3
Compatibility with ghc 7.8 roles
0.10.2
Documentation fixes
0.10.1.2
Updated to work with text 1.0
0.10.1.1
0.10.1 accidentally prevented the orphan instances for ReadP from compiling. Fxed.
0.10.1
Fixed an issue with the expression parser, where it didn’t try hard enough.
Added satisfyRange
Fixed a longstanding issue with the char escapes that we inherited from parsec, where ^A and the like were returning 0 not 1.
0.10
Added proper upper bounds for PVP compliance
Switched to an applicative expression parser
0.9
instance MonadTrans Unlined
0.8.3
Fixed a major performance regression in Text.Parser.Expression
0.8.2
Added scalaCommentStyle.
0.8.1
Text.Parser.Token.* is now Trustworthy
0.8
Removed the need for textLiteral, textLiteral' and identText by using fromString. Use stringLiteral, stringLiteral', and ident instead respectively.
0.7.1
Added support for Text-based parsing.
0.7
Added Unlined to support parsing solely within a line
Simplified TokenParsing instances
0.6
Disallowed nested comments in ‘javaCommentStyle’
More derived instances
0.5.2
Bugfix in commaSep1.
0.5.1
Taught zeroNumFloat about 0..
Bugfix in buildExpressionParser.
0.5
Split out LookAheadParsing since it wasn’t used by other combinators here and isn’t supported by attoparsec.
0.4.1
Added token to TokenParsing.
0.4
Updated build system
Converted various style accessors to lenses and traversals