fortran-src-0.1.0.3: Parser and anlyses for Fortran standards 66, 77, 90.

Safe HaskellNone
LanguageHaskell2010

Language.Fortran.AST

Contents

Documentation

type A0 = () Source #

data AList t a Source #

Constructors

AList a SrcSpan [t a] 

Instances

Functor t => Functor (AList t) Source # 

Methods

fmap :: (a -> b) -> AList t a -> AList t b #

(<$) :: a -> AList t b -> AList t a #

Annotated (AList t) Source # 

Methods

getAnnotation :: AList t a -> a Source #

setAnnotation :: a -> AList t a -> AList t a Source #

modifyAnnotation :: (a -> a) -> AList t a -> AList t a Source #

(Eq a, Eq (t a)) => Eq (AList t a) Source # 

Methods

(==) :: AList t a -> AList t a -> Bool #

(/=) :: AList t a -> AList t a -> Bool #

(Data a, Data (t a), Typeable (* -> *) t) => Data (AList t a) Source # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> AList t a -> c (AList t a) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (AList t a) #

toConstr :: AList t a -> Constr #

dataTypeOf :: AList t a -> DataType #

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

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

gmapT :: (forall b. Data b => b -> b) -> AList t a -> AList t a #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> AList t a -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> AList t a -> r #

gmapQ :: (forall d. Data d => d -> u) -> AList t a -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> AList t a -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> AList t a -> m (AList t a) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> AList t a -> m (AList t a) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> AList t a -> m (AList t a) #

(Show a, Show (t a)) => Show (AList t a) Source # 

Methods

showsPrec :: Int -> AList t a -> ShowS #

show :: AList t a -> String #

showList :: [AList t a] -> ShowS #

Generic (AList t a) Source # 

Associated Types

type Rep (AList t a) :: * -> * #

Methods

from :: AList t a -> Rep (AList t a) x #

to :: Rep (AList t a) x -> AList t a #

(Out a, Out (t a)) => Out (AList t a) Source # 

Methods

docPrec :: Int -> AList t a -> Doc #

doc :: AList t a -> Doc #

docList :: [AList t a] -> Doc #

Spanned (AList t a) Source # 

Methods

getSpan :: AList t a -> SrcSpan Source #

setSpan :: SrcSpan -> AList t a -> AList t a Source #

Pretty (e a) => Pretty (AList e a) Source # 

Methods

pprint' :: FortranVersion -> AList e a -> Doc Source #

SecondParameter (AList t a) SrcSpan Source # 
FirstParameter (AList t a) a Source # 

Methods

getFirstParameter :: AList t a -> a Source #

setFirstParameter :: a -> AList t a -> AList t a Source #

type Rep (AList t a) Source # 

fromList :: Spanned (t a) => a -> [t a] -> AList t a Source #

fromReverseList :: Spanned (t ()) => [t ()] -> AList t () Source #

aCons :: t a -> AList t a -> AList t a infixr 5 Source #

aReverse :: AList t a -> AList t a Source #

aStrip :: AList t a -> [t a] Source #

aMap :: (t a -> r a) -> AList t a -> AList r a Source #

data BaseType Source #

Instances

Eq BaseType Source # 
Data BaseType Source # 

Methods

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

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

toConstr :: BaseType -> Constr #

dataTypeOf :: BaseType -> DataType #

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

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

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

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

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

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

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

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

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

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

Show BaseType Source # 
Generic BaseType Source # 

Associated Types

type Rep BaseType :: * -> * #

Methods

from :: BaseType -> Rep BaseType x #

to :: Rep BaseType x -> BaseType #

Out BaseType Source # 

Methods

docPrec :: Int -> BaseType -> Doc #

doc :: BaseType -> Doc #

docList :: [BaseType] -> Doc #

Pretty BaseType Source # 
type Rep BaseType Source # 
type Rep BaseType = D1 (MetaData "BaseType" "Language.Fortran.AST" "fortran-src-0.1.0.3-91DD86MnaFR2VbfFJIGSH6" False) ((:+:) ((:+:) ((:+:) (C1 (MetaCons "TypeInteger" PrefixI False) U1) (C1 (MetaCons "TypeReal" PrefixI False) U1)) ((:+:) (C1 (MetaCons "TypeDoublePrecision" PrefixI False) U1) (C1 (MetaCons "TypeComplex" PrefixI False) U1))) ((:+:) ((:+:) (C1 (MetaCons "TypeDoubleComplex" PrefixI False) U1) (C1 (MetaCons "TypeLogical" PrefixI False) U1)) ((:+:) (C1 (MetaCons "TypeCharacter" PrefixI False) U1) (C1 (MetaCons "TypeCustom" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 String))))))

data TypeSpec a Source #

Constructors

TypeSpec a SrcSpan BaseType (Maybe (Selector a)) 

Instances

Functor TypeSpec Source # 

Methods

fmap :: (a -> b) -> TypeSpec a -> TypeSpec b #

(<$) :: a -> TypeSpec b -> TypeSpec a #

Annotated TypeSpec Source # 
Eq a => Eq (TypeSpec a) Source # 

Methods

(==) :: TypeSpec a -> TypeSpec a -> Bool #

(/=) :: TypeSpec a -> TypeSpec a -> Bool #

Data a => Data (TypeSpec a) Source # 

Methods

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

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

toConstr :: TypeSpec a -> Constr #

dataTypeOf :: TypeSpec a -> DataType #

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

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

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

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

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

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

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

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

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

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

Show a => Show (TypeSpec a) Source # 

Methods

showsPrec :: Int -> TypeSpec a -> ShowS #

show :: TypeSpec a -> String #

showList :: [TypeSpec a] -> ShowS #

Generic (TypeSpec a) Source # 

Associated Types

type Rep (TypeSpec a) :: * -> * #

Methods

from :: TypeSpec a -> Rep (TypeSpec a) x #

to :: Rep (TypeSpec a) x -> TypeSpec a #

Out a => Out (TypeSpec a) Source # 

Methods

docPrec :: Int -> TypeSpec a -> Doc #

doc :: TypeSpec a -> Doc #

docList :: [TypeSpec a] -> Doc #

Spanned (TypeSpec a) Source # 
Pretty (TypeSpec a) Source # 
SecondParameter (TypeSpec a) SrcSpan Source # 
FirstParameter (TypeSpec a) a Source # 
type Rep (TypeSpec a) Source # 

data Selector a Source #

Constructors

Selector a SrcSpan (Maybe (Expression a)) (Maybe (Expression a)) 

Instances

Functor Selector Source # 

Methods

fmap :: (a -> b) -> Selector a -> Selector b #

(<$) :: a -> Selector b -> Selector a #

Annotated Selector Source # 
Eq a => Eq (Selector a) Source # 

Methods

(==) :: Selector a -> Selector a -> Bool #

(/=) :: Selector a -> Selector a -> Bool #

Data a => Data (Selector a) Source # 

Methods

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

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

toConstr :: Selector a -> Constr #

dataTypeOf :: Selector a -> DataType #

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

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

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

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

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

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

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

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

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

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

Show a => Show (Selector a) Source # 

Methods

showsPrec :: Int -> Selector a -> ShowS #

show :: Selector a -> String #

showList :: [Selector a] -> ShowS #

Generic (Selector a) Source # 

Associated Types

type Rep (Selector a) :: * -> * #

Methods

from :: Selector a -> Rep (Selector a) x #

to :: Rep (Selector a) x -> Selector a #

Out a => Out (Selector a) Source # 

Methods

docPrec :: Int -> Selector a -> Doc #

doc :: Selector a -> Doc #

docList :: [Selector a] -> Doc #

Spanned (Selector a) Source # 
Pretty (Selector a) Source # 
SecondParameter (Selector a) SrcSpan Source # 
FirstParameter (Selector a) a Source # 
type Rep (Selector a) Source # 

data MetaInfo Source #

Constructors

MetaInfo 

Instances

Eq MetaInfo Source # 
Data MetaInfo Source # 

Methods

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

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

toConstr :: MetaInfo -> Constr #

dataTypeOf :: MetaInfo -> DataType #

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

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

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

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

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

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

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

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

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

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

Show MetaInfo Source # 
Generic MetaInfo Source # 

Associated Types

type Rep MetaInfo :: * -> * #

Methods

from :: MetaInfo -> Rep MetaInfo x #

