cprover
Toggle main menu visibility
Loading...
Searching...
No Matches
string_concatenation_builtin_function.h
Go to the documentation of this file.
1
/*******************************************************************\
2
3
Module: Builtin functions for string concatenations
4
5
Author: Romain Brenguier, Joel Allred
6
7
\*******************************************************************/
8
11
12
#ifndef CPROVER_SOLVERS_STRINGS_STRING_CONCATENATION_BUILTIN_FUNCTION_H
13
#define CPROVER_SOLVERS_STRINGS_STRING_CONCATENATION_BUILTIN_FUNCTION_H
14
15
#include "
string_insertion_builtin_function.h
"
16
17
class
string_concatenation_builtin_functiont
final
18
:
public
string_insertion_builtin_functiont
19
{
20
public
:
27
string_concatenation_builtin_functiont
(
28
const
exprt
&
return_code
,
29
const
std::vector<exprt> &fun_args,
30
array_poolt
&
array_pool
);
31
32
std::vector<mp_integer>
eval
(
33
const
std::vector<mp_integer> &input1_value,
34
const
std::vector<mp_integer> &input2_value,
35
const
std::vector<mp_integer> &args_value)
const override
;
36
37
std::string
name
()
const override
38
{
39
return
"concat"
;
40
}
41
42
string_constraintst
constraints
(
43
string_constraint_generatort
&generator,
44
message_handlert
&message_handler)
const override
;
45
46
exprt
length_constraint
()
const override
;
47
};
48
49
#endif
// CPROVER_SOLVERS_STRINGS_STRING_CONCATENATION_BUILTIN_FUNCTION_H
array_poolt
Correspondance between arrays and pointers string representations.
Definition
array_pool.h:42
exprt
Base class for all expressions.
Definition
expr.h:57
message_handlert
Definition
message.h:27
string_builtin_functiont::return_code
exprt return_code
Definition
string_builtin_function.h:110
string_builtin_functiont::array_pool
array_poolt & array_pool
Definition
string_builtin_function.h:121
string_concatenation_builtin_functiont::constraints
string_constraintst constraints(string_constraint_generatort &generator, message_handlert &message_handler) const override
Add constraints ensuring that the value of result expression of the builtin function corresponds to t...
Definition
string_concatenation_builtin_function.cpp:212
string_concatenation_builtin_functiont::string_concatenation_builtin_functiont
string_concatenation_builtin_functiont(const exprt &return_code, const std::vector< exprt > &fun_args, array_poolt &array_pool)
Constructor from arguments of a function application.
Definition
string_concatenation_builtin_function.cpp:16
string_concatenation_builtin_functiont::eval
std::vector< mp_integer > eval(const std::vector< mp_integer > &input1_value, const std::vector< mp_integer > &input2_value, const std::vector< mp_integer > &args_value) const override
Evaluate the result from a concrete valuation of the arguments.
Definition
string_concatenation_builtin_function.cpp:191
string_concatenation_builtin_functiont::name
std::string name() const override
Definition
string_concatenation_builtin_function.h:37
string_concatenation_builtin_functiont::length_constraint
exprt length_constraint() const override
Constraint ensuring that the length of the strings are coherent with the function call.
Definition
string_concatenation_builtin_function.cpp:231
string_constraint_generatort
Definition
string_constraint_generator.h:48
string_insertion_builtin_functiont::string_insertion_builtin_functiont
string_insertion_builtin_functiont(const exprt &return_code, const std::vector< exprt > &fun_args, array_poolt &array_pool)
Constructor from arguments of a function application.
Definition
string_insertion_builtin_function.cpp:23
string_insertion_builtin_function.h
string_constraintst
Collection of constraints of different types: existential formulas, universal formulas,...
Definition
string_constraint_generator.h:39
solvers
strings
string_concatenation_builtin_function.h
Generated by
1.17.0