Logo Search packages:      
Sourcecode: maude version File versions  Download package

Classes | Public Types | Public Member Functions | Protected Member Functions | Static Protected Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes

FreeTerm Class Reference

Inheritance diagram for FreeTerm:
Inheritance graph
Collaboration diagram for FreeTerm:
Collaboration graph

List of all members.


struct  CP_Sequence

Public Types

enum  ReturnValues { GREATER = 1, LESS = -2, EQUAL = 0, UNKNOWN = -1 }

Public Member Functions

void analyseCollapses ()
virtual void analyseCollapses2 ()
void analyseConstraintPropagation (NatSet &BoundUniquely) const
RawArgumentIteratorarguments ()
const PointerSetcollapseSymbols () const
int compare (const Term *other) const
int compare (const DagNode *other) const
int compareArguments (const DagNode *other) const
int compareArguments (const Term *other) const
LhsAutomatoncompileLhs (bool matchAtTop, const VariableInfo &variableInfo, NatSet &boundUniquely, bool &subproblemLikely)
LhsAutomatoncompileLhs2 (bool matchAtTop, const VariableInfo &variableInfo, NatSet &boundUniquely, bool &subproblemLikely)
FreeRemaindercompileRemainder (Equation *equation, const Vector< int > &slotTranslation)
int compileRhs (RhsBuilder &rhsBuilder, VariableInfo &variableInfo, TermBag &availableTerms, bool eagerContext)
int compileRhs2 (RhsBuilder &rhsBuilder, VariableInfo &variableInfo, TermBag &availableTerms, bool eagerContext)
void compileTopRhs (RhsBuilder &rhsBuilder, VariableInfo &variableInfo, TermBag &availableTerms)
int computeSize ()
DagNodedagify ()
DagNodedagify2 ()
TermdeepCopy (SymbolMap *translation=0) const
TermdeepCopy2 (SymbolMap *translator) const
void deepSelfDestruct ()
void determineContextVariables ()
bool earlyMatchFailOnInstanceOf (const Term *other) const
bool equal (const Term *other) const
bool equal (const DagNode *other) const
void findActiveSlots (NatSet &slots)
void findAvailableTerms (TermBag &availableTerms, bool eagerContext, bool atTop)
void findEagerVariables (bool atTop, NatSet &eagerVariables) const
 FreeTerm (FreeSymbol *symbol, const Vector< Term * > &arguments)
ConnectedComponentgetComponent () const
unsigned int getHashValue () const
int getLineNumber () const
int getSaveIndex () const
int getSlotIndex () const
SortgetSort () const
int getSortIndex () const
bool greedySafe (const VariableInfo &variableInfo, const NatSet &boundUniquely) const
bool ground () const
bool hasEagerContext () const
bool honorsGroundOutMatch () const
void indexVariables (VariableInfo &indicies)
virtual void insertAbstractionVariables (VariableInfo &variableInfo)
Terminstantiate (const Vector< Term * > &varBindings, SymbolMap *translation)
virtual Terminstantiate2 (const Vector< Term * > &varBindings, SymbolMap *translator)
bool leq (const Sort *sort) const
TermlocateSubterm (const Vector< int > &position, int backup=0)
TermlocateSubterm2 (Vector< int > &position)
void markEager (int nrVariables, const NatSet &eagerVariables, Vector< int > &problemVariables)
void markEagerArguments (int nrVariables, const NatSet &eagerVariables, Vector< int > &problemVariables)
bool matchIndependent (const Term *other) const
Termnormalize (bool full, bool &changed)
const NatSetoccursBelow () const
const NatSetoccursInContext () const
int partialCompare (const Substitution &partialSubstitution, DagNode *other) const
int partialCompareArguments (const Substitution &partialSubstitution, DagNode *other) const
virtual int partialCompareUnstable (const Substitution &partialSubstitution, DagNode *other) const
bool scanFreeSkeleton (const NatSet &usedVariables, Vector< int > &path, FreePositionTable &positions, NatSet &boundVariables, Vector< FreeSubterm > &subterms)
void setHonorsGroundOutMatch (bool flag)
void setLineNumber (int lineNr)
void setSlotIndex (int index)
void setSortInfo (ConnectedComponent *component, int index)
void setVisitedFlag (bool state)
bool stable () const
bool subsumes (const Term *other, bool sameVariableSet) const
FreeSymbolsymbol () const
DagNodeterm2Dag (bool setSortInfo=false)
bool willGroundOutMatch (const NatSet &boundUniquely) const

Protected Member Functions

void addCollapseSymbol (Symbol *symbol)
void addCollapseSymbols (const PointerSet &symbols)
void setHashValue (unsigned int value)
void setSaveIndex (int index)

Static Protected Member Functions

static void commonSymbols (Vector< Term * > &terms, PointerSet &common)
static unsigned int hash (unsigned int v1, unsigned int v2)
static unsigned int hash (unsigned int v1, unsigned int v2, unsigned int v3)

Private Member Functions

int compileRhs3 (FreeRhsAutomaton *automaton, RhsBuilder &rhsBuilder, VariableInfo &variableInfo, TermBag &availableTerms, bool eagerContext)
void compileRhsAliens (RhsBuilder &rhsBuilder, VariableInfo &variableInfo, TermBag &availableTerms, bool eagerContext)
 FreeTerm (const FreeTerm &original, FreeSymbol *symbol, SymbolMap *translator)
void scanFreeSkeleton (Vector< FreeOccurrence > &freeSymbols, Vector< FreeOccurrence > &otherSymbols, int parent=-1, int argIndex=-1)

Static Private Member Functions

static void findConstraintPropagationSequence (const Vector< FreeOccurrence > &aliens, const NatSet &boundUniquely, CP_Sequence &bestSequence)
static void findConstraintPropagationSequence (const Vector< FreeOccurrence > &aliens, Vector< int > &currentSequence, const NatSet &boundUniquely, int step, CP_Sequence &bestSequence)
static bool remainingAliensContain (const Vector< FreeOccurrence > &aliens, Vector< int > &currentSequence, int step, int us, const NatSet &interestingVariables)

Private Attributes

Vector< Term * > argArray
short slotIndex
Bool visitedFlag

Detailed Description

Definition at line 32 of file freeTerm.hh.

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

Generated by  Doxygen 1.6.0   Back to index