| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
ADP.Fusion.Core.Term.Str
Documentation
data Str (linked :: Maybe Symbol) (minSz :: Nat) (maxSz :: Maybe Nat) v x where Source #
A Str wraps an input vector and provides type-level annotations on
linked Str's, their minimal and maximal size.
If linked ∷ Maybe Symbol is set to Just aName, then all Str's that are
part of the same rule share their size information. This allows rules of the
kind X -> a Y b where a,b have a common maximal size.
minSz and maxSz provide minimal and maximal parser width, if set.
TODO consider if maxSz could do with just Nat
Instances
| (TermStream m (Z :. pos) (TermSymbol M (Str linked minSz maxSz v x)) (Elm (Term1 (Elm ls (PointL i))) (Z :. PointL i)) (Z :. PointL i), posLeft ~ LeftPosTy pos (Str linked minSz maxSz v x) (PointL i), TermStaticVar pos (Str linked minSz maxSz v x) (PointL i), MkStream m posLeft ls (PointL i)) => MkStream m (pos :: Type) (ls :!: Str linked minSz maxSz v x) (PointL i) Source # | |
| TermStreamContext m ps ts s x0 i0 is (PointL I) => TermStream m (ps :. IStatic d :: Type) (TermSymbol ts (Str (Nothing :: Maybe Symbol) minSz (Nothing :: Maybe Nat) v x)) s (is :. PointL I) Source # | Note that the |
Defined in ADP.Fusion.PointL.Term.Str | |
| KnownNat minSz => TermStaticVar (IStatic d :: Type) (Str (Nothing :: Maybe Symbol) minSz (Nothing :: Maybe Nat) v x) (PointL I) Source # | |
| (Show i, Show (RunningIndex i), Show (v x), Show (Elm ls i)) => Show (Elm (ls :!: Str linked minSz maxSz v x) i) Source # | |
| (Element ls i, Vector v x) => Element (ls :!: Str linked minSz maxSz v x) i Source # | |
| Build (Str linked minSz maxSz v x) Source # | |
| data Elm (ls :!: Str linked minSz maxSz v x) i Source # | |
Defined in ADP.Fusion.Core.Term.Str | |
| type Arg (ls :!: Str linked minSz maxSz v x) Source # | |
| type LeftPosTy (IVariable d) (Str linked minSz maxSz v x) (PointL I) Source # | |
| type LeftPosTy (IStatic d) (Str linked minSz maxSz v x) (PointL I) Source # | |
| type Stack (Str linked minSz maxSz v x) Source # | |
| type TermArg (Str linked minSz maxSz v x) Source # | |
Defined in ADP.Fusion.Core.Term.Str | |