ESBMC
Efficient SMT-based Context-Bounded Model Checker
Loading...
Searching...
No Matches
transition_system.cpp File Reference
#include <transition-system/transition_system.h>
#include <irep2/irep2_utils.h>
#include <langapi/language_util.h>
#include <algorithm>
#include <functional>
#include <ostream>
Include dependency graph for transition_system.cpp:

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.

Function Documentation

◆ collect_symbols()

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.