CBMC
structured_trace_util.h
Go to the documentation of this file.
1
/*******************************************************************\
2
3
Author: Diffblue
4
5
\*******************************************************************/
6
10
11
#ifndef CPROVER_GOTO_PROGRAMS_STRUCTURED_TRACE_UTIL_H
12
#define CPROVER_GOTO_PROGRAMS_STRUCTURED_TRACE_UTIL_H
13
14
#include "
goto_program.h
"
15
#include <string>
16
class
goto_trace_stept
;
17
20
enum class
default_step_kindt
21
{
22
LOCATION_ONLY
,
23
LOOP_HEAD
24
};
25
32
default_step_kindt
33
default_step_kind
(
const
goto_programt::instructiont
&instruction);
34
38
std::string
default_step_name
(
const
default_step_kindt
&step_type);
39
40
struct
default_trace_stept
41
{
42
default_step_kindt
kind
;
43
bool
hidden
;
44
unsigned
thread_number
;
45
std::size_t
step_number
;
46
source_locationt
location
;
47
};
48
49
optionalt<default_trace_stept>
default_step
(
50
const
goto_trace_stept
&step,
51
const
source_locationt
&previous_source_location);
52
53
#endif // CPROVER_GOTO_PROGRAMS_STRUCTURED_TRACE_UTIL_H
default_trace_stept::location
source_locationt location
Definition:
structured_trace_util.h:46
default_step_kind
default_step_kindt default_step_kind(const goto_programt::instructiont &instruction)
Identify for a given instruction whether it is a loophead or just a location.
Definition:
structured_trace_util.cpp:17
default_step_kindt::LOCATION_ONLY
@ LOCATION_ONLY
default_step_kindt::LOOP_HEAD
@ LOOP_HEAD
goto_trace_stept
Step of the trace of a GOTO program.
Definition:
goto_trace.h:49
default_trace_stept::step_number
std::size_t step_number
Definition:
structured_trace_util.h:45
default_step_kindt
default_step_kindt
There are two kinds of step for location markers - location-only and loop-head (for locations associa...
Definition:
structured_trace_util.h:20
default_trace_stept::hidden
bool hidden
Definition:
structured_trace_util.h:43
default_step_name
std::string default_step_name(const default_step_kindt &step_type)
Turns a default_step_kindt into a string that can be used in the trace.
Definition:
structured_trace_util.cpp:27
default_step
optionalt< default_trace_stept > default_step(const goto_trace_stept &step, const source_locationt &previous_source_location)
Definition:
structured_trace_util.cpp:39
optionalt
nonstd::optional< T > optionalt
Definition:
optional.h:35
goto_program.h
source_locationt
Definition:
source_location.h:18
default_trace_stept
Definition:
structured_trace_util.h:40
default_trace_stept::kind
default_step_kindt kind
Definition:
structured_trace_util.h:42
default_trace_stept::thread_number
unsigned thread_number
Definition:
structured_trace_util.h:44
goto_programt::instructiont
This class represents an instruction in the GOTO intermediate representation.
Definition:
goto_program.h:180
src
goto-programs
structured_trace_util.h
Generated by
1.8.17