ADPfusion-0.6.0.0: Efficient, high-level dynamic programming.

Safe HaskellNone
LanguageHaskell2010

ADP.Fusion.Core.Term.Epsilon

Description

Epsilon is a global or local starting (or ending, depending on the view) point for a grammar.

Documentation

data LocalGlobal Source #

Constructors

Local 
Global 
Instances
Eq LocalGlobal Source # 
Instance details

Defined in ADP.Fusion.Core.Term.Epsilon

Data LocalGlobal Source # 
Instance details

Defined in ADP.Fusion.Core.Term.Epsilon

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> LocalGlobal -> c LocalGlobal #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c LocalGlobal #

toConstr :: LocalGlobal -> Constr #

dataTypeOf :: LocalGlobal -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c LocalGlobal) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c LocalGlobal) #

gmapT :: (forall b. Data b => b -> b) -> LocalGlobal -> LocalGlobal #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> LocalGlobal -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> LocalGlobal -> r #

gmapQ :: (forall d. Data d => d -> u) -> LocalGlobal -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> LocalGlobal -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> LocalGlobal -> m LocalGlobal #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> LocalGlobal -> m LocalGlobal #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> LocalGlobal -> m LocalGlobal #

Ord LocalGlobal Source # 
Instance details

Defined in ADP.Fusion.Core.Term.Epsilon

Read LocalGlobal Source # 
Instance details

Defined in ADP.Fusion.Core.Term.Epsilon

Show LocalGlobal Source # 
Instance details

Defined in ADP.Fusion.Core.Term.Epsilon

Generic LocalGlobal Source # 
Instance details

Defined in ADP.Fusion.Core.Term.Epsilon

Associated Types

type Rep LocalGlobal :: Type -> Type #

type Rep LocalGlobal Source # 
Instance details

Defined in ADP.Fusion.Core.Term.Epsilon

type Rep LocalGlobal = D1 (MetaData "LocalGlobal" "ADP.Fusion.Core.Term.Epsilon" "ADPfusion-0.6.0.0-4IFRXlyJait74rLMOZ899H" False) (C1 (MetaCons "Local" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "Global" PrefixI False) (U1 :: Type -> Type))

data Epsilon (lg :: LocalGlobal) Source #

Constructors

Epsilon 
Instances
Build (Epsilon lg) Source # 
Instance details

Defined in ADP.Fusion.Core.Term.Epsilon

Associated Types

type Stack (Epsilon lg) :: Type Source #

Methods

build :: Epsilon lg -> Stack (Epsilon lg) Source #

(TermStream m (Z :. pos) (TermSymbol M (Epsilon lg)) (Elm (Term1 (Elm ls (PointL i))) (Z :. PointL i)) (Z :. PointL i), posLeft ~ LeftPosTy pos (Epsilon lg) (PointL i), TermStaticVar pos (Epsilon lg) (PointL i), MkStream m posLeft ls (PointL i)) => MkStream m (pos :: Type) (ls :!: Epsilon lg) (PointL i) Source # 
Instance details

Defined in ADP.Fusion.PointL.Term.Epsilon

Methods

mkStream :: Proxy pos -> (ls :!: Epsilon lg) -> Int# -> LimitType (PointL i) -> PointL i -> Stream m (Elm (ls :!: Epsilon lg) (PointL i)) Source #

(TermStream m (Z :. pos) (TermSymbol M (Epsilon lg)) (Elm (Term1 (Elm ls (PointR i))) (Z :. PointR i)) (Z :. PointR i), posLeft ~ LeftPosTy pos (Epsilon lg) (PointR i), TermStaticVar pos (Epsilon lg) (PointR i), MkStream m posLeft ls (PointR i)) => MkStream m (pos :: Type) (ls :!: Epsilon lg) (PointR i) Source # 
Instance details

Defined in ADP.Fusion.PointR.Term.Epsilon

Methods

mkStream :: Proxy pos -> (ls :!: Epsilon lg) -> Int# -> LimitType (PointR i) -> PointR i -> Stream m (Elm (ls :!: Epsilon lg) (PointR i)) Source #

(TermStream m (Z :. pos) (TermSymbol M (Epsilon lg)) (Elm (Term1 (Elm ls (Unit i))) (Z :. Unit i)) (Z :. Unit i), posLeft ~ LeftPosTy pos (Epsilon lg) (Unit i), TermStaticVar pos (Epsilon lg) (Unit i), MkStream m posLeft ls (Unit i)) => MkStream m (pos :: Type) (ls :!: Epsilon lg) (Unit i) Source # 
Instance details

Defined in ADP.Fusion.Unit.Term.Epsilon

Methods

mkStream :: Proxy pos -> (ls :!: Epsilon lg) -> Int# -> LimitType (Unit i) -> Unit i -> Stream m (Elm (ls :!: Epsilon lg) (Unit i)) Source #

TermStreamContext m ps ts s x0 i0 is (PointL O) => TermStream m (ps :. OStatic d :: Type) (TermSymbol ts (Epsilon lg)) s (is :. PointL O) Source # 
Instance details

