torque Torque Game Engine Documentation
TGE Version 1.5.2

Compiler Namespace Reference


Data Structures

struct  CompilerIdentTable
struct  CompilerStringTable
struct  CompilerFloatTable
struct  ConsoleParser
 List of parsers for the compiler. More...

Typedefs

typedef const char *(*) fnGetCurrentFile ()
 Function for GetCurrentFile from the lexer.
typedef S32(*) fnGetCurrentLine ()
 Function for GetCurrentLine from the lexer.
typedef S32(*) fnParse ()
 Function for Parse from the lexer.
typedef void(*) fnRestart (FILE *input_file)
 Function for Restart from the lexer.
typedef void(*) fnSetScanBuffer (const char *sb, const char *fn)
 Function for SetScanBuffer from the lexer.

Enumerations

enum  CompiledInstructions {
  OP_FUNC_DECL,
  OP_CREATE_OBJECT,
  OP_ADD_OBJECT,
  OP_END_OBJECT,
  OP_JMPIFFNOT,
  OP_JMPIFNOT,
  OP_JMPIFF,
  OP_JMPIF,
  OP_JMPIFNOT_NP,
  OP_JMPIF_NP,
  OP_JMP,
  OP_RETURN,
  OP_CMPEQ,
  OP_CMPGR,
  OP_CMPGE,
  OP_CMPLT,
  OP_CMPLE,
  OP_CMPNE,
  OP_XOR,
  OP_MOD,
  OP_BITAND,
  OP_BITOR,
  OP_NOT,
  OP_NOTF,
  OP_ONESCOMPLEMENT,
  OP_SHR,
  OP_SHL,
  OP_AND,
  OP_OR,
  OP_ADD,
  OP_SUB,
  OP_MUL,
  OP_DIV,
  OP_NEG,
  OP_SETCURVAR,
  OP_SETCURVAR_CREATE,
  OP_SETCURVAR_ARRAY,
  OP_SETCURVAR_ARRAY_CREATE,
  OP_LOADVAR_UINT,
  OP_LOADVAR_FLT,
  OP_LOADVAR_STR,
  OP_SAVEVAR_UINT,
  OP_SAVEVAR_FLT,
  OP_SAVEVAR_STR,
  OP_SETCUROBJECT,
  OP_SETCUROBJECT_NEW,
  OP_SETCURFIELD,
  OP_SETCURFIELD_ARRAY,
  OP_LOADFIELD_UINT,
  OP_LOADFIELD_FLT,
  OP_LOADFIELD_STR,
  OP_SAVEFIELD_UINT,
  OP_SAVEFIELD_FLT,
  OP_SAVEFIELD_STR,
  OP_STR_TO_UINT,
  OP_STR_TO_FLT,
  OP_STR_TO_NONE,
  OP_FLT_TO_UINT,
  OP_FLT_TO_STR,
  OP_FLT_TO_NONE,
  OP_UINT_TO_FLT,
  OP_UINT_TO_STR,
  OP_UINT_TO_NONE,
  OP_LOADIMMED_UINT,
  OP_LOADIMMED_FLT,
  OP_TAG_TO_STR,
  OP_LOADIMMED_STR,
  OP_LOADIMMED_IDENT,
  OP_CALLFUNC_RESOLVE,
  OP_CALLFUNC,
  OP_ADVANCE_STR,
  OP_ADVANCE_STR_APPENDCHAR,
  OP_ADVANCE_STR_COMMA,
  OP_ADVANCE_STR_NUL,
  OP_REWIND_STR,
  OP_TERMINATE_REWIND_STR,
  OP_COMPARE_STR,
  OP_PUSH,
  OP_PUSH_FRAME,
  OP_BREAK,
  OP_INVALID
}
 The opcodes for the TorqueScript VM. More...

Functions

