Public Types | Public Member Functions | Static Public Attributes | Protected Attributes | Friends

wali::wpds::Config Class Reference

List of all members.

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 KeyPairkeypair () 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_tfwrules
 < pair of state and stack symbol
std::list< rule_tbwrules
 < forward rules

Friends

class Rule
class ewpds::ERule
class WPDS
class ewpds::EWPDS

Detailed Description

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.

See also:
KeyPair
Rule
WPDS

Member Typedef Documentation


Constructor & Destructor Documentation

wali::wpds::Config::Config ( wali_key_t  state,
wali_key_t  stack 
)

Config constructor.

References numConfigs.

wali::wpds::Config::~Config (  )  [virtual]

References numConfigs.


Member Function Documentation

bool wali::wpds::Config::operator== ( const Config c2  )  const throw ()

References kp.

const KeyPair& wali::wpds::Config::keypair (  )  const throw ()
Returns:
reference KeyPair for this Config
See also:
KeyPair

References kp.

wali_key_t wali::wpds::Config::state (  )  const throw ()
wali_key_t wali::wpds::Config::stack (  )  const throw ()
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 ()
Returns:
const iterator to list of forward rules
See also:
Rule
std::list

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 ()
Returns:
an end iterator to list of forward rules
See also:
Rule
std::list

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 ()
Returns:
const iterator to list of backward rules
See also:
Rule
std::list

References bwrules.

const_reverse_iterator wali::wpds::Config::rend (  )  const throw ()
Returns:
an end iterator to list of backward rules
See also:
Rule
std::list

References bwrules.

iterator wali::wpds::Config::begin (  )  throw ()
Returns:
a iterator to list of forward rules
See also:
Rule
std::list

References fwrules.

iterator wali::wpds::Config::end (  )  throw ()
Returns:
an end iterator to list of forward rules
See also:
Rule
std::list

References fwrules.

reverse_iterator wali::wpds::Config::rbegin (  )  throw ()
Returns:
iterator to list of backward rules
See also:
Rule
std::list

References bwrules.

reverse_iterator wali::wpds::Config::rend (  )  throw ()
Returns:
an end iterator to list of backward rules
See also:
Rule
std::list

References bwrules.

std::ostream & wali::wpds::Config::print ( std::ostream &  o  )  const [virtual]

Implements Printable::print. Writes this Config to the passed in ostream.

Parameters:
o the std::ostream Config is written to
Returns:
std::ostream Config was written to
See also:
Printable

Implements wali::Printable.

References wali::key2str(), stack(), and state().

std::ostream & wali::wpds::Config::marshall ( std::ostream &  o  )  const
Returns:
std::string XML representation of this Config

References wali::key2str(), stack(), and state().


Friends And Related Function Documentation

friend class Rule [friend]
friend class ewpds::ERule [friend]
friend class WPDS [friend]
friend class ewpds::EWPDS [friend]

Member Data Documentation

Referenced by Config(), and ~Config().

Referenced by keypair(), operator==(), stack(), and state().

std::list< rule_t > wali::wpds::Config::fwrules [protected]

< pair of state and stack symbol

Referenced by begin(), end(), and insert().

std::list< rule_t > wali::wpds::Config::bwrules [protected]

< forward rules

Referenced by rbegin(), rend(), and rinsert().


The documentation for this class was generated from the following files: