CBMC
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 
21 
23 {
24 public:
25  explicit path_nodet(const goto_programt::targett &_loc):
26  loc(_loc),
27  guard(nil_exprt())
28  {
29  }
30 
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 
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
pathst
std::list< patht > pathst
Definition: path.h:45
path_nodet::path_nodet
path_nodet(const goto_programt::targett &_loc, const exprt &_guard)
Definition: path.h:31
exprt
Base class for all expressions.
Definition: expr.h:55
path_nodet::path_nodet
path_nodet(const goto_programt::targett &_loc)
Definition: path.h:25
path_nodet
Definition: path.h:22
namespacet
A namespacet is essentially one or two symbol tables bound together, to allow for symbol lookups in t...
Definition: namespace.h:90
nil_exprt
The NIL expression.
Definition: std_expr.h:3025
output_path
void output_path(const patht &path, const goto_programt &program, const namespacet &ns, std::ostream &str)
goto_program.h
patht
std::list< path_nodet > patht
Definition: path.h:44
path_nodet::output
void output(const goto_programt &program, std::ostream &str) const
goto_programt
A generic container class for the GOTO intermediate representation of one function.
Definition: goto_program.h:72
path_nodet::loc
goto_programt::targett loc
Definition: path.h:40
std_expr.h
goto_programt::targett
instructionst::iterator targett
Definition: goto_program.h:586
path_nodet::guard
const exprt guard
Definition: path.h:41