| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
Drasil.Shared.RendererClassesCommon
Documentation
class (AssignStatement r smt, DeclStatement r smt, IOStatement r smt, StringStatement r smt, FuncAppStatement r smt, CommentStatement r smt, ControlStatement r smt, Argument r, Literal r, MathConstant r, VariableValue r, CommandLineArgs r, NumericExpression r, BooleanExpression r, Comparison r, IndexTranslator r, List r smt, InternalList r, VariableElim r, BinderElim r, RenderBlock r, BlockElim r, RenderBody r, BodyElim r, InternalListFunc r, RenderFunction r, FunctionElim r, OpElim r, RenderParam r, ParamElim r, RenderVisibility r vis, VisibilityElim r vis, InternalAssignStmt r smt, InternalIOStmt r smt, InternalControlStmt r smt, RenderStatement r smt, StatementElim r smt, RenderType r, RenderValue r, ValueElim r, RenderVariable r, InternalVarElim r, InternalBinderElim r, ImportSym r, UnaryOpSym r, BinaryOpSym r, BlockCommentSym r, BlockCommentElim r, ValueExpression r, RenderMethod r md, MethodElim r md, ParameterSym r, ScopeElim r) => CommonRenderSym r vis smt md Source #
Instances
class ImportSym r where Source #
Instances
| ImportSym CSharpCode Source # | |
Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer | |
| ImportSym CppHdrCode Source # | |
Defined in Drasil.GOOL.LanguageRenderer.CppRenderer | |
| ImportSym CppSrcCode Source # | |
Defined in Drasil.GOOL.LanguageRenderer.CppRenderer | |
| ImportSym JavaCode Source # | |
| ImportSym PythonCode Source # | |
Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer | |
| ImportSym SwiftCode Source # | |
| ImportSym JuliaCode Source # | |
| ImportSym MatlabCode Source # | |
Defined in Drasil.GProc.LanguageRenderer.MatlabRenderer | |
| Pair p => ImportSym (p CppSrcCode CppHdrCode) Source # | |
Defined in Drasil.GOOL.LanguageRenderer.CppRenderer Methods langImport :: Label -> p CppSrcCode CppHdrCode Doc Source # modImport :: Label -> p CppSrcCode CppHdrCode Doc Source # | |
class RenderBody r where Source #
Instances
class BodyElim r where Source #
Instances
| BodyElim CSharpCode Source # | |
Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer | |
| BodyElim CppHdrCode Source # | |
Defined in Drasil.GOOL.LanguageRenderer.CppRenderer | |
| BodyElim CppSrcCode Source # | |
Defined in Drasil.GOOL.LanguageRenderer.CppRenderer | |
| BodyElim JavaCode Source # | |
| BodyElim PythonCode Source # | |
Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer | |
| BodyElim SwiftCode Source # | |
| BodyElim JuliaCode Source # | |
| BodyElim MatlabCode Source # | |
Defined in Drasil.GProc.LanguageRenderer.MatlabRenderer | |
| Pair p => BodyElim (p CppSrcCode CppHdrCode) Source # | |
Defined in Drasil.GOOL.LanguageRenderer.CppRenderer Methods body :: p CppSrcCode CppHdrCode Body -> Doc Source # | |
class RenderBlock r where Source #
Instances
class BlockElim r where Source #
Instances
| BlockElim CSharpCode Source # | |
Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer | |
| BlockElim CppHdrCode Source # | |
Defined in Drasil.GOOL.LanguageRenderer.CppRenderer | |
| BlockElim CppSrcCode Source # | |
Defined in Drasil.GOOL.LanguageRenderer.CppRenderer | |
| BlockElim JavaCode Source # | |
| BlockElim PythonCode Source # | |
Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer | |
| BlockElim SwiftCode Source # | |
| BlockElim JuliaCode Source # | |
| BlockElim MatlabCode Source # | |
Defined in Drasil.GProc.LanguageRenderer.MatlabRenderer | |
| Pair p => BlockElim (p CppSrcCode CppHdrCode) Source # | |
Defined in Drasil.GOOL.LanguageRenderer.CppRenderer Methods block :: p CppSrcCode CppHdrCode Block -> Doc Source # | |
class RenderType r where Source #
Instances
class UnaryOpSym r where Source #
Methods
Instances
class BinaryOpSym r where Source #
Methods
notEqualOp :: VSBinOp r Source #
greaterOp :: VSBinOp r Source #
greaterEqualOp :: VSBinOp r Source #
lessEqualOp :: VSBinOp r Source #
divideOp :: VSBinOp r Source #
Instances
Methods
uOp :: r OpData -> Doc Source #
bOp :: r OpData -> Doc Source #
Instances
| OpElim CSharpCode Source # | |
Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer | |
| OpElim CppHdrCode Source # | |
Defined in Drasil.GOOL.LanguageRenderer.CppRenderer | |
| OpElim CppSrcCode Source # | |
Defined in Drasil.GOOL.LanguageRenderer.CppRenderer | |
| OpElim JavaCode Source # | |
| OpElim PythonCode Source # | |
Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer | |
| OpElim SwiftCode Source # | |
| OpElim JuliaCode Source # | |
| OpElim MatlabCode Source # | |
Defined in Drasil.GProc.LanguageRenderer.MatlabRenderer | |
| Pair p => OpElim (p CppSrcCode CppHdrCode) Source # | |
Defined in Drasil.GOOL.LanguageRenderer.CppRenderer Methods uOp :: p CppSrcCode CppHdrCode OpData -> Doc Source # bOp :: p CppSrcCode CppHdrCode OpData -> Doc Source # uOpPrec :: p CppSrcCode CppHdrCode OpData -> Int Source # bOpPrec :: p CppSrcCode CppHdrCode OpData -> Int Source # | |
class RenderVariable r where Source #
Methods
varFromData :: AttachmentTag -> String -> VS (r TypeData) -> Doc -> SVariable r Source #
Instances
class InternalVarElim r where Source #
Instances
class InternalBinderElim r where Source #
Methods
binderElim :: r BinderD -> Doc Source #
Instances
class RenderValue r where Source #
Methods
inputFunc :: SValue r Source #
printFunc :: SValue r Source #
printLnFunc :: SValue r Source #
printFileFunc :: SValue r -> SValue r Source #
printFileLnFunc :: SValue r -> SValue r Source #
cast :: VS (r TypeData) -> SValue r -> SValue r Source #
call :: Maybe Library -> Maybe Doc -> MixedCall r Source #
Very generic internal function for generating calls, to reduce repeated code throughout generators. Parameters are: maybe name of external module, maybe Doc for object variable (including separator between object and function) for method calls.
valFromData :: Maybe Int -> Maybe Integer -> VS (r TypeData) -> Doc -> SValue r Source #
Instances
class ValueElim r where Source #
Instances
| ValueElim CSharpCode Source # | |
| ValueElim CppHdrCode Source # | |
| ValueElim CppSrcCode Source # | |
| ValueElim JavaCode Source # | |
| ValueElim PythonCode Source # | |
| ValueElim SwiftCode Source # | |
| ValueElim JuliaCode Source # | |
| ValueElim MatlabCode Source # | |
| Pair p => ValueElim (p CppSrcCode CppHdrCode) Source # | |
Defined in Drasil.GOOL.LanguageRenderer.CppRenderer Methods valuePrec :: p CppSrcCode CppHdrCode Value -> Maybe Int Source # valueInt :: p CppSrcCode CppHdrCode Value -> Maybe Integer Source # value :: p CppSrcCode CppHdrCode Value -> Doc Source # | |
class InternalListFunc r where Source #
Instances
class RenderFunction r where Source #
Instances
class FunctionElim r where Source #
Instances
class InternalAssignStmt r smt | r -> smt where Source #
Instances
class InternalIOStmt r smt | r -> smt where Source #
Instances
class InternalControlStmt r smt | r -> smt where Source #
Methods
multiReturn :: [SValue r] -> MS (r smt) Source #
Instances
class RenderStatement r smt | r -> smt where Source #
Methods
stmt :: MS (r smt) -> MS (r smt) Source #
loopStmt :: MS (r smt) -> MS (r smt) Source #
stmtFromData :: Doc -> Terminator -> MS (r smt) Source #
Instances
class StatementElim r smt | r -> smt where Source #
Instances
class RenderVisibility r vis | r -> vis where Source #
Methods
visibilityFromData :: VisibilityTag -> Doc -> r vis Source #
Instances
class VisibilityElim r vis | r -> vis where Source #
Methods
visibility :: r vis -> Doc Source #
Instances
type MSMthdType a = MS (a TypeData) Source #
class TypeSym r => MethodTypeSym r where Source #
Instances
class RenderParam r where Source #
Instances
class ParamElim r where Source #
Methods
parameterName :: r ParamData -> Label Source #
parameterType :: r ParamData -> r TypeData Source #
Instances
class (MethodTypeSym r, BlockCommentSym r) => RenderMethod r md | r -> md where Source #
Methods
commentedFunc :: MS (r Doc) -> MS (r md) -> MS (r md) Source #
Takes a BlockComment and a method and generates a function.
mthdFromData :: VisibilityTag -> Doc -> MS (r md) Source #
Instances
class MethodElim r md | r -> md where Source #
Instances
| MethodElim CSharpCode MethodData Source # | |
Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer Methods method :: CSharpCode MethodData -> Doc Source # | |
| MethodElim JavaCode MethodData Source # | |
Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer | |
| MethodElim PythonCode MethodData Source # | |
Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer Methods method :: PythonCode MethodData -> Doc Source # | |
| MethodElim SwiftCode MethodData Source # | |
Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer | |
| MethodElim JuliaCode MethodData Source # | |
Defined in Drasil.GProc.LanguageRenderer.JuliaRenderer | |
| MethodElim MatlabCode MethodData Source # | |
Defined in Drasil.GProc.LanguageRenderer.MatlabRenderer Methods method :: MatlabCode MethodData -> Doc Source # | |
class BlockCommentSym r where Source #
Methods
blockComment :: [String] -> r Doc Source #
docComment :: State a [String] -> State a (r Doc) Source #
Converts a list of strings into a block comment
Instances
class BlockCommentElim r where Source #
Methods
blockComment' :: r Doc -> Doc Source #
Instances
class ScopeElim r where Source #
Instances
| ScopeElim CSharpCode Source # | |
Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer | |
| ScopeElim CppHdrCode Source # | |
Defined in Drasil.GOOL.LanguageRenderer.CppRenderer | |
| ScopeElim CppSrcCode Source # | |
Defined in Drasil.GOOL.LanguageRenderer.CppRenderer | |
| ScopeElim JavaCode Source # | |
| ScopeElim PythonCode Source # | |
Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer | |
| ScopeElim SwiftCode Source # | |
| ScopeElim JuliaCode Source # | |
| ScopeElim MatlabCode Source # | |
Defined in Drasil.GProc.LanguageRenderer.MatlabRenderer | |
| Pair p => ScopeElim (p CppSrcCode CppHdrCode) Source # | |
Defined in Drasil.GOOL.LanguageRenderer.CppRenderer Methods scopeData :: p CppSrcCode CppHdrCode ScopeData -> ScopeData Source # | |