CBMC
Loading...
Searching...
No Matches
propagate.h
Go to the documentation of this file.
1/*******************************************************************\
2
3Module: Propagate
4
5Author: Daniel Kroening, dkr@amazon.com
6
7\*******************************************************************/
8
11
12#ifndef CPROVER_CPROVER_PROPAGATE_H
13#define CPROVER_CPROVER_PROPAGATE_H
14
15#include "solver_types.h"
16
17#include <unordered_set>
18
19void propagate(
20 const std::vector<framet> &,
21 const workt &,
22 const std::unordered_set<symbol_exprt, irep_hash> &address_taken,
23 bool verbose,
24 const namespacet &,
25 const std::function<void(const symbol_exprt &, exprt, const workt::patht &)>
26 &propagator);
27
29 exprt,
30 const std::unordered_set<symbol_exprt, irep_hash> &address_taken,
31 const namespacet &);
32
34 exprt,
35 const std::unordered_set<symbol_exprt, irep_hash> &address_taken,
36 const namespacet &);
37
38#endif // CPROVER_CPROVER_PROPAGATE_H
std::unordered_set< symbol_exprt, irep_hash > address_taken(const std::vector< exprt > &src)
ait supplies three of the four components needed: an abstract interpreter (in this case handling func...
Definition ai.h:562
Base class for all expressions.
Definition expr.h:56
A namespacet is essentially one or two symbol tables bound together, to allow for symbol lookups in t...
Definition namespace.h:91
Expression to hold a symbol (variable)
Definition std_expr.h:131
exprt simplify_state_expr_node(exprt, const std::unordered_set< symbol_exprt, irep_hash > &address_taken, const namespacet &)
void propagate(const std::vector< framet > &, const workt &, const std::unordered_set< symbol_exprt, irep_hash > &address_taken, bool verbose, const namespacet &, const std::function< void(const symbol_exprt &, exprt, const workt::patht &)> &propagator)
Definition propagate.cpp:24
exprt simplify_state_expr(exprt, const std::unordered_set< symbol_exprt, irep_hash > &address_taken, const namespacet &)
std::vector< frame_reft > patht