Frama-C:
Plug-ins:
Libraries:

Frama-C API - Eva_ast_utils

Utilitary functions on the Eva AST of lvalues and expressions.

Conversion to Cil

Queries

val is_mutable : Eva_ast_types.lval -> bool

Cf Cil.is_mutable_or_initialized.

val is_initialized : Eva_ast_types.lval -> bool

Expressions/Lvalue heights

val height_exp : Eva_ast_types.exp -> int

Computes the height of an expression, that is the maximum number of nested operations in this expression.

val height_lval : Eva_ast_types.lval -> int

Computes the height of an lvalue.

Specialized visitors

val exp_contains_volatile : Eva_ast_types.exp -> bool

exp_contains_volatile e (resp. lval_contains_volatile lv is true whenever one l-value contained inside the expression e (resp. the lvalue lv) has volatile qualifier. Relational analyses should not learn anything on such values.

val lval_contains_volatile : Eva_ast_types.lval -> bool

Returns the set of variables that syntactically appear in an expression or lvalue.

Constant conversion and folding.

val fold_to_integer : Eva_ast_types.exp -> Frama_c_kernel.Z.t option
val is_zero_ptr : Eva_ast_types.exp -> bool

Offsets

Returns the last offset in the chain.

val is_bitfield : Eva_ast_types.lval -> bool

Is an lvalue a bitfield?