ADPfusion-0.6.0.0: Efficient, high-level dynamic programming.
ADP.Fusion.PointL.Term.Epsilon
Contents
Description
Rules of the type X → ε denote termination of parsing if X is empty.
X → ε
X
Methods
mkStream :: Proxy pos -> (ls :!: Epsilon lg) -> Int# -> LimitType (PointL i) -> PointL i -> Stream m (Elm (ls :!: Epsilon lg) (PointL i)) Source #
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 #
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 #
termStreamIndex :: Proxy (IStatic 0) -> Epsilon Local -> PointL I -> PointL I Source #
termStaticCheck :: Proxy (IStatic 0) -> Epsilon Local -> LimitType (PointL I) -> PointL I -> Int# -> Int# 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.
ε / Epsilon
- / Deletion
IStatic 0
termStreamIndex :: Proxy (IStatic 0) -> Epsilon Global -> PointL I -> PointL I Source #
termStaticCheck :: Proxy (IStatic 0) -> Epsilon Global -> LimitType (PointL I) -> PointL I -> Int# -> Int# Source #
termStreamIndex :: Proxy (OStatic 0) -> Epsilon Local -> PointL O -> PointL O Source #
termStaticCheck :: Proxy (OStatic 0) -> Epsilon Local -> LimitType (PointL O) -> PointL O -> Int# -> Int# Source #
termStreamIndex :: Proxy (OStatic 0) -> Epsilon Global -> PointL O -> PointL O Source #
termStaticCheck :: Proxy (OStatic 0) -> Epsilon Global -> LimitType (PointL O) -> PointL O -> Int# -> Int# Source #