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

Safe HaskellNone
LanguageHaskell2010

ADP.Fusion.PointL.Term.Epsilon

Contents

Description

Rules of the type X → ε denote termination of parsing if X is empty.

Orphan instances

(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

Methods

mkStream :: Proxy pos -> (ls :!: Epsilon lg) -> Int# -> LimitType (PointL i) -> PointL i -> Stream m (Elm (ls :!: Epsilon lg) (PointL 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

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

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 #

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

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

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

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