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 | Friends

ACU_Term Class Reference

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

List of all members.

Classes

struct  CP_Sequence
struct  Pair

Public Types

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

Public Member Functions

 ACU_Term (ACU_Symbol *symbol, const Vector< Term * > &arguments)
void analyseCollapses ()
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 Term *other) const
int compareArguments (const DagNode *other) const
LhsAutomatoncompileLhs (bool matchAtTop, const VariableInfo &variableInfo, NatSet &boundUniquely, bool &subproblemLikely)
LhsAutomatoncompileLhs2 (bool matchAtTop, const VariableInfo &variableInfo, NatSet &boundUniquely, bool &subproblemLikely)
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 ()
virtual bool earlyMatchFailOnInstanceOf (const Term *other) const
bool equal (const Term *other) const
bool equal (const DagNode *other) const
void findAvailableTerms (TermBag &availableTerms, bool eagerContext, bool atTop)
void findEagerVariables (bool atTop, NatSet &eagerVariables) const
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)
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)
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
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
ACU_Symbolsymbol () 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

 ACU_Term (const ACU_Term &original, ACU_Symbol *symbol, SymbolMap *translator)
void compileLhs3 (bool matchAtTop, const VariableInfo &variableInfo, NatSet &boundUniquely, bool &subproblemLikely, ACU_LhsAutomaton *automaton)
 NO_COPYING (ACU_Term)
bool normalizeAliensAndFlatten ()
ACU_LhsAutomatontryToMakeCollectorLhsAutomaton (bool matchAtTop, const VariableInfo &variableInfo, NatSet &boundUniquely, int collectorCandidate)
ACU_LhsAutomatontryToMakeNonLinearLhsAutomaton (const VariableInfo &variableInfo, NatSet &boundUniquely)
ACU_LhsAutomatontryToMakeSpecialCaseAutomaton (bool matchAtTop, const VariableInfo &variableInfo, NatSet &boundUniquely)

Static Private Member Functions

static void compileAliensOnlyCase (ACU_LhsAutomaton *automaton, const Vector< Pair > &nonGroundAliens, const VariableInfo &variableInfo, NatSet &boundUniquely, bool &subproblemLikely)
static void compileGreedyAndFullCases (ACU_LhsAutomaton *automaton, const Vector< Pair > &nonGroundAliens, const VariableInfo &variableInfo, NatSet &boundUniquely, bool &subproblemLikely)
static void findConstraintPropagationSequence (const Vector< Pair > &aliens, const NatSet &boundUniquely, CP_Sequence &bestSequence)
static void findConstraintPropagationSequence (const Vector< Pair > &aliens, const Vector< int > &currentSequence, const NatSet &boundUniquely, int step, CP_Sequence &bestSequence)
static void findFullSequence (const Vector< Pair > &aliens, const NatSet &boundUniquely, Vector< int > &sequence)
static int findGreedySequence (const Vector< Pair > &aliens, Vector< int > &sequence)
static void findIndependentSets (const Vector< Pair > &aliens, Vector< Vector< int > > &independents)
static void findLongestIncreasingSequence (const Vector< Pair > &aliens, Vector< int > &dependents, Vector< int > &sequence)
static bool pairLt (const Pair &p1, const Pair &p2)
static void weakConstraintPropagation (const Vector< Pair > &aliens, const NatSet &boundUniquely, int step, Vector< int > &sequence)

Private Attributes

Vector< PairargArray
int uniqueCollapseSubtermIndex

Friends

class ACU_ArgumentIterator

Detailed Description

Definition at line 31 of file ACU_Term.hh.


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

Generated by  Doxygen 1.6.0   Back to index