Keep track of dependencies between strings. More...
#include <string_dependencies.h>
e to node for builtin_function if e is a simple array expression. f to each node on which node depends. eval f on all nodes. f on all successors of the node n. string_nodes. Keep track of dependencies between strings.
Each string points to the builtin_function calls on which it depends. Each builtin_function points to the strings on which the result depends.
Definition at line 22 of file string_dependencies.h.
For all builtin call on which a test (or an unsupported buitin) result depends, add the corresponding constraints.
For the other builtin only add constraints on the length.
Definition at line 347 of file string_dependencies.cpp.
Add edge from node for e to node for builtin_function if e is a simple array expression.
If it is an if_exprt we add the sub-expressions that are not if_exprt s instead.
Definition at line 117 of file string_dependencies.cpp.
Clean the cache used by eval
Definition at line 190 of file string_dependencies.cpp.
Clear the content of the dependency graph.
Definition at line 127 of file string_dependencies.cpp.
Attempt to evaluate the given string from the dependencies and valuation of strings on which it depends Warning: eval uses a cache which must be cleaned everytime the valuations given by get_value can change.
Definition at line 168 of file string_dependencies.cpp.
Definition at line 255 of file string_dependencies.cpp.
Applies f to each node on which node depends.
Definition at line 285 of file string_dependencies.cpp.
Applies f on all nodes.
Definition at line 313 of file string_dependencies.cpp.
Applies f on all successors of the node n.
Definition at line 293 of file string_dependencies.cpp.
Definition at line 99 of file string_dependencies.cpp.
Definition at line 72 of file string_dependencies.cpp.
Definition at line 91 of file string_dependencies.cpp.
Definition at line 83 of file string_dependencies.cpp.
Definition at line 322 of file string_dependencies.cpp.
Set of nodes representing builtin_functions.
Definition at line 125 of file string_dependencies.h.
Definition at line 172 of file string_dependencies.h.
Nodes describing dependencies of a string: values of the map correspond to indexes in the vector string_nodes.
Definition at line 133 of file string_dependencies.h.
Set of nodes representing strings.
Definition at line 128 of file string_dependencies.h.