CBMC
|
Step of the trace of a GOTO program. More...
#include <goto_trace.h>
Public Types | |
enum class | typet { NONE , ASSIGNMENT , ASSUME , ASSERT , GOTO , LOCATION , INPUT , OUTPUT , DECL , DEAD , FUNCTION_CALL , FUNCTION_RETURN , CONSTRAINT , SHARED_READ , SHARED_WRITE , SPAWN , MEMORY_BARRIER , ATOMIC_BEGIN , ATOMIC_END } |
enum class | assignment_typet { STATE , ACTUAL_PARAMETER } |
typedef std::list< exprt > | io_argst |
Public Member Functions | |
bool | is_assignment () const |
bool | is_assume () const |
bool | is_assert () const |
bool | is_goto () const |
bool | is_constraint () const |
bool | is_function_call () const |
bool | is_function_return () const |
bool | is_location () const |
bool | is_output () const |
bool | is_input () const |
bool | is_decl () const |
bool | is_dead () const |
bool | is_shared_read () const |
bool | is_shared_write () const |
bool | is_spawn () const |
bool | is_memory_barrier () const |
bool | is_atomic_begin () const |
bool | is_atomic_end () const |
std::optional< symbol_exprt > | get_lhs_object () const |
void | output (const class namespacet &ns, std::ostream &out) const |
Outputs the trace step in ASCII to a given stream. More... | |
goto_trace_stept () | |
void | merge_ireps (merge_irept &dest) |
Use dest to establish sharing among ireps. More... | |
Public Attributes | |
std::size_t | step_nr |
Number of the step in the trace. More... | |
typet | type |
bool | hidden |
bool | internal |
assignment_typet | assignment_type |
irep_idt | function_id |
goto_programt::const_targett | pc |
unsigned | thread_nr |
bool | cond_value |
exprt | cond_expr |
exprt | original_condition |
irep_idt | property_id |
std::string | comment |
exprt | full_lhs |
exprt | full_lhs_value |
irep_idt | format_string |
irep_idt | io_id |
io_argst | io_args |
bool | formatted |
irep_idt | called_function |
std::vector< exprt > | function_arguments |
Step of the trace of a GOTO program.
A step is either:
Definition at line 49 of file goto_trace.h.
typedef std::list<exprt> goto_trace_stept::io_argst |
Definition at line 137 of file goto_trace.h.
|
strong |
Enumerator | |
---|---|
STATE | |
ACTUAL_PARAMETER |
Definition at line 106 of file goto_trace.h.
|
strong |
Enumerator | |
---|---|
NONE | |
ASSIGNMENT | |
ASSUME | |
ASSERT | |
GOTO | |
LOCATION | |
INPUT | |
OUTPUT | |
DECL | |
DEAD | |
FUNCTION_CALL | |
FUNCTION_RETURN | |
CONSTRAINT | |
SHARED_READ | |
SHARED_WRITE | |
SPAWN | |
MEMORY_BARRIER | |
ATOMIC_BEGIN | |
ATOMIC_END |
Definition at line 74 of file goto_trace.h.
|
inline |
Definition at line 152 of file goto_trace.h.
std::optional< symbol_exprt > goto_trace_stept::get_lhs_object | ( | ) | const |
Definition at line 52 of file goto_trace.cpp.
|
inline |
Definition at line 57 of file goto_trace.h.
|
inline |
Definition at line 55 of file goto_trace.h.
|
inline |
Definition at line 56 of file goto_trace.h.
|
inline |
Definition at line 71 of file goto_trace.h.
|
inline |
Definition at line 72 of file goto_trace.h.
|
inline |
Definition at line 59 of file goto_trace.h.
|
inline |
Definition at line 66 of file goto_trace.h.
|
inline |
Definition at line 65 of file goto_trace.h.
|
inline |
Definition at line 60 of file goto_trace.h.
|
inline |
Definition at line 61 of file goto_trace.h.
|
inline |
Definition at line 58 of file goto_trace.h.
|
inline |
Definition at line 64 of file goto_trace.h.
|
inline |
Definition at line 62 of file goto_trace.h.
|
inline |
Definition at line 70 of file goto_trace.h.
|
inline |
Definition at line 63 of file goto_trace.h.
|
inline |
Definition at line 67 of file goto_trace.h.
|
inline |
Definition at line 68 of file goto_trace.h.
|
inline |
Definition at line 69 of file goto_trace.h.
void goto_trace_stept::merge_ireps | ( | merge_irept & | dest | ) |
Use dest
to establish sharing among ireps.
[out] | dest | irep storage container. |
Definition at line 140 of file goto_trace.cpp.
void goto_trace_stept::output | ( | const class namespacet & | ns, |
std::ostream & | out | ||
) | const |
Outputs the trace step in ASCII to a given stream.
Definition at line 65 of file goto_trace.cpp.
assignment_typet goto_trace_stept::assignment_type |
Definition at line 107 of file goto_trace.h.
irep_idt goto_trace_stept::called_function |
Definition at line 142 of file goto_trace.h.
std::string goto_trace_stept::comment |
Definition at line 124 of file goto_trace.h.
exprt goto_trace_stept::cond_expr |
Definition at line 119 of file goto_trace.h.
bool goto_trace_stept::cond_value |
Definition at line 118 of file goto_trace.h.
irep_idt goto_trace_stept::format_string |
Definition at line 136 of file goto_trace.h.
bool goto_trace_stept::formatted |
Definition at line 139 of file goto_trace.h.
exprt goto_trace_stept::full_lhs |
Definition at line 127 of file goto_trace.h.
exprt goto_trace_stept::full_lhs_value |
Definition at line 133 of file goto_trace.h.
std::vector<exprt> goto_trace_stept::function_arguments |
Definition at line 145 of file goto_trace.h.
irep_idt goto_trace_stept::function_id |
Definition at line 111 of file goto_trace.h.
bool goto_trace_stept::hidden |
Definition at line 100 of file goto_trace.h.
bool goto_trace_stept::internal |
Definition at line 103 of file goto_trace.h.
io_argst goto_trace_stept::io_args |
Definition at line 138 of file goto_trace.h.
irep_idt goto_trace_stept::io_id |
Definition at line 136 of file goto_trace.h.
exprt goto_trace_stept::original_condition |
Definition at line 120 of file goto_trace.h.
goto_programt::const_targett goto_trace_stept::pc |
Definition at line 112 of file goto_trace.h.
irep_idt goto_trace_stept::property_id |
Definition at line 123 of file goto_trace.h.
std::size_t goto_trace_stept::step_nr |
Number of the step in the trace.
Definition at line 53 of file goto_trace.h.
unsigned goto_trace_stept::thread_nr |
Definition at line 115 of file goto_trace.h.
typet goto_trace_stept::type |
Definition at line 97 of file goto_trace.h.