Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members  

P_Interpreter Class Reference

Interpreter implementation class
Id:
skInterpreterp.h,v 1.22 2001/06/29 09:17:04 sdw Exp
Copyright 1996-2001 Simon Whiteside. More...

#include <skInterpreterp.h>

List of all members.

Public Methods

 P_Interpreter ()
 ~P_Interpreter ()
skRValue evaluate (skExecutable * obj,skRValueTable& var,skExprNode * n)
skRValue evalMethod (skExecutable * obj,skRValueTable& var,skIdListNode * ids)
void makeMethodCall (skExecutable * obj,skRValueTable& var,skRValue& robject,const skString& method_name,skExprNode * array_index, const skString& attribute,skExprListNode * exprs,skRValue& ret)
void executeAssignStat (skExecutable * obj,skRValueTable& var,skAssignNode * n)
bool executeStat (skExecutable * obj,skRValueTable& var,skStatNode * pstat,skRValue& r)
bool executeStats (skExecutable * obj,skRValueTable& var,skStatListNode * n,skRValue& r)
bool executeReturnStat (skExecutable * obj,skRValueTable& var,skReturnNode * n,skRValue& r)
bool executeIfStat (skExecutable * obj,skRValueTable& var,skIfNode * n,skRValue& r)
bool executeWhileStat (skExecutable * obj,skRValueTable& var,skWhileNode * n,skRValue& r)
bool executeSwitchStat (skExecutable * obj,skRValueTable& var,skSwitchNode * n,skRValue& r)
bool executeForEachStat (skExecutable * obj,skRValueTable& var,skForEachNode * n,skRValue& r)
bool executeForStat (skExecutable * obj,skRValueTable& var,skForNode * n,skRValue& r)
void addLocalVariable (skRValueTable& var,const skString& name,skRValue value)
skString checkIndirectId (skExecutable * obj,skRValueTable& var,const skString& name)
skRValue findValue (skExecutable * obj,skRValueTable& var,const skString& name,skExprNode * array_index,const skString& attribute)
void runtimeError (const skString& s)
void followIdList (skExecutable * obj,skRValueTable& var,skIdListNode * idList,skRValue& object)
void trace (const skString& s)
bool extractFieldArrayValue (skExecutable * obj,skRValueTable& var,skRValue& robject,const skString& field_name,skExprNode * array_index,const skString& attrib,skRValue& ret)
bool extractArrayValue (skExecutable * obj,skRValueTable& var,skRValue& robject,skExprNode * array_index,const skString& attrib,skRValue& ret)
bool extractValue (skRValue& robject,const skString& name,const skString& attrib,skRValue& ret)
bool insertArrayValue (skExecutable * obj,skRValueTable& var,skRValue& robject, skExprNode * array_index,const skString& attr,const skRValue& value)
bool insertValue (skRValue& robject,const skString& name, const skString& attr,const skRValue& value)
 P_Interpreter ()
 ~P_Interpreter ()
skRValue evaluate (skExecutable * obj,skRValueTable& var,skExprNode * n)
skRValue evalMethod (skExecutable * obj,skRValueTable& var,skIdListNode * ids)
void makeMethodCall (skExecutable * obj,skRValueTable& var,skRValue& robject,const skString& method_name,skExprNode * array_index, skExprListNode * exprs,skRValue& ret)
void executeAssignStat (skExecutable * obj,skRValueTable& var,skAssignNode * n)
bool executeStat (skExecutable * obj,skRValueTable& var,skStatNode * pstat,skRValue& r)
bool executeStats (skExecutable * obj,skRValueTable& var,skStatListNode * n,skRValue& r)
bool executeReturnStat (skExecutable * obj,skRValueTable& var,skReturnNode * n,skRValue& r)
bool executeIfStat (skExecutable * obj,skRValueTable& var,skIfNode * n,skRValue& r)
bool executeWhileStat (skExecutable * obj,skRValueTable& var,skWhileNode * n,skRValue& r)
bool executeSwitchStat (skExecutable * obj,skRValueTable& var,skSwitchNode * n,skRValue& r)
void addLocalVariable (skRValueTable& var,const skString& name,skRValue value)
skString checkIndirectId (skExecutable * obj,skRValueTable& var,const skString& name)
skRValue findValue (skExecutable * obj,skRValueTable& var,const skString& name,skExprNode * array_index,const skString& attribute)
void runtimeError (const char * buffer,...)
void followIdList (skExecutable * obj,skRValueTable& var,skIdListNode * idList,skRValue& object)
bool extractValue (skExecutable * obj,skRValueTable& var,skRValue& robject,const skString& name,skExprNode * array_index,const skString& attrib,skRValue& ret)
bool insertValue (skExecutable * obj,skRValueTable& var,skRValue& robject,const skString& name, skExprNode * array_index,const skString& attr,const skRValue& value)
int lex (YYSTYPE* yylval)
int nextChar ()
void putbackchar (int i)
bool eof ()
void cleanupTempNodes ()

Public Attributes

skRValueTable m_GlobalVars
unsigned int m_StackDepth
bool m_Tracing
skTraceCallbackm_TraceCallback
skStatementStepperm_StatementStepper
skString m_Location
int m_LineNum
char m_LexBuffer [MAXYYTEXT]
skString m_InputBuffer
int m_PutBack
unsigned int m_Pos
skRValueTable m_LocalVars [MAX_LOCAL_VARS_CACHE]

Static Public Attributes

THREAD skInterpreterg_GlobalInterpreter
THREAD skInterpreterg_Interpreter


Detailed Description

Interpreter implementation class
Id:
skInterpreterp.h,v 1.22 2001/06/29 09:17:04 sdw Exp
Copyright 1996-2001 Simon Whiteside.


The documentation for this class was generated from the following files:
Generated at Thu Jul 5 10:55:42 2001 for Simkin by doxygen1.2.1 written by Dimitri van Heesch, © 1997-2000