uulib-0.9.15: Haskell Utrecht Tools Library

Safe HaskellNone

UU.Parsing.Offside

Synopsis

Documentation

pBlock :: (InputState i s p, OutputState o, Position p, Symbol s, Ord s) => OffsideParser i o s p x -> OffsideParser i o s p y -> OffsideParser i o s p z -> OffsideParser i o s p a -> OffsideParser i o s p [a]Source

pBlock1 :: (InputState i s p, OutputState o, Position p, Symbol s, Ord s) => OffsideParser i o s p x -> OffsideParser i o s p y -> OffsideParser i o s p z -> OffsideParser i o s p a -> OffsideParser i o s p [a]Source

pOffside :: (InputState i s p, OutputState o, Position p, Symbol s, Ord s) => OffsideParser i o s p x -> OffsideParser i o s p y -> OffsideParser i o s p a -> OffsideParser i o s p a -> OffsideParser i o s p aSource

pOpen :: (OutputState o, InputState i s p, Position p, Symbol s, Ord s) => OffsideParser i o s p ()Source

pClose :: (OutputState o, InputState i s p, Position p, Symbol s, Ord s) => OffsideParser i o s p ()Source

scanOffside :: (InputState i s p, Position p, Eq s) => s -> s -> s -> [s] -> i -> OffsideInput i s pSource

convert tokens to offside tokens, dealing with Haskell's layout rule

scanOffsideWithTriggers :: (InputState i s p, Position p, Eq s) => s -> s -> s -> [(OffsideTrigger, s)] -> i -> OffsideInput i s pSource

scanLiftTokensToOffside :: InputState state s pos => state -> OffsideInput inp s pos -> OffsideInput inp s posSource

plainly lift tokens to offside tokens scanLiftTokensToOffside :: (InputState i s p) => [i] -> OffsideInput i s p -> OffsideInput i s p

data OffsideSymbol s Source

Instances

data OffsideInput inp s p Source

Instances

InputState inp s p => InputState (OffsideInput inp s p) (OffsideSymbol s) p 

data Stream inp s p Source

newtype OffsideParser i o s p a Source

Constructors

OP (AnaParser (OffsideInput i s p) o (OffsideSymbol s) p a) 

Instances

(Symbol s, Ord s, InputState i s p, OutputState o) => IsParser (OffsideParser i o s p) s