Feldspar.Compiler.Imperative.Representation
Documentation
class Annotation t s
Associated Types
type Label t s
Instances
data Module t
Constructors
| Module | |
Fields
| |
Instances
data Definition t
Constructors
| Struct | |
Fields
| |
| Union | |
Fields
| |
| Procedure | |
| Prototype | |
Fields
| |
| GlobalVar | |
Fields
| |
Instances
data StructMember t
Constructors
| StructMember | |
Fields | |
Instances
data UnionMember t
Constructors
| UnionMember | |
Fields | |
Instances
data Block t
Constructors
| Block | |
Fields
| |
Instances
data Program t
Constructors
Instances
data SwitchCase t
Constructors
| SwitchCase | |
Fields
| |
Instances
data ActualParameter t
Constructors
| In | |
Fields
| |
| Out | |
Fields
| |
Instances
data Declaration t
Constructors
| Declaration | |
Fields
| |
Instances
data Expression t
Constructors
| VarExpr | |
Fields
| |
| ArrayElem | |
Fields
| |
| StructField | |
Fields
| |
| UnionField | |
Fields
| |
| ConstExpr | |
Fields
| |
| FunctionCall | |
Fields
| |
| Cast | |
Fields
| |
| SizeOf | |
Fields
| |
Instances
data Constant t
Constructors
| IntConst | |
Fields
| |
| FloatConst | |
Fields
| |
| BoolConst | |
Fields
| |
| ArrayConst | |
Fields
| |
| ComplexConst | |
Fields
| |
Instances
| Eq ShowValue | |
| Show ShowValue | |
| Annotation UnrollSemInf Constant | |
| Annotation DebugToCSemanticInfo Constant | |
| (Transformable t Constant, Transformable1 t [] Constant, Conversion t Constant, Conversion t IntConst, Conversion t FloatConst, Conversion t BoolConst, Conversion t ArrayConst, Conversion t ComplexConst, Default (Up t)) => DefaultTransformable t Constant | |
| Transformable DebugToC Constant | |
| Transformable1 DebugToC [] Constant | |
| EqLabel t => Eq (Constant t) | |
| ShowLabel t => Show (Constant t) | |
| ShowLabel t => HasType (Constant t) |
data Variable t
Constructors
| Variable | |
Instances
data Length
Constructors
| LiteralLen Int | |
| IndirectLen String | |
| UndefinedLen |
data Type
Constructors
| VoidType | |
| BoolType | |
| BitType | |
| FloatType | |
| NumType Signedness Size | |
| ComplexType Type | |
| UserType String | |
| ArrayType Length Type | |
| StructType [(String, Type)] | |
| UnionType [(String, Type)] |
Instances
data Struct t
data Union t
data Procedure t
data Prototype t
data GlobalVar t
data Empty t
data Comment t
data Assign t
data ProcedureCall t
data Sequence t
data Branch t
data Switch t
data SeqLoop t
data ParLoop t
data FunctionCall t
data Cast t
data SizeOf t
data ArrayElem t
data StructField t
data UnionField t
data LeftFunCall t
data IntConst t
data FloatConst t
data BoolConst t
data ArrayConst t
data ComplexConst t
class (Show (Label t Module), Show (Label t Definition), Show (Label t Struct), Show (Label t Union), Show (Label t Procedure), Show (Label t Prototype), Show (Label t GlobalVar), Show (Label t StructMember), Show (Label t UnionMember), Show (Label t Block), Show (Label t Program), Show (Label t Empty), Show (Label t Comment), Show (Label t Assign), Show (Label t ProcedureCall), Show (Label t Sequence), Show (Label t Branch), Show (Label t Switch), Show (Label t SeqLoop), Show (Label t ParLoop), Show (Label t SwitchCase), Show (Label t ActualParameter), Show (Label t Declaration), Show (Label t Expression), Show (Label t FunctionCall), Show (Label t Cast), Show (Label t SizeOf), Show (Label t ArrayElem), Show (Label t StructField), Show (Label t UnionField), Show (Label t Constant), Show (Label t IntConst), Show (Label t FloatConst), Show (Label t BoolConst), Show (Label t ArrayConst), Show (Label t ComplexConst), Show (Label t Variable)) => ShowLabel t
Instances
| (Show (Label t Module), Show (Label t Definition), Show (Label t Struct), Show (Label t Union), Show (Label t Procedure), Show (Label t Prototype), Show (Label t GlobalVar), Show (Label t StructMember), Show (Label t UnionMember), Show (Label t Block), Show (Label t Program), Show (Label t Empty), Show (Label t Comment), Show (Label t Assign), Show (Label t ProcedureCall), Show (Label t Sequence), Show (Label t Branch), Show (Label t Switch), Show (Label t SeqLoop), Show (Label t ParLoop), Show (Label t SwitchCase), Show (Label t ActualParameter), Show (Label t Declaration), Show (Label t Expression), Show (Label t FunctionCall), Show (Label t Cast), Show (Label t SizeOf), Show (Label t ArrayElem), Show (Label t StructField), Show (Label t UnionField), Show (Label t Constant), Show (Label t IntConst), Show (Label t FloatConst), Show (Label t BoolConst), Show (Label t ArrayConst), Show (Label t ComplexConst), Show (Label t Variable)) => ShowLabel t |
class (Eq (Label t Module), Eq (Label t Definition), Eq (Label t Struct), Eq (Label t Union), Eq (Label t Procedure), Eq (Label t Prototype), Eq (Label t GlobalVar), Eq (Label t StructMember), Eq (Label t UnionMember), Eq (Label t Block), Eq (Label t Program), Eq (Label t Empty), Eq (Label t Comment), Eq (Label t Assign), Eq (Label t ProcedureCall), Eq (Label t Sequence), Eq (Label t Branch), Eq (Label t Switch), Eq (Label t SeqLoop), Eq (Label t ParLoop), Eq (Label t SwitchCase), Eq (Label t ActualParameter), Eq (Label t Declaration), Eq (Label t Expression), Eq (Label t FunctionCall), Eq (Label t Cast), Eq (Label t SizeOf), Eq (Label t StructField), Eq (Label t UnionField), Eq (Label t ArrayElem), Eq (Label t Constant), Eq (Label t IntConst), Eq (Label t FloatConst), Eq (Label t BoolConst), Eq (Label t ArrayConst), Eq (Label t ComplexConst), Eq (Label t Variable)) => EqLabel t
Instances
| (Eq (Label t Module), Eq (Label t Definition), Eq (Label t Struct), Eq (Label t Union), Eq (Label t Procedure), Eq (Label t Prototype), Eq (Label t GlobalVar), Eq (Label t StructMember), Eq (Label t UnionMember), Eq (Label t Block), Eq (Label t Program), Eq (Label t Empty), Eq (Label t Comment), Eq (Label t Assign), Eq (Label t ProcedureCall), Eq (Label t Sequence), Eq (Label t Branch), Eq (Label t Switch), Eq (Label t SeqLoop), Eq (Label t ParLoop), Eq (Label t SwitchCase), Eq (Label t ActualParameter), Eq (Label t Declaration), Eq (Label t Expression), Eq (Label t FunctionCall), Eq (Label t Cast), Eq (Label t SizeOf), Eq (Label t StructField), Eq (Label t UnionField), Eq (Label t ArrayElem), Eq (Label t Constant), Eq (Label t IntConst), Eq (Label t FloatConst), Eq (Label t BoolConst), Eq (Label t ArrayConst), Eq (Label t ComplexConst), Eq (Label t Variable)) => EqLabel t |