E_ACSL.Translate_terms
Generate C implementations of E-ACSL terms.
val to_exp :
adata:Assert.t ->
?inplace:bool ->
Frama_c_kernel.Cil_types.kernel_function ->
Env.t ->
Frama_c_kernel.Cil_types.term ->
Frama_c_kernel.Cil_types.exp * Assert.t * Env.t
to_exp ~adata ?inplace kf env t
converts an ACSL term into a corresponding C expression.
adata
: assertion context.inplace
: if the root term has a label, indicates if it should be immediately translated or if Translate_ats
should be used to retrieve the translation.kf
: The enclosing function.env
: The current environment.t
: The term to translate.exception No_simple_translation of Frama_c_kernel.Cil_types.term
Exceptin raised if untyped_to_exp
would generate new statements in the environment
val untyped_to_exp :
Frama_c_kernel.Cil_types.typ option ->
Frama_c_kernel.Cil_types.term ->
Frama_c_kernel.Cil_types.exp
Convert an untyped ACSL term into a corresponding C expression.
val translate_rte_exp_ref :
( ?filter:( Frama_c_kernel.Cil_types.code_annotation -> bool ) ->
Frama_c_kernel.Cil_types.kernel_function ->
Env.t ->
Frama_c_kernel.Cil_types.exp ->
Env.t )
Stdlib.ref