PandA-2024.02
|
#include <string>
#include "custom_map.hpp"
#include "custom_set.hpp"
#include <deque>
#include "panda_types.hpp"
#include "refcount.hpp"
Go to the source code of this file.
Data Structures | |
class | BitLatticeManipulator |
Enumerations | |
enum | bit_lattice { bit_lattice::U, bit_lattice::ZERO, bit_lattice::ONE, bit_lattice::X } |
Functions | |
CONSTREF_FORWARD_DECL (Parameter) | |
STD include. More... | |
CONSTREF_FORWARD_DECL (tree_manager) | |
REF_FORWARD_DECL (tree_node) | |
CONSTREF_FORWARD_DECL (tree_node) | |
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_int, unsigned long long length, 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.hpp.
|
strong |
Enumerator | |
---|---|
U | |
ZERO | |
ONE | |
X |
Definition at line 60 of file bit_lattice.hpp.
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().
CONSTREF_FORWARD_DECL | ( | Parameter | ) |
STD include.
STL includes
CONSTREF_FORWARD_DECL | ( | tree_manager | ) |
CONSTREF_FORWARD_DECL | ( | tree_node | ) |
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().
REF_FORWARD_DECL | ( | tree_node | ) |
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().