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

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

Interpreter Class Reference

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

List of all members.

Public Types

enum  Flags {
  SHOW_COMMAND = 0x1, SHOW_STATS = 0x2, SHOW_TIMING = 0x4, SHOW_BREAKDOWN = 0x8,
  SHOW_LOOP_STATS = 0x10, SHOW_LOOP_TIMING = 0x20, AUTO_CLEAR_MEMO = 0x100, PROFILE = 0x200,
  AUTO_CLEAR_PROFILE = 0x400, BREAK = 0x800, TRACE = 0x1000, TRACE_CONDITION = 0x2000,
  TRACE_WHOLE = 0x4000, TRACE_SUBSTITUTION = 0x8000, TRACE_SELECT = 0x10000, TRACE_MB = 0x20000,
  TRACE_EQ = 0x40000, TRACE_RL = 0x80000, TRACE_REWRITE = 0x100000, TRACE_BODY = 0x200000,
  TRACE_BUILTIN = 0x400000, PRINT_ATTRIBUTE = 0x800000, PRINT_ATTRIBUTE_NEWLINE = 0x1000000, AUTO_CLEAR_RULES = 0x40000000,
  COMPILE_COUNT = 0x80000000, EXCEPTION_FLAGS = TRACE | BREAK | PROFILE | PRINT_ATTRIBUTE, DEFAULT_FLAGS
}
typedef map< int,
ImportModule::ImportMode > 
ImportMap
typedef set< int > ImportSet
enum  PrintFlags {
  PRINT_GRAPH = 0x1, PRINT_CONCEAL = 0x2, PRINT_FORMAT = 0x4, PRINT_MIXFIX = 0x8,
  PRINT_WITH_PARENS = 0x10, PRINT_COLOR = 0x20, PRINT_WITH_ALIASES = 0x100, PRINT_FLAT = 0x200,
  PRINT_NUMBER = 0x400, PRINT_RAT = 0x800, DEFAULT_PRINT_FLAGS
}
enum  SearchKind { SEARCH, NARROW, XG_NARROW }

Public Member Functions

void addSelected (const Vector< Token > &opName)
void beginXmlLog (const char *fileName)
bool breakId (int id)
void breakSelect (bool add)
bool concealedSymbol (Symbol *symbol)
void cont (Int64 limit, bool debug)
void contLoop (const Vector< Token > &input)
void creduce (const Vector< Token > &subject)
bool deleteModule (int name)
void deleteNamedModules ()
bool deleteView (int name)
void destructUnusedModules ()
void endXmlLog ()
void eRewrite (const Vector< Token > &subject, Int64 limit, Int64 gas, bool debug)
bool excludedModule (int id)
void fRewrite (const Vector< Token > &subject, Int64 limit, Int64 gas, bool debug)
const ImportMap & getAutoImports () const
SyntacticPreModulegetCurrentModule () const
ViewgetCurrentView () const
bool getFlag (Flags flag) const
PreModulegetModule (int name) const
ImportModulegetModuleOrIssueWarning (int name, const LineNumber &lineNumber)
const ImportSet & getOmodIncludes () const
bool getPrintFlag (PrintFlags flag) const
int getPrintFlags () const
ViewgetView (int name) const
MaudemlBuffergetXmlBuffer () const
bool insertModule (int name, PreModule *module)
bool insertView (int name, View *view)
void loop (const Vector< Token > &subject)
void makeClean (int lineNumber)
ImportModulemakeInstatiation (ImportModule *module, const Vector< View * > &views, const Vector< int > &parameterArgs)
ImportModulemakeModule (const ModuleExpression *expr, ImportModule *enclosingModule=0)
ImportModulemakeParameterCopy (int parameterName, ImportModule *module)
ImportModulemakeRenamedCopy (ImportModule *module, Renaming *renaming)
ImportModulemakeSummation (const Vector< ImportModule * > &modules)
void match (const Vector< Token > &bubble, bool withExtension, Int64 limit)
void parse (const Vector< Token > &subject)
void printConceal (bool add)
void reduce (const Vector< Token > &subject, bool debug)
void rewrite (const Vector< Token > &subject, Int64 limit, bool debug)
void search (const Vector< Token > &bubble, Int64 limit, Int64 depth, SearchKind searchKind)
void setAutoImport (ImportModule::ImportMode importMode, Token name, bool polarity)
bool setCurrentModule (const Vector< Token > &moduleExpr, int start=0)
void setCurrentModule (SyntacticPreModule *module)
bool setCurrentView (const Vector< Token > &viewExpr)
void setCurrentView (View *view)
void setFlag (Flags flag, bool polarity)
void setOmodInclude (Token name, bool polarity)
void setPrintFlag (PrintFlags flag, bool polarity)
void showCreatedModules (ostream &s) const
void showEqs (bool all=true) const
void showKinds () const
void showMbs (bool all=true) const
void showModule (bool all=true) const
void showModules (bool all) const
void showNamedModules (ostream &s) const
void showNamedViews () const
void showOps (bool all=true) const
void showProfile () const
void showRls (bool all=true) const
void showSearchGraph ()
void showSearchPath (int stateNr)
void showSearchPathLabels (int stateNr)
void showSortsAndSubsorts () const
void showSummary () const
void showVars () const
void showView () const
void sreduce (const Vector< Token > &subject)
void sRewrite (const Vector< Token > &subjectAndStrategy, Int64 limit, bool debug)
void traceExclude (bool add)
bool traceId (int id)
void traceSelect (bool add)
void unify (const Vector< Token > &bubble, Int64 limit)

