Ternary Class Reference

#include <include/exp.h>

Inheritance diagram for Ternary:

Binary Unary Exp List of all members.

Detailed Description

Definition at line 634 of file exp.h.

Public Member Functions

virtual Expaccept (ExpModifier *v)
virtual bool accept (ExpVisitor *v)
virtual void appendDotFile (std::ofstream &of)
virtual TypeascendType ()
virtual Expclone ()
virtual void descendType (Type *parentType, bool &ch, Statement *s)
void doSearchChildren (Exp *search, std::list< Exp ** > &li, bool once)
virtual ExpgenConstraints (Exp *restrictTo)
int getArity ()
ExpgetSubExp3 ()
virtual bool match (const char *pattern, std::map< std::string, Exp * > &bindings)
virtual bool operator *= (Exp &o)
virtual bool operator< (const Exp &o) const
virtual bool operator== (const Exp &o) const
virtual ExppolySimplify (bool &bMod)
virtual void print (std::ostream &os, bool html=false)
virtual void printr (std::ostream &os, bool html=false)
virtual void printx (int ind)
Exp *& refSubExp3 ()
void setSubExp3 (Exp *e)
ExpsimplifyAddr ()
ExpsimplifyArith ()
 Ternary (Ternary &o)
 Ternary (OPER op, Exp *e1, Exp *e2, Exp *e3)
virtual ~Ternary ()

Private Member Functions

 Ternary (OPER op)

Private Attributes

ExpsubExp3

Friends

class XMLProgParser


Constructor & Destructor Documentation

Ternary::Ternary OPER  op  )  [private]
 

Definition at line 102 of file exp.cpp.

References subExp3.

Referenced by clone().

Ternary::Ternary OPER  op,
Exp e1,
Exp e2,
Exp e3
 

Definition at line 107 of file exp.cpp.

References Unary::subExp1, Binary::subExp2, and subExp3.

Ternary::Ternary Ternary o  ) 
 

Definition at line 113 of file exp.cpp.

References Exp::clone(), Unary::subExp1, Binary::subExp2, and subExp3.

Ternary::~Ternary  )  [virtual]
 

Definition at line 192 of file exp.cpp.

References subExp3.


Member Function Documentation

Exp * Ternary::accept ExpModifier v  )  [virtual]
 

Reimplemented from Binary.

Definition at line 3703 of file exp.cpp.

References Exp::accept(), ExpModifier::postVisit(), ExpModifier::preVisit(), Unary::subExp1, Binary::subExp2, and subExp3.

bool Ternary::accept ExpVisitor v  )  [virtual]
 

Reimplemented from Binary.

Definition at line 3612 of file exp.cpp.

References Exp::accept(), Unary::subExp1, Binary::subExp2, subExp3, and ExpVisitor::visit().

void Ternary::appendDotFile std::ofstream &  of  )  [virtual]
 

Reimplemented from Binary.

Definition at line 1146 of file exp.cpp.

References Exp::appendDotFile(), Exp::op, operStrings, Unary::subExp1, Binary::subExp2, and subExp3.

Type * Ternary::ascendType  )  [virtual]
 

Reimplemented from Binary.

Definition at line 1060 of file dfa.cpp.

References Type::newIntegerLikeType(), Exp::op, opFsize, opSgnEx, opZfill, and Binary::subExp2.

Exp * Ternary::clone  )  [virtual]
 

Reimplemented from Binary.

Definition at line 306 of file exp.cpp.

References Exp::clone(), Exp::op, Unary::subExp1, Binary::subExp2, subExp3, and Ternary().

void Ternary::descendType Type parentType,
bool &  ch,
Statement s
[virtual]
 

Reimplemented from Binary.

Definition at line 1274 of file dfa.cpp.

References Exp::descendType(), Type::newIntegerLikeType(), Exp::op, opFsize, opSgnEx, opZfill, Unary::subExp1, and subExp3.

void Ternary::doSearchChildren Exp search,
std::list< Exp ** > &  li,
bool  once
[virtual]
 

Reimplemented from Binary.

Definition at line 1579 of file exp.cpp.

References Exp::doSearch(), Exp::search(), Unary::subExp1, Binary::subExp2, and subExp3.

Exp * Ternary::genConstraints Exp restrictTo  )  [virtual]
 

Reimplemented from Binary.

Definition at line 3277 of file exp.cpp.

References Binary::Binary(), Exp::isIntConst(), NULL, opFalse, opFsize, opFtoi, opItof, opSgnEx, result, Unary::subExp1, and Binary::subExp2.

int Ternary::getArity  )  [inline, virtual]
 