to :: Rep MetaInfo x -> MetaInfo #

Out MetaInfo Source # 

Methods

docPrec :: Int -> MetaInfo -> Doc #

doc :: MetaInfo -> Doc #

docList :: [MetaInfo] -> Doc #

type Rep MetaInfo Source # 
type Rep MetaInfo = D1 (MetaData "MetaInfo" "Language.Fortran.AST" "fortran-src-0.1.0.3-91DD86MnaFR2VbfFJIGSH6" False) (C1 (MetaCons "MetaInfo" PrefixI True) (S1 (MetaSel (Just Symbol "miVersion") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FortranVersion)))

data ProgramFile a Source #

Constructors

ProgramFile MetaInfo [([Block a], ProgramUnit a)] [Block a] 

Instances

Functor ProgramFile Source # 

Methods

fmap :: (a -> b) -> ProgramFile a -> ProgramFile b #

(<$) :: a -> ProgramFile b -> ProgramFile a #

Eq a => Eq (ProgramFile a) Source # 
Data a => Data (ProgramFile a) Source # 

Methods

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

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

toConstr :: ProgramFile a -> Constr #

dataTypeOf :: ProgramFile a -> DataType #

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

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

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

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

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

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

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

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

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

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

Show a => Show (ProgramFile a) Source # 
Generic (ProgramFile a) Source # 

Associated Types

type Rep (ProgramFile a) :: * -> * #

Methods

from :: ProgramFile a -> Rep (ProgramFile a) x #

to :: Rep (ProgramFile a) x -> ProgramFile a #

Out a => Out (ProgramFile a) Source # 

Methods

docPrec :: Int -> ProgramFile a -> Doc #

doc :: ProgramFile a -> Doc #

docList :: [ProgramFile a] -> Doc #

IndentablePretty (ProgramFile a) Source # 
type Rep (ProgramFile a) Source # 

data ProgramUnit a Source #

Instances

Functor ProgramUnit Source # 

Methods

fmap :: (a -> b) -> ProgramUnit a -> ProgramUnit b #

(<$) :: a -> ProgramUnit b -> ProgramUnit a #

Annotated ProgramUnit Source # 
Eq a => Eq (ProgramUnit a) Source # 
Data a => Data (ProgramUnit a) Source # 

Methods

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

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

toConstr :: ProgramUnit a -> Constr #

dataTypeOf :: ProgramUnit a -> DataType #

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

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

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

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

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

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

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

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

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

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

Show a => Show (ProgramUnit a) Source # 
Generic (ProgramUnit a) Source # 

Associated Types

type Rep (ProgramUnit a) :: * -> * #

Methods

from :: ProgramUnit a -> Rep (ProgramUnit a) x #

to :: Rep (ProgramUnit a) x -> ProgramUnit a #

Out a => Out (ProgramUnit a) Source # 

Methods

docPrec :: Int -> ProgramUnit a -> Doc #

doc :: ProgramUnit a -> Doc #

docList :: [ProgramUnit a] -> Doc #

Spanned (ProgramUnit a) Source # 
Named (ProgramUnit a) Source # 
IndentablePretty [ProgramUnit a] Source # 
IndentablePretty (ProgramUnit a) Source # 
SecondParameter (ProgramUnit a) SrcSpan Source # 
FirstParameter (ProgramUnit a) a Source # 
type Rep (ProgramUnit a) Source # 
type Rep (ProgramUnit a) = D1 (MetaData "ProgramUnit" "Language.Fortran.AST" "fortran-src-0.1.0.3-91DD86MnaFR2VbfFJIGSH6" False) ((:+:) ((:+:) (C1 (MetaCons "PUMain" PrefixI False) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Name))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Block a])) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe [ProgramUnit a]))))))) (C1 (MetaCons "PUModule" PrefixI False) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Block a])) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe [ProgramUnit a])))))))) ((:+:) (C1 (MetaCons "PUSubroutine" PrefixI False) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Bool)))) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe (AList Expression a))))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Block a])) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe [ProgramUnit a]))))))) ((:+:) (C1 (MetaCons "PUFunction" PrefixI False) ((:*:) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe (TypeSpec a)))) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Bool)))) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe (AList Expression a))))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe (Expression a)))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Block a])) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe [ProgramUnit a])))))))) (C1 (MetaCons "PUBlockData" PrefixI False) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Name))) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Block a]))))))))

data Block a Source #

Instances

Functor Block Source # 

Methods

fmap :: (a -> b) -> Block a -> Block b #

(<$) :: a -> Block b -> Block a #

Conditioned Block Source # 
Labeled Block Source # 
Annotated Block Source # 

Methods

getAnnotation :: Block a -> a Source #

setAnnotation :: a -> Block a -> Block a Source #

modifyAnnotation :: (a -> a) -> Block a -> Block a Source #

Eq a => Eq (Block a) Source # 

Methods

(==) :: Block a -> Block a -> Bool #

(/=) :: Block a -> Block a -> Bool #

Data a => Data (Block a) Source # 

Methods

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

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

toConstr :: Block a -> Constr #

dataTypeOf :: Block a -> DataType #

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

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

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

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

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

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

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

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

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

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

Show a => Show (Block a) Source # 

Methods

showsPrec :: Int -> Block a -> ShowS #

show :: Block a -> String #

showList :: [Block a] -> ShowS #

Generic (Block a) Source # 

Associated Types

type Rep (Block a) :: * -> * #

Methods

from :: Block a -> Rep (Block a) x #

to :: Rep (Block a) x -> Block a #

Out a => Out (Block a) Source # 

Methods

docPrec :: Int -> Block a -> Doc #

doc :: Block a -> Doc #

docList :: [Block a] -> Doc #

Spanned (Block a) Source # 
IndentablePretty [Block a] Source # 
IndentablePretty (Block a) Source # 
SecondParameter (Block a) SrcSpan Source # 
FirstParameter (Block a) a Source # 
type Rep (Block a) Source # 
type Rep (Block a) = D1 (MetaData "Block" "Language.Fortran.AST" "fortran-src-0.1.0.3-91DD86MnaFR2VbfFJIGSH6" False) ((:+:) ((:+:) (C1 (MetaCons "BlStatement" PrefixI False) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe (Expression a)))) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Statement a)))))) ((:+:) (C1 (MetaCons "BlIf" PrefixI False) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe (Expression a)))))) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe String))) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Maybe (Expression a)]))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [[Block a]])) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe (Expression a)))))))) (C1 (MetaCons "BlCase" PrefixI False) ((:*:) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe (Expression a)))) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe String))))) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Expression a))) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Maybe (AList Index a)]))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [[Block a]])) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe (Expression a)))))))))) ((:+:) ((:+:) (C1 (MetaCons "BlDo" PrefixI False) ((:*:) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe (Expression a)))) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe String))))) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe (Expression a)))) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe (DoSpecification a))))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Block a])) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe (Expression a)))))))) (C1 (MetaCons "BlDoWhile" PrefixI False) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe (Expression a)))))) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe String))) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Expression a)))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Block a])) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe (Expression a))))))))) ((:+:) (C1 (MetaCons "BlInterface" PrefixI False) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe (Expression a)))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [ProgramUnit a])) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Block a])))))) (C1 (MetaCons "BlComment" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 String))))))))

data Statement a Source #

Constructors

