Safe Haskell | None |
---|---|
Language | Haskell98 |
UU.Parsing.Machine
Documentation
newtype RealParser state s p a Source #
newtype RealRecogn state s p Source #
newtype RealAccept state result s p a Source #
newtype ParsRec state result s p a Source #
Constructors
PR (RealParser state s p a, RealRecogn state s p, RealAccept state result s p a) |
mkPR :: OutputState result => (RealParser t s p a, RealRecogn t s p) -> ParsRec t result s p a Source #
unP :: RealParser t t1 t2 t3 -> (t3 -> r'' -> r') -> (t -> Steps r'' t1 t2) -> t -> Steps r' t1 t2 Source #
parseRecbasic :: (inp -> Steps (out c d) sym pos) -> ParsRec inp out sym pos a -> inp -> Steps (out a (out c d)) sym pos Source #
parsebasic :: (inp -> Steps (out c d) sym pos) -> AnaParser inp out sym pos a -> inp -> Steps (out a (out c d)) sym pos Source #
libAccept :: (OutputState a, InputState b s p) => ParsRec b a s p s Source #
libInsert :: (InputState t s p, OutputState result) => Int# -> s -> Expecting s -> ParsRec t result s p s Source #
libSucceed :: OutputState result => t -> ParsRec t1 result s p t Source #
libSeq :: (OutputState result, OutputState t1) => ParsRec t3 t s p (t2 -> a) -> ParsRec t3 t1 s p t2 -> ParsRec t3 result s p a Source #
libDollar :: OutputState result => (t2 -> a) -> ParsRec t t1 s p t2 -> ParsRec t result s p a Source #
libDollarL :: OutputState result => t -> ParsRec t5 t1 t2 t3 t4 -> ParsRec t5 result t2 t3 t Source #
libDollarR :: OutputState result => t -> ParsRec t1 t2 s p a -> ParsRec t1 result s p a Source #
libSeqL :: OutputState result => ParsRec t3 t s p a -> ParsRec t3 t1 s p t2 -> ParsRec t3 result s p a Source #
libSeqR :: OutputState result => ParsRec t3 t s p t1 -> ParsRec t3 t2 s p a -> ParsRec t3 result s p a Source #
libOr :: (OutputState result, Ord t1) => ParsRec t4 t t1 t2 a -> ParsRec t4 t3 t1 t2 a -> ParsRec t4 result t1 t2 a Source #
libFail :: OutputState a => ParsRec b a c p d Source #
hasSuccess :: Steps a s p -> Bool Source #
lib_correct :: Ord s => (b -> c -> Steps d s p) -> (b -> c -> Steps d s p) -> b -> c -> Steps d s p Source #
traverse :: ToBeat (Steps a s p) -> (Steps v s p -> Steps a s p, Steps v s p) -> Int# -> Int# -> ToBeat (Steps a s p) Source #
data AnaParser state result s p a Source #
Constructors
AnaParser | |
Instances
(InputState inp s p, OutputState out) => StateParser (AnaParser (inp, st) out s p) st Source # | |
(Ord s, Symbol s, InputState state s p, OutputState result) => IsParser (AnaParser state result s p) s Source # | The fast |
data TableEntry state result s p a Source #
Constructors
TableEntry (ParsRec state result s p a) (Expecting s -> ParsRec state result s p a) |
anaFail :: OutputState a => AnaParser b a c p d Source #
noOneParser :: OneDescr state result s p a Source #
pEmpty :: ParsRec state result s p a -> (Bool, Either a (ParsRec state result s p a)) -> AnaParser state result s p a Source #
anaSucceed :: OutputState result => a -> AnaParser state result s p a Source #
anaLow :: OutputState result => a -> AnaParser state result s p a Source #
anaOr :: (InputState state s p, OutputState result, Symbol s, Ord s) => AnaParser state result s p a -> AnaParser state result s p a -> AnaParser state result s p a Source #
anaSeq :: (InputState state s p, OutputState result, OutputState t5, Symbol s, Ord s) => (t3 -> ParsRec t4 t5 s t6 t7 -> ParsRec state result s p a) -> (ParsRec t t1 s t2 t3 -> ParsRec t4 t5 s t6 t7 -> ParsRec state result s p a) -> (t3 -> t7 -> a) -> AnaParser t t1 s t2 t3 -> AnaParser t4 t5 s t6 t7 -> AnaParser state result s p a Source #
seqZeroZero :: OutputState result => Maybe (Bool, Either t t1) -> Maybe (Bool, Either t2 (ParsRec t3 result s p t2)) -> (t -> ParsRec t3 result s p t2 -> b) -> (t1 -> ParsRec t3 result s p t2 -> b) -> (t -> t2 -> a) -> Maybe (Bool, Either a b) Source #
orOneOneDescr :: Ord s => OneDescr state result s p a -> OneDescr state result s p a -> Bool -> OneDescr state result s p a Source #
anaCostRange :: (InputState b d p, OutputState a, Symbol d, Ord d) => Int# -> d -> SymbolR d -> AnaParser b a d p d Source #
anaGetFirsts :: AnaParser state result s p a -> Expecting s Source #
anaSetFirsts :: (InputState state s p, OutputState result, Symbol s, Ord s) => Expecting s -> AnaParser state result s p a -> AnaParser state result s p a Source #
mapOnePars :: (ParsRec t t1 s t2 t3 -> ParsRec state result s p a) -> OneDescr t t1 s t2 t3 -> OneDescr state result s p a Source #
mkParser :: (InputState state s p, Symbol s, Ord s, OutputState result) => Nat -> Maybe (Bool, Either a (ParsRec state result s p a)) -> OneDescr state result s p a -> AnaParser state result s p a Source #
mergeTables :: (OutputState result, Symbol a1, Ord a1, Ord t) => [(SymbolR a1, ParsRec t2 result t t1 a)] -> [(SymbolR a1, ParsRec t2 result t t1 a)] -> [(SymbolR a1, ParsRec t2 result t t1 a)] Source #
libMap :: OutputState result => (forall r r''. (b -> r -> r'') -> state -> Steps (a, r) s p -> (state, Steps r'' s p)) -> (forall r. state -> Steps r s p -> (state, Steps r s p)) -> ParsRec state result s p a -> ParsRec state result s p b Source #
pMap :: OutputState result => (forall r r''. (b -> r -> r'') -> state -> Steps (a, r) s p -> (state, Steps r'' s p)) -> (forall r. state -> Steps r s p -> (state, Steps r s p)) -> AnaParser state result s p a -> AnaParser state result s p b Source #
libWrap :: OutputState result => (forall r r''. (b -> r -> r'') -> state -> Steps (a, r) s p -> (state -> Steps r s p) -> (state, Steps r'' s p, state -> Steps r s p)) -> (forall r. state -> Steps r s p -> (state -> Steps r s p) -> (state, Steps r s p, state -> Steps r s p)) -> ParsRec state result s p a -> ParsRec state result s p b Source #
pWrap :: OutputState result => (forall r r''. (b -> r -> r'') -> state -> Steps (a, r) s p -> (state -> Steps r s p) -> (state, Steps r'' s p, state -> Steps r s p)) -> (forall r. state -> Steps r s p -> (state -> Steps r s p) -> (state, Steps r s p, state -> Steps r s p)) -> AnaParser state result s p a -> AnaParser state result s p b Source #