F64 consoleStringToNumber (const char *str, StringTableEntry file=0, U32 line=0)
U32 precompileBlock (StmtNode *block, U32 loopCount)
U32 compileBlock (StmtNode *block, U32 *codeStream, U32 ip, U32 continuePoint, U32 breakPoint)
StringTableEntry U32toSTE (U32 u)
U32 evalSTEtoU32 (StringTableEntry ste, U32)
U32 compileSTEtoU32 (StringTableEntry ste, U32 ip)
CompilerStringTablegetCurrentStringTable ()
CompilerStringTablegetGlobalStringTable ()
CompilerStringTablegetFunctionStringTable ()
void setCurrentStringTable (CompilerStringTable *cst)
CompilerFloatTablegetCurrentFloatTable ()
CompilerFloatTablegetGlobalFloatTable ()
CompilerFloatTablegetFunctionFloatTable ()
void setCurrentFloatTable (CompilerFloatTable *cst)
CompilerIdentTablegetIdentTable ()
void precompileIdent (StringTableEntry ident)
CodeBlockgetBreakCodeBlock ()
void setBreakCodeBlock (CodeBlock *cb)
void resetTables ()
 Helper function to reset the float, string, and ident tables to a base starting state.
voidconsoleAlloc (U32 size)
void consoleAllocReset ()
void freeConsoleParserList (void)
 Free the console parser list.
bool addConsoleParser (char *ext, fnGetCurrentFile gcf, fnGetCurrentLine gcl, fnParse p, fnRestart r, fnSetScanBuffer ssb, bool def=false)
 Add a console parser to the list.
ConsoleParsergetParserForFile (const char *filename)
 Get the parser for a particular file based on its extension.

Variables

U32(*) STEtoU32 (StringTableEntry ste, U32 ip)
bool gSyntaxError


Typedef Documentation

typedef const char*(*) Compiler::fnGetCurrentFile()

Function for GetCurrentFile from the lexer.

Function for GetCurrentLine from the lexer.

typedef S32(*) Compiler::fnParse()

Function for Parse from the lexer.

typedef void(*) Compiler::fnRestart(FILE *input_file)

Function for Restart from the lexer.

typedef void(*) Compiler::fnSetScanBuffer(const char *sb, const char *fn)

Function for SetScanBuffer from the lexer.


Enumeration Type Documentation

The opcodes for the TorqueScript VM.

Enumerator:
OP_FUNC_DECL 
OP_CREATE_OBJECT 
OP_ADD_OBJECT 
OP_END_OBJECT 
OP_JMPIFFNOT 
OP_JMPIFNOT 
OP_JMPIFF 
OP_JMPIF 
OP_JMPIFNOT_NP 
OP_JMPIF_NP 
OP_JMP 
OP_RETURN 
OP_CMPEQ 
OP_CMPGR 
OP_CMPGE 
OP_CMPLT 
OP_CMPLE 
OP_CMPNE 
OP_XOR 
OP_MOD 
OP_BITAND 
OP_BITOR 
OP_NOT 
OP_NOTF 
OP_ONESCOMPLEMENT 
OP_SHR 
OP_SHL 
OP_AND 
OP_OR 
OP_ADD 
OP_SUB 
OP_MUL 
OP_DIV 
OP_NEG 
OP_SETCURVAR 
OP_SETCURVAR_CREATE 
OP_SETCURVAR_ARRAY 
OP_SETCURVAR_ARRAY_CREATE 
OP_LOADVAR_UINT 
OP_LOADVAR_FLT 
OP_LOADVAR_STR 
OP_SAVEVAR_UINT 
OP_SAVEVAR_FLT 
OP_SAVEVAR_STR 
OP_SETCUROBJECT 
OP_SETCUROBJECT_NEW 
OP_SETCURFIELD 
OP_SETCURFIELD_ARRAY 
OP_LOADFIELD_UINT 
OP_LOADFIELD_FLT 
OP_LOADFIELD_STR 
OP_SAVEFIELD_UINT 
OP_SAVEFIELD_FLT 
OP_SAVEFIELD_STR 
OP_STR_TO_UINT 
OP_STR_TO_FLT 
OP_STR_TO_NONE 
OP_FLT_TO_UINT 
OP_FLT_TO_STR 
OP_FLT_TO_NONE 
OP_UINT_TO_FLT 
OP_UINT_TO_STR 
OP_UINT_TO_NONE 
OP_LOADIMMED_UINT 
OP_LOADIMMED_FLT 
OP_TAG_TO_STR 
OP_LOADIMMED_STR 
OP_LOADIMMED_IDENT 
OP_CALLFUNC_RESOLVE 
OP_CALLFUNC 
OP_ADVANCE_STR 
OP_ADVANCE_STR_APPENDCHAR 
OP_ADVANCE_STR_COMMA 
OP_ADVANCE_STR_NUL 
OP_REWIND_STR 
OP_TERMINATE_REWIND_STR 
OP_COMPARE_STR 
OP_PUSH 
OP_PUSH_FRAME 
OP_BREAK 
OP_INVALID 