StDeclaration a SrcSpan (TypeSpec a) (Maybe (AList Attribute a)) (AList Declarator a) 
StIntent a SrcSpan Intent (AList Expression a) 
StOptional a SrcSpan (AList Expression a) 
StPublic a SrcSpan (Maybe (AList Expression a)) 
StPrivate a SrcSpan (Maybe (AList Expression a)) 
StSave a SrcSpan (Maybe (AList Expression a)) 
StDimension a SrcSpan (AList Declarator a) 
StAllocatable a SrcSpan (AList Declarator a) 
StPointer a SrcSpan (AList Declarator a) 
StTarget a SrcSpan (AList Declarator a) 
StData a SrcSpan (AList DataGroup a) 
StNamelist a SrcSpan (AList Namelist a) 
StParameter a SrcSpan (AList Declarator a) 
StExternal a SrcSpan (AList Expression a) 
StIntrinsic a SrcSpan (AList Expression a) 
StCommon a SrcSpan (AList CommonGroup a) 
StEquivalence a SrcSpan (AList (AList Expression) a) 
StFormat a SrcSpan (AList FormatItem a) 
StImplicit a SrcSpan (Maybe (AList ImpList a)) 
StEntry a SrcSpan (Expression a) (Maybe (AList Expression a)) (Maybe (Expression a)) 
StInclude a SrcSpan (Expression a) 
StDo a SrcSpan (Maybe String) (Maybe (Expression a)) (Maybe (DoSpecification a)) 
StDoWhile a SrcSpan (Maybe String) (Maybe (Expression a)) (Expression a) 
StEnddo a SrcSpan (Maybe String) 
StCycle a SrcSpan (Maybe (Expression a)) 
StExit a SrcSpan (Maybe (Expression a)) 
StIfLogical a SrcSpan (Expression a) (Statement a) 
StIfArithmetic a SrcSpan (Expression a) (Expression a) (Expression a) (Expression a) 
StIfThen a SrcSpan (Maybe String) (Expression a) 
StElse a SrcSpan (Maybe String) 
StElsif a SrcSpan (Maybe String) (Expression a) 
StEndif a SrcSpan (Maybe String) 
StSelectCase a SrcSpan (Maybe String) (Expression a) 
StCase a SrcSpan (Maybe String) (Maybe (AList Index a)) 
StEndcase a SrcSpan (Maybe String) 
StFunction a SrcSpan (Expression a) (AList Expression a) (Expression a) 
StExpressionAssign a SrcSpan (Expression a) (Expression a) 
StPointerAssign a SrcSpan (Expression a) (Expression a) 
StLabelAssign a SrcSpan (Expression a) (Expression a) 
StGotoUnconditional a SrcSpan (Expression a) 
StGotoAssigned a SrcSpan (Expression a) (AList Expression a) 
StGotoComputed a SrcSpan (AList Expression a) (Expression a) 
StCall a SrcSpan (Expression a) (Maybe (AList Argument a)) 
StReturn a SrcSpan (Maybe (Expression a)) 
StContinue a SrcSpan 
StStop a SrcSpan (Maybe (Expression a)) 
StPause a SrcSpan (Maybe (Expression a)) 
StRead a SrcSpan (AList ControlPair a) (Maybe (AList Expression a)) 
StRead2 a SrcSpan (Expression a) (Maybe (AList Expression a)) 
StWrite a SrcSpan (AList ControlPair a) (Maybe (AList Expression a)) 
StPrint a SrcSpan (Expression a) (Maybe (AList Expression a)) 
StOpen a SrcSpan (AList ControlPair a) 
StClose a SrcSpan (AList ControlPair a) 
StInquire a SrcSpan (AList ControlPair a) 
StRewind a SrcSpan (AList ControlPair a) 
StRewind2 a SrcSpan (Expression a) 
StBackspace a SrcSpan (AList ControlPair a) 
StBackspace2 a SrcSpan (Expression a) 
StEndfile a SrcSpan (AList ControlPair a) 
StEndfile2 a SrcSpan (Expression a) 
StAllocate a SrcSpan (AList Expression a) (Maybe (ControlPair a)) 
StNullify a SrcSpan (AList Expression a) 
StDeallocate a SrcSpan (AList Expression a) (Maybe (ControlPair a)) 
StWhere a SrcSpan (Expression a) (Statement a) 
StWhereConstruct a SrcSpan (Expression a) 
StElsewhere a SrcSpan 
StEndWhere a SrcSpan 
StUse a SrcSpan (Expression a) Only (Maybe (AList Use a)) 
StModuleProcedure a SrcSpan (AList Expression a) 
StType a SrcSpan (Maybe (AList Attribute a)) String 
StEndType a SrcSpan (Maybe String) 
StSequence a SrcSpan 
StFormatBogus a SrcSpan String 

Instances

Functor Statement Source # 

Methods

fmap :: (a -> b) -> Statement a -> Statement b #

(<$) :: a -> Statement b -> Statement a #

Conditioned Statement Source # 
Annotated Statement Source # 
Eq a => Eq (Statement a) Source # 

Methods

(==) :: Statement a -> Statement a -> Bool #

(/=) :: Statement a -> Statement a -> Bool #

Data a => Data (Statement a) Source # 

Methods

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

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

toConstr :: Statement a -> Constr #

dataTypeOf :: Statement a -> DataType #

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

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

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

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

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

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

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

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

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

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

Show a => Show (Statement a) Source # 
Generic (Statement a) Source # 

Associated Types

type Rep (Statement a) :: * -> * #

Methods

from :: Statement a -> Rep (Statement a) x #

to :: Rep (Statement a) x -> Statement a #

Out a => Out (Statement a) Source # 

Methods

docPrec :: Int -> Statement a -> Doc #

doc :: Statement a -> Doc #

docList :: [Statement a] -> Doc #

