Collection of compiler extensions.
More...
#include <extensions.hpp>
|
| Extensions () |
|
int | searchKeyword (const std::string &keyword) const |
|
bool | isFunction (int keyword, ScriptReturn &returnType, ScriptArgs &argumentType, bool &explicitReference) const |
|
bool | isInstruction (int keyword, ScriptArgs &argumentType, bool &explicitReference) const |
|
void | registerFunction (const std::string &keyword, ScriptReturn returnType, const ScriptArgs &argumentType, int code, int codeExplicit=-1) |
|
void | registerInstruction (const std::string &keyword, const ScriptArgs &argumentType, int code, int codeExplicit=-1) |
|
void | generateFunctionCode (int keyword, std::vector< Interpreter::Type_Code > &code, Literals &literals, const std::string &id, int optionalArguments) const |
| Append code for function to code. More...
|
|
void | generateInstructionCode (int keyword, std::vector< Interpreter::Type_Code > &code, Literals &literals, const std::string &id, int optionalArguments) const |
| Append code for function to code. More...
|
|
void | listKeywords (std::vector< std::string > &keywords) const |
| Append all known keywords to kaywords. More...
|
|
Collection of compiler extensions.
Compiler::Extensions::Extensions |
( |
| ) |
|
void Compiler::Extensions::generateFunctionCode |
( |
int |
keyword, |
|
|
std::vector< Interpreter::Type_Code > & |
code, |
|
|
Literals & |
literals, |
|
|
const std::string & |
id, |
|
|
int |
optionalArguments |
|
) |
| const |
Append code for function to code.
void Compiler::Extensions::generateInstructionCode |
( |
int |
keyword, |
|
|
std::vector< Interpreter::Type_Code > & |
code, |
|
|
Literals & |
literals, |
|
|
const std::string & |
id, |
|
|
int |
optionalArguments |
|
) |
| const |
Append code for function to code.
Is this keyword registered with a function? If yes, return return and argument types.
- Parameters
-
explicitReference | In: has explicit reference; Out: set to false, if explicit reference is not available for this instruction. |
bool Compiler::Extensions::isInstruction |
( |
int |
keyword, |
|
|
ScriptArgs & |
argumentType, |
|
|
bool & |
explicitReference |
|
) |
| const |
Is this keyword registered with a function? If yes, return argument types.
- Parameters
-
explicitReference | In: has explicit reference; Out: set to false, if explicit reference is not available for this instruction. |
void Compiler::Extensions::listKeywords |
( |
std::vector< std::string > & |
keywords | ) |
const |
Append all known keywords to kaywords.
void Compiler::Extensions::registerFunction |
( |
const std::string & |
keyword, |
|
|
ScriptReturn |
returnType, |
|
|
const ScriptArgs & |
argumentType, |
|
|
int |
code, |
|
|
int |
codeExplicit = -1 |
|
) |
| |
Register a custom function
- keyword must be all lower case.
- keyword must be unique
- if explicit references are not supported, segment5codeExplicit must be set to -1
- Note
- Currently only segment 3 and segment 5 opcodes are supported.
void Compiler::Extensions::registerInstruction |
( |
const std::string & |
keyword, |
|
|
const ScriptArgs & |
argumentType, |
|
|
int |
code, |
|
|
int |
codeExplicit = -1 |
|
) |
| |
Register a custom instruction
- keyword must be all lower case.
- keyword must be unique
- if explicit references are not supported, segment5codeExplicit must be set to -1
- Note
- Currently only segment 3 and segment 5 opcodes are supported.
int Compiler::Extensions::searchKeyword |
( |
const std::string & |
keyword | ) |
const |
Return extension keyword code, that is assigned to the string keyword.
- if no match is found 0 is returned.
- keyword must be all lower case.
std::map<int, Function> Compiler::Extensions::mFunctions |
|
private |
std::map<std::string, int> Compiler::Extensions::mKeywords |
|
private |
int Compiler::Extensions::mNextKeywordIndex |
|
private |
The documentation for this class was generated from the following files: