|
|
|
Description |
This module defines our parsing monad. In the past there have been lazy
and strict parsers in this module. Currently we have only the strict
variant and it is used for parsing patch files.
|
|
Synopsis |
|
|
|
Documentation |
|
|
| Methods | | Applies a parsing function inside the ParserM monad.
| | | Applies a parsing function, that can return Nothing,
inside the ParserM monad.
| | | Allows for the inspection of the input that is yet to be parsed.
|
| | Instances | |
|
|
|
Applies a function to the input stream and discards the
result of the function.
|
|
|
parseStrictly applies the parser functions to a string
and checks that each parser produced a result as it goes.
The strictness is in the ParserM instance for SM.
|
|
|
lexChar checks if the next space delimited token from
the input stream matches a specific Char.
Uses Maybe inside ParserM to handle failed matches, so
that it always returns () on success.
|
|
|
lexString fetches the next whitespace delimited token from
from the input and checks if it matches the String input.
Uses Maybe inside ParserM to handle failed matches, so
that it always returns () on success.
|
|
|
Checks if any of the input Strings match the next
space delimited token in the input stream.
Uses Maybe inside ParserM to handle failed matches,
on success it returns the matching String.
|
|
|
lexEof looks for optional spaces followed by the end of input.
Uses Maybe inside ParserM to handle failed matches, so
that it always returns () on success.
|
|
|
myLex drops leading spaces and then breaks the string at the
next space. Returns Nothing when the string is empty after
dropping leading spaces, otherwise it returns the first sequence
of non-spaces and the remainder of the input.
|
|
Produced by Haddock version 2.6.1 |