Spanned (Statement a) Source # 
Pretty (Statement a) Source # 
SecondParameter (Statement a) SrcSpan Source # 
FirstParameter (Statement a) a Source # 
type Rep (Statement a) Source # 
type Rep (Statement a) = D1 (MetaData "Statement" "Language.Fortran.AST" "fortran-src-0.1.0.3-91DD86MnaFR2VbfFJIGSH6" False) ((:+:) ((:+:) ((:+:) ((:+:) ((:+:) ((:+:) (C1 (MetaCons "StDeclaration" PrefixI False) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (TypeSpec a))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe (AList Attribute a)))) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (AList Declarator a))))))) (C1 (MetaCons "StIntent" PrefixI False) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Intent)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (AList Expression a))))))) ((:+:) (C1 (MetaCons "StOptional" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (AList Expression a)))))) (C1 (MetaCons "StPublic" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe (AList Expression a))))))))) ((:+:) ((:+:) (C1 (MetaCons "StPrivate" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe (AList Expression a))))))) (C1 (MetaCons "StSave" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe (AList Expression a)))))))) ((:+:) (C1 (MetaCons "StDimension" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (AList Declarator a)))))) ((:+:) (C1 (MetaCons "StAllocatable" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (AList Declarator a)))))) (C1 (MetaCons "StPointer" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (AList Declarator a)))))))))) ((:+:) ((:+:) ((:+:) (C1 (MetaCons "StTarget" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (AList Declarator a)))))) (C1 (MetaCons "StData" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (AList DataGroup a))))))) ((:+:) (C1 (MetaCons "StNamelist" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (AList Namelist a)))))) (C1 (MetaCons "StParameter" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (AList Declarator a)))))))) ((:+:) ((:+:) (C1 (MetaCons "StExternal" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (AList Expression a)))))) (C1 (MetaCons "StIntrinsic" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (AList Expression a))))))) ((:+:) (C1 (MetaCons "StCommon" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (AList CommonGroup a)))))) ((:+:) (C1 (MetaCons "StEquivalence" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (AList (AList Expression) a)))))) (C1 (MetaCons "StFormat" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (AList FormatItem a))))))))))) ((:+:) ((:+:) ((:+:) ((:+:) (C1 (MetaCons "StImplicit" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe (AList ImpList a))))))) (C1 (MetaCons "StEntry" PrefixI False) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Expression a))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe (AList Expression a)))) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe (Expression a))))))))) ((:+:) (C1 (MetaCons "StInclude" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Expression a)))))) (C1 (MetaCons "StDo" PrefixI False) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe String))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe (Expression a)))) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe (DoSpecification a)))))))))) ((:+:) ((:+:) (C1 (MetaCons "StDoWhile" PrefixI False) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe String))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe (Expression a)))) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Expression a))))))) (C1 (MetaCons "StEnddo" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe String))))))) ((:+:) (C1 (MetaCons "StCycle" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe (Expression a))))))) ((:+:) (C1 (MetaCons "StExit" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe (Expression a))))))) (C1 (MetaCons "StIfLogical" PrefixI False) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Expression a))) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Statement a)))))))))) ((:+:) ((:+:) ((:+:) (C1 (MetaCons "StIfArithmetic" PrefixI False) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Expression a))))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Expression a))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Expression a))) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Expression a))))))) (C1 (MetaCons "StIfThen" PrefixI False) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe String))) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Expression a))))))) ((:+:) (C1 (MetaCons "StElse" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe String)))))) (C1 (MetaCons "StElsif" PrefixI False) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe String))) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Expression a)))))))) ((:+:) ((:+:) (C1 (MetaCons "StEndif" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe String)))))) (C1 (MetaCons "StSelectCase" PrefixI False) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe String))) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Expression a))))))) ((:+:) (C1 (MetaCons "StCase" PrefixI False) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe String))) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe (AList Index a))))))) ((:+:) (C1 (MetaCons "StEndcase" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe String)))))) (C1 (MetaCons "StFunction" PrefixI False) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Expression a))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (AList Expression a))) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Expression a))))))))))))) ((:+:) ((:+:) ((:+:) ((:+:) ((:+:) (C1 (MetaCons "StExpressionAssign" PrefixI False) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Expression a))) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Expression a)))))) (C1 (MetaCons "StPointerAssign" PrefixI False) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Expression a))) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Expression a))))))) ((:+:) (C1 (MetaCons "StLabelAssign" PrefixI False) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Expression a))) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Expression a)))))) (C1 (MetaCons "StGotoUnconditional" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Expression a)))))))) ((:+:) ((:+:) (C1 (MetaCons "StGotoAssigned" PrefixI False) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Expression a))) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (AList Expression a)))))) (C1 (MetaCons "StGotoComputed" PrefixI False) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (AList Expression a))) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Expression a))))))) ((:+:) (C1 (MetaCons "StCall" PrefixI False) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Expression a))) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe (AList Argument a))))))) ((:+:) (C1 (MetaCons "StReturn" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe (Expression a))))))) (C1 (MetaCons "StContinue" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan)))))))) ((:+:) ((:+:) ((:+:) (C1 (MetaCons "StStop" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe (Expression a))))))) (C1 (MetaCons "StPause" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe (Expression a)))))))) ((:+:) (C1 (MetaCons "StRead" PrefixI False) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (AList ControlPair a))) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe (AList Expression a))))))) (C1 (MetaCons "StRead2" PrefixI False) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Expression a))) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe (AList Expression a))))))))) ((:+:) ((:+:) (C1 (MetaCons "StWrite" PrefixI False) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (AList ControlPair a))) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe (AList Expression a))))))) (C1 (MetaCons "StPrint" PrefixI False) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Expression a))) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe (AList Expression a)))))))) ((:+:) (C1 (MetaCons "StOpen" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (AList ControlPair a)))))) ((:+:) (C1 (MetaCons "StClose" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (AList ControlPair a)))))) (C1 (MetaCons "StInquire" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (AList ControlPair a))))))))))) ((:+:) ((:+:) ((:+:) ((:+:) (C1 (MetaCons "StRewind" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (AList ControlPair a)))))) (C1 (MetaCons "StRewind2" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Expression a))))))) ((:+:) (C1 (MetaCons "StBackspace" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (AList ControlPair a)))))) (C1 (MetaCons "StBackspace2" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Expression a)))))))) ((:+:) ((:+:) (C1 (MetaCons "StEndfile" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (AList ControlPair a)))))) (C1 (MetaCons "StEndfile2" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Expression a))))))) ((:+:) (C1 (MetaCons "StAllocate" PrefixI False) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (AList Expression a))) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe (ControlPair a))))))) ((:+:) (C1 (MetaCons "StNullify" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (AList Expression a)))))) (C1 (MetaCons "StDeallocate" PrefixI False) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (AList Expression a))) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe (ControlPair a))))))))))) ((:+:) ((:+:) ((:+:) (C1 (MetaCons "StWhere" PrefixI False) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Expression a))) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Statement a)))))) (C1 (MetaCons "StWhereConstruct" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Expression a))))))) ((:+:) (C1 (MetaCons "StElsewhere" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan)))) ((:+:) (C1 (MetaCons "StEndWhere" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan)))) (C1 (MetaCons "StUse" PrefixI False) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Expression a))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Only)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe (AList Use a))))))))))) ((:+:) ((:+:) (C1 (MetaCons "StModuleProcedure" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (AList Expression a)))))) (C1 (MetaCons "StType" PrefixI False) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe (AList Attribute a)))) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 String)))))) ((:+:) (C1 (MetaCons "StEndType" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe String)))))) ((:+:) (C1 (MetaCons "StSequence" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan)))) (C1 (MetaCons "StFormatBogus" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 String))))))))))))

data Only Source #

Constructors

Exclusive 
Permissive 

Instances

Eq Only Source # 

Methods

(==) :: Only -> Only -> Bool #

(/=) :: Only -> Only -> Bool #

Data Only Source # 

Methods

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

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

toConstr :: Only -> Constr #

dataTypeOf :: Only -> DataType #

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

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

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

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

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

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

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

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

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

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

Show Only Source # 

Methods

showsPrec :: Int -> Only -> ShowS #

show :: Only -> String #

showList :: [Only] -> ShowS #

Generic Only Source # 

Associated Types

type Rep Only :: * -> * #

Methods

from :: Only -> Rep Only x #

to :: Rep Only x -> Only #

Out Only Source # 

Methods

docPrec :: Int -> Only -> Doc #

doc :: Only -> Doc #

docList :: [Only] -> Doc #

Pretty Only Source # 
type Rep Only Source # 
type Rep Only = D1 (MetaData "Only" "Language.Fortran.AST" "fortran-src-0.1.0.3-91DD86MnaFR2VbfFJIGSH6" False) ((:+:) (C1 (MetaCons "Exclusive" PrefixI False) U1) (C1 (MetaCons "Permissive" PrefixI False) U1))

data Use a Source #

Instances

Functor Use Source # 

Methods

fmap :: (a -> b) -> Use a -> Use b #

(<$) :: a -> Use b -> Use a #

Annotated Use Source # 

Methods

getAnnotation :: Use a -> a Source #

setAnnotation :: a -> Use a -> Use a Source #

modifyAnnotation :: (a -> a) -> Use a -> Use a Source #

Eq a => Eq (Use a) Source # 

Methods

(==) :: Use a -> Use a -> Bool #

(/=) :: Use a -> Use a -> Bool #

Data a => Data (Use a) Source # 

Methods

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

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

toConstr :: Use a -> Constr #

dataTypeOf :: Use a -> DataType #

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

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

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

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

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

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

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

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

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

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

Show a => Show (Use a) Source # 

Methods

showsPrec :: Int -> Use a -> ShowS #

show :: Use a -> String #

showList :: [Use a] -> ShowS #

Generic (Use a) Source # 

Associated Types

type Rep (Use a) :: * -> * #

Methods

from :: Use a -> Rep (Use a) x #

to :: Rep (Use a) x -> Use a #

Out a => Out (Use a) Source # 

Methods

docPrec :: Int -> Use a -> Doc #

doc :: Use a -> Doc #

docList :: [Use a] -> Doc #

Spanned (Use a) Source # 

Methods

getSpan :: Use a -> SrcSpan Source #

setSpan :: SrcSpan -> Use a -> Use a Source #

Pretty (Use a) Source # 

Methods

pprint' :: FortranVersion -> Use a -> Doc Source #

SecondParameter (Use a) SrcSpan Source # 
FirstParameter (Use a) a Source # 

Methods

getFirstParameter :: Use a -> a Source #

setFirstParameter :: a -> Use a -> Use a Source #

type Rep (Use a) Source # 

data Argument a Source #

Constructors

Argument a SrcSpan (Maybe String) (Expression a) 

Instances

Functor Argument Source # 

Methods

fmap :: (a -> b) -> Argument a -> Argument b #

(<$) :: a -> Argument b -> Argument a #

Annotated Argument Source # 
Eq a => Eq (Argument a) Source # 

Methods

(==) :: Argument a -> Argument a -> Bool #

(/=) :: Argument a -> Argument a -> Bool #

Data a => Data (Argument a) Source # 

Methods

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

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

toConstr :: Argument a -> Constr #

dataTypeOf :: Argument a -> DataType #

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

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

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

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

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

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

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

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

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

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

Show a => Show (Argument a) Source # 

Methods

showsPrec :: Int -> Argument a -> ShowS #

show :: Argument a -> String #

showList :: [Argument a] -> ShowS #

Generic (Argument a) Source # 

Associated Types

type Rep (Argument a) :: * -> * #

Methods

from :: Argument a -> Rep (Argument a) x #

to :: Rep (Argument a) x -> Argument a #

Out a => Out (Argument a) Source # 

Methods

docPrec :: Int -> Argument a -> Doc #

doc :: Argument a -> Doc #

