OGRE
1.12.13
Object-Oriented Graphics Rendering Engine
|
This is the main class for the compiler. More...
#include <OgreScriptCompiler.h>
Public Types | |
enum | { ID_ON = 1, ID_OFF = 2, ID_TRUE = 1, ID_FALSE = 2, ID_YES = 1, ID_NO = 2 } |
enum | { CE_STRINGEXPECTED, CE_NUMBEREXPECTED, CE_FEWERPARAMETERSEXPECTED, CE_VARIABLEEXPECTED, CE_UNDEFINEDVARIABLE, CE_OBJECTNAMEEXPECTED, CE_OBJECTALLOCATIONERROR, CE_INVALIDPARAMETERS, CE_DUPLICATEOVERRIDE, CE_UNEXPECTEDTOKEN, CE_OBJECTBASENOTFOUND, CE_REFERENCETOANONEXISTINGOBJECT, CE_DEPRECATEDSYMBOL } |
typedef std::unordered_map< String, uint32 > | IdMap |
Public Member Functions | |
ScriptCompiler () | |
virtual | ~ScriptCompiler () |
bool | _compile (AbstractNodeListPtr nodes, const String &group, bool doImports=true, bool doObjects=true, bool doVariables=true) |
bool | _fireEvent (ScriptCompilerEvent *evt, void *retval) |
Adds a name exclusion to the map. More... | |
AbstractNodeListPtr | _generateAST (const String &str, const String &source, bool doImports=false, bool doObjects=false, bool doVariables=false) |
void | addError (uint32 code, const String &file, int line, const String &msg="") |
Adds the given error to the compiler's list of errors. More... | |
bool | compile (const ConcreteNodeListPtr &nodes, const String &group) |
Compiles resources from the given concrete node list. More... | |
bool | compile (const String &str, const String &source, const String &group) |
Takes in a string of script code and compiles it into resources. More... | |
ScriptCompilerListener * | getListener () |
Returns the currently set listener. More... | |
const String & | getResourceGroup () const |
Returns the resource group currently set for this compiler. More... | |
uint32 | registerCustomWordId (const String &word) |
Adds a custom word id which can be used for custom script translators. More... | |
void | setListener (ScriptCompilerListener *listener) |
Sets the listener used by the compiler. More... | |
Static Public Member Functions | |
static String | formatErrorCode (uint32 code) |
This is the main class for the compiler.
It calls the parser and processes the CST into an AST and then uses translators to translate the AST into the final resources.
typedef std::unordered_map<String,uint32> Ogre::ScriptCompiler::IdMap |
anonymous enum |
Ogre::ScriptCompiler::ScriptCompiler | ( | ) |
|
inlinevirtual |
bool Ogre::ScriptCompiler::compile | ( | const String & | str, |
const String & | source, | ||
const String & | group | ||
) |
Takes in a string of script code and compiles it into resources.
str | The script code |
source | The source of the script code (e.g. a script file) |
group | The resource group to place the compiled resources into |
bool Ogre::ScriptCompiler::compile | ( | const ConcreteNodeListPtr & | nodes, |
const String & | group | ||
) |
Compiles resources from the given concrete node list.
AbstractNodeListPtr Ogre::ScriptCompiler::_generateAST | ( | const String & | str, |
const String & | source, | ||
bool | doImports = false , |
||
bool | doObjects = false , |
||
bool | doVariables = false |
||
) |
bool Ogre::ScriptCompiler::_compile | ( | AbstractNodeListPtr | nodes, |
const String & | group, | ||
bool | doImports = true , |
||
bool | doObjects = true , |
||
bool | doVariables = true |
||
) |
void Ogre::ScriptCompiler::addError | ( | uint32 | code, |
const String & | file, | ||
int | line, | ||
const String & | msg = "" |
||
) |
Adds the given error to the compiler's list of errors.
void Ogre::ScriptCompiler::setListener | ( | ScriptCompilerListener * | listener | ) |
Sets the listener used by the compiler.
ScriptCompilerListener* Ogre::ScriptCompiler::getListener | ( | ) |
Returns the currently set listener.
const String& Ogre::ScriptCompiler::getResourceGroup | ( | ) | const |
Returns the resource group currently set for this compiler.
bool Ogre::ScriptCompiler::_fireEvent | ( | ScriptCompilerEvent * | evt, |
void * | retval | ||
) |
Adds a name exclusion to the map.
Name exclusions identify object types which cannot accept names. This means that excluded types will always have empty names. All values in the object header are stored as object values. Removes a name exclusion Internal method for firing the handleEvent method
Adds a custom word id which can be used for custom script translators.
word | The word to be registered. |