Function Documentation

F64 Compiler::consoleStringToNumber ( const char *  str,
StringTableEntry  file = 0,
U32  line = 0 
)

U32 Compiler::precompileBlock ( StmtNode block,
U32  loopCount 
)

U32 Compiler::compileBlock ( StmtNode block,
U32 codeStream,
U32  ip,
U32  continuePoint,
U32  breakPoint 
)

StringTableEntry Compiler::U32toSTE ( U32  u  )  [inline]

U32 Compiler::evalSTEtoU32 ( StringTableEntry  ste,
U32   
)

U32 Compiler::compileSTEtoU32 ( StringTableEntry  ste,
U32  ip 
)

CompilerStringTable* Compiler::getCurrentStringTable (  ) 

CompilerStringTable& Compiler::getGlobalStringTable (  ) 

CompilerStringTable& Compiler::getFunctionStringTable (  ) 

void Compiler::setCurrentStringTable ( CompilerStringTable *  cst  ) 

CompilerFloatTable* Compiler::getCurrentFloatTable (  ) 

CompilerFloatTable& Compiler::getGlobalFloatTable (  ) 

CompilerFloatTable& Compiler::getFunctionFloatTable (  ) 

void Compiler::setCurrentFloatTable ( CompilerFloatTable *  cst  ) 

CompilerIdentTable& Compiler::getIdentTable (  ) 

void Compiler::precompileIdent ( StringTableEntry  ident  ) 

CodeBlock* Compiler::getBreakCodeBlock (  ) 

void Compiler::setBreakCodeBlock ( CodeBlock cb  ) 

void Compiler::resetTables (  ) 

Helper function to reset the float, string, and ident tables to a base starting state.

void* Compiler::consoleAlloc ( U32  size  ) 

void Compiler::consoleAllocReset (  ) 

void Compiler::freeConsoleParserList ( void   ) 

Free the console parser list.

See also:
AddConsoleParser()

bool Compiler::addConsoleParser ( char *  ext,
fnGetCurrentFile  gcf,
fnGetCurrentLine  gcl,
fnParse  p,
fnRestart  r,
fnSetScanBuffer  ssb,
bool  def = false 
)

Add a console parser to the list.

Parameters:
ext Filename extension
gcf GetCurrentFile function
gcl GetCurrentLine function
p Parse function
r Restart function
ssb SetScanBuffer function
def true if this is the default parser (Note: set this only on the .cs parser!)
Returns:
true for success, false for failure (out of memory)
See also:
FreeConsoleParserList(), ConsoleParser

ConsoleParser* Compiler::getParserForFile ( const char *  filename  ) 

Get the parser for a particular file based on its extension.

Parameters:
filename Filename of file to obtain parser for
See also:
ConsoleParser


Variable Documentation




All Rights Reserved GarageGames.com, Inc. 1999-2005
Auto-magically Generated with Doxygen