cprover
Toggle main menu visibility
Loading...
Searching...
No Matches
abstract_goto_model.h
Go to the documentation of this file.
1
/*******************************************************************\
2
3
Module: Abstract GOTO Model
4
5
Author: Diffblue Ltd.
6
7
\*******************************************************************/
8
11
12
#ifndef CPROVER_GOTO_PROGRAMS_ABSTRACT_GOTO_MODEL_H
13
#define CPROVER_GOTO_PROGRAMS_ABSTRACT_GOTO_MODEL_H
14
15
#include "
goto_functions.h
"
16
#include "
validate_goto_model.h
"
17
18
class
symbol_tablet
;
19
21
class
abstract_goto_modelt
22
{
23
public
:
24
virtual
~abstract_goto_modelt
()
25
{
26
}
27
32
virtual
bool
can_produce_function
(
const
irep_idt
&
id
)
const
= 0;
33
40
virtual
const
goto_functionst::goto_functiont
&
get_goto_function
(
41
const
irep_idt
&
id
) = 0;
42
47
virtual
const
goto_functionst
&
get_goto_functions
()
const
= 0;
48
53
virtual
const
symbol_tablet
&
get_symbol_table
()
const
= 0;
54
59
// virtual void validate(const validation_modet vm) const = 0;
60
virtual
void
validate
(
61
const
validation_modet
vm,
62
const
goto_model_validation_optionst
&goto_model_validation_options)
63
const
= 0;
64
};
65
66
#endif
abstract_goto_modelt
Abstract interface to eager or lazy GOTO models.
Definition
abstract_goto_model.h:22
abstract_goto_modelt::~abstract_goto_modelt
virtual ~abstract_goto_modelt()
Definition
abstract_goto_model.h:24
abstract_goto_modelt::validate
virtual void validate(const validation_modet vm, const goto_model_validation_optionst &goto_model_validation_options) const =0
Check that the goto model is well-formed.
abstract_goto_modelt::can_produce_function
virtual bool can_produce_function(const irep_idt &id) const =0
Determines if this model can produce a body for the given function.
abstract_goto_modelt::get_goto_function
virtual const goto_functionst::goto_functiont & get_goto_function(const irep_idt &id)=0
Get a GOTO function by name, or throw if no such function exists.
abstract_goto_modelt::get_symbol_table
virtual const symbol_tablet & get_symbol_table() const =0
Accessor to get the symbol table.
abstract_goto_modelt::get_goto_functions
virtual const goto_functionst & get_goto_functions() const =0
Accessor to get a raw goto_functionst.
goto_functionst
A collection of goto functions.
Definition
goto_functions.h:25
goto_functionst::goto_functiont
::goto_functiont goto_functiont
Definition
goto_functions.h:27
goto_model_validation_optionst
Definition
validate_goto_model.h:16
symbol_tablet
The symbol table.
Definition
symbol_table.h:14
goto_functions.h
Goto Programs with Functions.
validate_goto_model.h
validation_modet
validation_modet
Definition
validation_mode.h:13
irep_idt
dstringt irep_idt
Definition
verification_result.h:16
goto-programs
abstract_goto_model.h
Generated by
1.17.0