language-oberon-0.2: Parser and pretty-printer for the Oberon programming language

Safe HaskellNone
LanguageHaskell2010

Language.Oberon.AST

Description

Oberon Abstract Syntax Tree definitions

Documentation

data Module f Source #

Instances
(Typeable f, Data (f (Designator f)), Data (f (Expression f)), Data (f (Statement f))) => Data (Module f) Source # 
Instance details

Defined in Language.Oberon.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Module f -> c (Module f) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Module f) #

toConstr :: Module f -> Constr #

dataTypeOf :: Module f -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Module f)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Module f)) #

gmapT :: (forall b. Data b => b -> b) -> Module f -> Module f #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Module f -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Module f -> r #

gmapQ :: (forall d. Data d => d -> u) -> Module f -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Module f -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Module f -> m (Module f) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Module f -> m (Module f) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Module f -> m (Module f) #

(Show (f (Designator f)), Show (f (Expression f)), Show (f (Statement f))) => Show (Module f) Source # 
Instance details

Defined in Language.Oberon.AST

Methods

showsPrec :: Int -> Module f -> ShowS #

show :: Module f -> String #

showList :: [Module f] -> ShowS #

Pretty (Module Identity) # 
Instance details

Defined in Language.Oberon.Pretty

Methods

pretty :: Module Identity -> Doc ann #

prettyList :: [Module Identity] -> Doc ann #

data Declaration f Source #

Instances
(Typeable f, Data (f (Designator f)), Data (f (Expression f)), Data (f (Statement f))) => Data (Declaration f) Source # 
Instance details

Defined in Language.Oberon.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Declaration f -> c (Declaration f) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Declaration f) #

toConstr :: Declaration f -> Constr #

dataTypeOf :: Declaration f -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Declaration f)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Declaration f)) #

gmapT :: (forall b. Data b => b -> b) -> Declaration f -> Declaration f #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Declaration f -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Declaration f -> r #

gmapQ :: (forall d. Data d => d -> u) -> Declaration f -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Declaration f -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Declaration f -> m (Declaration f) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Declaration f -> m (Declaration f) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Declaration f -> m (Declaration f) #

(Show (f (Designator f)), Show (f (Expression f)), Show (f (Statement f))) => Show (Declaration f) Source # 
Instance details

Defined in Language.Oberon.AST

Pretty (Declaration Identity) # 
Instance details

Defined in Language.Oberon.Pretty

data IdentDef Source #

Constructors

IdentDef Ident AccessMode 
Instances
Eq IdentDef Source # 
Instance details

Defined in Language.Oberon.AST

Data IdentDef Source # 
Instance details

Defined in Language.Oberon.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> IdentDef -> c IdentDef #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c IdentDef #

toConstr :: IdentDef -> Constr #

dataTypeOf :: IdentDef -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c IdentDef) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c IdentDef) #

gmapT :: (forall b. Data b => b -> b) -> IdentDef -> IdentDef #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> IdentDef -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> IdentDef -> r #

gmapQ :: (forall d. Data d => d -> u) -> IdentDef -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> IdentDef -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> IdentDef -> m IdentDef #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> IdentDef -> m IdentDef #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> IdentDef -> m IdentDef #

Ord IdentDef Source # 
Instance details

Defined in Language.Oberon.AST

Show IdentDef Source # 
Instance details

Defined in Language.Oberon.AST

Pretty IdentDef # 
Instance details

Defined in Language.Oberon.Pretty

Methods

pretty :: IdentDef -> Doc ann #

prettyList :: [IdentDef] -> Doc ann #

data AccessMode Source #

Constructors

Exported 
ReadOnly 
PrivateOnly 
Instances
Eq AccessMode Source # 
Instance details

Defined in Language.Oberon.AST

Data AccessMode Source # 
Instance details

Defined in Language.Oberon.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> AccessMode -> c AccessMode #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c AccessMode #

toConstr :: AccessMode -> Constr #

dataTypeOf :: AccessMode -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c AccessMode) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c AccessMode) #

