camfort-0.802: CamFort - Cambridge Fortran infrastructure

Safe HaskellNone
LanguageHaskell98

Camfort.Functionality

Contents

Synopsis

Documentation

data Flag Source #

Instances

Data Flag Source # 

Methods

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

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

toConstr :: Flag -> Constr #

dataTypeOf :: Flag -> DataType #

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

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

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

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

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

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

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

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

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

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

Show Flag Source # 

Methods

showsPrec :: Int -> Flag -> ShowS #

show :: Flag -> String #

showList :: [Flag] -> ShowS #

type Options = [Flag] Source #

Wrappers on all of the features

typeStructuring :: [Char] -> [Filename] -> FileOrDir -> t -> IO () Source #

ast :: [Char] -> t1 -> [Char] -> t -> IO () Source #

asts :: [Char] -> [Filename] -> t1 -> t -> IO () Source #

countVarDecls :: [Char] -> [Filename] -> t1 -> t -> IO () Source #

loops :: [Char] -> [Filename] -> t1 -> t -> IO () Source #

lvaA :: [Char] -> [Filename] -> t1 -> t -> IO () Source #

dead :: [Char] -> [Filename] -> FileOrDir -> t -> IO () Source #

commonToArgs :: [Char] -> [Filename] -> FileOrDir -> t -> IO () Source #

common :: [Char] -> [Filename] -> FileOrDir -> t -> IO () Source #

equivalences :: [Char] -> [Filename] -> FileOrDir -> t -> IO () Source #

unitsCheck :: Data t1 => [Char] -> [Filename] -> t -> [t1] -> IO () Source #

unitsInfer :: Data t1 => [Char] -> [Filename] -> t -> [t1] -> IO () Source #

unitsSynth :: Data t => [Char] -> [Filename] -> FileOrDir -> [t] -> IO () Source #

unitsCriticals :: Data t1 => [Char] -> [Filename] -> t -> [t1] -> IO () Source #

stencilsCheck :: [Char] -> [Filename] -> t1 -> t -> IO () Source #

stencilsInfer :: Data t => [Char] -> [Filename] -> FileOrDir -> [t] -> IO () Source #

stencilsSynth :: Data t => [Char] -> [Filename] -> FileOrDir -> [t] -> IO () Source #

stencilsVarFlowCycles :: [Char] -> [Filename] -> t1 -> t -> IO () Source #

doRefactorForpar :: ([(Filename, ProgramFile A)] -> (String, [(Filename, ProgramFile Annotation)])) -> FileOrDir -> [Filename] -> FileOrDir -> IO () Source #

mkOutputFileForpar :: [(Filename, SourceText, a)] -> [(Filename, ProgramFile Annotation)] -> [(Filename, SourceText, ProgramFile Annotation)] Source #

doAnalysisReportForpar :: ([(Filename, ProgramFile A)] -> (String, t1)) -> FileOrDir -> [Filename] -> t -> IO () Source #

Performs an analysis which reports to the user, but does not output any files

Source directory and file handling

readForparseSrcFile :: Filename -> IO (Filename, SourceText, ProgramFile A) Source #

Read a specific file, and parse it

doAnalysisSummaryForpar :: (Monoid s, Show' s) => (Filename -> ProgramFile A -> (s, ProgramFile A)) -> FileOrDir -> [Filename] -> Maybe FileOrDir -> IO () Source #

callAndSummarise :: (Monoid a, Foldable t) => (t1 -> t3 -> (a, a1)) -> t (t1, t2, t3) -> (a, [a1]) Source #

flexReadFile :: String -> IO ByteString Source #

Read file using ByteString library and deal with any weird characters.

Orphan instances