OpenMoHAA ..
Loading...
Searching...
No Matches
ScriptCompiler Class Reference

Public Member Functions

void Reset ()
unsigned char PrevOpcode ()
signed char PrevVarStackOffset ()
void AbsorbPrevOpcode ()
void ClearPrevOpcode ()
void AccumulatePrevOpcode (int opcode, int iVarStackOffset)
void AddBreakJumpLocation (unsigned char *pos)
void AddContinueJumpLocation (unsigned char *pos)
void AddJumpLocation (unsigned char *pos)
void AddJumpBackLocation (unsigned char *pos)
void AddJumpToLocation (unsigned char *pos)
bool BuiltinReadVariable (unsigned int sourcePos, int type, int eventnum)
bool BuiltinWriteVariable (unsigned int sourcePos, int type, int eventnum)
void EmitAssignmentStatement (sval_t lhs, unsigned int sourcePos)
void EmitBoolJumpFalse (unsigned int sourcePos)
void EmitBoolJumpTrue (unsigned int sourcePos)
void EmitBoolNot (unsigned int sourcePos)
void EmitBoolToVar (unsigned int sourcePos)
void EmitBreak (unsigned int sourcePos)
void EmitCatch (sval_t val, unsigned char *try_begin_code_pos, unsigned int sourcePos)
void EmitConstArray (sval_t lhs, sval_t rhs, unsigned int sourcePos)
void EmitConstArrayOpcode (int iCount)
void EmitContinue (unsigned int sourcePos)
void EmitDoWhileJump (sval_t while_stmt, sval_t while_expr, unsigned int sourcePos)
void EmitEof (unsigned int sourcePos)
void EmitField (sval_t listener_val, sval_t field_val, unsigned int sourcePos)
void EmitFloat (float value, unsigned int sourcePos)
void EmitFunc1 (int opcode, unsigned int sourcePos)
void EmitIfElseJump (sval_t if_stmt, sval_t else_stmt, unsigned int sourcePos)
void EmitIfJump (sval_t if_stmt, unsigned int sourcePos)
void EmitInteger (unsigned int value, unsigned int sourcePos)
void EmitJump (unsigned char *pos, unsigned int sourcePos)
void EmitJumpBack (unsigned char *pos, unsigned int sourcePos)
void EmitLabel (const char *name, unsigned int sourcePos)
void EmitLabel (int name, unsigned int sourcePos)
void EmitLabelParameterList (sval_t parameter_list, unsigned int sourcePos)
void EmitLabelPrivate (const char *name, unsigned int sourcePos)
void EmitAndJump (sval_t logic_stmt, unsigned int sourcePos)
void EmitOrJump (sval_t logic_stmt, unsigned int sourcePos)
void EmitMakeArray (sval_t val)
void EmitMethodExpression (int iParamCount, int eventnum, unsigned int sourcePos)
void EmitNil (unsigned int sourcePos)
void EmitNop ()
int EmitNot (unsigned int sourcePos)
void EmitOpcode (int opcode, unsigned int sourcePos)
void EmitParameter (sval_u lhs, unsigned int sourcePos)
int EmitParameterList (sval_t event_parameter_list)
void EmitRef (sval_t val, unsigned int sourcePos)
void EmitStatementList (sval_t val)
void EmitString (str value, unsigned int sourcePos)
void EmitSwitch (sval_t val, unsigned int sourcePos)
void EmitValue (sval_t val)
void EmitValue (ScriptVariable &var, unsigned int sourcePos)
void EmitVarToBool (unsigned int sourcePos)
void EmitWhileJump (sval_t while_expr, sval_t while_stmt, sval_t inc_stmt, unsigned int sourcePos)
bool EvalPrevValue (ScriptVariable &var)
void ProcessBreakJumpLocations (int iStartBreakJumpLocCount)
void ProcessContinueJumpLocations (int iStartContinueJumpLocCount)
unsigned char * GetPosition ()
void CompileError (unsigned int sourcePos, const char *format,...)
scriptmacro_t * GetMacro (char *sourceLine)
char * Preprocess (char *sourceBuffer)
void Preclean (char *processedBuffer)
bool Parse (GameScript *m_GameScript, char *sourceBuffer, const char *type, size_t &outLength)
bool Compile (GameScript *m_GameScript, unsigned char *progBuffer, size_t &outLength)

Static Public Member Functions

static str GetLine (str content, int line)

Public Attributes

unsigned char * code_pos
unsigned char * code_ptr
unsigned char * prog_ptr
unsigned char * prog_end_ptr
GameScriptscript
StateScriptstateScript
bool bCanBreak
bool bCanContinue
opcode_info_t prev_opcodes [100]
unsigned int prev_opcode_pos
int m_iVarStackOffset
int m_iInternalMaxVarStackOffset
int m_iMaxExternalVarStackOffset
int m_iMaxCallStackOffset
int m_iHasExternal
unsigned char * apucBreakJumpLocations [BREAK_JUMP_LOCATION_COUNT]
int iBreakJumpLocCount
unsigned char * apucContinueJumpLocations [CONTINUE_JUMP_LOCATION_COUNT]
int iContinueJumpLocCount
bool compileSuccess

Static Public Attributes

static int current_label

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