atom-0.1.0: A DSL for embedded hard realtime applications.

Language.Atom.Code

Description

Atom C code generation.

Synopsis

Documentation

data Config Source

C code configuration parameters.

Constructors

Config 

Fields

cFuncName :: String

Alternative primary function name. Leave empty to use compile name.

cType :: Type -> String

C type naming rules.

cPreCode :: String

C code to insert above (includes, macros, etc.).

cPostCode :: String

C code to insert below (main, etc.).

cRuleCoverage :: Bool

Enable rule coverage tracking.

cAssert :: Bool

Enable assertion checking.

cAssertName :: String

Name of assertion function. Type: void assert(char*, cType Bool);

cCover :: Bool

Enable functional coverage accumulation.

cCoverName :: String

Name of coverage function. Type: void cover(char*, cType Bool);

writeC :: Name -> Config -> [[[Rule]]] -> ([Const], [Const], [Const], [Const]) -> IO ()Source

ruleComplexity :: Rule -> IntSource

Number of UE's computed in rule.

defaults :: ConfigSource

Default C code configuration parameters (default function name, no pre/post code, ANSI C types).

cTypes :: Type -> StringSource

ANSI C type naming rules.

c99Types :: Type -> StringSource

C99 type naming rules.