A | |
accumulate_vertex [FixpointStd] |
Compute the least upper bound of the current value of the
vertex/variable with the values propagated by the incoming
hyperedges belonging to the working set.
|
add [Hashhe.Compare] | |
add [Hashhe.S] | |
add [Hashhe] | add tbl x y adds a binding of x to y in table tbl .
|
add [Sette.Compare] | |
add [Sette.S] | add x s returns a set containing all elements of s ,
plus x .
|
add [Sette] | add x s returns a set containing all elements of s ,
plus x .
|
add_active_hedges [FixpointGuided] | |
add_hedge [SHGraph.Compare] | |
add_hedge [SHGraph.S] | |
add_hedge [SHGraph] |
Add an hyperedge.
|
add_vertex [SHGraph.Compare] | |
add_vertex [SHGraph.S] | |
add_vertex [SHGraph] |
Add a vertex
|
analysis [FixpointDyn] | |
analysis [FixpointGuided] |
Same as
FixpointStd.analysis , but with the technique of
Gopan and Reps published in Static Anlaysis Symposium,
SAS'2007.
|
analysis [FixpointStd] |
Main user function:
analysis manager equation_graph sinit
strategy takes a graph giving the structure of the equation
system, a manager indicating how to interpret the equation
system, a (super)set of the variables to be initialized to a
non-empty value, and an iteration strategy.
|
analysis_dyn [Fixpoint] |
Dynamic analysis.
|
analysis_guided [Fixpoint] |
Same as
Fixpoint.analysis_std , but with the technique of
Gopan and Reps published in Static Anlaysis Symposium,
SAS'2007.
|
analysis_std [Fixpoint] |
Performs initialization, fixpoint analysis and descending,
and measures the global analysis time.
|
append [Ilist] |
Append two lists
|
array [Print] |
Print an array
|
atome [Ilist] |
Create a list element from a single element.
|
attrhedge [SHGraph.Compare] | |
attrhedge [SHGraph.S] | |
attrhedge [SHGraph] | attrhedge graph hedge returns the information associated to the
hyperedge hedge
|
attrvertex [SHGraph.Compare] | |
attrvertex [SHGraph.S] | |
attrvertex [SHGraph] | attrvertex graph vertex returns the information associated to the
vertex vertex
|
C | |
cardinal [Sette.S] |
Return the number of elements of a set.
|
cardinal [Sette] |
Return the number of elements of a set.
|
cfc [SHGraph.Compare] | |
cfc [SHGraph.S] | |
cfc [SHGraph] |
Decomposition of the graph into Strongly Connected Components,
|
cfc_multi [SHGraph.Compare] | |
cfc_multi [SHGraph.S] | |
cfc_multi [SHGraph] |
idem, but from several initial vertices.
|
choose [Sette.S] |
Return one element of the given set, or raise
Not_found if
the set is empty.
|
choose [Sette] |
Return one element of the given set, or raise
Not_found if the set
is empty.
|
clear [SHGraph.S] | |
clear [SHGraph] |
Remove all vertices and hyperedges of the graph.
|
clear [Hashhe.S] | |
clear [Hashhe] |
Empty a hash table.
|
compare [Sette.Compare] | |
compare [Sette.S] |
Total ordering between sets.
|
compare [Sette] |
Total ordering between sets.
|
cons [Ilist] |
Adding a new list element at the begining of the list
|
copy [SHGraph.S] | |
copy [SHGraph] |
Copy an hypergraph, using the given functions to duplicate the
attributes associated to the elements of the graph.
|
copy [Hashhe.S] | |
copy [Hashhe] |
Return a copy of the given hashtable.
|
create [SHGraph.S] | |
create [SHGraph] | create n data creates an hypergraph, using n for the initial size
of internal hashtables, and data for the user information
|
create [Hashhe.S] | |
create [Hashhe] | create n creates a new, empty hash table, with
initial size n .
|
D | |
depth [Ilist] |
Return the (maximal) depth of the list.
|
descend [FixpointStd] |
(Rather internal)
|
descend_strategy [FixpointStd] |
Internal functions
|
diff [Sette.Compare] | |
diff [Sette.S] |
Set difference.
|
diff [Sette] |
Union, intersection and set difference.
|
dot_graph [FixpointType] |
Prints internal graph on the (optional) formatter
man.dot_fmt , see type FixpointType.manager .
|
E | |
elements [Sette.S] |
Return the list of all elements of the given set.
|
elements [Sette] |
Return the list of all elements of the given set.
|
empty [Sette.S] |
The empty set.
|
empty [Sette] |
The empty set.
|
equal [Hashhe.HashedType] |
The equality predicate used to compare keys.
|
equal [Sette.Compare] | |
equal [Sette.S] | equal s1 s2 tests whether the sets s1 and s2 are
equal, that is, contain equal elements.
|
equal [Sette] | equal s1 s2 tests whether the sets s1 and s2 are
equal, that is, contain equal elements.
|
equation_of_graph [Fixpoint] |
Generate from a graph a function of type
('vertex,
'hedge) equation or dynamically exploring the graph.
|
equation_of_graph [FixpointDyn] | |
escaped [Print] |
Escape a string, replacing line breaks by
linebreak (default
'\n' ).
|
exists [Ilist] |
Existence test
|
exists [Sette.S] | exists p s checks if at least one element of
the set satisfies the predicate p .
|
exists [Sette] | exists p s checks if at least one element of
the set satisfies the predicate p .
|
F | |
filter [Sette.Compare] | |
filter [Sette.S] | filter p s returns the set of all elements in s
that satisfy predicate p .
|
filter [Sette] | filter p s returns the set of all elements in s
that satisfy predicate p .
|
find [Hashhe.Compare] | |
find [Hashhe.S] | |
find [Hashhe] | find tbl x returns the current binding of x in tbl ,
or raises Not_found if no such binding exists.
|
find_all [Hashhe.Compare] | |
find_all [Hashhe.S] | |
find_all [Hashhe] | find_all tbl x returns the list of all data
associated with x in tbl .
|
fixpoint [FixpointDyn] | |
flatten [Ilist] |
Flatten the recursive list, only starting from the given
|
fold [Hashhe.S] | |
fold [Hashhe] | fold f tbl init computes
(f kN dN ... (f k1 d1 init)...) ,
where k1 ... kN are the keys of all bindings in tbl ,
and d1 ... dN are the associated values.
|
fold [Sette.S] | fold f s a computes (f xN ... (f x2 (f x1 a))...) ,
where x1 ... xN are the elements of s .
|
fold [Sette] | fold f s a computes (f xN ... (f x2 (f x1 a))...) ,
where x1 ... xN are the elements of s .
|
fold_hedge [SHGraph.S] | |
fold_hedge [SHGraph] | |
fold_left [Ilist] |
Ordinary fold function for atoms, from left to right.
|
fold_right [Ilist] |
Ordinary fold function for atoms, from right to left.
|
fold_vertex [SHGraph.S] | |
fold_vertex [SHGraph] | |
for_all [Sette.S] | for_all p s checks if all elements of the set
satisfy the predicate p .
|
for_all [Sette] | for_all p s checks if all elements of the set
satisfy the predicate p .
|
G | |
graph_of_equation [Fixpoint] |
Generate from an equation a graph, using
make_attrvertex , make_attrhedge and info .
|
graph_of_equation [FixpointDyn] | |
H | |
hash [Hashhe.HashedType] |
A hashing function on keys.
|
hash [Hashhe] | hash x associates a positive integer to any value of
any type.
|
hash [Print] |
Print an hashtable
|
hash_param [Hashhe] | hash_param n m x computes a hash value for x , with the
same properties as for hash .
|
hd [Ilist] |
Return the head of the list.
|
hedge_dummy [SHGraph.T] |
A dummy (never used) value for hyperedge identifiers (used for
the functions
XXX_multi )
|
hedge_dummy [SHGraph.S] | |
I | |
ilist_map_condense [FixpointType] | |
inference [FixpointThreshold] |
Inference functions, taking a standard manager, a
threshold manager, an equation graph, and an iteration
strategy.
|
info [SHGraph.S] | |
info [SHGraph] | info g returns the user-information attached to the graph g
|
init [FixpointDyn] | |
init [FixpointStd] | init manager input sinit creates the internal graph
structure (from the equation graph input ) and initialize the
working sets (from the set of initial points sinit ) (stored
in the info field of the internal graph).
|
inter [Sette.Compare] | |
inter [Sette.S] |
Set intersection.
|
inter [Sette] | |
is_empty [SHGraph.S] | |
is_empty [SHGraph] |
Is the graph empty ?
|
is_empty [Sette.S] |
Test whether a set is empty or not.
|
is_empty [Sette] |
Test whether a set is empty or not.
|
is_hedge [SHGraph.Compare] | |
is_hedge [SHGraph.S] | |
is_hedge [SHGraph] | |
is_tvertex [FixpointStd] |
Does the array of vertices belong to the graph, all with
non bottom values ?
|
is_vertex [SHGraph.Compare] | |
is_vertex [SHGraph.S] | |
is_vertex [SHGraph] | |
iter [Ilist] |
Ordinary iteration function for atoms
|
iter [Hashhe.S] | |
iter [Hashhe] | iter f tbl applies f to all bindings in table tbl .
|
iter [Sette.S] | iter f s applies f in turn to all elements of s .
|
iter [Sette] | iter f s applies f in turn to all elements of s .
|
iter_hedge [SHGraph.S] | |
iter_hedge [SHGraph] |
Iterates the function
f hedge attrhedge succvertices predvertices to
all hyperedges of the graph.
|
iter_vertex [SHGraph.S] | |
iter_vertex [SHGraph] |
Iterates the function
f vertex attrvertex succhedges predhedges to all
vertices of the graph.
|
L | |
length [Ilist] |
Return the ength of the list.
|
length [Hashhe.S] | |
length [Hashhe] | length tbl returns the number of bindings in tbl .
|
list [Ilist] |
Create a list element from a list.
|
list [Print] |
Print a list
|
M | |
make_strategy_default [Fixpoint] |
Build a "default" strategy, with the following options:
|
make_strategy_default [FixpointType] |
Build a "default" strategy, with the following options:
|
make_strategy_iteration [FixpointType] | |
map [SHGraph.S] | |
map [SHGraph] | |
map [Ilist] |
Ordinary map function
|
map [Hashhe.S] | |
map [Hashhe] | map f tbl applies f to all bindings in table tbl and creates
a new hashtable associating the results of f to the same key type.
|
max [SHGraph.Compare] | |
max [SHGraph.S] | |
max [SHGraph] |
Return the set of vertices without successor hyperedges
|
max_elt [Sette.S] |
Same as
Sette.S.min_elt , but returns the largest element of the
given set.
|
max_elt [Sette] |
Same as
min_elt , but returns the largest element of the given
set.
|
mem [Ilist] |
Membership test.
|
mem [Hashhe.Compare] | |
mem [Hashhe.S] | |
mem [Hashhe] | mem tbl x checks if x is bound in tbl .
|
mem [Sette.Compare] | |
mem [Sette.S] | mem x s tests whether x belongs to the set s .
|
mem [Sette] | mem x s tests whether x belongs to the set s .
|
min [SHGraph.Compare] | |
min [SHGraph.S] | |
min [SHGraph] |
Return the set of vertices without predecessor hyperedges
|
min_elt [Sette.S] |
Return the smallest element of the given set
(with respect to the
Ord.compare ordering), or raise
Not_found if the set is empty.
|
min_elt [Sette] |
Return the smallest element of the given set (with respect to the
Ord.compare ordering), or raise Not_found if the set is empty.
|
O | |
obj [Sette.S] | |
of_list [Ilist] |
Create a recursive list from a regular list
|
option [Print] |
Print an optional element
|
output_of_graph [FixpointStd] |
(Rather internal function)
|
P | |
pair [Print] |
Print a pair
|
partition [Sette.Compare] | |
partition [Sette.S] | partition p s returns a pair of sets (s1, s2) , where
s1 is the set of all the elements of s that satisfy the
predicate p , and s2 is the set of all the elements of
s that do not satisfy p .
|
partition [Sette] | partition p s returns a pair of sets (s1, s2) , where s1 is the
set of all the elements of s that satisfy the predicate p , and s2
is the set of all the elements of s that do not satisfy p .
|
pred_vertex [SHGraph.Compare] | |
pred_vertex [SHGraph.S] | |
pred_vertex [SHGraph] |
Predecessor vertices of a vertex by any hyperedge
|
predhedge [SHGraph.Compare] | |
predhedge [SHGraph.S] | |
predhedge [SHGraph] |
Predecessor hyperedges of a vertex
|
predvertex [SHGraph.Compare] | |
predvertex [SHGraph.S] | |
predvertex [SHGraph] |
Predecessor vertices of an hyperedge
|
print [SHGraph.Compare] | |
print [SHGraph.S] | |
print [SHGraph] |
Print a graph in textual format on the given formatter, using the given
functions to resp.
|
print [Ilist] |
Printing function.
|
print [Hashhe.S] | |
print [Hashhe] | |
print [Sette.S] | |
print [Sette] | |
print_arc [FixpointType] | |
print_attr [FixpointType] | |
print_dot [SHGraph.S] | |
print_dot [SHGraph] |
Output the graph in DOT format on the given formatter, using the given
functions to resp print:
|
print_graph [FixpointType] |
Prints internal graph.
|
print_info [FixpointType] | |
print_of_string [Print] |
Transforms a conversion-to-string function to a printing function.
|
print_output [Fixpoint] |
Prints the result of an analysis.
|
print_output [FixpointType] |
Prints the result of an analysis.
|
print_stat [Fixpoint] |
Prints statistics
|
print_stat [FixpointType] |
Prints statistics
|
print_stat_iteration [FixpointType] | |
print_stat_iteration_ilist [FixpointType] | |
print_strategy [Fixpoint] | print_strategy_vertex man fmt sv prints an object of type
strategy , using the manager man for printing vertices and
hyperedges.
|
print_strategy [FixpointType] | print_strategy_vertex man fmt sv prints an object of type
strategy , using the manager man for printing vertices and
hyperedges.
|
print_strategy_iteration [FixpointType] | |
print_strategy_vertex [Fixpoint] | print_strategy_vertex man fmt sv prints an object of type
strategy_vertex , using the manager man for printing vertices and
hyperedges.
|
print_strategy_vertex [FixpointType] | print_strategy_vertex man fmt sv prints an object of type
strategy_vertex , using the manager man for printing vertices and
hyperedges.
|
print_workingsets [FixpointType] | |
process_strategy [FixpointStd] | |
process_toplevel_strategy [FixpointStd] |
(Rather internal function)
|
process_vertex [FixpointStd] | |
propagate [FixpointDyn] | |
propagate_vertex [FixpointStd] | |
R | |
reachable [SHGraph.Compare] | |
reachable [SHGraph.S] | |
reachable [SHGraph] |
Returns the set of vertices and hyperedges that are *NOT* reachable from
the given root vertex.
|
reachable_multi [SHGraph.Compare] | |
reachable_multi [SHGraph.S] | |
reachable_multi [SHGraph] | |
remove [Hashhe.Compare] | |
remove [Hashhe.S] | |
remove [Hashhe] | remove tbl x removes the current binding of x in tbl ,
restoring the previous binding if it exists.
|
remove [Sette.Compare] | |
remove [Sette.S] | remove x s returns a set containing all elements of s ,
except x .
|
remove [Sette] | remove x s returns a set containing all elements of s , except
x .
|
remove_hedge [SHGraph.Compare] | |
remove_hedge [SHGraph.S] | |
remove_hedge [SHGraph] |
Remove the hyperedge from the graph.
|
remove_vertex [SHGraph.Compare] | |
remove_vertex [SHGraph.S] | |
remove_vertex [SHGraph] |
Remove the vertex from the graph, as well as all related hyperedges.
|
replace [Hashhe.Compare] | |
replace [Hashhe.S] | |
replace [Hashhe] | replace tbl x y replaces the current binding of x
in tbl by a binding of x to y .
|
replace_attrhedge [SHGraph.Compare] | |
replace_attrhedge [SHGraph.S] | |
replace_attrhedge [SHGraph] |
Change the attribute of an existing hyperedge
|
replace_attrvertex [SHGraph.Compare] | |
replace_attrvertex [SHGraph.S] | |
replace_attrvertex [SHGraph] |
Change the attribute of an existing vertex
|
repr [Sette.S] | |
resize [Hashhe.Compare] | |
rev [Ilist] |
Recursively reverse the recursive list
rev [a;[b;[c];d];e;[f]] = [[f];e;[d;[c];b];a]
|
S | |
scfc [SHGraph.Compare] | |
scfc [SHGraph.S] | |
scfc [SHGraph] |
Decomposition of the graph into Strongly Connected Sub-Components,
|
scfc_multi [SHGraph.Compare] | |
scfc_multi [SHGraph.S] | |
scfc_multi [SHGraph] |
idem, but from several initial vertices.
|
singleton [Sette.S] | singleton x returns the one-element set containing only x .
|
singleton [Sette] | singleton x returns the one-element set containing only x .
|
size [SHGraph.S] | |
size [SHGraph] | size graph returns (nbvertex,nbhedge,nbedgevh,nbedgehv)
|
size_edgehv [SHGraph.S] | |
size_edgehv [SHGraph] |
Number of edges (hyperedge,vertex) in the hypergraph
|
size_edgevh [SHGraph.S] | |
size_edgevh [SHGraph] |
Number of edges (vertex,hyperedge) in the hypergraph
|
size_hedge [SHGraph.S] | |
size_hedge [SHGraph] |
Number of hyperedges in the hypergraph
|
size_vertex [SHGraph.S] | |
size_vertex [SHGraph] |
Number of vertices in the hypergraph
|
split [Sette.Compare] |
Meant to be internal, but exporting needed for Mappe.maptoset.
|
sprintf [Print] |
Better
sprintf function than Format.sprintf , as it takes the same
kind of formatters as other Format.Xprintf functions.
|
stat_iteration_merge [FixpointType] | |
stdcompare [SHGraph.S] | |
stdcompare [SHGraph] | |
stdcompare [Hashhe] | |
string_of_print [Print] |
Transforms a printing function into a conversion-to-string function.
|
subset [Sette.Compare] | |
subset [Sette.S] | subset s1 s2 tests whether the set s1 is a subset of
the set s2 .
|
subset [Sette] | subset s1 s2 tests whether the set s1 is a subset of
the set s2 .
|
succ_vertex [SHGraph.Compare] | |
succ_vertex [SHGraph.S] | |
succ_vertex [SHGraph] |
Successor vertices of a vertex by any hyperedge
|
succhedge [SHGraph.Compare] | |
succhedge [SHGraph.S] | |
succhedge [SHGraph] |
Successor hyperedges of a vertex
|
succvertex [SHGraph.Compare] | |
succvertex [SHGraph.S] | |
succvertex [SHGraph] |
Successor vertices of an hyperedge
|
T | |
tl [Ilist] |
Return the tail of the list.
|
to_list [Ilist] |
Create a regular list from a recursive list.
|
topological_sort [SHGraph.Compare] | |
topological_sort [SHGraph.S] | |
topological_sort [SHGraph] |
Topological sort of the vertices of the hypergraph starting from
a root vertex.
|
topological_sort_multi [SHGraph.Compare] | |
topological_sort_multi [SHGraph.S] | |
topological_sort_multi [SHGraph] |
Topological sort from a set of root vertices.
|
transpose [SHGraph.S] | |
transpose [SHGraph] |
Similar to
copy , but hyperedges are reversed: successor vertices
and predecessor vertices are exchanged.
|
treach_of_tvertex [FixpointStd] |
Return the array of abstract values associated to the
vertices
|
U | |
union [Sette.Compare] | |
union [Sette.S] |
Set union.
|
union [Sette] | |
update_workingsets [FixpointStd] |
Update working sets assuming that the abstract value
associated to the vertex has been modified.
|
V | |
vertex_dummy [SHGraph.T] |
A dummy (never used) value for vertex identifiers (used for the
functions
XXX_multi )
|
vertex_dummy [SHGraph.S] | |
W | |
weak [Print] |
Print a weak pointer array
|
wrap_duration [Time] | wrap_duration duration f executes the function f and stores into
!duration the time spent in f , in seconds.
|
wrap_duration_add [Time] |
Similar to
wrap_duration , but here the time spent in f is added to
the value !duration .
|