gmapT :: (forall b. Data b => b -> b) -> AccessMode -> AccessMode #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> AccessMode -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> AccessMode -> r #

gmapQ :: (forall d. Data d => d -> u) -> AccessMode -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> AccessMode -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> AccessMode -> m AccessMode #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> AccessMode -> m AccessMode #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> AccessMode -> m AccessMode #

Ord AccessMode Source # 
Instance details

Defined in Language.Oberon.AST

Show AccessMode Source # 
Instance details

Defined in Language.Oberon.AST

data Expression f Source #

Instances
(Typeable f, Data (f (Designator f))) => Data (Expression f) Source # 
Instance details

Defined in Language.Oberon.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Expression f -> c (Expression f) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Expression f) #

toConstr :: Expression f -> Constr #

dataTypeOf :: Expression f -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Expression f)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Expression f)) #

gmapT :: (forall b. Data b => b -> b) -> Expression f -> Expression f #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Expression f -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Expression f -> r #

gmapQ :: (forall d. Data d => d -> u) -> Expression f -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Expression f -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Expression f -> m (Expression f) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Expression f -> m (Expression f) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Expression f -> m (Expression f) #

Show (f (Designator f)) => Show (Expression f) Source # 
Instance details

Defined in Language.Oberon.AST

Pretty (Expression Identity) # 
Instance details

Defined in Language.Oberon.Pretty

data RelOp Source #

Instances
Data RelOp Source # 
Instance details

Defined in Language.Oberon.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> RelOp -> c RelOp #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c RelOp #

toConstr :: RelOp -> Constr #

dataTypeOf :: RelOp -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c RelOp) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c RelOp) #

gmapT :: (forall b. Data b => b -> b) -> RelOp -> RelOp #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> RelOp -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> RelOp -> r #

gmapQ :: (forall d. Data d => d -> u) -> RelOp -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> RelOp -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> RelOp -> m RelOp #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> RelOp -> m RelOp #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> RelOp -> m RelOp #

Show RelOp Source # 
Instance details

Defined in Language.Oberon.AST

Methods

showsPrec :: Int -> RelOp -> ShowS #

show :: RelOp -> String #

showList :: [RelOp] -> ShowS #

Pretty RelOp # 
Instance details

Defined in Language.Oberon.Pretty

Methods

pretty :: RelOp -> Doc ann #

prettyList :: [RelOp] -> Doc ann #

data Element f Source #

Constructors

Element (Expression f) 
Range (Expression f) (Expression f) 
Instances
(Typeable f, Data (f (Designator f))) => Data (Element f) Source # 
Instance details

Defined in Language.Oberon.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Element f -> c (Element f) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Element f) #

toConstr :: Element f -> Constr #

dataTypeOf :: Element f -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Element f)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Element f)) #

gmapT :: (forall b. Data b => b -> b) -> Element f -> Element f #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Element f -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Element f -> r #

gmapQ :: (forall d. Data d => d -> u) -> Element f -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Element f -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Element f -> m (Element f) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Element f -> m (Element f) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Element f -> m (Element f) #

Show (f (Designator f)) => Show (Element f) Source # 
Instance details

Defined in Language.Oberon.AST

Methods

showsPrec :: Int -> Element f -> ShowS #

show :: Element f -> String #

showList :: [Element f] -> ShowS #

Pretty (Element Identity) # 
Instance details

Defined in Language.Oberon.Pretty

Methods

pretty :: Element Identity -> Doc ann #

prettyList :: [Element Identity] -> Doc ann #

data Designator f Source #

Instances
(Typeable f, Data (f (Designator f))) => Data (Designator f) Source # 
Instance details

Defined in Language.Oberon.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Designator f -> c (Designator f) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Designator f) #

toConstr :: Designator f -> Constr #

dataTypeOf :: Designator f -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Designator f)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Designator f)) #

gmapT :: (forall b. Data b => b -> b) -> Designator f -> Designator f #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Designator f -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Designator f -> r #

gmapQ :: (forall d. Data d => d -> u) -> Designator f -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Designator f -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Designator f -> m (Designator f) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Designator f -> m (Designator f) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Designator f -> m (Designator f) #

Show (f (Designator f)) => Show (Designator f) Source # 
Instance details

Defined in Language.Oberon.AST

Pretty (Designator Identity) # 
Instance details

Defined in Language.Oberon.Pretty

data Type f Source #

Instances
(Typeable f, Data (f (Designator f)), Data (f (Expression f))) => Data (Type f) Source # 
Instance details

Defined in Language.Oberon.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Type f -> c (Type f) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Type f) #

toConstr :: Type f -> Constr #

dataTypeOf :: Type f -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Type f)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Type f)) #

gmapT :: (forall b. Data b => b -> b) -> Type f -> Type f #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Type f -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Type f -> r #

gmapQ :: (forall d. Data d => d -> u) -> Type f -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Type f -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Type f -> m (Type f) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Type f -> m (Type f) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Type f -> m (Type f) #

(Show (f (Designator f)), Show (f (Expression f))) => Show (Type f) Source # 
Instance details

Defined in Language.Oberon.AST

Methods

showsPrec :: Int -> Type f -> ShowS #

show :: Type f -> String #

showList :: [Type f] -> ShowS #

Pretty (Type Identity) # 
Instance details

Defined in Language.Oberon.Pretty

Methods

pretty :: Type Identity -> Doc ann #

prettyList :: [Type Identity] -> Doc ann #

data QualIdent Source #

Instances
Eq QualIdent Source # 
Instance details

Defined in Language.Oberon.AST

Data QualIdent Source # 
Instance details

Defined in Language.Oberon.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> QualIdent -> c QualIdent #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c QualIdent #

toConstr :: QualIdent -> Constr #

dataTypeOf :: QualIdent -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c QualIdent) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c QualIdent) #

gmapT :: (forall b. Data b => b -> b) -> QualIdent -> QualIdent #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> QualIdent -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> QualIdent -> r #

gmapQ :: (forall d. Data d => d -> u) -> QualIdent -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> QualIdent -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> QualIdent -> m QualIdent #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> QualIdent -> m QualIdent #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> QualIdent -> m QualIdent #

Ord QualIdent Source # 
Instance details

Defined in Language.Oberon.AST

Show QualIdent Source # 
Instance details

Defined in Language.Oberon.AST

Pretty QualIdent # 
Instance details

Defined in Language.Oberon.Pretty

Methods

pretty :: QualIdent -> Doc ann #

prettyList :: [QualIdent] -> Doc ann #

data FieldList f Source #

Instances
(Typeable f, Data (f (Designator f)), Data (f (Expression f))) => Data (FieldList f) Source # 
Instance details

Defined in Language.Oberon.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> FieldList f -> c (FieldList f) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (FieldList f) #

toConstr :: FieldList f -> Constr #

dataTypeOf :: FieldList f -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (FieldList f)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (FieldList f)) #

gmapT :: (forall b. Data b => b -> b) -> FieldList f -> FieldList f #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> FieldList f -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> FieldList f -> r #

gmapQ :: (forall d. Data d => d -> u) -> FieldList f -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> FieldList f -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> FieldList f -> m (FieldList f) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> FieldList f -> m (FieldList f) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> FieldList f -> m (FieldList f) #

(Show (f (Designator f)), Show (f (Expression f))) => Show (FieldList f) Source # 
Instance details

Defined in Language.Oberon.AST

Pretty (FieldList Identity) # 
Instance details

Defined in Language.Oberon.Pretty

data ProcedureHeading f Source #

Instances
(Typeable f, Data (f (Designator f)), Data (f (Expression f))) => Data (ProcedureHeading f) Source # 
Instance details

Defined in Language.Oberon.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ProcedureHeading f -> c (ProcedureHeading f) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (ProcedureHeading f) #

toConstr :: ProcedureHeading f -> Constr #

dataTypeOf :: ProcedureHeading f -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (ProcedureHeading f)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (ProcedureHeading f)) #

gmapT :: (forall b. Data b => b -> b) -> ProcedureHeading f -> ProcedureHeading f #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ProcedureHeading f -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ProcedureHeading f -> r #

gmapQ :: (forall d. Data d => d -> u) -> ProcedureHeading f -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ProcedureHeading f -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ProcedureHeading f -> m (ProcedureHeading f) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ProcedureHeading f -> m (ProcedureHeading f) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ProcedureHeading f -> m (ProcedureHeading f) #

(Show (f (Designator f)), Show (f (Expression f))) => Show (ProcedureHeading f) Source # 
Instance details

Defined in Language.Oberon.AST

Pretty (ProcedureHeading Identity) # 
Instance details

Defined in Language.Oberon.Pretty

data FormalParameters f Source #

Instances
(Typeable f, Data (f (Designator f)), Data (f (Expression f))) => Data (FormalParameters f) Source # 
Instance details

Defined in Language.Oberon.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> FormalParameters f -> c (FormalParameters f) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (FormalParameters f) #

toConstr :: FormalParameters f -> Constr #

dataTypeOf :: FormalParameters f -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (FormalParameters f)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (FormalParameters f)) #

gmapT :: (forall b. Data b => b -> b) -> FormalParameters f -> FormalParameters f #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> FormalParameters f -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> FormalParameters f -> r #

gmapQ :: (forall d. Data d => d -> u) -> FormalParameters f -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> FormalParameters f -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> FormalParameters f -> m (FormalParameters f) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> FormalParameters f -> m (FormalParameters f) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> FormalParameters f -> m (FormalParameters f) #

(Show (f (Designator f)), Show (f (Expression f))) => Show (FormalParameters f) Source # 
Instance details

Defined in Language.Oberon.AST

Pretty (FormalParameters Identity) # 
Instance details

Defined in Language.Oberon.Pretty

data FPSection f Source #

Constructors

FPSection Bool (NonEmpty Ident) (Type f) 
Instances
(Typeable f, Data (f (Designator f)), Data (f (Expression f))) => Data (FPSection f) Source # 
Instance details

Defined in Language.Oberon.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> FPSection f -> c (FPSection f) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (FPSection f) #

toConstr :: FPSection f -> Constr #

dataTypeOf :: FPSection f -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (FPSection f)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (FPSection f)) #

gmapT :: (forall b. Data b => b -> b) -> FPSection f -> FPSection f #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> FPSection f -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> FPSection f -> r #

gmapQ :: (forall d. Data d => d -> u) -> FPSection f -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> FPSection f -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> FPSection f -> m (FPSection f) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> FPSection f -> m (FPSection f) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> FPSection f -> m (FPSection f) #

(Show (f (Designator f)), Show (f (Expression f))) => Show (FPSection f) Source # 
Instance details

Defined in Language.Oberon.AST

Pretty (FPSection Identity) # 
Instance details

Defined in Language.Oberon.Pretty

data ProcedureBody f Source #

Instances
(Typeable f, Data (f (Designator f)), Data (f (Expression f)), Data (f (Statement f))) => Data (ProcedureBody f) Source # 
Instance details

Defined in Language.Oberon.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ProcedureBody f -> c (ProcedureBody f) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (ProcedureBody f) #

toConstr :: ProcedureBody f -> Constr #

dataTypeOf :: ProcedureBody f -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (ProcedureBody f)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (ProcedureBody f)) #

gmapT :: (forall b. Data b => b -> b) -> ProcedureBody f -> ProcedureBody f #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ProcedureBody f -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ProcedureBody f -> r #

gmapQ :: (forall d. Data d => d -> u) -> ProcedureBody f -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ProcedureBody f -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ProcedureBody f -> m (ProcedureBody f) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ProcedureBody f -> m (ProcedureBody f) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ProcedureBody f -> m (ProcedureBody f) #

(Show (f (Designator f)), Show (f (Expression f)), Show (f (Statement f))) => Show (ProcedureBody f) Source # 
Instance details

Defined in Language.Oberon.AST

Pretty (ProcedureBody Identity) # 
Instance details

Defined in Language.Oberon.Pretty

data Statement f Source #

Instances
(Typeable f, Data (f (Designator f)), Data (f (Statement f))) => Data (Statement f) Source # 
Instance details

