#include <parser.h>
Public Member Functions | |
virtual void | print (std::ostream &o) |
virtual void | checkSoundnessAndCalcul () |
virtual bool | containVar (int idvar) |
virtual void | replace (int idvar, Node *n) |
virtual Node * | duplicate ()=0 |
virtual | ~Node () |
virtual bool | isEqual (Node *n) |
Node () | |
virtual Node * | find (list< unsigned int > &path) |
virtual Node * | buildOneAndReplace (list< unsigned int > &path, Node *sub) |
Public Attributes | |
bool | rhoterm |
int | ndHole |
list< unsigned int > * | holePosition |
Static Public Attributes | |
static int | ndterms |
Definition at line 12 of file parser.h.
Node::~Node | ( | ) | [virtual] |
Definition at line 338 of file parser.cpp.
Node::Node | ( | ) |
void Node::print | ( | std::ostream & | o | ) | [virtual] |
Reimplemented in Hole, Clash, Trivial, Variable, Function, Or, And, Equal, and Expo.
Definition at line 180 of file parser.cpp.
Referenced by Unification::debugDisplay(), SimpleSolution::display(), Solver::SolverSolution::display(), Expo::print(), and Equal::print().
void Node::checkSoundnessAndCalcul | ( | ) | [virtual] |
Reimplemented in Hole, Variable, Function, Or, And, Equal, and Expo.
Definition at line 572 of file parser.cpp.
References ndHole, ndterms, and rhoterm.
Referenced by Parser::checkSoundness(), Expo::checkSoundnessAndCalcul(), and Equal::checkSoundnessAndCalcul().
bool Node::containVar | ( | int | idvar | ) | [virtual] |
the search for a variable
Reimplemented in Variable, Function, Or, And, Equal, and Expo.
Definition at line 827 of file parser.cpp.
Referenced by Expo::containVar(), Equal::containVar(), and Unification::tryApplyR1().
void Node::replace | ( | int | idvar, | |
Node * | n | |||
) | [virtual] |
repalce a variable by a generic node
Reimplemented in Function, Or, And, Equal, and Expo.
Definition at line 886 of file parser.cpp.
Referenced by Expo::replace(), Equal::replace(), And::replace(), Or::replace(), Function::replace(), and Unification::tryApplyR1().
virtual Node* Node::duplicate | ( | ) | [pure virtual] |
duplicate the node
Implemented in Hole, Clash, Trivial, Variable, Function, Or, And, Equal, and Expo.
Referenced by Expo::buildOne(), Expo::duplicate(), Equal::duplicate(), Expo::replace(), Equal::replace(), And::replace(), Or::replace(), Function::replace(), Unification::tryApplyR2(), Unification::tryApplyR3(), and Unification::tryApplyR5().
bool Node::isEqual | ( | Node * | n | ) | [virtual] |
equality of structure
Reimplemented in Variable, Function, Or, And, Equal, and Expo.
Definition at line 1149 of file parser.cpp.
Referenced by Expo::isEqual(), Equal::isEqual(), and Unification::tryApplyR1().
Node * Node::find | ( | list< unsigned int > & | path | ) | [virtual] |
search for the node at the position path
Reimplemented in Function.
Definition at line 1120 of file parser.cpp.
Referenced by Unification::tryApplyR5().
duplicate the tree and replace the node a the position path by sub
Reimplemented in Function.
Definition at line 1082 of file parser.cpp.
Referenced by Unification::tryApplyR3(), and Unification::tryApplyR5().
bool Node::rhoterm |
Definition at line 15 of file parser.h.
Referenced by Expo::checkSoundnessAndCalcul(), Equal::checkSoundnessAndCalcul(), Variable::checkSoundnessAndCalcul(), Function::checkSoundnessAndCalcul(), Or::checkSoundnessAndCalcul(), And::checkSoundnessAndCalcul(), Hole::checkSoundnessAndCalcul(), checkSoundnessAndCalcul(), and Node().
int Node::ndHole |
Definition at line 16 of file parser.h.
Referenced by Expo::checkSoundnessAndCalcul(), Equal::checkSoundnessAndCalcul(), Variable::checkSoundnessAndCalcul(), Function::checkSoundnessAndCalcul(), Or::checkSoundnessAndCalcul(), And::checkSoundnessAndCalcul(), Hole::checkSoundnessAndCalcul(), checkSoundnessAndCalcul(), and Node().
list<unsigned int>* Node::holePosition |
Definition at line 28 of file parser.h.
Referenced by Expo::buildOne(), Expo::checkSoundnessAndCalcul(), Function::checkSoundnessAndCalcul(), Hole::checkSoundnessAndCalcul(), Hole::Hole(), Node(), Unification::tryApplyR2(), Unification::tryApplyR3(), Unification::tryApplyR4(), and Hole::~Hole().
int Node::ndterms [static] |
Definition at line 30 of file parser.h.
Referenced by Parser::checkSoundness(), Expo::checkSoundnessAndCalcul(), Equal::checkSoundnessAndCalcul(), Variable::checkSoundnessAndCalcul(), Function::checkSoundnessAndCalcul(), Or::checkSoundnessAndCalcul(), And::checkSoundnessAndCalcul(), Hole::checkSoundnessAndCalcul(), checkSoundnessAndCalcul(), and Unification::run().