| Safe Haskell | None |
|---|---|
| Language | GHC2024 |
Drasil.Shared.LanguageRenderer
Description
The structure for a class of renderers is defined here.
Synopsis
- classDec :: Doc
- dot :: Doc
- commentStart :: Doc
- returnLabel :: Doc
- ifLabel :: Doc
- elseLabel :: Doc
- elseIfLabel :: Doc
- forLabel :: Doc
- inLabel :: Doc
- whileLabel :: Doc
- tryLabel :: Doc
- catchLabel :: Doc
- throwLabel :: Doc
- throwsLabel :: Doc
- importLabel :: Doc
- blockCmtStart :: Doc
- blockCmtEnd :: Doc
- docCmtStart :: Doc
- bodyStart :: Doc
- bodyEnd :: Doc
- endStatement :: Doc
- constDec' :: Doc
- exceptionObj' :: Doc
- new' :: Doc
- this' :: Doc
- self' :: Doc
- array' :: Doc
- listSep' :: Doc
- argc :: String
- argv :: String
- args :: String
- printLabel :: String
- constDec :: String
- exceptionObj :: String
- mainFunc :: String
- new :: String
- this :: String
- self :: String
- nullLabel :: String
- array :: String
- listSep :: String
- sqrt :: String
- abs :: String
- fabs :: String
- log10 :: String
- log :: String
- exp :: String
- sin :: String
- cos :: String
- tan :: String
- asin :: String
- acos :: String
- atan :: String
- floor :: String
- ceil :: String
- pow :: String
- piLabel :: String
- access :: String -> String -> String
- containing :: String -> String -> String
- tuple :: [String] -> String
- mathFunc :: String -> String
- addExt :: String -> String -> String
- package :: Label -> Doc -> FileData -> FileData
- file :: Doc -> Doc -> Doc -> Doc
- module' :: Doc -> Doc -> Doc -> Doc
- class' :: Label -> Doc -> Doc -> Doc -> Doc -> Doc
- multiStmt :: [Statement] -> Statement
- block :: [Doc] -> Doc
- body :: [Doc] -> Doc
- print :: forall {k} r (val :: k). ValueElim r val => r val -> r val -> Doc
- printFile :: Label -> Doc -> Doc
- stateVar :: Doc -> Doc -> Doc -> Doc
- constVar :: Doc -> Doc -> Doc -> VarData -> Doc
- stateVarList :: [Doc] -> Doc
- switch :: forall {k} r (bod :: k) (stmt :: k) (val :: k). (BodyElim r bod, StatementElim r stmt, ValueElim r val) => (Doc -> Doc) -> r stmt -> r val -> r bod -> [(r val, r bod)] -> Doc
- assign :: forall {k} r (var :: k) (val :: k). (InternalVarElim r var, ValueElim r val) => r var -> r val -> Doc
- addAssign :: forall {k} r (var :: k) (val :: k). (InternalVarElim r var, ValueElim r val) => r var -> r val -> Doc
- subAssign :: forall {k} r (var :: k) (val :: k). (InternalVarElim r var, ValueElim r val) => r var -> r val -> Doc
- increment :: forall {k} r (var :: k). InternalVarElim r var => r var -> Doc
- decrement :: forall {k} r (var :: k). InternalVarElim r var => r var -> Doc
- getTerm :: Terminator -> Doc
- return' :: forall {k} r (val :: k). ValueElim r val => [r val] -> Doc
- comment :: Label -> Doc -> Doc
- var :: Label -> Doc
- extVar :: Library -> Label -> Doc
- arg :: forall {k} r (val :: k). ValueElim r val => r val -> r val -> Doc
- classVarAccess :: Doc -> Doc -> Doc
- instanceVarAccess :: Doc -> Doc -> Doc
- unOpDocD :: Doc -> Doc -> Doc
- unOpDocD' :: Doc -> Doc -> Doc
- binOpDocD :: Doc -> Doc -> Doc -> Doc
- binOpDocD' :: Doc -> Doc -> Doc -> Doc
- func :: Doc -> Doc
- cast :: Doc -> Doc
- listAccessFunc :: forall {k} r (val :: k). ValueElim r val => r val -> Doc
- objAccess :: Doc -> Doc -> Doc
- castObj :: Doc -> Doc -> Doc
- break :: Doc
- continue :: Doc
- classLevel :: Doc
- instanceLevel :: Doc
- private :: Doc
- public :: Doc
- blockCmt :: [String] -> Doc -> Doc -> Doc
- docCmt :: [String] -> Doc -> Doc -> Doc
- commentedItem :: Doc -> Doc -> Doc
- addComments :: Label -> Doc -> Doc -> Doc
- type FuncDocRenderer = String -> [(String, String)] -> [String] -> [String]
- functionDox :: FuncDocRenderer
- type ClassDocRenderer = String -> [String]
- classDox :: ClassDocRenderer
- type ModuleDocRenderer = String -> String -> [String] -> String -> String -> [String]
- moduleDox :: ModuleDocRenderer
- commentedMod :: FileData -> Doc -> FileData
- valueList :: forall {k} r (val :: k). ValueElim r val => [r val] -> Doc
- variableList :: forall {k} r (var :: k). InternalVarElim r var => [r var] -> Doc
- binderList :: forall {k} r (binder :: k). InternalBinderElim r binder => [r binder] -> Doc
- parameterList :: forall {k} r (param :: k) (typ :: k). ParamElim r param typ => [r param] -> Doc
- namedArgList :: forall {k} r (var :: k) (val :: k). (InternalVarElim r var, ValueElim r val) => Doc -> [(r var, r val)] -> Doc
- prependToBody :: Statement -> Doc -> Doc
- appendToBody :: Doc -> Statement -> Doc
- surroundBody :: Statement -> Doc -> Statement -> Doc
- getterName :: String -> String
- setterName :: String -> String
- intValue :: forall {k} r (typ :: k) (val :: k). (TypeElim r typ, ValueSym r val typ) => VS (r val) -> VS (r val)
Common Syntax
commentStart :: Doc Source #
returnLabel :: Doc Source #
elseIfLabel :: Doc Source #
whileLabel :: Doc Source #
catchLabel :: Doc Source #
throwLabel :: Doc Source #
throwsLabel :: Doc Source #
importLabel :: Doc Source #
blockCmtStart :: Doc Source #
blockCmtEnd :: Doc Source #
docCmtStart :: Doc Source #
endStatement :: Doc Source #
exceptionObj' :: Doc Source #
printLabel :: String Source #
Default Functions available for use in renderers
stateVarList :: [Doc] -> Doc Source #
switch :: forall {k} r (bod :: k) (stmt :: k) (val :: k). (BodyElim r bod, StatementElim r stmt, ValueElim r val) => (Doc -> Doc) -> r stmt -> r val -> r bod -> [(r val, r bod)] -> Doc Source #
assign :: forall {k} r (var :: k) (val :: k). (InternalVarElim r var, ValueElim r val) => r var -> r val -> Doc Source #
addAssign :: forall {k} r (var :: k) (val :: k). (InternalVarElim r var, ValueElim r val) => r var -> r val -> Doc Source #
subAssign :: forall {k} r (var :: k) (val :: k). (InternalVarElim r var, ValueElim r val) => r var -> r val -> Doc Source #
increment :: forall {k} r (var :: k). InternalVarElim r var => r var -> Doc Source #
decrement :: forall {k} r (var :: k). InternalVarElim r var => r var -> Doc Source #
getTerm :: Terminator -> Doc Source #
listAccessFunc :: forall {k} r (val :: k). ValueElim r val => r val -> Doc Source #
classLevel :: Doc Source #
instanceLevel :: Doc Source #
type ClassDocRenderer = String -> [String] Source #
variableList :: forall {k} r (var :: k). InternalVarElim r var => [r var] -> Doc Source #
binderList :: forall {k} r (binder :: k). InternalBinderElim r binder => [r binder] -> Doc Source #
parameterList :: forall {k} r (param :: k) (typ :: k). ParamElim r param typ => [r param] -> Doc Source #
namedArgList :: forall {k} r (var :: k) (val :: k). (InternalVarElim r var, ValueElim r val) => Doc -> [(r var, r val)] -> Doc Source #
getterName :: String -> String Source #
setterName :: String -> String Source #