Private Types

typedef void(Interpreter::* ContinueFuncPtr )(Int64 limit, bool debug)

Private Member Functions

void clearContinueInfo ()
bool contLoop2 (const Vector< Token > &input)
void doExternalRewriting (UserLevelRewritingContext *context, Int64 limit)
void doLoop (DagNode *d, VisibleModule *module)
void doMatching (Timer &timer, VisibleModule *module, MatchSearchState *state, int solutionCount, int limit)
void doNarrowing (Timer &timer, VisibleModule *module, NarrowingSequenceSearch *state, int solutionCount, int limit)
void doSearching (Timer &timer, VisibleModule *module, RewriteSequenceSearch *state, int solutionCount, int limit)
void doStrategicSearch (Timer &timer, VisibleModule *module, StrategicSearch *state, int solutionCount, int limit)
void doUnification (Timer &timer, VisibleModule *module, UnificationProblem *problem, int solutionCount, int limit)
void endRewriting (Timer &timer, UserLevelRewritingContext *context, VisibleModule *module, ContinueFuncPtr cf=0)
void eRewriteCont (Int64 limit, bool debug)
void fRewriteCont (Int64 limit, bool debug)
DagNodemakeDag (const Vector< Token > &subject)
void matchCont (Int64 limit, bool debug)
 NO_COPYING (Interpreter)
void printDecisionTime (const Timer &timer)
void printModifiers (Int64 number, Int64 number2)
void printSearchTiming (const Timer &timer, RewriteSequenceSearch *state)
void printStats (const Timer &timer, RewritingContext &context, bool timingFlag)
void rewriteCont (Int64 limit, bool debug)
void searchCont (Int64 limit, bool debug)
void sRewriteCont (Int64 limit, bool debug)
void startUsingModule (VisibleModule *module)
void unifyCont (Int64 limit, bool debug)
void updateSet (set< int > &target, bool add)

Static Private Member Functions

static void beginRewriting (bool debug)
static DagNodemakeDag (Term *subjectTerm)
static void printBubble (ostream &s, const Vector< int > &bubble)
static void printTiming (Int64 nrRewrites, Int64 cpu, Int64 real)

Private Attributes

set< int > breakIds
set< int > concealedSymbols
ContinueFuncPtr continueFunc
SyntacticPreModulecurrentModule
ViewcurrentView
set< int > excludedModules
int flags
int printFlags
UserLevelRewritingContextsavedContext
Vector< TokensavedLoopSubject
MatchSearchStatesavedMatchSearchState
VisibleModulesavedModule
RewriteSequenceSearchsavedRewriteSequenceSearch
int savedSolutionCount
StrategicSearchsavedStrategicSearch
UnificationProblemsavedUnificationProblem
set< int > selected
set< int > traceIds
MaudemlBufferxmlBuffer
ofstream * xmlLog

Detailed Description

Definition at line 35 of file interpreter.hh.


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

Generated by  Doxygen 1.6.0   Back to index