44 for(
const auto &op : expr.
operands())
53 for(
const auto &op : expr.
operands())
80 out <<
"$date\n " <<
ctime(&t) <<
"$end" <<
"\n";
83 out <<
"$timescale 1 ns $end" <<
"\n";
91 if(step.is_assignment())
99 const auto number=
n.number(identifier);
103 if(width.has_value() && (*width) >= 1)
104 out <<
"$var reg " << (*width) <<
" V" << number <<
" " << identifier
112 out <<
"$enddefinitions $end" <<
"\n";
118 if(step.is_assignment())
129 const auto number =
n.number(identifier);
134 if(step.full_lhs_value.is_true())
136 <<
"V" << number <<
"\n";
137 else if(step.full_lhs_value.is_false())
139 <<
"V" << number <<
"\n";
142 <<
"V" << number <<
"\n";
149 out <<
"b" <<
binary <<
" V" << number <<
" "
ait supplies three of the four components needed: an abstract interpreter (in this case handling func...
dstringt has one field, an unsigned integer no which is an index into a static table of strings.
Base class for all expressions.
bool is_constant() const
Return whether the expression is a constant.
typet & type()
Return the type of the expression.
const irep_idt & id() const
const std::string & get_string(const irep_idt &name) const
A namespacet is essentially one or two symbol tables bound together, to allow for symbol lookups in t...
The type of an expression, extends irept.
static std::string binary(const constant_exprt &src)
std::optional< mp_integer > pointer_offset_bits(const typet &type, const namespacet &ns)
const union_exprt & to_union_expr(const exprt &expr)
Cast an exprt to a union_exprt.
char * ctime(const time_t *clock)
time_t time(time_t *tloc)
std::string as_vcd_binary(const exprt &expr, const namespacet &ns)
void output_vcd(const namespacet &ns, const goto_tracet &goto_trace, std::ostream &out)
Traces of GOTO Programs in VCD (Value Change Dump) Format.