Reimplemented from Binary.

Definition at line 658 of file exp.h.

Exp * Ternary::getSubExp3  )  [virtual]
 

Reimplemented from Exp.

Definition at line 246 of file exp.cpp.

References Unary::subExp1, Binary::subExp2, and subExp3.

bool Ternary::match const char *  pattern,
std::map< std::string, Exp * > &  bindings
[virtual]
 

Reimplemented from Binary.

Definition at line 1454 of file exp.cpp.

References LOG, and Exp::match().

bool Ternary::operator *= Exp o  )  [virtual]
 

Reimplemented from Binary.

Definition at line 536 of file exp.cpp.

References Exp::getOper(), Unary::getSubExp1(), Exp::getSubExp1(), Binary::getSubExp2(), Exp::getSubExp3(), Exp::op, opSubscript, opWild, Unary::subExp1, Binary::subExp2, and subExp3.

bool Ternary::operator< const Exp o  )  const [virtual]
 

Reimplemented from Binary.

Definition at line 464 of file exp.cpp.

References Exp::getOper(), Unary::getSubExp1(), Binary::getSubExp2(), Exp::getSubExp3(), Exp::op, Unary::subExp1, Binary::subExp2, and subExp3.

bool Ternary::operator== const Exp o  )  const [virtual]
 

Reimplemented from Binary.

Definition at line 373 of file exp.cpp.

References Unary::getSubExp1(), Binary::getSubExp2(), Exp::getSubExp3(), Exp::op, opWild, Unary::subExp1, Binary::subExp2, and subExp3.

Exp * Ternary::polySimplify bool &  bMod  )  [virtual]
 

Reimplemented from Binary.

Definition at line 2757 of file exp.cpp.

References Const::getInt(), Exp::getOper(), Exp::getSubExp1(), opIntConst, opTern, Exp::polySimplify(), Unary::subExp1, Binary::subExp2, and subExp3.

void Ternary::print std::ostream &  os,
bool  html = false
[virtual]
 

Reimplemented from Binary.

Definition at line 940 of file exp.cpp.

References LOG, Exp::op, opAt, operStrings, opFround, opFsize, opFtoi, opFtrunc, opItof, opOpTable, opSgnEx, opTern, opTruncs, opTruncu, opZfill, Exp::print(), and Exp::printr().

Referenced by printr(), and ExpTest::testSearchReplace1().

void Ternary::printr std::ostream &  os,
bool  html = false
[virtual]
 

Reimplemented from Binary.

Definition at line 923 of file exp.cpp.

References Exp::op, opFround, opFsize, opFtoi, opFtrunc, opItof, opOpTable, opSgnEx, opTruncs, opTruncu, opZfill, and print().

void Ternary::printx int  ind  )  [virtual]
 

Reimplemented from Binary.

Definition at line 3781 of file exp.cpp.

References child(), operStrings, Unary::subExp1, Binary::subExp2, and subExp3.

Exp *& Ternary::refSubExp3  )  [virtual]
 

Reimplemented from Exp.

Definition at line 250 of file exp.cpp.

References Unary::subExp1, Binary::subExp2, and subExp3.

void Ternary::setSubExp3 Exp e  )  [virtual]
 

Reimplemented from Exp.

Definition at line 219 of file exp.cpp.

References Unary::subExp1, Binary::subExp2, and subExp3.

Exp * Ternary::simplifyAddr  )  [virtual]
 

Reimplemented from Binary.

Definition at line 2984 of file exp.cpp.

References Exp::simplifyAddr(), Unary::subExp1, Binary::subExp2, and subExp3.

Exp * Ternary::simplifyArith  )  [virtual]
 

Reimplemented from Binary.

Definition at line 1757 of file exp.cpp.

References Exp::simplifyArith(), Unary::subExp1, Binary::subExp2, and subExp3.


Friends And Related Function Documentation

friend class XMLProgParser [friend]
 

Reimplemented from Binary.

Definition at line 693 of file exp.h.


Member Data Documentation

Exp* Ternary::subExp3 [private]
 

Definition at line 635 of file exp.h.

Referenced by accept(), appendDotFile(), clone(), descendType(), doSearchChildren(), getSubExp3(), operator *=(), operator<(), operator==(), XMLProgParser::persistToXML(), polySimplify(), printx(), refSubExp3(), setSubExp3(), simplifyAddr(), simplifyArith(), Ternary(), and ~Ternary().


The documentation for this class was generated from the following files:
Generated on Tue Sep 19 21:18:47 2006 for Boomerang by  doxygen 1.4.6