docList :: [Argument a] -> Doc #

Spanned (Argument a) Source # 
Pretty (Argument a) Source # 
SecondParameter (Argument a) SrcSpan Source # 
FirstParameter (Argument a) a Source # 
type Rep (Argument a) Source # 

data Attribute a Source #

Instances

Functor Attribute Source # 

Methods

fmap :: (a -> b) -> Attribute a -> Attribute b #

(<$) :: a -> Attribute b -> Attribute a #

Annotated Attribute Source # 
Eq a => Eq (Attribute a) Source # 

Methods

(==) :: Attribute a -> Attribute a -> Bool #

(/=) :: Attribute a -> Attribute a -> Bool #

Data a => Data (Attribute a) Source # 

Methods

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

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

toConstr :: Attribute a -> Constr #

dataTypeOf :: Attribute a -> DataType #

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

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

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

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

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

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

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

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

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

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

Show a => Show (Attribute a) Source # 
Generic (Attribute a) Source # 

Associated Types

type Rep (Attribute a) :: * -> * #

Methods

from :: Attribute a -> Rep (Attribute a) x #

to :: Rep (Attribute a) x -> Attribute a #

Out a => Out (Attribute a) Source # 

Methods

docPrec :: Int -> Attribute a -> Doc #

doc :: Attribute a -> Doc #

docList :: [Attribute a] -> Doc #

Spanned (Attribute a) Source # 
Pretty (Attribute a) Source # 
SecondParameter (Attribute a) SrcSpan Source # 
FirstParameter (Attribute a) a Source # 
type Rep (Attribute a) Source # 
type Rep (Attribute a) = D1 (MetaData "Attribute" "Language.Fortran.AST" "fortran-src-0.1.0.3-91DD86MnaFR2VbfFJIGSH6" False) ((:+:) ((:+:) ((:+:) (C1 (MetaCons "AttrParameter" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan)))) ((:+:) (C1 (MetaCons "AttrPublic" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan)))) (C1 (MetaCons "AttrPrivate" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan)))))) ((:+:) (C1 (MetaCons "AttrAllocatable" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan)))) ((:+:) (C1 (MetaCons "AttrDimension" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (AList DimensionDeclarator a)))))) (C1 (MetaCons "AttrExternal" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan))))))) ((:+:) ((:+:) (C1 (MetaCons "AttrIntent" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Intent))))) ((:+:) (C1 (MetaCons "AttrIntrinsic" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan)))) (C1 (MetaCons "AttrOptional" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan)))))) ((:+:) (C1 (MetaCons "AttrPointer" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan)))) ((:+:) (C1 (MetaCons "AttrSave" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan)))) (C1 (MetaCons "AttrTarget" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan))))))))

data Intent Source #

Constructors

In 
Out 
InOut 

Instances

Eq Intent Source # 

Methods

(==) :: Intent -> Intent -> Bool #

(/=) :: Intent -> Intent -> Bool #

Data Intent Source # 

Methods

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

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

toConstr :: Intent -> Constr #

dataTypeOf :: Intent -> DataType #

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

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

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

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

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

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

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

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

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

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

Show Intent Source # 
Generic Intent Source # 

Associated Types

type Rep Intent :: * -> * #

Methods

from :: Intent -> Rep Intent x #

to :: Rep Intent x -> Intent #

Out Intent Source # 

Methods

docPrec :: Int -> Intent -> Doc #

doc :: Intent -> Doc #

docList :: [Intent] -> Doc #

Pretty Intent Source # 
type Rep Intent Source # 
type Rep Intent = D1 (MetaData "Intent" "Language.Fortran.AST" "fortran-src-0.1.0.3-91DD86MnaFR2VbfFJIGSH6" False) ((:+:) (C1 (MetaCons "In" PrefixI False) U1) ((:+:) (C1 (MetaCons "Out" PrefixI False) U1) (C1 (MetaCons "InOut" PrefixI False) U1)))

data ControlPair a Source #

Constructors

ControlPair a SrcSpan (Maybe String) (Expression a) 

Instances

Functor ControlPair Source # 

Methods

fmap :: (a -> b) -> ControlPair a -> ControlPair b #

(<$) :: a -> ControlPair b -> ControlPair a #

Annotated ControlPair Source # 
Eq a => Eq (ControlPair a) Source # 
Data a => Data (ControlPair a) Source # 

Methods

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

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

toConstr :: ControlPair a -> Constr #

dataTypeOf :: ControlPair a -> DataType #

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

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

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

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

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

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

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

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

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

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

Show a => Show (ControlPair a) Source # 
Generic (ControlPair a) Source # 

Associated Types

type Rep (ControlPair a) :: * -> * #

Methods

from :: ControlPair a -> Rep (ControlPair a) x #

to :: Rep (ControlPair a) x -> ControlPair a #

Out a => Out (ControlPair a) Source # 

Methods

docPrec :: Int -> ControlPair a -> Doc #

doc :: ControlPair a -> Doc #

docList :: [ControlPair a] -> Doc #

Spanned (ControlPair a) Source # 
Pretty (ControlPair a) Source # 
SecondParameter (ControlPair a) SrcSpan Source # 
FirstParameter (ControlPair a) a Source # 
type Rep (ControlPair a) Source # 

data ImpList a Source #

Constructors

ImpList a SrcSpan (TypeSpec a) (AList ImpElement a) 

Instances

Functor ImpList Source # 

Methods

fmap :: (a -> b) -> ImpList a -> ImpList b #

(<$) :: a -> ImpList b -> ImpList a #

Annotated ImpList Source # 
Eq a => Eq (ImpList a) Source # 

Methods

(==) :: ImpList a -> ImpList a -> Bool #

(/=) :: ImpList a -> ImpList a -> Bool #

Data a => Data (ImpList a) Source # 

Methods

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

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

toConstr :: ImpList a -> Constr #

dataTypeOf :: ImpList a -> DataType #

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

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

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

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

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

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

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

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

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

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

Show a => Show (ImpList a) Source # 

Methods

showsPrec :: Int -> ImpList a -> ShowS #

show :: ImpList a -> String #

showList :: [ImpList a] -> ShowS #

Generic (ImpList a) Source # 

Associated Types

type Rep (ImpList a) :: * -> * #

Methods

from :: ImpList a -> Rep (ImpList a) x #

to :: Rep (ImpList a) x -> ImpList a #

Out a => Out (ImpList a) Source # 

Methods

docPrec :: Int -> ImpList a -> Doc #

doc :: ImpList a -> Doc #

docList :: [ImpList a] -> Doc #

Spanned (ImpList a) Source # 
Pretty (ImpList a) Source # 
SecondParameter (ImpList a) SrcSpan Source # 
FirstParameter (ImpList a) a Source # 
type Rep (ImpList a) Source # 

data ImpElement a Source #

Instances

Functor ImpElement Source # 

Methods

fmap :: (a -> b) -> ImpElement a -> ImpElement b #

(<$) :: a -> ImpElement b -> ImpElement a #

Annotated ImpElement Source # 
Eq a => Eq (ImpElement a) Source # 

Methods

(==) :: ImpElement a -> ImpElement a -> Bool #

(/=) :: ImpElement a -> ImpElement a -> Bool #

Data a => Data (ImpElement a) Source # 

Methods

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

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

toConstr :: ImpElement a -> Constr #

dataTypeOf :: ImpElement a -> DataType #

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

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

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

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

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

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

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

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

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

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

Show a => Show (ImpElement a) Source # 
Generic (ImpElement a) Source # 

Associated Types

type Rep (ImpElement a) :: * -> * #

Methods

from :: ImpElement a -> Rep (ImpElement a) x #

to :: Rep (ImpElement a) x -> ImpElement a #

Out a => Out (ImpElement a) Source # 

Methods

docPrec :: Int -> ImpElement a -> Doc #

doc :: ImpElement a -> Doc #

docList :: [ImpElement a] -> Doc #

Spanned (ImpElement a) Source # 
Pretty (ImpElement a) Source # 
SecondParameter (ImpElement a) SrcSpan Source # 
FirstParameter (ImpElement a) a Source # 
type Rep (ImpElement a) Source # 

data CommonGroup a Source #

Instances

Functor CommonGroup Source # 

Methods

fmap :: (a -> b) -> CommonGroup a -> CommonGroup b #

