CBMC
Loading...
Searching...
No Matches
Classes | Typedefs | Functions | Variables
abstract_environment.cpp File Reference
#include <util/expr_util.h>
#include <util/namespace.h>
#include <util/simplify_expr.h>
#include <util/simplify_utils.h>
#include <util/symbol_table.h>
#include <analyses/variable-sensitivity/abstract_environment.h>
#include <analyses/variable-sensitivity/variable_sensitivity_object_factory.h>
#include <algorithm>
#include <map>
#include <ostream>
#include <stack>
#include "abstract_object_statistics.h"
#include "context_abstract_object.h"
#include "interval_abstract_value.h"
+ Include dependency graph for abstract_environment.cpp:

Go to the source code of this file.

Classes

 

Typedefs

 

Functions

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
static std::size_t  count_globals (const namespacet &ns)
 
 
 
 
 
 
 

Variables

 
 
 

Typedef Documentation

◆  assume_function

Definition at line 31 of file abstract_environment.cpp.

Function Documentation

◆  as_value()

Definition at line 561 of file abstract_environment.cpp.

◆  assume_and()

exprt assume_and ( abstract_environmenttenv,
const exprtexpr,
const namespacetns 
)
static

Definition at line 633 of file abstract_environment.cpp.

◆  assume_eq()

exprt assume_eq ( abstract_environmenttenv,
const exprtexpr,
const namespacetns 
)
static

Definition at line 736 of file abstract_environment.cpp.

◆  assume_eq_unbounded()

exprt assume_eq_unbounded ( abstract_environmenttenv,
const namespacetns 
)

Definition at line 714 of file abstract_environment.cpp.

◆  assume_greater_than()

exprt assume_greater_than ( abstract_environmenttenv,
const exprtexpr,
const namespacetns 
)
static

Definition at line 861 of file abstract_environment.cpp.

◆  assume_less_than()

exprt assume_less_than ( abstract_environmenttenv,
const exprtexpr,
const namespacetns 
)
static

Definition at line 815 of file abstract_environment.cpp.

◆  assume_less_than_unbounded()

exprt assume_less_than_unbounded ( abstract_environmenttenv,
const namespacetns 
)

Definition at line 784 of file abstract_environment.cpp.

◆  assume_not()

exprt assume_not ( abstract_environmenttenv,
const exprtexpr,
const namespacetns 
)
static

Definition at line 618 of file abstract_environment.cpp.

◆  assume_noteq()

exprt assume_noteq ( abstract_environmenttenv,
const exprtexpr,
const namespacetns 
)
static

Definition at line 761 of file abstract_environment.cpp.

◆  assume_or()

exprt assume_or ( abstract_environmenttenv,
const exprtexpr,
const namespacetns 
)
static

Definition at line 652 of file abstract_environment.cpp.

◆  count_globals()

static std::size_t count_globals ( const namespacetns )
static

Definition at line 519 of file abstract_environment.cpp.

◆  eval_operands()

std::vector< abstract_object_pointert > eval_operands ( const exprtexpr,
const namespacetns 
)

Definition at line 547 of file abstract_environment.cpp.

◆  eval_operands_as_values()

left_and_right_valuest eval_operands_as_values ( abstract_environmenttenv,
const exprtexpr,
const namespacetns 
)

Definition at line 696 of file abstract_environment.cpp.

◆  invert_expr()

static exprt invert_expr ( const exprtexpr )
static

Definition at line 590 of file abstract_environment.cpp.

◆  invert_result()

static exprt invert_result ( const exprtresult )
static

Definition at line 580 of file abstract_environment.cpp.

◆  is_access_expr()

static bool is_access_expr ( const exprtexpr )
static

Definition at line 80 of file abstract_environment.cpp.

◆  is_dynamic_allocation()

static bool is_dynamic_allocation ( const exprtexpr )
static

Definition at line 95 of file abstract_environment.cpp.

◆  is_object_creation()

static bool is_object_creation ( const irep_idtid )
static

Definition at line 89 of file abstract_environment.cpp.

◆  is_ptr_comparison()

bool is_ptr_comparison ( const exprtexpr )

Definition at line 70 of file abstract_environment.cpp.

◆  is_ptr_diff()

bool is_ptr_diff ( const exprtexpr )

Definition at line 63 of file abstract_environment.cpp.

◆  is_value()

bool is_value ( const abstract_object_pointertobj )
static

Definition at line 567 of file abstract_environment.cpp.

◆  prune_assign()

void prune_assign ( abstract_environmenttenv,
const exprtdestination,
const namespacetns 
)

Definition at line 604 of file abstract_environment.cpp.

Variable Documentation

◆  assume_functions

auto assume_functions
static
Initial value:
=
std::map<irep_idt, assume_function>{{ID_not, assume_not},
static exprt assume_not(abstract_environmentt &env, const exprt &expr, const namespacet &ns)
static exprt assume_eq(abstract_environmentt &env, const exprt &expr, const namespacet &ns)
static exprt assume_noteq(abstract_environmentt &env, const exprt &expr, const namespacet &ns)
static exprt assume_or(abstract_environmentt &env, const exprt &expr, const namespacet &ns)
static exprt assume_less_than(abstract_environmentt &env, const exprt &expr, const namespacet &ns)
static exprt assume_and(abstract_environmentt &env, const exprt &expr, const namespacet &ns)
static exprt assume_greater_than(abstract_environmentt &env, const exprt &expr, const namespacet &ns)
ait supplies three of the four components needed: an abstract interpreter (in this case handling func...
Definition ai.h:566

Definition at line 289 of file abstract_environment.cpp.

◆  inverse_operations

auto inverse_operations
static
Initial value:
=
std::map<irep_idt, irep_idt>{{ID_equal, ID_notequal},

Definition at line 572 of file abstract_environment.cpp.

◆  symmetric_operations

auto symmetric_operations
static
Initial value:
=
std::map<irep_idt, irep_idt>{{ID_ge, ID_le}, {ID_gt, ID_lt}}

Definition at line 858 of file abstract_environment.cpp.

AltStyle によって変換されたページ (->オリジナル) /