Safe Haskell | None |
---|---|
Language | Haskell2010 |
- newtype AreaInitM a = AreaInitM {}
- areaInit_iso :: Iso (ReaderT String (StateT Int Id)) AreaInitM
- runAreaInitM :: String -> AreaInitM a -> a
- areaInit :: String -> Init area -> (Init, [Binding])
- data MemArea area
- = MemImport AreaImport
- | MemArea Area [Area]
- memSym :: MemArea area -> Sym
- bindingArea :: Bool -> Binding -> Area
- makeArea :: Sym -> Bool -> Type -> Init -> Area
- area :: forall area. (IvoryArea area, IvoryZero area) => Sym -> Maybe (Init area) -> MemArea area
- importArea :: IvoryArea area => Sym -> String -> MemArea area
- newtype ConstMemArea area = ConstMemArea (MemArea area)
- constArea :: forall area. IvoryArea area => Sym -> Init area -> ConstMemArea area
- importConstArea :: IvoryArea area => Sym -> String -> ConstMemArea area
- class IvoryAddrOf mem ref | mem -> ref, ref -> mem where
- primAddrOf :: IvoryArea area => MemArea area -> Expr
Documentation
This is used to generate fresh names for compound initializers.
runAreaInitM :: String -> AreaInitM a -> a Source
Externally defined memory areas.
bindingArea :: Bool -> Binding -> Area Source
Create an area from an auxillary binding.
area :: forall area. (IvoryArea area, IvoryZero area) => Sym -> Maybe (Init area) -> MemArea area Source
Define a global constant. Requires an IvoryZero constraint to ensure the area has an initializers, but does not explicilty initialize to 0 so that the value is placed in the .bss section.
importArea :: IvoryArea area => Sym -> String -> MemArea area Source
Import an external symbol from a header.
newtype ConstMemArea area Source
ConstMemArea (MemArea area) |
constArea :: forall area. IvoryArea area => Sym -> Init area -> ConstMemArea area Source
Constant memory area definition.
importConstArea :: IvoryArea area => Sym -> String -> ConstMemArea area Source
Import an external symbol from a header.
class IvoryAddrOf mem ref | mem -> ref, ref -> mem where Source
Turn a memory area into a reference.
primAddrOf :: IvoryArea area => MemArea area -> Expr Source