Copyright | © 2015–present Megaparsec contributors |
---|---|
License | FreeBSD |
Maintainer | Mark Karpov <markkarpov92@gmail.com> |
Stability | experimental |
Portability | portable |
Safe Haskell | Safe |
Language | Haskell2010 |
A set of helpers that should make construction of
ParseError
s more
concise. This is primarily useful in test suites and for debugging.
Since: 6.0.0
Synopsis
- err :: Int -> ET s -> ParseError s e
- errFancy :: Int -> EF e -> ParseError s e
- utok :: Stream s => Token s -> ET s
- utoks :: forall s. Stream s => Tokens s -> ET s
- ulabel :: Stream s => String -> ET s
- ueof :: Stream s => ET s
- etok :: Stream s => Token s -> ET s
- etoks :: forall s. Stream s => Tokens s -> ET s
- elabel :: Stream s => String -> ET s
- eeof :: Stream s => ET s
- fancy :: ErrorFancy e -> EF e
- data ET s
- data EF e
Top-level helpers
:: Int |
|
-> ET s |
Error components |
-> ParseError s e |
Resulting
|
Assemble a
ParseError
from the offset and the
value.
ET
t
is a monoid and can be assembled by combining primitives provided by
this module, see below.
ET
t
:: Int |
|
-> EF e |
Error components |
-> ParseError s e |
Resulting
|
Like
err
, but constructs a “fancy”
ParseError
.
Error components
utoks :: forall s. Stream s => Tokens s -> ET s Source #
Construct an “unexpected tokens” error component. Empty chunk produces
EndOfInput
.
ulabel :: Stream s => String -> ET s Source #
Construct an “unexpected label” error component. Do not use with empty strings (for empty strings it's bottom).
etoks :: forall s. Stream s => Tokens s -> ET s Source #
Construct an “expected tokens” error component. Empty chunk produces
EndOfInput
.
elabel :: Stream s => String -> ET s Source #
Construct an “expected label” error component. Do not use with empty strings.
fancy :: ErrorFancy e -> EF e Source #
Construct a custom error component.
Data types
Auxiliary type for construction of trivial parse errors.
Instances
Eq ( Token s) => Eq ( ET s) Source # | |
( Data s, Data ( Token s), Ord ( Token s)) => Data ( ET s) Source # | |
Defined in Text.Megaparsec.Error.Builder gfoldl :: ( forall d b. Data d => c (d -> b) -> d -> c b) -> ( forall g. g -> c g) -> ET s -> c ( ET s) Source # gunfold :: ( forall b r. Data b => c (b -> r) -> c r) -> ( forall r. r -> c r) -> Constr -> c ( ET s) Source # toConstr :: ET s -> Constr Source # dataTypeOf :: ET s -> DataType Source # dataCast1 :: Typeable t => ( forall d. Data d => c (t d)) -> Maybe (c ( ET s)) Source # dataCast2 :: Typeable t => ( forall d e. ( Data d, Data e) => c (t d e)) -> Maybe (c ( ET s)) Source # gmapT :: ( forall b. Data b => b -> b) -> ET s -> ET s Source # gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> ET s -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> ET s -> r Source # gmapQ :: ( forall d. Data d => d -> u) -> ET s -> [u] Source # gmapQi :: Int -> ( forall d. Data d => d -> u) -> ET s -> u Source # gmapM :: Monad m => ( forall d. Data d => d -> m d) -> ET s -> m ( ET s) Source # gmapMp :: MonadPlus m => ( forall d. Data d => d -> m d) -> ET s -> m ( ET s) Source # gmapMo :: MonadPlus m => ( forall d. Data d => d -> m d) -> ET s -> m ( ET s) Source # |
|
Ord ( Token s) => Ord ( ET s) Source # | |
Defined in Text.Megaparsec.Error.Builder |
|
Generic ( ET s) Source # | |
Stream s => Semigroup ( ET s) Source # | |
Stream s => Monoid ( ET s) Source # | |
type Rep ( ET s) Source # | |
Defined in Text.Megaparsec.Error.Builder
type
Rep
(
ET
s) =
D1
('
MetaData
"ET" "Text.Megaparsec.Error.Builder" "megaparsec-9.2.1-EI4cRL0SAfYAOxBOfPeCV9" '
False
) (
C1
('
MetaCons
"ET" '
PrefixI
'
False
) (
S1
('
MetaSel
('
Nothing
::
Maybe
Symbol
) '
NoSourceUnpackedness
'
NoSourceStrictness
'
DecidedLazy
) (
Rec0
(
Maybe
(
ErrorItem
(
Token
s))))
:*:
S1
('
MetaSel
('
Nothing
::
Maybe
Symbol
) '
NoSourceUnpackedness
'
NoSourceStrictness
'
DecidedLazy
) (
Rec0
(
Set
(
ErrorItem
(
Token
s))))))
|
Auxiliary type for construction of fancy parse errors.
Instances
Eq e => Eq ( EF e) Source # | |
( Data e, Ord e) => Data ( EF e) Source # | |
Defined in Text.Megaparsec.Error.Builder gfoldl :: ( forall d b. Data d => c (d -> b) -> d -> c b) -> ( forall g. g -> c g) -> EF e -> c ( EF e) Source # gunfold :: ( forall b r. Data b => c (b -> r) -> c r) -> ( forall r. r -> c r) -> Constr -> c ( EF e) Source # toConstr :: EF e -> Constr Source # dataTypeOf :: EF e -> DataType Source # dataCast1 :: Typeable t => ( forall d. Data d => c (t d)) -> Maybe (c ( EF e)) Source # dataCast2 :: Typeable t => ( forall d e0. ( Data d, Data e0) => c (t d e0)) -> Maybe (c ( EF e)) Source # gmapT :: ( forall b. Data b => b -> b) -> EF e -> EF e Source # gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> EF e -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> EF e -> r Source # gmapQ :: ( forall d. Data d => d -> u) -> EF e -> [u] Source # gmapQi :: Int -> ( forall d. Data d => d -> u) -> EF e -> u Source # gmapM :: Monad m => ( forall d. Data d => d -> m d) -> EF e -> m ( EF e) Source # gmapMp :: MonadPlus m => ( forall d. Data d => d -> m d) -> EF e -> m ( EF e) Source # gmapMo :: MonadPlus m => ( forall d. Data d => d -> m d) -> EF e -> m ( EF e) Source # |
|
Ord e => Ord ( EF e) Source # | |
Defined in Text.Megaparsec.Error.Builder |
|
Generic ( EF e) Source # | |
Ord e => Semigroup ( EF e) Source # | |
Ord e => Monoid ( EF e) Source # | |
type Rep ( EF e) Source # | |
Defined in Text.Megaparsec.Error.Builder
type
Rep
(
EF
e) =
D1
('
MetaData
"EF" "Text.Megaparsec.Error.Builder" "megaparsec-9.2.1-EI4cRL0SAfYAOxBOfPeCV9" '
True
) (
C1
('
MetaCons
"EF" '
PrefixI
'
False
) (
S1
('
MetaSel
('
Nothing
::
Maybe
Symbol
) '
NoSourceUnpackedness
'
NoSourceStrictness
'
DecidedLazy
) (
Rec0
(
Set
(
ErrorFancy
e)))))
|