41 #ifndef _BIT_LATTICE_HPP_ 42 #define _BIT_LATTICE_HPP_ 105 std::deque<bit_lattice> sup(
const std::deque<bit_lattice>& a,
const std::deque<bit_lattice>& b,
106 const unsigned int output_uid)
const;
108 std::deque<bit_lattice> sup(
const std::deque<bit_lattice>& a,
const std::deque<bit_lattice>& b,
118 std::deque<bit_lattice> inf(
const std::deque<bit_lattice>& a,
const std::deque<bit_lattice>& b,
119 const unsigned int output_uid)
const;
121 std::deque<bit_lattice> inf(
const std::deque<bit_lattice>& a,
const std::deque<bit_lattice>& b,
129 std::deque<bit_lattice> constructor_bitstring(
const tree_nodeRef& ctor_tn,
unsigned int ssa_node_id)
const;
136 std::deque<bit_lattice> string_cst_bitstring(
const tree_nodeRef& strcst_tn,
unsigned int ssa_node_id)
const;
181 static std::deque<bit_lattice> sign_extend_bitstring(
const std::deque<bit_lattice>& bitstring,
182 bool bitstring_is_signed,
size_t final_size);
197 static std::deque<bit_lattice> sup(
const std::deque<bit_lattice>& a,
const std::deque<bit_lattice>& b,
198 const size_t out_type_size,
const bool out_is_signed,
const bool out_is_bool);
200 static std::deque<bit_lattice> inf(
const std::deque<bit_lattice>& a,
const std::deque<bit_lattice>& b,
201 const size_t out_type_size,
const bool out_is_signed,
const bool out_is_bool);
207 static bool isBetter(
const std::string& a_string,
const std::string& b_string);
This class manages the tree structures extracted from the raw file.
std::string bitstring_to_string(const std::deque< bit_lattice > &bitstring)
Translates a bitstring ( expressed as an std::deque of bit_lattice ) into a string of characters...
CustomOrderedMap< T, U > CustomMap
bool bitstring_constant(const std::deque< bit_lattice > &a)
Checks if a bitstring is constant.
redefinition of map to manage ordered/unordered structures
Abstract pure class for the tree structure.
CustomSet< unsigned int > signed_var
Set storing the signed ssa.
const int bl_debug_level
The debug level of methods of this class - it cannot be named debug_level because of ambiguity of Fro...
static std::string sign_reduce_bitstring(std::string bitstring, bool bitstring_is_signed)
function slightly different than BitLatticeManipulator::sign_reduce_bitstring
CustomMap< unsigned int, std::deque< bit_lattice > > current
Map of the current bit-values of each variable.
redefinition of set to manage ordered/unordered structures
CONSTREF_FORWARD_DECL(Parameter)
STD include.
std::deque< bit_lattice > create_x_bitstring(size_t lenght)
Create a bitstring containing bits initialized at <X>
const tree_managerConstRef TM
Template definition of refcount.
REF_FORWARD_DECL(tree_node)
CustomMap< unsigned int, std::deque< bit_lattice > > best
Map of the best bit-values of each variable.
Template borrowed from the ANTLR library by Terence Parr (http://www.jGuru.com - Software rights: htt...
std::deque< bit_lattice > create_bitstring_from_constant(integer_cst_t value_int, unsigned long long length, bool signed_value)
Creates a bitstring from a constant input.
std::deque< bit_lattice > create_u_bitstring(size_t lenght)
Creates a bitstring containing bits initialized at <U>
std::deque< bit_lattice > string_to_bitstring(const std::string &s)
inverse of bitstring_to_string