Public Types | |
typedef std::list< rule_t > ::const_iterator | const_iterator |
typedef std::list< rule_t > ::iterator | iterator |
typedef std::list< rule_t > ::const_reverse_iterator | const_reverse_iterator |
typedef std::list< rule_t > ::reverse_iterator | reverse_iterator |
Public Member Functions | |
Config (wali_key_t state, wali_key_t stack) | |
Config constructor. | |
virtual | ~Config () |
bool | operator== (const Config &c2) const throw () |
const KeyPair & | keypair () const throw () |
wali_key_t | state () const throw () |
wali_key_t | stack () const throw () |
void | insert (rule_t r) throw () |
insert a rule into forwards list | |
void | rinsert (rule_t r) throw () |
insert a rule into backwards list | |
const_iterator | begin () const throw () |
const_iterator | end () const throw () |
const_reverse_iterator | rbegin () const throw () |
const_reverse_iterator | rend () const throw () |
iterator | begin () throw () |
iterator | end () throw () |
reverse_iterator | rbegin () throw () |
reverse_iterator | rend () throw () |
virtual std::ostream & | print (std::ostream &o) const |
std::ostream & | marshall (std::ostream &o) const |
Static Public Attributes | |
static int | numConfigs = 0 |
Protected Attributes | |
KeyPair | kp |
std::list< rule_t > | fwrules |
< pair of state and stack symbol | |
std::list< rule_t > | bwrules |
< forward rules | |
Friends | |
class | Rule |
class | ewpds::ERule |
class | WPDS |
class | ewpds::EWPDS |
This class represents a Surface Configuration in the WPDS's configuration space. It only keeps track of the state and top of stack symbol. All of the wpds::Config's form a graph that is connected forward and back by the list of Rules.
typedef std::list< rule_t >::const_iterator wali::wpds::Config::const_iterator |
typedef std::list< rule_t >::iterator wali::wpds::Config::iterator |
typedef std::list< rule_t >::const_reverse_iterator wali::wpds::Config::const_reverse_iterator |
typedef std::list< rule_t >::reverse_iterator wali::wpds::Config::reverse_iterator |
wali::wpds::Config::Config | ( | wali_key_t | state, | |
wali_key_t | stack | |||
) |
Config constructor.
References numConfigs.
wali::wpds::Config::~Config | ( | ) | [virtual] |
References numConfigs.
const KeyPair& wali::wpds::Config::keypair | ( | ) | const throw () |
wali_key_t wali::wpds::Config::state | ( | ) | const throw () |
References kp.
Referenced by wali::wpds::Rule::from_state(), insert(), marshall(), wali::wpds::Rule::operator<(), wali::wpds::Rule::operator==(), print(), rinsert(), and wali::wpds::Rule::to_state().
wali_key_t wali::wpds::Config::stack | ( | ) | const throw () |
References kp.
Referenced by wali::wpds::Rule::from_stack(), insert(), marshall(), wali::wpds::Rule::operator<(), wali::wpds::Rule::operator==(), print(), rinsert(), and wali::wpds::Rule::to_stack1().
void wali::wpds::Config::insert | ( | rule_t | r | ) | throw () |
insert a rule into forwards list
References fwrules, stack(), and state().
Referenced by wali::wpds::WPDS::make_rule().
void wali::wpds::Config::rinsert | ( | rule_t | r | ) | throw () |
insert a rule into backwards list
References bwrules, stack(), and state().
Referenced by wali::wpds::WPDS::make_rule().
const_iterator wali::wpds::Config::begin | ( | ) | const throw () |
References fwrules.
Referenced by wali::wpds::WPDS::count_rules(), wali::wpds::WPDS::for_each(), wali::wpds::WPDS::make_rule(), and wali::wpds::DebugWPDS::post().
const_iterator wali::wpds::Config::end | ( | ) | const throw () |
References fwrules.
Referenced by wali::wpds::WPDS::count_rules(), wali::wpds::WPDS::for_each(), wali::wpds::WPDS::make_rule(), and wali::wpds::DebugWPDS::post().
const_reverse_iterator wali::wpds::Config::rbegin | ( | ) | const throw () |
const_reverse_iterator wali::wpds::Config::rend | ( | ) | const throw () |
iterator wali::wpds::Config::begin | ( | ) | throw () |
iterator wali::wpds::Config::end | ( | ) | throw () |
reverse_iterator wali::wpds::Config::rbegin | ( | ) | throw () |
reverse_iterator wali::wpds::Config::rend | ( | ) | throw () |
std::ostream & wali::wpds::Config::print | ( | std::ostream & | o | ) | const [virtual] |
Implements Printable::print. Writes this Config to the passed in ostream.
o | the std::ostream Config is written to |
Implements wali::Printable.
References wali::key2str(), stack(), and state().
std::ostream & wali::wpds::Config::marshall | ( | std::ostream & | o | ) | const |
References wali::key2str(), stack(), and state().
friend class Rule [friend] |
friend class ewpds::ERule [friend] |
friend class WPDS [friend] |
friend class ewpds::EWPDS [friend] |
int wali::wpds::Config::numConfigs = 0 [static] |
KeyPair wali::wpds::Config::kp [protected] |
Referenced by keypair(), operator==(), stack(), and state().
std::list< rule_t > wali::wpds::Config::fwrules [protected] |
std::list< rule_t > wali::wpds::Config::bwrules [protected] |