Defined in Language.Oberon.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Statement f -> c (Statement f) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Statement f) #

toConstr :: Statement f -> Constr #

dataTypeOf :: Statement f -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Statement f)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Statement f)) #

gmapT :: (forall b. Data b => b -> b) -> Statement f -> Statement f #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Statement f -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Statement f -> r #

gmapQ :: (forall d. Data d => d -> u) -> Statement f -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Statement f -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Statement f -> m (Statement f) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Statement f -> m (Statement f) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Statement f -> m (Statement f) #

(Show (f (Designator f)), Show (f (Statement f))) => Show (Statement f) Source # 
Instance details

Defined in Language.Oberon.AST

Pretty (Statement Identity) # 
Instance details

Defined in Language.Oberon.Pretty

data WithAlternative f Source #

Instances
(Typeable f, Data (f (Designator f)), Data (f (Statement f))) => Data (WithAlternative f) Source # 
Instance details

Defined in Language.Oberon.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> WithAlternative f -> c (WithAlternative f) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (WithAlternative f) #

toConstr :: WithAlternative f -> Constr #

dataTypeOf :: WithAlternative f -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (WithAlternative f)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (WithAlternative f)) #

gmapT :: (forall b. Data b => b -> b) -> WithAlternative f -> WithAlternative f #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> WithAlternative f -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> WithAlternative f -> r #

gmapQ :: (forall d. Data d => d -> u) -> WithAlternative f -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> WithAlternative f -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> WithAlternative f -> m (WithAlternative f) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> WithAlternative f -> m (WithAlternative f) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> WithAlternative f -> m (WithAlternative f) #

(Show (f (Designator f)), Show (f (Statement f))) => Show (WithAlternative f) Source # 
Instance details

Defined in Language.Oberon.AST

Pretty (WithAlternative Identity) # 
Instance details

Defined in Language.Oberon.Pretty

data Case f Source #

Instances
(Typeable f, Data (f (Designator f)), Data (f (Statement f))) => Data (Case f) Source # 
Instance details

Defined in Language.Oberon.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Case f -> c (Case f) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Case f) #

toConstr :: Case f -> Constr #

dataTypeOf :: Case f -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Case f)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Case f)) #

gmapT :: (forall b. Data b => b -> b) -> Case f -> Case f #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Case f -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Case f -> r #

gmapQ :: (forall d. Data d => d -> u) -> Case f -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Case f -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Case f -> m (Case f) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Case f -> m (Case f) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Case f -> m (Case f) #

(Show (f (Designator f)), Show (f (Statement f))) => Show (Case f) Source # 
Instance details

Defined in Language.Oberon.AST

Methods

showsPrec :: Int -> Case f -> ShowS #

show :: Case f -> String #

showList :: [Case f] -> ShowS #

Pretty (Case Identity) # 
Instance details

Defined in Language.Oberon.Pretty

Methods

pretty :: Case Identity -> Doc ann #

prettyList :: [Case Identity] -> Doc ann #

data CaseLabels f Source #

Instances
(Typeable f, Data (f (Designator f))) => Data (CaseLabels f) Source # 
Instance details

Defined in Language.Oberon.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> CaseLabels f -> c (CaseLabels f) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (CaseLabels f) #

toConstr :: CaseLabels f -> Constr #

dataTypeOf :: CaseLabels f -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (CaseLabels f)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (CaseLabels f)) #

gmapT :: (forall b. Data b => b -> b) -> CaseLabels f -> CaseLabels f #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> CaseLabels f -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> CaseLabels f -> r #

gmapQ :: (forall d. Data d => d -> u) -> CaseLabels f -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> CaseLabels f -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> CaseLabels f -> m (CaseLabels f) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> CaseLabels f -> m (CaseLabels f) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> CaseLabels f -> m (CaseLabels f) #

Show (f (Designator f)) => Show (CaseLabels f) Source # 
Instance details

Defined in Language.Oberon.AST

Pretty (CaseLabels Identity) # 
Instance details

Defined in Language.Oberon.Pretty