|
ESBMC
Efficient SMT-based Context-Bounded Model Checker
|
#include <transition-system/transition_system.h>#include <irep2/irep2_utils.h>#include <langapi/language_util.h>#include <algorithm>#include <functional>#include <ostream>Functions | |
| void | collect_symbols (const expr2tc &e, std::unordered_set< expr2tc, irep2_hash > &out, std::unordered_set< const expr2t * > &seen) |
Collect every symbol2t in e into out, treating seen as a shared visited set so a DAG node reached by many parents is walked once. | |
| void collect_symbols | ( | const expr2tc & | e, |
| std::unordered_set< expr2tc, irep2_hash > & | out, | ||
| std::unordered_set< const expr2t * > & | seen ) |
Collect every symbol2t in e into out, treating seen as a shared visited set so a DAG node reached by many parents is walked once.
Unlike irep2_utils' get_symbols this keeps __ESBMC_ symbols: the memory-model bookkeeping they name is a real dependency of the formula.