| Copyright | (c) Edward Kmett 2011-2015 |
|---|---|
| License | BSD3 |
| Maintainer | ekmett@gmail.com |
| Stability | experimental |
| Portability | non-portable |
| Safe Haskell | None |
| Language | Haskell2010 |
Text.Trifecta.Combinators
Description
Synopsis
- class (MonadPlus m, TokenParsing m) => DeltaParsing m where
- sliced :: DeltaParsing m => m a -> m ByteString
- careting :: DeltaParsing m => m Caret
- careted :: DeltaParsing m => m a -> m (Careted a)
- spanning :: DeltaParsing m => m a -> m Span
- spanned :: DeltaParsing m => m a -> m (Spanned a)
- fixiting :: DeltaParsing m => m ByteString -> m Fixit
- class (DeltaParsing m, HasDelta d) => MarkParsing d m | m -> d where
Documentation
class (MonadPlus m, TokenParsing m) => DeltaParsing m where #
This class provides parsers with easy access to:
1) the current line contents.
2) the current position as a Delta.
3) the ability to use sliced on any parser.
Minimal complete definition
Methods
line :: m ByteString #
Retrieve the contents of the current line (from the beginning of the line)
Retrieve the current position as a Delta.
slicedWith :: (a -> ByteString -> r) -> m a -> m r #
Run a parser, grabbing all of the text between its start and end points
restOfLine :: m ByteString #
Grab the remainder of the current line
Instances
sliced :: DeltaParsing m => m a -> m ByteString #
Run a parser, grabbing all of the text between its start and end points and discarding the original result
careting :: DeltaParsing m => m Caret #
Grab a Caret pointing to the current location.
careted :: DeltaParsing m => m a -> m (Careted a) #
spanning :: DeltaParsing m => m a -> m Span #
Discard the result of a parse, returning a Span from where we start to
where it ended parsing.
spanned :: DeltaParsing m => m a -> m (Spanned a) #
fixiting :: DeltaParsing m => m ByteString -> m Fixit #
Grab a fixit.
class (DeltaParsing m, HasDelta d) => MarkParsing d m | m -> d where #
This class is a refinement of DeltaParsing that adds the ability to mark
your position in the input and return there for further parsing later.
Methods
mark the current location so it can be used in constructing a span, or for later seeking
Seek a previously marked location
Instances
| MarkParsing Delta Parser # | |
| (MonadPlus m, MarkParsing d m) => MarkParsing d (IdentityT m) # | |
| (MonadPlus m, MarkParsing d m, Monoid w) => MarkParsing d (WriterT w m) # | |
| (MonadPlus m, MarkParsing d m, Monoid w) => MarkParsing d (WriterT w m) # | |
| (MonadPlus m, MarkParsing d m) => MarkParsing d (StateT s m) # | |
| (MonadPlus m, MarkParsing d m) => MarkParsing d (StateT s m) # | |
| (MonadPlus m, MarkParsing d m) => MarkParsing d (ReaderT e m) # | |
| (MonadPlus m, MarkParsing d m, Monoid w) => MarkParsing d (RWST r w s m) # | |
| (MonadPlus m, MarkParsing d m, Monoid w) => MarkParsing d (RWST r w s m) # | |