(<$) :: a -> CommonGroup b -> CommonGroup a #

Annotated CommonGroup Source # 
Eq a => Eq (CommonGroup a) Source # 
Data a => Data (CommonGroup a) Source # 

Methods

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

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

toConstr :: CommonGroup a -> Constr #

dataTypeOf :: CommonGroup a -> DataType #

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

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

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

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

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

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

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

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

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

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

Show a => Show (CommonGroup a) Source # 
Generic (CommonGroup a) Source # 

Associated Types

type Rep (CommonGroup a) :: * -> * #

Methods

from :: CommonGroup a -> Rep (CommonGroup a) x #

to :: Rep (CommonGroup a) x -> CommonGroup a #

Out a => Out (CommonGroup a) Source # 

Methods

docPrec :: Int -> CommonGroup a -> Doc #

doc :: CommonGroup a -> Doc #

docList :: [CommonGroup a] -> Doc #

Spanned (CommonGroup a) Source # 
Pretty (CommonGroup a) Source # 
SecondParameter (CommonGroup a) SrcSpan Source # 
FirstParameter (CommonGroup a) a Source # 
type Rep (CommonGroup a) Source # 

data Namelist a Source #

Constructors

Namelist a SrcSpan (Expression a) (AList Expression a) 

Instances

Functor Namelist Source # 

Methods

fmap :: (a -> b) -> Namelist a -> Namelist b #

(<$) :: a -> Namelist b -> Namelist a #

Annotated Namelist Source # 
Eq a => Eq (Namelist a) Source # 

Methods

(==) :: Namelist a -> Namelist a -> Bool #

(/=) :: Namelist a -> Namelist a -> Bool #

Data a => Data (Namelist a) Source # 

Methods

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

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

toConstr :: Namelist a -> Constr #

dataTypeOf :: Namelist a -> DataType #

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

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

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

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

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

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

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

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

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

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

Show a => Show (Namelist a) Source # 

Methods

showsPrec :: Int -> Namelist a -> ShowS #

show :: Namelist a -> String #

showList :: [Namelist a] -> ShowS #

Generic (Namelist a) Source # 

Associated Types

type Rep (Namelist a) :: * -> * #

Methods

from :: Namelist a -> Rep (Namelist a) x #

to :: Rep (Namelist a) x -> Namelist a #

Out a => Out (Namelist a) Source # 

Methods

docPrec :: Int -> Namelist a -> Doc #

doc :: Namelist a -> Doc #

docList :: [Namelist a] -> Doc #

Spanned (Namelist a) Source # 
Pretty (Namelist a) Source # 
SecondParameter (Namelist a) SrcSpan Source # 
FirstParameter (Namelist a) a Source # 
type Rep (Namelist a) Source # 

data DataGroup a Source #

Instances

Functor DataGroup Source # 

Methods

fmap :: (a -> b) -> DataGroup a -> DataGroup b #

(<$) :: a -> DataGroup b -> DataGroup a #

Annotated DataGroup Source # 
Eq a => Eq (DataGroup a) Source # 

Methods

(==) :: DataGroup a -> DataGroup a -> Bool #

(/=) :: DataGroup a -> DataGroup a -> Bool #

Data a => Data (DataGroup a) Source # 

Methods

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

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

toConstr :: DataGroup a -> Constr #

dataTypeOf :: DataGroup a -> DataType #

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

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

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

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

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

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

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

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

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

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

Show a => Show (DataGroup a) Source # 
Generic (DataGroup a) Source # 

Associated Types

type Rep (DataGroup a) :: * -> * #

Methods

from :: DataGroup a -> Rep (DataGroup a) x #

to :: Rep (DataGroup a) x -> DataGroup a #

Out a => Out (DataGroup a) Source # 

Methods

docPrec :: Int -> DataGroup a -> Doc #

doc :: DataGroup a -> Doc #

docList :: [DataGroup a] -> Doc #

Spanned (DataGroup a) Source # 
Pretty (DataGroup a) Source # 
SecondParameter (DataGroup a) SrcSpan Source # 
FirstParameter (DataGroup a) a Source # 
type Rep (DataGroup a) Source # 

data FormatItem a Source #

Instances

Functor FormatItem Source # 

Methods

fmap :: (a -> b) -> FormatItem a -> FormatItem b #

(<$) :: a -> FormatItem b -> FormatItem a #

Annotated FormatItem Source # 
Eq a => Eq (FormatItem a) Source # 

Methods

(==) :: FormatItem a -> FormatItem a -> Bool #

(/=) :: FormatItem a -> FormatItem a -> Bool #

Data a => Data (FormatItem a) Source # 

Methods

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

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

toConstr :: FormatItem a -> Constr #

dataTypeOf :: FormatItem a -> DataType #

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

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

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

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

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

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

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

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

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

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

Show a => Show (FormatItem a) Source # 
Generic (FormatItem a) Source # 

Associated Types

type Rep (FormatItem a) :: * -> * #

Methods

from :: FormatItem a -> Rep (FormatItem a) x #

to :: Rep (FormatItem a) x -> FormatItem a #

Out a => Out (FormatItem a) Source # 

Methods

docPrec :: Int -> FormatItem a -> Doc #

doc :: FormatItem a -> Doc #

docList :: [FormatItem a] -> Doc #

Spanned (FormatItem a) Source # 
Pretty (FormatItem a) Source # 
SecondParameter (FormatItem a) SrcSpan Source # 
FirstParameter (FormatItem a) a Source # 
type Rep (FormatItem a) Source # 
type Rep (FormatItem a) = D1 (MetaData "FormatItem" "Language.Fortran.AST" "fortran-src-0.1.0.3-91DD86MnaFR2VbfFJIGSH6" False) ((:+:) ((:+:) (C1 (MetaCons "FIFormatList" PrefixI False) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe String))) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (AList FormatItem a)))))) ((:+:) (C1 (MetaCons "FIHollerith" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Value a)))))) (C1 (MetaCons "FIDelimiter" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan)))))) ((:+:) ((:+:) (C1 (MetaCons "FIFieldDescriptorDEFG" PrefixI False) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Integer))))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Char)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Integer)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Integer)))))) (C1 (MetaCons "FIFieldDescriptorAIL" PrefixI False) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Integer))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Char)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Integer))))))) ((:+:) (C1 (MetaCons "FIBlankDescriptor" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Integer))))) (C1 (MetaCons "FIScaleFactor" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Integer))))))))

data DoSpecification a Source #

Instances

Functor DoSpecification Source # 

Methods

fmap :: (a -> b) -> DoSpecification a -> DoSpecification b #

(<$) :: a -> DoSpecification b -> DoSpecification a #

Annotated DoSpecification Source # 
Eq a => Eq (DoSpecification a) Source # 
Data a => Data (DoSpecification a) Source # 

Methods

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

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

toConstr :: DoSpecification a -> Constr #

dataTypeOf :: DoSpecification a -> DataType #

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

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

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

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

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

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

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

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

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

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

Show a => Show (DoSpecification a) Source # 
Generic (DoSpecification a) Source # 

Associated Types

type Rep (DoSpecification a) :: * -> * #

Out a => Out (DoSpecification a) Source # 
Spanned (DoSpecification a) Source # 
Pretty (DoSpecification a) Source # 
SecondParameter (DoSpecification a) SrcSpan Source # 
FirstParameter (DoSpecification a) a Source # 
type Rep (DoSpecification a) Source # 

data Expression a Source #

Instances

Functor Expression Source # 

Methods

fmap :: (a -> b) -> Expression a -> Expression b #

(<$) :: a -> Expression b -> Expression a #

Annotated Expression Source # 
Eq a => Eq (Expression a) Source # 

Methods

(==) :: Expression a -> Expression a -> Bool #

(/=) :: Expression a -> Expression a -> Bool #

Data a => Data (Expression a) Source # 

Methods

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

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

toConstr :: Expression a -> Constr #

dataTypeOf :: Expression a -> DataType #

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

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

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

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

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

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

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

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

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

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

Show a => Show (Expression a) Source # 
Generic (Expression a) Source # 

Associated Types

type Rep (Expression a) :: * -> * #

Methods

from :: Expression a -> Rep (Expression a) x #

to :: Rep (Expression a) x -> Expression a #

Out a => Out (Expression a) Source # 

Methods

docPrec :: Int -> Expression a -> Doc #

