Safe Haskell | None |
---|---|
Language | Haskell2010 |
Point
index structures are used for left- and right-linear grammars.
Such grammars have at most one syntactic symbol on each r.h.s. of a rule.
The syntactic symbol needs to be in an outermost position.
Synopsis
- newtype PointL t = PointL {
- fromPointL :: Int
- pointLI :: Int -> PointL I
- pointLO :: Int -> PointL O
- pointLC :: Int -> PointL C
- newtype PointR t = PointR {
- fromPointR :: Int
- data SP z = SP !z !Int#
- streamUpMk :: Monad m => Int -> z -> m (SP z)
- streamUpStep :: Monad m => Int -> SP z -> m (Step (SP z) (z :. PointL t))
- streamDownMk :: Monad m => Int -> z -> m (SP z)
- streamDownStep :: Monad m => Int -> SP z -> m (Step (SP z) (z :. PointL t))
Documentation
A point in a left-linear grammar. The syntactic symbol is in left-most position.
PointL | |
|
Instances
A point in a right-linear grammars.
PointR | |
|