Public Member Functions | |
Regex () | |
Regex (wali::sem_elem_t se) | |
virtual | ~Regex () |
void | toMona (std::ostream &o, const std::string &prefix) const |
std::ostream & | write_dot (std::ostream &o) const |
wali::sem_elem_t | solve () |
virtual void | reset_marks () const |
bool | isOne () const |
bool | isZero () const |
virtual bool | isConstant () const |
virtual wali::sem_elem_t | one () const |
virtual wali::sem_elem_t | zero () const |
virtual bool | equal (wali::SemElem *se) const |
virtual wali::sem_elem_t | combine (wali::SemElem *se) |
virtual wali::sem_elem_t | extend (wali::SemElem *se) |
virtual std::ostream & | print (std::ostream &o) const |
virtual std::ostream & | print_recurse (std::ostream &o) const =0 |
virtual std::ostream & | write_dot_recurse (std::ostream &o) const =0 |
virtual void | to_mona_recurse (std::ostream &o, const std::string &prefix) const =0 |
virtual wali::sem_elem_t | solve_recurse ()=0 |
virtual size_t | hash () const |
std::ostream & | monaHeader (std::ostream &o, const std::string &prefix) const |
std::ostream & | monaName (std::ostream &o, const std::string &prefix) const |
Static Public Member Functions | |
static regex_t | ID () |
static regex_t | NIL () |
static regex_t | COMBINE (regex_t lhs, regex_t rhs) |
static regex_t | EXTEND (regex_t lhs, regex_t rhs) |
static regex_t | STAR (regex_t r) |
Public Attributes | |
const int | id |
Static Public Attributes | |
static const std::string | lblID |
static const std::string | lblNIL |
Protected Member Functions | |
std::ostream & | write_dot_state (std::ostream &o, const std::string &lbl, const std::string &color) const |
std::ostream & | write_dot_edge (std::ostream &o, regex_t that) const |
Protected Attributes | |
wali::sem_elem_t | value |
wali::regex::Regex::Regex | ( | ) |
wali::regex::Regex::Regex | ( | wali::sem_elem_t | se | ) |
wali::regex::Regex::~Regex | ( | ) | [virtual] |
regex_t wali::regex::Regex::ID | ( | ) | [static] |
regex_t wali::regex::Regex::NIL | ( | ) | [static] |
Reimplemented in wali::regex::Root.
References wali::regex::Union::add(), and wali::ref_ptr< T >::get_ptr().
Referenced by combine().
References ID(), and wali::graph::Star.
void wali::regex::Regex::toMona | ( | std::ostream & | o, | |
const std::string & | prefix | |||
) | const |
References reset_marks(), and to_mona_recurse().
std::ostream & wali::regex::Regex::write_dot | ( | std::ostream & | o | ) | const |
References reset_marks(), and write_dot_recurse().
wali::sem_elem_t wali::regex::Regex::solve | ( | ) |
References reset_marks(), and solve_recurse().
void wali::regex::Regex::reset_marks | ( | ) | const [virtual] |
Reimplemented in wali::regex::Concat, wali::regex::Star, and wali::regex::Union.
References wali::Markable::unmark().
Referenced by print(), solve(), toMona(), and write_dot().
bool wali::regex::Regex::isOne | ( | ) | const |
References wali::ref_ptr< T >::get_ptr(), wali::regex::Root::lbl, and one().
Referenced by equal().
bool wali::regex::Regex::isZero | ( | ) | const |
References wali::ref_ptr< T >::get_ptr(), wali::regex::Root::lbl, and zero().
Referenced by equal().
bool wali::regex::Regex::isConstant | ( | ) | const [virtual] |
Reimplemented in wali::regex::Root.
wali::sem_elem_t wali::regex::Regex::one | ( | ) | const [virtual] |
wali::sem_elem_t wali::regex::Regex::zero | ( | ) | const [virtual] |
bool wali::regex::Regex::equal | ( | wali::SemElem * | se | ) | const [virtual] |
Implements wali::SemElem.
wali::sem_elem_t wali::regex::Regex::combine | ( | wali::SemElem * | se | ) | [virtual] |
Implements wali::SemElem.
References COMBINE(), and wali::ref_ptr< T >::get_ptr().
wali::sem_elem_t wali::regex::Regex::extend | ( | wali::SemElem * | se | ) | [virtual] |
Implements wali::SemElem.
References EXTEND(), and wali::ref_ptr< T >::get_ptr().
std::ostream & wali::regex::Regex::print | ( | std::ostream & | o | ) | const [virtual] |
Implements wali::SemElem.
References print_recurse(), and reset_marks().
virtual std::ostream& wali::regex::Regex::print_recurse | ( | std::ostream & | o | ) | const [pure virtual] |
Implemented in wali::regex::Concat, wali::regex::Root, wali::regex::Star, and wali::regex::Union.
Referenced by print().
virtual std::ostream& wali::regex::Regex::write_dot_recurse | ( | std::ostream & | o | ) | const [pure virtual] |
Implemented in wali::regex::Concat, wali::regex::Root, wali::regex::Star, and wali::regex::Union.
Referenced by write_dot().
virtual void wali::regex::Regex::to_mona_recurse | ( | std::ostream & | o, | |
const std::string & | prefix | |||
) | const [pure virtual] |
Implemented in wali::regex::Concat, wali::regex::Root, wali::regex::Star, and wali::regex::Union.
Referenced by toMona().
virtual wali::sem_elem_t wali::regex::Regex::solve_recurse | ( | ) | [pure virtual] |
Implemented in wali::regex::Concat, wali::regex::Root, wali::regex::Star, and wali::regex::Union.
Referenced by solve().
size_t wali::regex::Regex::hash | ( | ) | const [virtual] |
std::ostream & wali::regex::Regex::monaHeader | ( | std::ostream & | o, | |
const std::string & | prefix | |||
) | const |
References monaName().
Referenced by wali::regex::Union::to_mona_recurse(), wali::regex::Star::to_mona_recurse(), and wali::regex::Concat::to_mona_recurse().
std::ostream & wali::regex::Regex::monaName | ( | std::ostream & | o, | |
const std::string & | prefix | |||
) | const |
References id.
Referenced by monaHeader().
std::ostream & wali::regex::Regex::write_dot_state | ( | std::ostream & | o, | |
const std::string & | lbl, | |||
const std::string & | color | |||
) | const [protected] |
std::ostream & wali::regex::Regex::write_dot_edge | ( | std::ostream & | o, | |
regex_t | that | |||
) | const [protected] |
const std::string wali::regex::Regex::lblID [static] |
const std::string wali::regex::Regex::lblNIL [static] |
const int wali::regex::Regex::id |
Referenced by monaName().
wali::sem_elem_t wali::regex::Regex::value [protected] |