feldspar-compiler-0.6.0.2: Compiler for the Feldspar language

Safe Haskell | None

Feldspar.Compiler.Imperative.Plugin.Unroll

# Documentation

data SemInfPrg

Constructors

SemInfPrg |

Fields

position :: Int
varNames :: [String]
loopVar :: String

Instances

Eq SemInfPrg |
Show SemInfPrg |
Default (Maybe SemInfPrg) |

data UnrollSemInf

Instances

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

data UnrollPlugin

Constructors

UnrollPlugin |

Instances

Transformation UnrollPlugin |
Plugin UnrollPlugin |

data Unroll1

Constructors

Unroll1 |

Instances

Transformation Unroll1 |
Transformable Unroll1 Program |

data Unroll2

Constructors

Unroll2 |

Instances

Transformation Unroll2 |
Transformable Unroll2 Variable |
Transformable Unroll2 Expression |
Transformable Unroll2 Program |

isJust :: Maybe t -> Bool

getVarNameDecl :: Declaration t -> String

renameDeclaration :: Declaration t -> String -> Declaration t

renameVariable :: Variable t -> String -> Variable t