Expo Class Reference

#include <parser.h>

Inheritance diagram for Expo:

Inheritance graph
[legend]
Collaboration diagram for Expo:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 Expo (Node *n1, int num, Node *n2)
 Expo (Node *n1, NumericalVar *num, Node *n2)
void print (std::ostream &o)
void checkSoundnessAndCalcul ()
bool containVar (int idvar)
void replace (int idvar, Node *n)
NodebuildOne (Node *sub=NULL)
NodebuildTwo (Node *sub=NULL)
Nodebuild (int num, Node *sub=NULL)
Nodeduplicate ()
bool isEqual (Node *n)

Public Attributes

bool free
Noden1
Noden2
union {
   int   expNum
   NumericalVar *   var
}; 


Detailed Description

Definition at line 206 of file parser.h.


Constructor & Destructor Documentation

Expo::Expo ( Node n1,
int  num,
Node n2 
)

Definition at line 530 of file parser.cpp.

References expNum, and free.

Referenced by duplicate().

Expo::Expo ( Node n1,
NumericalVar num,
Node n2 
)

Definition at line 539 of file parser.cpp.

References free, and var.


Member Function Documentation

void Expo::print ( std::ostream &  o  )  [virtual]

Reimplemented from Node.

Definition at line 292 of file parser.cpp.

References expNum, free, n1, n2, NumericalVar::print(), Node::print(), and var.

Referenced by checkSoundnessAndCalcul().

Here is the call graph for this function:

void Expo::checkSoundnessAndCalcul (  )  [virtual]

Reimplemented from Node.

Definition at line 672 of file parser.cpp.

References Node::checkSoundnessAndCalcul(), Node::holePosition, n1, n2, Node::ndHole, Node::ndterms, print(), and Node::rhoterm.

Here is the call graph for this function:

bool Expo::containVar ( int  idvar  )  [virtual]

the search for a variable

Reimplemented from Node.

Definition at line 878 of file parser.cpp.

References Node::containVar(), n1, and n2.

Here is the call graph for this function:

void Expo::replace ( int  idvar,
Node n 
) [virtual]

repalce a variable by a generic node

Reimplemented from Node.

Definition at line 938 of file parser.cpp.

References Node::duplicate(), n1, n2, and Node::replace().

Here is the call graph for this function:

Node * Expo::buildOne ( Node sub = NULL  ) 

unfold one time the exp term

Definition at line 1055 of file parser.cpp.

References Node::duplicate(), Node::holePosition, n1, and n2.

Referenced by build(), buildTwo(), and Unification::tryApplyR2().

Here is the call graph for this function:

Node * Expo::buildTwo ( Node sub = NULL  ) 

unfold two time the exp term

Definition at line 1047 of file parser.cpp.

References buildOne().

Here is the call graph for this function:

Node * Expo::build ( int  num,
Node sub = NULL 
)

Definition at line 1291 of file parser.cpp.

References buildOne().

Here is the call graph for this function:

Node * Expo::duplicate (  )  [virtual]

duplicate the node

Implements Node.

Definition at line 1036 of file parser.cpp.

References NumericalVar::duplicate(), Node::duplicate(), expNum, Expo(), free, n1, n2, and var.

Referenced by Unification::tryApplyR2(), Unification::tryApplyR3(), Unification::tryApplyR4(), and Unification::tryApplyR5().

Here is the call graph for this function:

bool Expo::isEqual ( Node n  )  [virtual]

equality of structure

Reimplemented from Node.

Definition at line 1245 of file parser.cpp.

References expNum, free, NumericalVar::id, Node::isEqual(), n1, n2, and var.

Here is the call graph for this function:


Member Data Documentation

bool Expo::free

union { ... }


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

Generated on Thu Jun 19 19:14:32 2008 for unification by  doxygen 1.5.6