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

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

Term Class Reference

Inheritance diagram for Term:
Inheritance graph
[legend]
Collaboration diagram for Term:
Collaboration graph
[legend]

List of all members.

Public Types

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

Public Member Functions

void analyseCollapses ()
virtual void analyseCollapses2 ()
virtual void analyseConstraintPropagation (NatSet &boundUniquely) const =0
virtual RawArgumentIteratorarguments ()=0
const PointerSetcollapseSymbols () const
int compare (const Term *other) const
int compare (const DagNode *other) const
virtual int compareArguments (const DagNode *other) const =0
virtual int compareArguments (const Term *other) const =0
LhsAutomatoncompileLhs (bool matchAtTop, const VariableInfo &variableInfo, NatSet &boundUniquely, bool &subproblemLikely)
virtual LhsAutomatoncompileLhs2 (bool matchAtTop, const VariableInfo &variableInfo, NatSet &boundUniquely, bool &subproblemLikely)=0
int compileRhs (RhsBuilder &rhsBuilder, VariableInfo &variableInfo, TermBag &availableTerms, bool eagerContext)
virtual int compileRhs2 (RhsBuilder &rhsBuilder, VariableInfo &variableInfo, TermBag &availableTerms, bool eagerContext)=0
void compileTopRhs (RhsBuilder &rhsBuilder, VariableInfo &variableInfo, TermBag &availableTerms)
int computeSize ()
DagNodedagify ()
virtual DagNodedagify2 ()=0
TermdeepCopy (SymbolMap *translation=0) const
virtual TermdeepCopy2 (SymbolMap *translator) const =0
virtual void deepSelfDestruct ()=0
void determineContextVariables ()
virtual bool earlyMatchFailOnInstanceOf (const Term *other) const
bool equal (const DagNode *other) const
bool equal (const Term *other) const
virtual void findAvailableTerms (TermBag &availableTerms, bool eagerContext, bool atTop=false)=0
virtual void findEagerVariables (bool atTop, NatSet &eagerVariables) const =0
ConnectedComponentgetComponent () const
unsigned int getHashValue () const
int getLineNumber () const
int getSaveIndex () 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
void markEager (int nrVariables, const NatSet &eagerVariables, Vector< int > &problemVariables)
virtual void markEagerArguments (int nrVariables, const NatSet &eagerVariables, Vector< int > &problemVariables)=0
bool matchIndependent (const Term *other) const
virtual Termnormalize (bool full, bool &changed=discard)=0
const NatSetoccursBelow () const
const NatSetoccursInContext () const
int partialCompare (const Substitution &partialSubstitution, DagNode *other) const
virtual int partialCompareArguments (const Substitution &partialSubstitution, DagNode *other) const
virtual int partialCompareUnstable (const Substitution &partialSubstitution, DagNode *other) const
void setHonorsGroundOutMatch (bool flag)
void setLineNumber (int lineNr)
void setSortInfo (ConnectedComponent *component, int index)
bool stable () const
virtual bool subsumes (const Term *other, bool sameVariableSet) const
Symbolsymbol () const
 Term (Symbol *symbol)
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 Types

enum  Flags { STABLE = 1, EAGER_CONTEXT = 2, HONORS_GROUND_OUT_MATCH = 4 }

Private Member Functions

 NO_COPYING (Term)

Static Private Member Functions

static bool commonWithOtherPatterns (Vector< Term * > &patterns, int excluded, Symbol *symbol)
static bool hasGeqOrIncomparableVariable (Term *pattern, VariableSymbol *v)

Private Attributes

int cachedSize
PointerSet collapseSet
ConnectedComponentconnectedComponent
NatSet contextSet
Ubyte flags
unsigned int hashValue
NatSet occursSet
int saveIndex
short sortIndex
SymboltopSymbol

Static Private Attributes

static TermSet converted
static bool discard
static bool setSortInfoFlag
static Vector< DagNode * > subDags

Detailed Description

Definition at line 37 of file term.hh.


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

Generated by  Doxygen 1.6.0   Back to index