Safe Haskell | None |
---|---|
Language | Haskell2010 |
- class Gram_Reader st g where
- class Gram_State st g where
- class Gram_Error err g where
- class Inj_Error a b where
- lift_Error :: forall e0 err e1 a. Inj_Error e0 e1 => Inj_Error e1 err => Proxy e1 -> Either e0 a -> Either err a
- class Source src where
- class Source src => Inj_Source a src where
- type family SourceOf a
- class Source (SourceOf a) => Sourced a where
- source :: Inj_Source src (SourceOf a) => Sourced a => a -> src -> a
- type family Source_Input (src :: *) :: *
- data Span src = Span {}
- class (Gram_Reader (Source_Input src) g, Inj_Source (Span (Source_Input src)) src) => Gram_Source src g where
- data At src a = At {}
Type Gram_Reader
class Gram_Reader st g where Source #
g_ask_before :: g (st -> a) -> g a Source #
g_ask_after :: g (st -> a) -> g a Source #
Gram_Reader st EBNF Source # | |
Gram_Reader st RuleEBNF Source # | |
Gram_Reader st g => Gram_Reader st (CF g) Source # | |
Gram_Reader st g => Gram_Reader st (Reg lr g) Source # | |
Type Gram_State
class Gram_State st g where Source #
g_state_before :: g (st -> (st, a)) -> g a Source #
g_state_after :: g (st -> (st, a)) -> g a Source #
g_get_before :: g (st -> a) -> g a Source #
g_get_after :: g (st -> a) -> g a Source #
g_put :: g (st, a) -> g a Source #
g_get_before :: Functor g => g (st -> a) -> g a Source #
g_get_after :: Functor g => g (st -> a) -> g a Source #
Gram_State st EBNF Source # | |
Gram_State st RuleEBNF Source # | |
Gram_State st g => Gram_State st (CF g) Source # | |
Gram_State st g => Gram_State st (Reg lr g) Source # | |
Class Gram_Error
class Gram_Error err g where Source #
Symantics for handling errors at the semantic level (not the syntaxic one).
Gram_Error err EBNF Source # | |
Gram_Error err RuleEBNF Source # | |
Gram_Error err g => Gram_Error err (CF g) Source # | |
Gram_Error err g => Gram_Error err (Reg lr g) Source # | |
Class Inj_Error
lift_Error :: forall e0 err e1 a. Inj_Error e0 e1 => Inj_Error e1 err => Proxy e1 -> Either e0 a -> Either err a Source #
Class Source
Class Inj_Source
class Source src => Inj_Source a src where Source #
inj_Source :: a -> src Source #
Inj_Source a () Source # | |
Type family SourceOf
Type Sourced
Type Source_Input
type family Source_Input (src :: *) :: * Source #
type Source_Input () Source # | |
Type Span
Class Gram_Source
class (Gram_Reader (Source_Input src) g, Inj_Source (Span (Source_Input src)) src) => Gram_Source src g where Source #
(Gram_Reader (Source_Input src) g, Inj_Source (Span (Source_Input src)) src) => Gram_Source src g Source # | |