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

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

ObjectSystemRewritingContext Class Reference

Inheritance diagram for ObjectSystemRewritingContext:
Inheritance graph
Collaboration diagram for ObjectSystemRewritingContext:
Collaboration graph

List of all members.


struct  dagNodeLt

Public Types

enum  RewriteType { NORMAL, BUILTIN, MEMOIZED }

Public Member Functions

void addExternalObject (DagNode *name, ExternalObjectManagerSymbol *manager)
void addInCount (const RewritingContext &other)
void bind (int index, DagNode *value)
void bufferMessage (DagNode *target, DagNode *message)
bool builtInReplace (DagNode *old, DagNode *replacement)
void clear (long size)
void clearCount ()
void clone (const Substitution &original)
void copy (const Substitution &original)
void deleteExternalObject (DagNode *name)
void fairContinue (Int64 limit=NONE)
void fairRewrite (Int64 limit=NONE, Int64 gas=1)
void fairStart (Int64 gas)
bool fairTraversal (Int64 &limit)
void finished ()
Int64 getEqCount () const
bool getExternalMessages (DagNode *target, list< DagNode * > &messages)
Int64 getMbCount () const
Mode getObjectMode () const
Int64 getRlCount () const
Int64 getTotalCount () const
void incrementEqCount (Int64 i=1)
void incrementMbCount (Int64 i=1)
void incrementRlCount (Int64 i=1)
virtual RewritingContextmakeSubcontext (DagNode *root, int purpose=OTHER)
int nrFragileBindings () const
 ObjectSystemRewritingContext (DagNode *root)
bool offerMessageExternally (DagNode *target, DagNode *message)
LocalBindingoperator- (const Substitution &original) const
void reduce ()
DagNoderoot ()
void ruleRewrite (Int64 limit=NONE)
void setObjectMode (Mode m)
virtual bool traceAbort ()
virtual int traceBeginEqTrial (DagNode *subject, const Equation *equation)
virtual void traceBeginFragment (int trialRef, const PreEquation *preEquation, int fragmentIndex, bool firstAttempt)
virtual int traceBeginRuleTrial (DagNode *subject, const Rule *rule)
virtual int traceBeginScTrial (DagNode *subject, const SortConstraint *sc)
virtual void traceEndFragment (int trialRef, const PreEquation *preEquation, int fragmentIndex, bool success)
virtual void traceEndTrial (int trialRef, bool success)
virtual void traceExhausted (int trialRef)
virtual void traceNarrowingStep (Rule *rule, DagNode *redex, DagNode *replacement, const NarrowingVariableInfo *variableInfo, const Substitution *substitution, DagNode *newState)
virtual void tracePostEqRewrite (DagNode *replacement)
virtual void tracePostRuleRewrite (DagNode *replacement)
virtual void tracePreEqRewrite (DagNode *redex, const Equation *equation, int type)
virtual void tracePreRuleRewrite (DagNode *redex, const Rule *rule)
virtual void tracePreScApplication (DagNode *subject, const SortConstraint *sc)
void transferCount (RewritingContext &other)
DagNodevalue (int index) const

Static Public Member Functions

static bool getTraceStatus ()
static void notify (int size)
static void setTraceStatus (bool state)

Protected Member Functions

int addNewVariable ()
void markReachableNodes ()

Private Types

typedef map< DagNode *, list
< DagNode * >, dagNodeLt
typedef map< DagNode
*, ExternalObjectManagerSymbol
*, dagNodeLt

Private Member Functions

 NO_COPYING (ObjectSystemRewritingContext)

Private Attributes

ObjectMap externalObjects
MessageMap incomingMessages
Mode mode

Detailed Description

Definition at line 34 of file objectSystemRewritingContext.hh.

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

Generated by  Doxygen 1.6.0   Back to index