package mopsa
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page
MOPSA: A Modular and Open Platform for Static Analysis using Abstract Interpretation
Install
dune-project
Dependency
Authors
Maintainers
Sources
mopsa-analyzer-v1.2.tar.gz
md5=37966e98ffeebcedc09bd6e9b2b81f69
sha512=40d4d826c25f680766c07eccbabdf5e8a4fa023016e8a164e4e4f6b3781c8484dc4df437055721dfd19b9db8fb7fe3b61236c4833186d346fc7204a68d01eaaa
doc/parsing/Parsing/Cst/index.html
Module Parsing.CstSource
Concrete syntax tree for C stubs
Stub sections
*****************
Source
and leaf = | S_local of local Mopsa_utils.Core.Location.with_range| S_assumes of assumes Mopsa_utils.Core.Location.with_range| S_requires of requires Mopsa_utils.Core.Location.with_range| S_assigns of assigns Mopsa_utils.Core.Location.with_range| S_ensures of ensures Mopsa_utils.Core.Location.with_range| S_free of free Mopsa_utils.Core.Location.with_range| S_message of message Mopsa_utils.Core.Location.with_range
Stub leaf sections
**********************
Source
and local_value = | L_new of resource| L_call of var Mopsa_utils.Core.Location.with_range * expr Mopsa_utils.Core.Location.with_range list
Source
and assigns = {assign_target : expr Mopsa_utils.Core.Location.with_range;assign_offset : interval list;
}Formulas
************
Source
and formula = | F_expr of expr Mopsa_utils.Core.Location.with_range| F_bool of bool| F_binop of log_binop * formula Mopsa_utils.Core.Location.with_range * formula Mopsa_utils.Core.Location.with_range| F_not of formula Mopsa_utils.Core.Location.with_range| F_forall of var * c_qual_typ * set * formula Mopsa_utils.Core.Location.with_range| F_exists of var * c_qual_typ * set * formula Mopsa_utils.Core.Location.with_range| F_in of expr Mopsa_utils.Core.Location.with_range * set| F_otherwise of formula Mopsa_utils.Core.Location.with_range * expr Mopsa_utils.Core.Location.with_range| F_if of formula Mopsa_utils.Core.Location.with_range * formula Mopsa_utils.Core.Location.with_range * formula Mopsa_utils.Core.Location.with_range
Expressions
***************
Source
and expr = | E_top of c_qual_typ| E_int of Z.t * int_suffix| E_float of float| E_string of string| E_char of int| E_invalid| E_var of var| E_unop of unop * expr Mopsa_utils.Core.Location.with_range| E_binop of binop * expr Mopsa_utils.Core.Location.with_range * expr Mopsa_utils.Core.Location.with_range| E_addr_of of expr Mopsa_utils.Core.Location.with_range| E_deref of expr Mopsa_utils.Core.Location.with_range| E_cast of c_qual_typ * expr Mopsa_utils.Core.Location.with_range| E_subscript of expr Mopsa_utils.Core.Location.with_range * expr Mopsa_utils.Core.Location.with_range| E_member of expr Mopsa_utils.Core.Location.with_range * string| E_arrow of expr Mopsa_utils.Core.Location.with_range * string| E_conditional of expr Mopsa_utils.Core.Location.with_range * expr Mopsa_utils.Core.Location.with_range * expr Mopsa_utils.Core.Location.with_range| E_builtin_call of builtin * expr Mopsa_utils.Core.Location.with_range list| E_raise of string| E_sizeof_type of c_qual_typ Mopsa_utils.Core.Location.with_range| E_sizeof_expr of expr Mopsa_utils.Core.Location.with_range| E_return
Source
and interval = {itv_lb : expr Mopsa_utils.Core.Location.with_range;(*lower bound
*)itv_open_lb : bool;(*open lower bound
*)itv_ub : expr Mopsa_utils.Core.Location.with_range;(*upper bound
*)itv_open_ub : bool;(*open upper bound
*)
}Source
and var = {vname : string;(*variable name
*)vlocal : bool;(*is it a local variable ?
*)vuid : int;(*unique identifier
*)vtyp : c_qual_typ;(*variable type
*)vrange : Mopsa_utils.Core.Location.range;(*declaration location
*)
}Types
Source
and c_typ = | T_void| T_char| T_signed_char| T_unsigned_char| T_signed_short| T_unsigned_short| T_signed_int| T_unsigned_int| T_signed_long| T_unsigned_long| T_signed_long_long| T_unsigned_long_long| T_signed_int128| T_unsigned_int128| T_float| T_double| T_long_double| T_float128| T_array of c_qual_typ * array_length| T_struct of var| T_union of var| T_typedef of var| T_pointer of c_qual_typ| T_enum of var| T_unknown
Utility functions
*********************
Pretty printers
*******************
Source
val pp_list :
(Stdlib.Format.formatter -> 'a -> unit) ->
(unit, Stdlib.Format.formatter, unit) Stdlib.format ->
Stdlib.Format.formatter ->
'a list ->
unitSource
val pp_formula :
Stdlib.Format.formatter ->
formula Mopsa_utils.Core.Location.with_range ->
unitSource
val pp_requires :
Stdlib.Format.formatter ->
formula Mopsa_utils.Core.Location.with_range
Mopsa_utils.Core.Location.with_range ->
unitSource
val pp_assigns :
Stdlib.Format.formatter ->
assigns Mopsa_utils.Core.Location.with_range ->
unitSource
val pp_assumes :
Stdlib.Format.formatter ->
assumes Mopsa_utils.Core.Location.with_range ->
unitSource
val pp_ensures :
Stdlib.Format.formatter ->
formula Mopsa_utils.Core.Location.with_range
Mopsa_utils.Core.Location.with_range ->
unitSource
val pp_free :
Stdlib.Format.formatter ->
expr Mopsa_utils.Core.Location.with_range
Mopsa_utils.Core.Location.with_range ->
unitSource
val pp_message :
Stdlib.Format.formatter ->
message Mopsa_utils.Core.Location.with_range ->
unitSource
val pp_stub :
Stdlib.Format.formatter ->
section list Mopsa_utils.Core.Location.with_range ->
unit sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page