camfort-0.802: CamFort - Cambridge Fortran infrastructure

Safe HaskellNone
LanguageHaskell98

Camfort.PrettyPrint

Contents

Synopsis

Documentation

data HTMLPP Source #

Constructors

HTMLPP 

Instances

PPVersion HTMLPP Source # 
PrintSlave Bool HTMLPP Source #

Pretty printer for HTML, specialised to the analysis of CamFort, which mostly uses the default master behaviour, but with a few special cases

Methods

printSlave :: Bool -> String #

PrintSlave SrcLoc HTMLPP Source # 

Methods

printSlave :: SrcLoc -> String #

PrintSlave Annotation HTMLPP Source # 
PrintSlave (DataForm p) HTMLPP => PrintSlave (SubName p) HTMLPP Source # 

Methods

printSlave :: SubName p -> String #

PrintSlave (VarName p) HTMLPP Source # 

Methods

printSlave :: VarName p -> String #

PrintSlave (ArgName p) HTMLPP Source # 

Methods

printSlave :: ArgName p -> String #

PrintSlave (Arg p) HTMLPP Source # 

Methods

printSlave :: Arg p -> String #

PrintSlave (ArgList p) HTMLPP Source # 

Methods

printSlave :: ArgList p -> String #

(PrintSlave (Decl p) HTMLPP, PrintIndSlave (Fortran p) HTMLPP, PrintSlave p HTMLPP, Indentor (Decl p), Indentor (Fortran p)) => PrintSlave (ProgUnit p) HTMLPP Source # 

Methods

printSlave :: ProgUnit p -> String #

PrintSlave (Decl p) HTMLPP => PrintSlave (Implicit p) HTMLPP Source # 

Methods

printSlave :: Implicit p -> String #

PrintSlave (Uses p) HTMLPP Source # 

Methods

printSlave :: Uses p -> String #

(PrintSlave (Decl p) HTMLPP, PrintSlave (DataForm p) HTMLPP, PrintIndSlave (Fortran p) HTMLPP, PrintSlave p HTMLPP, Indentor (Fortran p), Indentor (Decl p)) => PrintSlave (Block p) HTMLPP Source # 

Methods

printSlave :: Block p -> String #

(Indentor (Decl p), PrintSlave (DataForm p) HTMLPP) => PrintSlave (Decl p) HTMLPP Source # 

Methods

printSlave :: Decl p -> String #

PrintSlave (Decl Annotation) HTMLPP Source # 
PrintSlave (Type p) HTMLPP Source # 

Methods

printSlave :: Type p -> String #

PrintSlave (BaseType p) HTMLPP Source # 

Methods

printSlave :: BaseType p -> String #

PrintSlave (Attr p) HTMLPP Source # 

Methods

printSlave :: Attr p -> String #

PrintSlave (MeasureUnitSpec p) HTMLPP Source # 
PrintSlave (Fraction p) HTMLPP Source # 

Methods

printSlave :: Fraction p -> String #

PrintSlave (GSpec p) HTMLPP Source # 

Methods

printSlave :: GSpec p -> String #

(PrintSlave (Decl p) HTMLPP, Indentor (Decl p)) => PrintSlave (InterfaceSpec p) HTMLPP Source # 
PrintSlave (DataForm p) HTMLPP Source # 

Methods

printSlave :: DataForm p -> String #

(PrintIndSlave (Fortran p) HTMLPP, PrintSlave p HTMLPP, Indentor (Fortran p)) => PrintSlave (Fortran p) HTMLPP Source # 

Methods

printSlave :: Fortran p -> String #

PrintSlave (DataForm p) HTMLPP => PrintSlave (Expr p) HTMLPP Source # 

Methods

printSlave :: Expr p -> String #

PrintSlave (BinOp p) HTMLPP Source # 

Methods

printSlave :: BinOp p -> String #

PrintSlave (UnaryOp p) HTMLPP Source # 

Methods

printSlave :: UnaryOp p -> String #

PrintSlave (Spec p) HTMLPP Source # 

Methods

printSlave :: Spec p -> String #

PrintIndSlave (Fortran Annotation) HTMLPP Source # 
PrintIndSlave (Fortran A1) HTMLPP Source # 

outputHTMLA :: ProgUnit Annotation -> String Source #

Convert source code to a pretty-printed HTML format

prettyp' :: [Char] -> Int -> [Bool] -> [Char] Source #

nearbyClose :: (Num a, Eq a) => [Char] -> a -> Bool Source #

annotationMark :: Tagged d => t -> d Annotation -> [Char] -> [Char] Source #

row :: Foldable t => t [Char] -> [Char] Source #

outputAnn :: (PrintSlave (UnaryOp ()) v, PrintSlave (BinOp ()) v, PrintSlave (Expr ()) v, PrintSlave (ArgList ()) v, PrintSlave (VarName ()) v, PPVersion v, ?variant :: v) => Annotation -> Bool -> Int -> [Char] -> [Char] Source #

type A1 = Bool Source #

Orphan instances