Module Soc2cStackSource

Gathers all entities (functions, types) that implement the heap-based C generator.

Sourceval is_soc_output : Soc.var_expr -> Soc.t -> bool
Sourceval gen_assign : Data.t -> string -> string -> string

gen_assign t vi vo size generated the C code that assign vo to vi, using memcpy or = depending on the type t

Sourceval gen_assign_var_expr : Soc.t -> Soc.var_expr -> Soc.var_expr -> string

ditto

Sourceval step_name : Soc.key -> string -> string

Generates the C step name from the soc key and the soc step name

Sourceval get_step_prototype : Soc.step_method -> Soc.t -> string * string * string

Returns the prototype (.c) and the decl (.h) of the step function. For the stack based approach, we need to arg I/O params.

Sourceval string_of_var_expr : Soc.t -> Soc.var_expr -> string
Sourceval ctx_var : Soc2cUtil.var_kind -> Soc.t -> Lv6Id.t -> string

gen_step_call soc called_soc vel_out vel_in ctx sname step_arg Generates the C code that performs the call to a step method of called_soc from soc.

Sourceval gen_step_call : Soc.t -> Soc.t -> Soc.var_expr list -> Soc.var_expr list -> string -> string -> string -> string
Sourceval inlined_soc : Soc.key -> bool
Sourceval typedef_of_soc : Soc.t -> string