Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
F
frama-c
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Deploy
Releases
Container Registry
Model registry
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
pub
frama-c
Commits
e2662519
Commit
e2662519
authored
2 years ago
by
Thibaut Benjamin
Browse files
Options
Downloads
Patches
Plain Diff
[e-acsl] third review
parent
cddcb896
No related branches found
Branches containing commit
No related tags found
Tags containing commit
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
src/plugins/e-acsl/src/analyses/analyses_datatype.ml
+2
-3
2 additions, 3 deletions
src/plugins/e-acsl/src/analyses/analyses_datatype.ml
src/plugins/e-acsl/src/analyses/analyses_datatype.mli
+13
-8
13 additions, 8 deletions
src/plugins/e-acsl/src/analyses/analyses_datatype.mli
with
15 additions
and
11 deletions
src/plugins/e-acsl/src/analyses/analyses_datatype.ml
+
2
−
3
View file @
e2662519
...
...
@@ -316,13 +316,12 @@ struct
include
Datatype
.
Make_with_collections
(
struct
include
(
Logic_var
.
Map
)
include
Datatype
.
Undefined
type
t
=
ival
Logic_var
.
Map
.
t
let
equal
=
Logic_var
.
Map
.
equal
(
Ival_datatype
.
equal
)
let
compare
=
Logic_var
.
Map
.
compare
(
Ival_datatype
.
compare
)
let
equal
=
Logic_var
.
Map
.
equal
Ival_datatype
.
equal
let
compare
=
Logic_var
.
Map
.
compare
Ival_datatype
.
compare
let
mem_project
=
Datatype
.
never_any_project
let
copy
m
=
Logic_var
.
Map
.
fold
Logic_var
.
Map
.
add
m
Logic_var
.
Map
.
empty
...
...
This diff is collapsed.
Click to expand it.
src/plugins/e-acsl/src/analyses/analyses_datatype.mli
+
13
−
8
View file @
e2662519
...
...
@@ -46,7 +46,7 @@ end
module
Ival_datatype
:
Datatype
.
S_with_collections
with
type
t
=
ival
(** profile
which
maps logic variables that are function parameters to their
(** profile
that
maps logic variables that are function parameters to their
interval depending on the arguments at the callsite of the function *)
module
Profile
:
sig
include
...
...
@@ -59,16 +59,21 @@ module Profile: sig
end
(** term with a profile: a term inside a logic function or predicate may
contain free variables. The profile indicates the interval for those
free variables. *)
module
Id_term_in_profile
:
Datatype
.
S_with_collections
with
type
t
=
term
*
Profile
.
t
(** profile of logic function or predicate: a logic info representing a logic
function or a predicate together with a profile for its arguments. *)
module
LFProf
:
Datatype
.
S_with_collections
with
type
t
=
logic_info
*
Profile
.
t
(* logic environment: interval of all bound variables. It consists in two
components
- a profile for variables bound through function
s
arguments
- an association list for variables bound by a let or a quantification *)
(*
*
logic environment: interval of all bound variables. It consists in two
components
- a profile for variables bound through function arguments
- an association list for variables bound by a let or a quantification *)
module
Logic_env
:
sig
type
t
(* add a new binding for a let or a quantification binder only *)
...
...
@@ -80,13 +85,13 @@ module Logic_env : sig
(* find a logic variable in the environment *)
val
find
:
t
->
logic_var
->
ival
(* get the profile of the logic environment, i.e. bindings through function
arguments*)
arguments
*)
val
get_profile
:
t
->
Profile
.
t
end
(* Imperative environment to perform fixpoint algorithm for recursive
functions *)
(*
*
Imperative environment to perform
the
fixpoint algorithm for recursive
functions *)
module
LF_env
:
sig
val
find
:
logic_info
->
Profile
.
t
->
ival
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment