cprover
Toggle main menu visibility
Loading...
Searching...
No Matches
path.h
Go to the documentation of this file.
1
/*******************************************************************\
2
3
Module: Loop Acceleration
4
5
Author: Matt Lewis
6
7
\*******************************************************************/
8
11
12
#ifndef CPROVER_GOTO_INSTRUMENT_ACCELERATE_PATH_H
13
#define CPROVER_GOTO_INSTRUMENT_ACCELERATE_PATH_H
14
15
#include <iosfwd>
16
#include <list>
17
18
#include <
util/std_expr.h
>
19
20
#include <
goto-programs/goto_program.h
>
21
22
class
path_nodet
23
{
24
public
:
25
explicit
path_nodet
(
const
goto_programt::targett
&_loc):
26
loc
(_loc),
27
guard
(
nil_exprt
())
28
{
29
}
30
31
path_nodet
(
const
goto_programt::targett
&_loc,
32
const
exprt
&_guard) :
33
loc
(_loc),
34
guard
(_guard)
35
{
36
}
37
38
void
output
(
const
goto_programt
&program, std::ostream &str)
const
;
39
40
goto_programt::targett
loc
;
41
const
exprt
guard
;
42
};
43
44
typedef
std::list<path_nodet>
patht
;
45
typedef
std::list<patht>
pathst
;
46
47
void
output_path
(
48
const
patht
&path,
49
const
goto_programt
&program,
50
const
namespacet
&ns,
51
std::ostream &str);
52
53
#endif
// CPROVER_GOTO_INSTRUMENT_ACCELERATE_PATH_H
exprt
Base class for all expressions.
Definition
expr.h:57
goto_programt
A generic container class for the GOTO intermediate representation of one function.
Definition
goto_program.h:72
goto_programt::targett
instructionst::iterator targett
Definition
goto_program.h:613
namespacet
A namespacet is essentially one or two symbol tables bound together, to allow for symbol lookups in t...
Definition
namespace.h:91
nil_exprt
The NIL expression.
Definition
std_expr.h:3134
path_nodet::loc
goto_programt::targett loc
Definition
path.h:40
path_nodet::path_nodet
path_nodet(const goto_programt::targett &_loc, const exprt &_guard)
Definition
path.h:31
path_nodet::guard
const exprt guard
Definition
path.h:41
path_nodet::path_nodet
path_nodet(const goto_programt::targett &_loc)
Definition
path.h:25
path_nodet::output
void output(const goto_programt &program, std::ostream &str) const
goto_program.h
Concrete Goto Program.
output_path
void output_path(const patht &path, const goto_programt &program, const namespacet &ns, std::ostream &str)
pathst
std::list< patht > pathst
Definition
path.h:45
patht
std::list< path_nodet > patht
Definition
path.h:44
std_expr.h
API to expression classes.
goto-instrument
accelerate
path.h
Generated by
1.17.0