doc :: Expression a -> Doc #

docList :: [Expression a] -> Doc #

Spanned (Expression a) Source # 
Pretty (Expression a) Source # 
SecondParameter (Expression a) SrcSpan Source # 
FirstParameter (Expression a) a Source # 
type Rep (Expression a) Source # 
type Rep (Expression a) = D1 (MetaData "Expression" "Language.Fortran.AST" "fortran-src-0.1.0.3-91DD86MnaFR2VbfFJIGSH6" False) ((:+:) ((:+:) ((:+:) (C1 (MetaCons "ExpValue" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Value a)))))) (C1 (MetaCons "ExpBinary" PrefixI False) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 BinaryOp)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Expression a))) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Expression a)))))))) ((:+:) (C1 (MetaCons "ExpUnary" PrefixI False) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 UnaryOp)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Expression a)))))) (C1 (MetaCons "ExpSubscript" PrefixI False) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Expression a))) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (AList Index a)))))))) ((:+:) ((:+:) (C1 (MetaCons "ExpDataRef" PrefixI False) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Expression a))) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Expression a)))))) (C1 (MetaCons "ExpFunctionCall" PrefixI False) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Expression a))) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe (AList Argument a)))))))) ((:+:) (C1 (MetaCons "ExpImpliedDo" PrefixI False) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (AList Expression a))) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (DoSpecification a)))))) ((:+:) (C1 (MetaCons "ExpInitialisation" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (AList Expression a)))))) (C1 (MetaCons "ExpReturnSpec" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Expression a))))))))))

data Index a Source #

Instances

Functor Index Source # 

Methods

fmap :: (a -> b) -> Index a -> Index b #

(<$) :: a -> Index b -> Index a #

Annotated Index Source # 

Methods

getAnnotation :: Index a -> a Source #

setAnnotation :: a -> Index a -> Index a Source #

modifyAnnotation :: (a -> a) -> Index a -> Index a Source #

Eq a => Eq (Index a) Source # 

Methods

(==) :: Index a -> Index a -> Bool #

(/=) :: Index a -> Index a -> Bool #

Data a => Data (Index a) Source # 

Methods

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

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

toConstr :: Index a -> Constr #

dataTypeOf :: Index a -> DataType #

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

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

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

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

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

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

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

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

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

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

Show a => Show (Index a) Source # 

Methods

showsPrec :: Int -> Index a -> ShowS #

show :: Index a -> String #

showList :: [Index a] -> ShowS #

Generic (Index a) Source # 

Associated Types

type Rep (Index a) :: * -> * #

Methods

from :: Index a -> Rep (Index a) x #

to :: Rep (Index a) x -> Index a #

Out a => Out (Index a) Source # 

Methods

docPrec :: Int -> Index a -> Doc #

doc :: Index a -> Doc #

docList :: [Index a] -> Doc #

Spanned (Index a) Source # 
Pretty (Index a) Source # 
SecondParameter (Index a) SrcSpan Source # 
FirstParameter (Index a) a Source # 
type Rep (Index a) Source # 

data Value a Source #

Instances

Functor Value Source # 

Methods

fmap :: (a -> b) -> Value a -> Value b #

(<$) :: a -> Value b -> Value a #

Eq a => Eq (Value a) Source # 

Methods

(==) :: Value a -> Value a -> Bool #

(/=) :: Value a -> Value a -> Bool #

Data a => Data (Value a) Source # 

Methods

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

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

toConstr :: Value a -> Constr #

dataTypeOf :: Value a -> DataType #

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

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

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

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

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

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

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

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

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

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

Show a => Show (Value a) Source # 

Methods

showsPrec :: Int -> Value a -> ShowS #

show :: Value a -> String #

showList :: [Value a] -> ShowS #

Generic (Value a) Source # 

Associated Types

type Rep (Value a) :: * -> * #

Methods

from :: Value a -> Rep (Value a) x #

to :: Rep (Value a) x -> Value a #

Out a => Out (Value a) Source # 

Methods

docPrec :: Int -> Value a -> Doc #

doc :: Value a -> Doc #

docList :: [Value a] -> Doc #

Pretty (Value a) Source # 
type Rep (Value a) Source # 
type Rep (Value a) = D1 (MetaData "Value" "Language.Fortran.AST" "fortran-src-0.1.0.3-91DD86MnaFR2VbfFJIGSH6" False) ((:+:) ((:+:) ((:+:) (C1 (MetaCons "ValInteger" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 String))) (C1 (MetaCons "ValReal" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 String)))) ((:+:) (C1 (MetaCons "ValComplex" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Expression a))) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Expression a))))) ((:+:) (C1 (MetaCons "ValString" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 String))) (C1 (MetaCons "ValHollerith" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 String)))))) ((:+:) ((:+:) (C1 (MetaCons "ValVariable" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name))) ((:+:) (C1 (MetaCons "ValLogical" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 String))) (C1 (MetaCons "ValOperator" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 String))))) ((:+:) (C1 (MetaCons "ValAssignment" PrefixI False) U1) ((:+:) (C1 (MetaCons "ValType" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 String))) (C1 (MetaCons "ValStar" PrefixI False) U1)))))

data Declarator a Source #

Instances

Functor Declarator Source # 

Methods

fmap :: (a -> b) -> Declarator a -> Declarator b #

(<$) :: a -> Declarator b -> Declarator a #

Annotated Declarator Source # 
Eq a => Eq (Declarator a) Source # 

Methods

(==) :: Declarator a -> Declarator a -> Bool #

(/=) :: Declarator a -> Declarator a -> Bool #

Data a => Data (Declarator a) Source # 

Methods

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

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

toConstr :: Declarator a -> Constr #

dataTypeOf :: Declarator a -> DataType #

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

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

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

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

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

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

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

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

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

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

Show a => Show (Declarator a) Source # 
Generic (Declarator a) Source # 

Associated Types

type Rep (Declarator a) :: * -> * #

Methods

from :: Declarator a -> Rep (Declarator a) x #

to :: Rep (Declarator a) x -> Declarator a #

Out a => Out (Declarator a) Source # 

Methods

docPrec :: Int -> Declarator a -> Doc #

doc :: Declarator a -> Doc #

docList :: [Declarator a] -> Doc #

Spanned (Declarator a) Source # 
Pretty (Declarator a) Source # 
SecondParameter (Declarator a) SrcSpan Source # 
FirstParameter (Declarator a) a Source # 
type Rep (Declarator a) Source # 

data DimensionDeclarator a Source #

Instances

Functor DimensionDeclarator Source # 
Annotated DimensionDeclarator Source # 
Eq a => Eq (DimensionDeclarator a) Source # 
Data a => Data (DimensionDeclarator a) Source # 

Methods

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

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

toConstr :: DimensionDeclarator a -> Constr #

dataTypeOf :: DimensionDeclarator a -> DataType #

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

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

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

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

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

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

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

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

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

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

Show a => Show (DimensionDeclarator a) Source # 
Generic (DimensionDeclarator a) Source # 

Associated Types

type Rep (DimensionDeclarator a) :: * -> * #

Out a => Out (DimensionDeclarator a) Source # 
Spanned (DimensionDeclarator a) Source # 
Pretty (DimensionDeclarator a) Source # 
SecondParameter (DimensionDeclarator a) SrcSpan Source # 
FirstParameter (DimensionDeclarator a) a Source # 
type Rep (DimensionDeclarator a) Source # 

data UnaryOp Source #

Constructors

Plus 
Minus 
Not 
UnCustom String 

Instances

Eq UnaryOp Source # 

Methods

(==) :: UnaryOp -> UnaryOp -> Bool #

(/=) :: UnaryOp -> UnaryOp -> Bool #

Data UnaryOp Source # 

Methods

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

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

toConstr :: UnaryOp -> Constr #

dataTypeOf :: UnaryOp -> DataType #

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

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

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

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

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

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

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

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

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

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

Show UnaryOp Source # 
Generic UnaryOp Source # 

Associated Types

type Rep UnaryOp :: * -> * #

Methods

from :: UnaryOp -> Rep UnaryOp x #

to :: Rep UnaryOp x -> UnaryOp #

Out UnaryOp Source # 

Methods

docPrec :: Int -> UnaryOp -> Doc #

doc :: UnaryOp -> Doc #

docList :: [UnaryOp] -> Doc #

