Namespaces | |
namespace | relations |
namespace | graph |
namespace | regex |
namespace | walienum |
namespace | util |
namespace | wfa |
namespace | wpds |
namespace | witness |
Classes | |
class | Countable |
class | DefaultWorklist |
class | Exception |
struct | Bucket |
class | HashMapIterator |
One should always use: HashMap< a,b,c,d >::iterator or HashMap< a,b,c,d >::const_iterator. More... | |
class | HashMapConstIterator |
class | HashMap |
class HashMap More... | |
struct | hm_hash |
struct | hm_equal |
struct | hm_hash< char > |
struct | hm_hash< const char > |
struct | hm_equal< char > |
struct | hm_equal< const char > |
struct | hm_hash< unsigned char > |
struct | hm_hash< const unsigned char > |
struct | hm_equal< unsigned char > |
struct | hm_equal< const unsigned char > |
struct | hm_hash< int > |
struct | hm_hash< const int > |
struct | hm_equal< int > |
struct | hm_equal< const int > |
struct | hm_hash< unsigned int > |
struct | hm_hash< const unsigned int > |
struct | hm_equal< unsigned int > |
struct | hm_equal< const unsigned int > |
struct | hm_hash< long > |
struct | hm_hash< const long > |
struct | hm_equal< long > |
struct | hm_equal< const long > |
struct | hm_hash< unsigned long > |
struct | hm_hash< const unsigned long > |
struct | hm_equal< unsigned long > |
struct | hm_equal< const unsigned long > |
struct | hm_hash< char * > |
struct | hm_hash< const char * > |
struct | hm_equal< char * > |
struct | hm_equal< const char * > |
struct | hm_hash< long long > |
struct | hm_hash< const long long > |
struct | hm_equal< long long > |
struct | hm_equal< const long long > |
struct | hm_hash< unsigned long long > |
struct | hm_hash< const unsigned long long > |
struct | hm_equal< unsigned long long > |
struct | hm_equal< const unsigned long long > |
class | IMarkable |
class | IMergeFn |
Class IMergeFn defines the interface that all merge functions must satisfy. More... | |
class | IntSource |
class | Triple |
class | Quad |
struct | hm_hash< KeyPair > |
struct | hm_equal< KeyPair > |
struct | hm_hash< KeyTriple > |
struct | hm_equal< KeyTriple > |
struct | hm_hash< std::set< Key > > |
struct | hm_equal< std::set< Key > > |
class | KeyOrderWorklist |
class | KeyPairSource |
class | KeySetSource |
class | KeySource |
struct | hm_hash< key_src_t > |
struct | hm_equal< key_src_t > |
class | KeySpace |
class | Markable |
class | MergeFn |
class | MergeFnFactory |
class | Printable |
Interface defining the print method. More... | |
class | PriorityWorklist |
class | RankedWorklist |
class | ref_ptr |
A reference counting pointer class. More... | |
class | SemElem |
base abstract class to be subclassed by user's semiring More... | |
class | SemElemPair |
class | ShortestPathSemiring |
class | ShortestPathWorklist |
class | StringSource |
class | TaggedWeight |
class | TotalOrderWorklist |
class | WeightFactory |
class | Worklist |
Typedefs | |
typedef Key | wali_key_t |
typedef ref_ptr< IMergeFn > | merge_fn_t |
typedef size_t | Key |
For now a Key is just an unsigned int. | |
typedef ref_ptr< KeySource > | key_src_t |
typedef std::pair< Key, Key > | KeyPair |
KeyPair. | |
typedef Triple< Key, Key, Key > | KeyTriple |
KeyTriple. | |
typedef Quad< Key, Key, Key, Key > | KeyQuad |
KeyQuad. | |
typedef ref_ptr< SemElem > | sem_elem_t |
Handy typedef for working with reference counted SemElem objects. | |
Functions | |
std::ostream * | set_wali_err (std::ostream *newErr) |
Sets error stream waliErr to param newErr. | |
std::ostream * | setWaliErr (std::ostream *newErr) |
void | set_verify_fwpds (bool enable) |
Turn FWPDS verification on and off. | |
bool | get_verify_fwpds () |
void | set_lazy_fwpds (bool enable) |
Turn lazy weights on or off for FWPDS. | |
bool | is_lazy_fwpds () |
void | set_strict (bool enable) |
Enable or disable strictness on transition "to" states. | |
bool | is_strict () |
KeySpace * | getKeySpace () |
This class defines the wali keyspace. | |
void | clearKeyspace () |
Key | getKey (key_src_t ks) |
Wrapper functions. | |
Key | getKey (const std::string &s) |
Key | getKey (const char *s) |
Key | getKey (int i) |
Key | getKey (Key k1, Key k2) |
Key | getKey (std::set< Key > ks) |
key_src_t | getKeySource (Key k) |
Return KeySource associated with the key k. | |
std::ostream & | printKey (std::ostream &o, Key k, bool abbreviate) |
std::string | key2str (Key k) |
Returns string representation of the key Essentially performs the lookup from Key to KeySource and calls KeySource::to_string. | |
template<typename T , typename U , typename V > | |
Triple< T, U, V > | make_triple (T const &t, U const &u, V const &v) |
Return a Triple with the given types (analgous to std::make_pair). | |
template<typename T , typename U , typename V , typename W > | |
Quad< T, U, V, W > | make_quad (T const &t, U const &u, V const &v, W const &w) |
Return a Quad with the given types (analgous to std::make_pair). | |
void | test_semelem_impl (sem_elem_t x) |
Simple test method that can be used when developing a SemElem implementation. | |
Variables | |
std::ostream * | waliErr = &std::cerr |
typedef Key wali::wali_key_t |
typedef ref_ptr< IMergeFn > wali::merge_fn_t |
For now a Key is just an unsigned int.
typedef ref_ptr<KeySource> wali::key_src_t |
typedef std::pair< Key,Key > wali::KeyPair |
KeyPair.
typedef Triple< Key,Key,Key > wali::KeyTriple |
KeyTriple.
Handy typedef for working with reference counted SemElem objects.
std::ostream * wali::set_wali_err | ( | std::ostream * | newErr | ) |
Sets error stream waliErr to param newErr.
newErr | std::ostream* |
std::ostream * wali::setWaliErr | ( | std::ostream * | newErr | ) |
void wali::set_verify_fwpds | ( | bool | enable | ) |
Turn FWPDS verification on and off.
When running pre or post* query in FWPDS, setting this to true will also run the same query using regular EWPDS and verify the results are the same.
enable | turn FWPDS verification on/off |
bool wali::get_verify_fwpds | ( | ) |
Referenced by wali::wpds::fwpds::FWPDS::poststarIGR().
void wali::set_lazy_fwpds | ( | bool | enable | ) |
Turn lazy weights on or off for FWPDS.
bool wali::is_lazy_fwpds | ( | ) |
void wali::set_strict | ( | bool | enable | ) |
Enable or disable strictness on transition "to" states.
Referenced by wali::wpds::fwpds::SWPDS::prestar().
bool wali::is_strict | ( | ) |
Referenced by wali::wpds::WPDS::operator()(), wali::wpds::ewpds::EWPDS::operator()(), and wali::wpds::fwpds::SWPDS::prestar().
KeySpace * wali::getKeySpace | ( | ) |
This class defines the wali keyspace.
void wali::clearKeyspace | ( | ) |
Key wali::getKey | ( | key_src_t | ks | ) |
Wrapper functions.
Call same method of class KeySpace using the wali::KeySpace object.
Referenced by opennwa::Nwa::_private_isEmpty_(), opennwa::Nwa::_private_star_(), build_internal_nwa(), build_nondet_internal_nwa(), build_odd_num_groups(), build_odd_num_groups_separate(), buildNwa_even_zeros(), wali::wfa::WFA::duplicateStates(), opennwa::fst_to_nwa(), wali::wpds::WPDS::gen_state(), opennwa::nwa_pds::getControlLocation(), opennwa::nwa_pds::getProgramControlLocation(), opennwa::query::getSomeAcceptedWordInternal(), wali::wfa::WFA::intersect(), main(), opennwa::parser::details::read_quad(), opennwa::parser::details::read_sigma_block(), opennwa::parser::details::read_state_block(), opennwa::parser::details::read_triple(), opennwa::Nwa::stateIntersect(), and opennwa::nwa_pds::WpdsToNwa().
Key wali::getKey | ( | const std::string & | s | ) |
Key wali::getKey | ( | const char * | s | ) |
Key wali::getKey | ( | int | i | ) |
Key wali::getKey | ( | Key | k1, | |
Key | k2 | |||
) |
Key wali::getKey | ( | std::set< Key > | ks | ) |
std::ostream & wali::printKey | ( | std::ostream & | o, | |
Key | k, | |||
bool | abbreviate = false | |||
) |
Prints key k to std::ostream o Essentially performs the lookup from Key to KeySource and calls KeySource::print
If abbreviate is true and the string representation of the key being printed is greater than 20 characters, then the actual numeric key is printed instead.
Referenced by graphPrintKey(), wali::wfa::TransDotty::operator()(), wali::wpds::fwpds::SWPDS::preprocess(), wali::wpds::fwpds::SWPDS::prestar(), wali::wpds::GenKeySource::print(), wali::wfa::ITrans::print(), wali::KeyPairSource::print(), opennwa::details::TransitionStorage::print(), opennwa::details::Label::print(), opennwa::details::SymbolStorage::print(), opennwa::details::StateStorage::print(), opennwa::Nwa::print_dot(), and wali::regex::Root::print_recurse().
std::string wali::key2str | ( | Key | k | ) |
Returns string representation of the key Essentially performs the lookup from Key to KeySource and calls KeySource::to_string.
Referenced by main(), wali::wpds::Rule::marshall(), wali::wpds::ewpds::ERule::marshall(), wali::wpds::Config::marshall(), wali::wfa::ITrans::marshall(), wali::wfa::WFA::marshallState(), wali::wpds::RuleDotty::operator()(), opennwa::details::operator<<(), wali::wpds::Rule::print(), wali::wpds::Config::print(), wali::witness::RuleStub::print(), wali::wfa::WFA::print(), wali::wfa::State::print(), wali::wfa::WFA::print_dot(), wali::regex::Root::to_mona_recurse(), and wali::regex::Root::write_dot_recurse().
Triple<T, U, V> wali::make_triple | ( | T const & | t, | |
U const & | u, | |||
V const & | v | |||
) |
Return a Triple with the given types (analgous to std::make_pair).
Referenced by opennwa::parser::details::read_triple().
Quad<T, U, V, W> wali::make_quad | ( | T const & | t, | |
U const & | u, | |||
V const & | v, | |||
W const & | w | |||
) |
Return a Quad with the given types (analgous to std::make_pair).
Referenced by opennwa::parser::details::read_quad().
void wali::test_semelem_impl | ( | sem_elem_t | x | ) |
Simple test method that can be used when developing a SemElem implementation.
Tests include
o 0 = 0 o 1 = 1 o x = x o x + 0 = x = 0 + x o x * 0 = 0 = 0 * x o x * 1 = x = 1 * x
std::ostream * wali::waliErr = &std::cerr |
Referenced by wali::wpds::ewpds::EWPDS::add_rule(), wali::wfa::epr::EPA::apply(), wali::witness::WitnessCombine::combine(), wali::witness::Witness::combine(), wali::wpds::WPDS::constructCFG(), wali::util::Timer::elapsed(), wali::wfa::WFA::eraseState(), wali::witness::Witness::extend(), wali::witness::witness_t::getWitness(), wali::wfa::WFA::insert(), wali::wfa::TransSet::insert(), wali::wfa::WFA::intersect(), wali::wpds::WPDS::operator()(), wali::wpds::ewpds::EWPDS::operator()(), wali::wpds::DebugWPDS::post(), wali::wpds::fwpds::SWPDS::poststar(), wali::wpds::DebugWPDS::poststar_handle_trans(), wali::wpds::DebugWPDS::poststarComputeFixpoint(), wali::wpds::fwpds::SWPDS::preprocess(), wali::wpds::fwpds::SWPDS::prestar(), wali::wpds::DebugWPDS::prestarComputeFixpoint(), wali::KeySpace::printKey(), wali::witness::WitnessMergeFn::priv_do_apply(), wali::wpds::WPDS::setWorklist(), wali::regex::Union::solve_recurse(), wali::regex::Concat::solve_recurse(), wali::wfa::State::State(), wali::wfa::WFA::TarjanBasicRegex(), wali::witness::WitnessWrapper::unwrap(), wali::wpds::DebugWPDS::update(), wali::wpds::DebugWPDS::update_prime(), and wali::wfa::WFA::WFA().