feldspar-compiler-0.6.0.2: Compiler for the Feldspar language

Safe Haskell | None

Feldspar.Compiler.Backend.C.Plugin.PrettyPrint

# Documentation

data DebugToC

Constructors

DebugToC |

Instances

Transformation DebugToC |
Plugin DebugToC |
Transformable DebugToC Variable |
Transformable DebugToC Constant |
Transformable DebugToC Expression |
Transformable DebugToC Declaration |
Transformable DebugToC ActualParameter |
Transformable DebugToC Program |
Transformable DebugToC Block |
Transformable DebugToC StructMember |
Transformable DebugToC Entity |
Transformable DebugToC Module |
Transformable1 DebugToC [] Variable |
Transformable1 DebugToC [] Constant |
Transformable1 DebugToC [] Expression |
Transformable1 DebugToC [] Declaration |
Transformable1 DebugToC [] ActualParameter |
Transformable1 DebugToC [] Program |
Transformable1 DebugToC [] StructMember |
Transformable1 DebugToC [] Entity |

data DebugToCSemanticInfo

Instances

Annotation DebugToCSemanticInfo ComplexConst |
Annotation DebugToCSemanticInfo ArrayConst |
Annotation DebugToCSemanticInfo BoolConst |
Annotation DebugToCSemanticInfo FloatConst |
Annotation DebugToCSemanticInfo IntConst |
Annotation DebugToCSemanticInfo StructField |
Annotation DebugToCSemanticInfo ArrayElem |
Annotation DebugToCSemanticInfo SizeOf |
Annotation DebugToCSemanticInfo Cast |
Annotation DebugToCSemanticInfo FunctionCall |
Annotation DebugToCSemanticInfo ParLoop |
Annotation DebugToCSemanticInfo SeqLoop |
Annotation DebugToCSemanticInfo Branch |
Annotation DebugToCSemanticInfo Sequence |
Annotation DebugToCSemanticInfo Run |
Annotation DebugToCSemanticInfo Spawn |
Annotation DebugToCSemanticInfo ProcedureCall |
Annotation DebugToCSemanticInfo Assign |
Annotation DebugToCSemanticInfo Comment |
Annotation DebugToCSemanticInfo Empty |
Annotation DebugToCSemanticInfo ProcDecl |
Annotation DebugToCSemanticInfo ProcDef |
Annotation DebugToCSemanticInfo Struct |
Annotation DebugToCSemanticInfo Variable |
Annotation DebugToCSemanticInfo Constant |
Annotation DebugToCSemanticInfo Expression |
Annotation DebugToCSemanticInfo Declaration |
Annotation DebugToCSemanticInfo ActualParameter |
Annotation DebugToCSemanticInfo Program |
Annotation DebugToCSemanticInfo Block |
Annotation DebugToCSemanticInfo StructMember |
Annotation DebugToCSemanticInfo Entity |
Annotation DebugToCSemanticInfo Module |
Combine (Program DebugToCSemanticInfo) |
Default (Program DebugToCSemanticInfo) |

compToC :: ((Options, Place), Int) -> Module () -> (String, (Int, Int))

compToCWithInfos :: ((Options, Place), Int) -> Module () -> (Module DebugToCSemanticInfo, (String, (Int, Int)))

displayComment :: Int -> [String] -> String

displayMemInfo :: String -> [Type] -> String

displayType :: Type -> String

putIndent :: Int -> String

addIndent :: Int -> Int

transform1' :: (Num t1, Transformable1 t5 [] a, Transformable t5 a, ~ * (Up t5) [Char], ~ * (Up t) [Char], ~ * (Down t5) (t2, t3, t4), ~ * (State t5) (t1, Int), ~ * (State t) (t1, Int), ~ * (To t) (To t5)) => t5 -> (t1, Int) -> (t2, t3, t4) -> [a (From t5)] -> [Char] -> t1 -> Result1 t [] a

transformConst :: (~ * (Label (To t3) Constant) ((Int, Int), (Int, Int)), ~ * (Label (To t3) IntConst) ((Int, Int), (Int, Int)), ~ * (Label (To t3) FloatConst) ((Int, Int), (Int, Int)), ~ * (Label (To t3) BoolConst) ((Int, Int), (Int, Int)), ~ * (Up t3) [Char], ~ * (State t3) (Int, Int)) => t -> (Int, Int) -> (Options, t1, t2) -> Constant () -> String -> Result t3 Constant

transformActParam :: (Transformable t4 Expression, ~ * (Label (To t4) ActualParameter) ((Int, Int), (Int, Int)), ~ * (Up t4) [Char], ~ * (Up t1) [Char], ~ * (Down t4) (Options, t2, t3), ~ * (State t4) (Int, Int), ~ * (State t1) (Int, Int), ~ * (To t1) (To t4)) => t4 -> (Int, Int) -> (Options, t, t3) -> ActualParameter (From t4) -> t2 -> Result t1 ActualParameter

transformFuncCall :: (Transformable t4 Expression, ~ * (Label (To t4) Expression) ((Int, Int), (Int, Int)), ~ * (Label (To t4) FunctionCall) ((Int, Int), (Int, Int)), ~ * (Up t4) [Char], ~ * (Up t3) [Char], ~ * (Down t4) (t, t1, t2), ~ * (State t4) (Int, Int), ~ * (State t3) (Int, Int), ~ * (To t3) (To t4)) => t4 -> (Int, Int) -> (t, t1, t2) -> Expression (From t4) -> [Char] -> [Char] -> [Char] -> Result t3 Expression

code :: MonadState ([Char], Int, Int) m => [Char] -> m ()

indenter :: MonadState ([Char], t, t1) m => Int -> m ()

monadicTransform' :: (MonadState ([Char], Int, Int) m, Transformable t s, ~ * (Up t) [Char], ~ * (State t) (Int, Int)) => t -> Down t -> s (From t) -> m (Result t s)

complexTransform :: (MonadState (t, t2, t3) m, Transformable t1 s, ~ * (State t1) (t2, t3)) => t1 -> Down t1 -> s (From t1) -> m (Result t1 s)

monadicListTransform' :: (MonadState ([Char], Int, Int) m, Transformable1 t s a, ~ * (Up t) [Char], ~ * (State t) (Int, Int)) => t -> Down t -> s (a (From t)) -> m (Result1 t s a)

defaultState :: Int -> Int -> (String, Int, Int)