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) |
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) |
CodeBlock * | getBreakCodeBlock () |
void | setBreakCodeBlock (CodeBlock *cb) |
void | resetTables () |
| Helper function to reset the float, string, and ident tables to a base starting state.
|
void * | consoleAlloc (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.
|
ConsoleParser * | getParserForFile (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
Function for GetCurrentFile from the lexer.
Function for GetCurrentLine from the lexer.
Function for Parse from the lexer.
Function for Restart from the lexer.
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
void Compiler::setCurrentStringTable |
( |
CompilerStringTable * |
cst |
) |
|
void Compiler::setCurrentFloatTable |
( |
CompilerFloatTable * |
cst |
) |
|
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
|