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

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

UserLevelRewritingContext Class Reference

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

List of all members.

Public Types

enum  Mode { STANDARD, FAIR, EXTERNAL }
enum  OtherPurpose { TOP_LEVEL_EVAL = OTHER + 1, META_EVAL }
enum  ParseResult {
  NORMAL, QUIT, RESUME, ABORT,
  STEP, WHERE
}
enum  Purpose { CONDITION_EVAL, SORT_EVAL, OTHER }
enum  RewriteType { NORMAL, BUILTIN, MEMOIZED }

Public Member Functions

void addExternalObject (DagNode *name, ExternalObjectManagerSymbol *manager)
void addInCount (const RewritingContext &other)
void beAdoptedBy (UserLevelRewritingContext *newParent)
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)
RewritingContextmakeSubcontext (DagNode *root, int purpose)
int nrFragileBindings () const
bool offerMessageExternally (DagNode *target, DagNode *message)
LocalBindingoperator- (const Substitution &original) const
void reduce ()
DagNoderoot ()
void ruleRewrite (Int64 limit=NONE)
void setObjectMode (Mode m)
bool traceAbort ()
int traceBeginEqTrial (DagNode *subject, const Equation *equation)
void traceBeginFragment (int trialRef, const PreEquation *preEquation, int fragmentIndex, bool firstAttempt)
int traceBeginRuleTrial (DagNode *subject, const Rule *rule)
int traceBeginScTrial (DagNode *subject, const SortConstraint *sc)
void traceEndFragment (int trialRef, const PreEquation *preEquation, int fragmentIndex, bool success)
void traceEndTrial (int trailRef, bool success)
void traceExhausted (int trialRef)
void traceNarrowingStep (Rule *rule, DagNode *redex, DagNode *replacement, const NarrowingVariableInfo *variableInfo, const Substitution *substitution, DagNode *newState)
void tracePostEqRewrite (DagNode *replacement)
void tracePostRuleRewrite (DagNode *replacement)
void tracePreEqRewrite (DagNode *redex, const Equation *equation, int type)
void tracePreRuleRewrite (DagNode *redex, const Rule *rule)
void tracePreScApplication (DagNode *subject, const SortConstraint *sc)
void transferCount (RewritingContext &other)
 UserLevelRewritingContext (DagNode *root)
 UserLevelRewritingContext (DagNode *root, UserLevelRewritingContext *parent, int purpose, bool localTraceFlag)
DagNodevalue (int index) const

Static Public Member Functions

static bool aborted ()
static void beginCommand ()
static void clearDebug ()
static void clearInterrupt ()
static void clearTrialCount ()
static ParseResult commandLoop ()
static bool getTraceStatus ()
static bool interrupted ()
static void notify (int size)
static void printSubstitution (const Substitution &substitution, const VariableInfo &varInfo)
static void setDebug ()
static void setHandlers (bool handleCtrlC)
static void setInteractive (bool status)
static void setTraceStatus (bool state)

Protected Member Functions

int addNewVariable ()
void markReachableNodes ()

Private Member Functions

void checkForPrintAttribute (MetadataStore::ItemType itemType, const PreEquation *item)
bool handleDebug (const DagNode *subject, const PreEquation *pe)
 NO_COPYING (UserLevelRewritingContext)
void where ()

Static Private Member Functions

static void changePrompt ()
static bool dontTrace (const DagNode *redex, const PreEquation *pe)
static void internalErrorHandler (int signalNr)
static void interruptHandler (int)
static void interruptHandler2 (...)

Private Attributes

bool localTraceFlag
UserLevelRewritingContextparent
const int purpose

Static Private Attributes

static bool abortFlag = false
static bool ctrlC_Flag = false
static int debugLevel = 0
static const char header [] = "*********** "
static bool interactiveFlag = true
static bool stepFlag = false
static bool tracePostFlag = false
static int trialCount = 0
static AutoWrapBufferwrapErr
static AutoWrapBufferwrapOut

Detailed Description

Definition at line 37 of file userLevelRewritingContext.hh.


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

Generated by  Doxygen 1.6.0   Back to index