cprover
Toggle main menu visibility
Loading...
Searching...
No Matches
expr_initializer.h
Go to the documentation of this file.
1
/*******************************************************************\
2
3
Module: Expression Initialization
4
5
Author: Daniel Kroening, kroening@kroening.com
6
7
\*******************************************************************/
8
11
12
#ifndef CPROVER_UTIL_EXPR_INITIALIZER_H
13
#define CPROVER_UTIL_EXPR_INITIALIZER_H
14
15
#include <optional>
16
17
class
exprt
;
18
class
namespacet
;
19
class
source_locationt
;
20
class
typet
;
21
22
std::optional<exprt>
23
zero_initializer
(
const
typet
&,
const
source_locationt
&,
const
namespacet
&);
24
25
std::optional<exprt>
nondet_initializer
(
26
const
typet
&type,
27
const
source_locationt
&
source_location
,
28
const
namespacet
&ns);
29
30
std::optional<exprt>
expr_initializer
(
31
const
typet
&type,
32
const
source_locationt
&
source_location
,
33
const
namespacet
&ns,
34
const
exprt
&init_byte_expr);
35
36
exprt
duplicate_per_byte
(
37
const
exprt
&init_byte_expr,
38
const
typet
&output_type,
39
const
namespacet
&ns);
40
41
#endif
// CPROVER_UTIL_EXPR_INITIALIZER_H
exprt
Base class for all expressions.
Definition
expr.h:57
namespacet
A namespacet is essentially one or two symbol tables bound together, to allow for symbol lookups in t...
Definition
namespace.h:91
source_locationt
Definition
source_location.h:20
typet
The type of an expression, extends irept.
Definition
type.h:29
typet::source_location
const source_locationt & source_location() const
Definition
type.h:72
duplicate_per_byte
exprt duplicate_per_byte(const exprt &init_byte_expr, const typet &output_type, const namespacet &ns)
Builds an expression of the given output type with each of its bytes initialized to the given initial...
Definition
expr_initializer.cpp:381
expr_initializer
std::optional< exprt > expr_initializer(const typet &type, const source_locationt &source_location, const namespacet &ns, const exprt &init_byte_expr)
Create a value for type type, with all subtype bytes initialized to the given value.
Definition
expr_initializer.cpp:340
zero_initializer
std::optional< exprt > zero_initializer(const typet &, const source_locationt &, const namespacet &)
Create the equivalent of zero for type type.
Definition
expr_initializer.cpp:308
nondet_initializer
std::optional< exprt > nondet_initializer(const typet &type, const source_locationt &source_location, const namespacet &ns)
Create a non-deterministic value for type type, with all subtypes independently expanded as non-deter...
Definition
expr_initializer.cpp:324
util
expr_initializer.h
Generated by
1.17.0