Torque2D Reference

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes

- Namespace List
- Namespace Members

Classes | Typedefs | Enumerations | Functions | Variables
Compiler Namespace Reference

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

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

## 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_SETCUROBJECT_INTERNAL, 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_DOCBLOCK_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
U32 | precompileBlock (StmtNode *block, U32 loopCount)
U32 | compileBlock (StmtNode *block, U32 *codeStream, U32 ip, U32 continuePoint, U32 breakPoint)
F64 | consoleStringToNumber (const char *str, StringTableEntry file, U32 line)
CodeBlock * | getBreakCodeBlock ()
void | setBreakCodeBlock (CodeBlock *cb)
void | evalSTEtoCode (StringTableEntry ste, U32 ip, U32 *codeStream)
void | compileSTEtoCode (StringTableEntry ste, U32 ip, U32 *codeStream)
CompilerStringTable * | getCurrentStringTable ()
CompilerStringTable & | getGlobalStringTable ()
CompilerStringTable & | getFunctionStringTable ()
void | setCurrentStringTable (CompilerStringTable *cst)
CompilerFloatTable * | getCurrentFloatTable ()
CompilerFloatTable & | getGlobalFloatTable ()
CompilerFloatTable & | getFunctionFloatTable ()
void | setCurrentFloatTable (CompilerFloatTable *cst)
CompilerIdentTable & | getIdentTable ()
void | precompileIdent (StringTableEntry ident)
void | resetTables ()
void * | consoleAlloc (U32 size)
void | consoleAllocReset ()
StringTableEntry | CodeToSTE (U32 *code, U32 ip)
void | freeConsoleParserList (void)
| Free the console parser list. More...
bool | addConsoleParser (const char *ext, fnGetCurrentFile gcf, fnGetCurrentLine gcl, fnParse p, fnRestart r, fnSetScanBuffer ssb, bool def=false)
| Add a console parser to the list. More...
ConsoleParser * | getParserForFile (const char *filename)
| Get the parser for a particular file based on its extension. More...

## Variables
CompilerStringTable * | gCurrentStringTable
CompilerStringTable | gGlobalStringTable
CompilerStringTable | gFunctionStringTable
CompilerFloatTable * | gCurrentFloatTable
CompilerFloatTable | gGlobalFloatTable
CompilerFloatTable | gFunctionFloatTable
DataChunker | gConsoleAllocator
CompilerIdentTable | gIdentTable
CodeBlock * | gCurBreakBlock
void(* | STEtoCode )(StringTableEntry ste, U32 ip, U32 *codeStream) = evalSTEtoCode
bool | gSyntaxError = false

## Typedef Documentation

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.

## Enumeration Type Documentation

enum CompiledInstructions

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_SETCUROBJECT_INTERNAL |
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_DOCBLOCK_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

bool addConsoleParser | ( | const 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

StringTableEntry Compiler::CodeToSTE | ( | U32 * | code,
|  | U32 | ip
| ) |  |
| inline

U32 compileBlock | ( | StmtNode * | block,
|  | U32 * | codeStream,
|  | U32 | ip,
|  | U32 | continuePoint,
|  | U32 | breakPoint
| ) |  |

void compileSTEtoCode | ( | StringTableEntry | ste,
|  | U32 | ip,
|  | U32 * | codeStream
| ) |  |

void * consoleAlloc | ( | U32 | size | ) |

void consoleAllocReset | ( |  | ) |

F64 consoleStringToNumber | ( | const char * | str,
|  | StringTableEntry | file,
|  | U32 | line
| ) |  |

void evalSTEtoCode | ( | StringTableEntry | ste,
|  | U32 | ip,
|  | U32 * | codeStream
| ) |  |

void freeConsoleParserList | ( | void |  | ) |

Free the console parser list.

See also
  AddConsoleParser()

CodeBlock * getBreakCodeBlock | ( |  | ) |

CompilerFloatTable * getCurrentFloatTable | ( |  | ) |

CompilerStringTable * getCurrentStringTable | ( |  | ) |

CompilerFloatTable & getFunctionFloatTable | ( |  | ) |

CompilerStringTable & getFunctionStringTable | ( |  | ) |

CompilerFloatTable & getGlobalFloatTable | ( |  | ) |

CompilerStringTable & getGlobalStringTable | ( |  | ) |

CompilerIdentTable & getIdentTable | ( |  | ) |

ConsoleParser * 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

U32 precompileBlock | ( | StmtNode * | block,
|  | U32 | loopCount
| ) |  |

void precompileIdent | ( | StringTableEntry | ident | ) |

void resetTables | ( |  | ) |

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

void setBreakCodeBlock | ( | CodeBlock * | cb | ) |

void setCurrentFloatTable | ( | CompilerFloatTable * | cst | ) |

void setCurrentStringTable | ( | CompilerStringTable * | cst | ) |

## Variable Documentation

DataChunker gConsoleAllocator

CodeBlock* gCurBreakBlock

CompilerFloatTable* gCurrentFloatTable

CompilerStringTable* gCurrentStringTable

CompilerFloatTable gFunctionFloatTable

CompilerStringTable gFunctionStringTable

CompilerFloatTable gGlobalFloatTable

CompilerStringTable gGlobalStringTable

CompilerIdentTable gIdentTable

bool gSyntaxError = false

void(* STEtoCode)(StringTableEntry ste, U32 ip, U32 *codeStream) = evalSTEtoCode