PandA-2024.02
|
#include "bit_lattice.hpp"
#include "Parameter.hpp"
#include <string>
#include <algorithm>
#include <vector>
#include "tree_helper.hpp"
#include "tree_manager.hpp"
#include "tree_node.hpp"
#include "tree_reindex.hpp"
#include "dbgPrintHelper.hpp"
#include "string_manipulation.hpp"
#include "utility.hpp"
Go to the source code of this file.
Functions | |
std::deque< bit_lattice > | create_u_bitstring (size_t lenght) |
Creates a bitstring containing bits initialized at <U> More... | |
std::deque< bit_lattice > | create_x_bitstring (size_t lenght) |
Create a bitstring containing bits initialized at <X> More... | |
std::deque< bit_lattice > | create_bitstring_from_constant (integer_cst_t value, unsigned long long len, bool signed_value) |
Creates a bitstring from a constant input. More... | |
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. More... | |
std::deque< bit_lattice > | string_to_bitstring (const std::string &s) |
inverse of bitstring_to_string More... | |
bool | bitstring_constant (const std::deque< bit_lattice > &a) |
Checks if a bitstring is constant. More... | |
Definition in file bit_lattice.cpp.
bool bitstring_constant | ( | const std::deque< bit_lattice > & | a | ) |
Checks if a bitstring is constant.
a | the bitstring to be checked |
Definition at line 656 of file bit_lattice.cpp.
Referenced by Bit_Value::backward(), Bit_Value::backward_transfer(), and BitLatticeManipulator::update_current().
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.
Definition at line 602 of file bit_lattice.cpp.
References ONE, THROW_ERROR, U, X, and ZERO.
Referenced by Bit_Value::backward(), Bit_Value::backward_chain(), Bit_Value::backward_transfer(), BinaryOpNode::eval(), BitValueIPA::Exec(), Bit_Value::forward(), Bit_Value::forward_transfer(), Bit_Value::initialize(), BitLatticeManipulator::mix(), Bit_Value::print_bitstring_map(), BitLatticeManipulator::sup(), Bit_Value::update_IR(), and VarNode::updateIR().
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.
value_int | integer constant |
length | the length of the bitstring to be generated |
signed_value | specified if this bitstring can have negative values |
Definition at line 582 of file bit_lattice.cpp.
Referenced by BitLatticeManipulator::constructor_bitstring(), BitValueIPA::Exec(), Bit_Value::forward(), Range::getBitValues(), Bit_Value::initialize(), and BitLatticeManipulator::string_cst_bitstring().
std::deque<bit_lattice> create_u_bitstring | ( | size_t | lenght | ) |
Creates a bitstring containing bits initialized at <U>
lenght | the lenght of the bitstring |
Definition at line 572 of file bit_lattice.cpp.
References U.
Referenced by Bit_Value::backward_chain(), Bit_Value::backward_transfer(), BitLatticeManipulator::constructor_bitstring(), BitValueIPA::Exec(), Bit_Value::forward_transfer(), Range::getBitValues(), and Bit_Value::initialize().
std::deque<bit_lattice> create_x_bitstring | ( | size_t | lenght | ) |
Create a bitstring containing bits initialized at <X>
lenght | the lenght of the bitstring |
Definition at line 577 of file bit_lattice.cpp.
References X.
Referenced by Bit_Value::backward_chain(), BitValueIPA::Exec(), Bit_Value::forward(), and Bit_Value::initialize().
std::deque<bit_lattice> string_to_bitstring | ( | const std::string & | s | ) |
inverse of bitstring_to_string
Definition at line 629 of file bit_lattice.cpp.
References ONE, THROW_ERROR, U, X, and ZERO.
Referenced by Bit_Value::backward_chain(), Bit_Value::backward_transfer(), BitLatticeManipulator::constructor_bitstring(), BitValueIPA::Exec(), Bit_Value::forward_transfer(), Bit_Value::initialize(), BitLatticeManipulator::isBetter(), and VarNode::updateIR().