|
UU.Parsing.MachineInterface |
|
|
|
Synopsis |
|
|
|
Documentation |
|
class InputState state s pos | state -> s, state -> pos where |
The InputState class contains the interface that the AnaParser
parsers expect for the input. A minimal complete instance definition
consists of splitStateE, splitState and getPosition.
| | Methods | splitStateE :: state -> Either' state s | Splits the state in a strict variant of Either, with Left' if a symbol
can be split off and Right' if none can
| | splitState :: state -> (s, state) | Splits the state in the first symbol and the remaining state
| | getPosition :: state -> pos | Gets the current position in the input
| | reportError :: Message s pos -> state -> state | Reports an error
| | insertSymbol :: s -> state -> state | Modify the state as the result of inserting a symbol s in the input.
The symbol that has already been considered as having been inserted
is passed. It should normally not be added to the state.
| | deleteSymbol :: s -> state -> state | Modify the state as the result of deleting a symbol s from the input.
The symbol that has already been deleted from the input state is passed.
It should normally not be deleted from the state.
|
| | Instances | |
|
|
class OutputState r where |
| Methods | acceptR :: v -> rest -> r v rest | | nextR :: (a -> rest -> rest') -> (b -> a) -> r b rest -> rest' |
| | Instances | |
|
|
class Symbol s where |
| Methods | deleteCost :: s -> Int | | symBefore :: s -> s | | symAfter :: s -> s |
| | Instances | |
|
|
data Either' state s |
Constructors | Left' !s state | | Right' state | |
|
|
|
data Steps val s p |
Constructors | forall a . OkVal (a -> val) (Steps a s p) | | Ok | | | Cost | | | StRepair | | | Best (Steps val s p) (Steps val s p) (Steps val s p) | | NoMoreSteps val | |
|
|
|
data Action s |
Constructors | | Instances | |
|
|
val :: (a -> b) -> Steps a s p -> Steps b s p |
|
evalSteps :: Steps a s p -> a |
|
getMsgs :: Steps a s p -> [Message s p] |
|
data Message sym pos |
Constructors | | Instances | |
|
|
data Expecting s |
Constructors | | Instances | |
|
|
data SymbolR s |
Constructors | | Instances | |
|
|
Produced by Haddock version 0.8 |