Pretty UnaryOp Source # 
type Rep UnaryOp Source # 
type Rep UnaryOp = D1 (MetaData "UnaryOp" "Language.Fortran.AST" "fortran-src-0.1.0.3-91DD86MnaFR2VbfFJIGSH6" False) ((:+:) ((:+:) (C1 (MetaCons "Plus" PrefixI False) U1) (C1 (MetaCons "Minus" PrefixI False) U1)) ((:+:) (C1 (MetaCons "Not" PrefixI False) U1) (C1 (MetaCons "UnCustom" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 String)))))

data BinaryOp Source #

Instances

Eq BinaryOp Source # 
Data BinaryOp Source # 

Methods

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

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

toConstr :: BinaryOp -> Constr #

dataTypeOf :: BinaryOp -> DataType #

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

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

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

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

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

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

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

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

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

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

Show BinaryOp Source # 
Generic BinaryOp Source # 

Associated Types

type Rep BinaryOp :: * -> * #

Methods

from :: BinaryOp -> Rep BinaryOp x #

to :: Rep BinaryOp x -> BinaryOp #

Out BinaryOp Source # 

Methods

docPrec :: Int -> BinaryOp -> Doc #

doc :: BinaryOp -> Doc #

docList :: [BinaryOp] -> Doc #

Pretty BinaryOp Source # 
type Rep BinaryOp Source # 
type Rep BinaryOp = D1 (MetaData "BinaryOp" "Language.Fortran.AST" "fortran-src-0.1.0.3-91DD86MnaFR2VbfFJIGSH6" False) ((:+:) ((:+:) ((:+:) ((:+:) (C1 (MetaCons "Addition" PrefixI False) U1) (C1 (MetaCons "Subtraction" PrefixI False) U1)) ((:+:) (C1 (MetaCons "Multiplication" PrefixI False) U1) (C1 (MetaCons "Division" PrefixI False) U1))) ((:+:) ((:+:) (C1 (MetaCons "Exponentiation" PrefixI False) U1) (C1 (MetaCons "Concatenation" PrefixI False) U1)) ((:+:) (C1 (MetaCons "GT" PrefixI False) U1) (C1 (MetaCons "GTE" PrefixI False) U1)))) ((:+:) ((:+:) ((:+:) (C1 (MetaCons "LT" PrefixI False) U1) (C1 (MetaCons "LTE" PrefixI False) U1)) ((:+:) (C1 (MetaCons "EQ" PrefixI False) U1) (C1 (MetaCons "NE" PrefixI False) U1))) ((:+:) ((:+:) (C1 (MetaCons "Or" PrefixI False) U1) (C1 (MetaCons "And" PrefixI False) U1)) ((:+:) (C1 (MetaCons "Equivalent" PrefixI False) U1) ((:+:) (C1 (MetaCons "NotEquivalent" PrefixI False) U1) (C1 (MetaCons "BinCustom" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 String))))))))

class Annotated f where Source #

Methods

getAnnotation :: f a -> a Source #

setAnnotation :: a -> f a -> f a Source #

modifyAnnotation :: (a -> a) -> f a -> f a Source #

getAnnotation :: FirstParameter (f a) a => f a -> a Source #

setAnnotation :: FirstParameter (f a) a => a -> f a -> f a Source #

Instances

Annotated DimensionDeclarator Source # 
Annotated Declarator Source # 
Annotated Index Source # 

Methods

getAnnotation :: Index a -> a Source #

setAnnotation :: a -> Index a -> Index a Source #

modifyAnnotation :: (a -> a) -> Index a -> Index a Source #

Annotated Expression Source # 
Annotated DoSpecification Source # 
Annotated FormatItem Source # 
Annotated DataGroup Source # 
Annotated Namelist Source # 
Annotated CommonGroup Source # 
Annotated ImpElement Source # 
Annotated ImpList Source # 
Annotated ControlPair Source # 
Annotated Attribute Source # 
Annotated Argument Source # 
Annotated Use Source # 

Methods

getAnnotation :: Use a -> a Source #

setAnnotation :: a -> Use a -> Use a Source #

modifyAnnotation :: (a -> a) -> Use a -> Use a Source #

Annotated Statement Source # 
Annotated Block Source # 

Methods

getAnnotation :: Block a -> a Source #

setAnnotation :: a -> Block a -> Block a Source #

modifyAnnotation :: (a -> a) -> Block a -> Block a Source #

Annotated ProgramUnit Source # 
Annotated Selector Source # 
Annotated TypeSpec Source # 
Annotated (AList t) Source # 

Methods

getAnnotation :: AList t a -> a Source #

setAnnotation :: a -> AList t a -> AList t a Source #

modifyAnnotation :: (a -> a) -> AList t a -> AList t a Source #

getTransSpan :: (Spanned a, Spanned b) => a -> b -> SrcSpan Source #

class Labeled f where Source #

Minimal complete definition

getLabel, getLastLabel, setLabel

Methods

getLabel :: f a -> Maybe (Expression a) Source #

getLastLabel :: f a -> Maybe (Expression a) Source #

setLabel :: f a -> Expression a -> f a Source #

class Conditioned f where Source #

Minimal complete definition

getCondition

Methods

getCondition :: f a -> Maybe (Expression a) Source #

data ProgramUnitName Source #

Instances

Eq ProgramUnitName Source # 
Data ProgramUnitName Source # 

Methods

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

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

toConstr :: ProgramUnitName -> Constr #

dataTypeOf :: ProgramUnitName -> DataType #

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

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

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

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

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

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

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

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

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

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

Ord ProgramUnitName Source # 
Show ProgramUnitName Source # 
Generic ProgramUnitName Source # 
type Rep ProgramUnitName Source # 
type Rep ProgramUnitName = D1 (MetaData "ProgramUnitName" "Language.Fortran.AST" "fortran-src-0.1.0.3-91DD86MnaFR2VbfFJIGSH6" False) ((:+:) (C1 (MetaCons "Named" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 String))) ((:+:) (C1 (MetaCons "NamelessBlockData" PrefixI False) U1) (C1 (MetaCons "NamelessMain" PrefixI False) U1)))

class Named a where Source #

Minimal complete definition

getName, setName

Orphan instances

Out FortranVersion Source # 
Spanned a => Spanned [a] Source # 

Methods

getSpan :: [a] -> SrcSpan Source #

setSpan :: SrcSpan -> [a] -> [a] Source #

(Spanned a, Spanned b) => Spanned (Maybe a, b) Source # 

Methods

getSpan :: (Maybe a, b) -> SrcSpan Source #

setSpan :: SrcSpan -> (Maybe a, b) -> (Maybe a, b) Source #

(Spanned a, Spanned b) => Spanned (a, b) Source # 

Methods

getSpan :: (a, b) -> SrcSpan Source #

setSpan :: SrcSpan -> (a, b) -> (a, b) Source #

(Spanned a, Spanned b) => Spanned (a, Maybe b) Source # 

Methods

getSpan :: (a, Maybe b) -> SrcSpan Source #

setSpan :: SrcSpan -> (a, Maybe b) -> (a, Maybe b) Source #

(Spanned a, Spanned b, Spanned c) => Spanned (Maybe a, b, c) Source # 

Methods

getSpan :: (Maybe a, b, c) -> SrcSpan Source #

setSpan :: SrcSpan -> (Maybe a, b, c) -> (Maybe a, b, c) Source #

(Spanned a, Spanned b, Spanned c) => Spanned (Maybe a, Maybe b, Maybe c) Source # 

Methods

getSpan :: (Maybe a, Maybe b, Maybe c) -> SrcSpan Source #

setSpan :: SrcSpan -> (Maybe a, Maybe b, Maybe c) -> (Maybe a, Maybe b, Maybe c) Source #

(Spanned a, Spanned b, Spanned c) => Spanned (a, b, c) Source # 

Methods

getSpan :: (a, b, c) -> SrcSpan Source #

setSpan :: SrcSpan -> (a, b, c) -> (a, b, c) Source #

(Spanned a, Spanned b, Spanned c) => Spanned (a, Maybe b, Maybe c) Source # 

Methods

getSpan :: (a, Maybe b, Maybe c) -> SrcSpan Source #

setSpan :: SrcSpan -> (a, Maybe b, Maybe c) -> (a, Maybe b, Maybe c) Source #