Defined in ADP.Fusion.PointL.Term.Epsilon

Methods

termStream :: Proxy (ps :. OStatic d) -> TermSymbol ts (Epsilon lg) -> LimitType (is :. PointL O) -> (is :. PointL O) -> Stream m (TermState s Z Z) -> Stream m (TermState s (is :. PointL O) (TermArg (TermSymbol ts (Epsilon lg)))) Source #

TermStreamContext m ps ts s x0 i0 is (PointL I) => TermStream m (ps :. IStatic d :: Type) (TermSymbol ts (Epsilon lg)) s (is :. PointL I) Source # 
Instance details

Defined in ADP.Fusion.PointL.Term.Epsilon

Methods

termStream :: Proxy (ps :. IStatic d) -> TermSymbol ts (Epsilon lg) -> LimitType (is :. PointL I) -> (is :. PointL I) -> Stream m (TermState s Z Z) -> Stream m (TermState s (is :. PointL I) (TermArg (TermSymbol ts (Epsilon lg)))) Source #

TermStreamContext m ps ts s x0 i0 is (PointR I) => TermStream m (ps :. IStatic d :: Type) (TermSymbol ts (Epsilon lg)) s (is :. PointR I) Source # 
Instance details

Defined in ADP.Fusion.PointR.Term.Epsilon

Methods

termStream :: Proxy (ps :. IStatic d) -> TermSymbol ts (Epsilon lg) -> LimitType (is :. PointR I) -> (is :. PointR I) -> Stream m (TermState s Z Z) -> Stream m (TermState s (is :. PointR I) (TermArg (TermSymbol ts (Epsilon lg)))) Source #

TermStaticVar (IStatic 0) (Epsilon Local) (PointR I) Source # 
Instance details

Defined in ADP.Fusion.PointR.Term.Epsilon

TermStaticVar (IStatic 0) (Epsilon Local) (PointL I) Source # 
Instance details

Defined in ADP.Fusion.PointL.Term.Epsilon

TermStaticVar (IStatic 0) (Epsilon Global) (PointR I) Source # 
Instance details

Defined in ADP.Fusion.PointR.Term.Epsilon

TermStaticVar (IStatic 0) (Epsilon Global) (PointL I) Source #

We assume that ε / Epsilon is ever only the single symbol (maybe apart from - / Deletion) on a tape. Hence The instance is only active in IStatic 0 cases.

Instance details

Defined in ADP.Fusion.PointL.Term.Epsilon

TermStaticVar (OStatic 0) (Epsilon Local) (PointL O) Source # 
Instance details

Defined in ADP.Fusion.PointL.Term.Epsilon

TermStaticVar (OStatic 0) (Epsilon Global) (PointL O) Source # 
Instance details

Defined in ADP.Fusion.PointL.Term.Epsilon

Element ls i => Element (ls :!: Epsilon lg) i Source # 
Instance details

Defined in ADP.Fusion.Core.Term.Epsilon

Associated Types

data Elm (ls :!: Epsilon lg) i :: Type Source #

type RecElm (ls :!: Epsilon lg) i :: Type Source #

type Arg (ls :!: Epsilon lg) :: Type Source #

Methods

getArg :: Elm (ls :!: Epsilon lg) i -> Arg (ls :!: Epsilon lg) Source #

getIdx :: Elm (ls :!: Epsilon lg) i -> RunningIndex i Source #

getElm :: Elm (ls :!: Epsilon lg) i -> RecElm (ls :!: Epsilon lg) i Source #

type Stack (Epsilon lg) Source # 
Instance details

Defined in ADP.Fusion.Core.Term.Epsilon

type Stack (Epsilon lg) = S :!: Epsilon lg
type TermArg (Epsilon lg) Source # 
Instance details

Defined in ADP.Fusion.Core.Term.Epsilon

type TermArg (Epsilon lg) = ()
data Elm (ls :!: Epsilon lg) i Source # 
Instance details

Defined in ADP.Fusion.Core.Term.Epsilon

data Elm (ls :!: Epsilon lg) i = ElmEpsilon !(RunningIndex i) !(Elm ls i)
type Arg (ls :!: Epsilon lg) Source # 
Instance details

Defined in ADP.Fusion.Core.Term.Epsilon

type Arg (ls :!: Epsilon lg) = Arg ls :. ()
type LeftPosTy (IStatic d) (Epsilon Local) (PointL I) Source # 
Instance details

Defined in ADP.Fusion.PointL.Term.Epsilon

type LeftPosTy (IStatic d) (Epsilon Global) (PointL I) Source # 
Instance details

Defined in ADP.Fusion.PointL.Term.Epsilon

type LeftPosTy (IStatic d) (Epsilon Global) (PointR I) Source # 
Instance details

Defined in ADP.Fusion.PointR.Term.Epsilon

type LeftPosTy (OStatic d) (Epsilon Global) (PointL O) Source # 
Instance details

Defined in ADP.Fusion.PointL.Term.Epsilon