Expand description
Various combinators which do not fit anywhere else.
Structs§
Enums§
Traits§
Functions§
- Equivalent to
p.and_then(f)
. - Returns a parser where
P::PartialState
is boxed. Useful as a way to avoid writing the type since it can get very large after combining a few parsers. - Returns a parser where
P::PartialState
is boxed. Useful as a way to avoid writing the type since it can get very large after combining a few parsers. - Returns a parser where
P::PartialState
is boxed. Useful as a way to avoid writing the type since it can get very large after combining a few parsers. attempt(p)
behaves asp
except it always acts asp
peeked instead of committed on its parse.- Constructs the parser lazily on each
parse_*
call. This is similar tolazy
but it takesInput
as an argument and allows different parsers to be returned on each call top
while still reporting the correct errors. - Equivalent to
p.flat_map(f)
. - Takes a parser that outputs a string like value (
&str
,String
,&[u8]
orVec<u8>
) and parses it usingstd::str::FromStr
. Errors if the output ofparser
is not UTF-8 or ifFromStr::from_str
returns an error. - Constructs the parser lazily on each
parse_*
call. Can be used to effectively reduce the size of deeply nested parsers as only the function producing the parser is stored. look_ahead(p)
acts asp
but doesn’t consume input on success.- Equivalent to
p.map(f)
. - Equivalent to
p.map_input(f)
. - Succeeds only if
parser
fails. Never consumes any input. - Creates a parser from a function which takes a function that are given the actual parser. Though convoluted this makes it possible to hide the concrete parser type without
Box
or losing the full information about the parser as is the case ofparser
. - Constructs a parser which returns the tokens parsed by
parser
accumulated inF: Extend<Input::Token>
instead ofP::Output
. - Equivalent to
p.spanned()
.
Type Aliases§
- Alias over
Opaque
where the function can be a plain function pointer (does not need to capture any values)