#include <OgreScriptCompiler.h>
Inheritance diagram for Ogre::ScriptCompiler:
Public Types | |
typedef std::map< String, uint32 > | IdMap |
typedef SharedPtr< Error > | ErrorPtr |
typedef std::list< ErrorPtr > | ErrorList |
enum | { CE_STRINGEXPECTED, CE_NUMBEREXPECTED, CE_FEWERPARAMETERSEXPECTED, CE_VARIABLEEXPECTED, CE_UNDEFINEDVARIABLE, CE_OBJECTNAMEEXPECTED, CE_OBJECTALLOCATIONERROR, CE_INVALIDPARAMETERS, CE_DUPLICATEOVERRIDE, CE_UNEXPECTEDTOKEN, CE_OBJECTBASENOTFOUND, CE_UNSUPPORTEDBYRENDERSYSTEM, CE_REFERENCETOANONEXISTINGOBJECT } |
enum | { ID_ON = 1, ID_OFF = 2, ID_TRUE = 1, ID_FALSE = 2, ID_YES = 1, ID_NO = 2 } |
Public Member Functions | |
ScriptCompiler () | |
virtual | ~ScriptCompiler () |
bool | compile (const String &str, const String &source, const String &group) |
bool | compile (const ConcreteNodeListPtr &nodes, const String &group) |
Compiles resources from the given concrete node list. | |
bool | _compile (AbstractNodeListPtr nodes, const String &group) |
Compiles the given abstract syntax tree. | |
void | addError (uint32 code, const String &file, int line, const String &msg="") |
Adds the given error to the compiler's list of errors. | |
void | setListener (ScriptCompilerListener *listener) |
Sets the listener used by the compiler. | |
ScriptCompilerListener * | getListener () |
Returns the currently set listener. | |
const String & | getResourceGroup () const |
Returns the resource group currently set for this compiler. | |
void | addNameExclusion (const String &type) |
Name exclusions identify object types which cannot accept names. | |
void | removeNameExclusion (const String &type) |
Removes a name exclusion. | |
bool | _fireEvent (const String &name, const std::vector< Any > &args, Any *retval) |
Internal method for firing the handleEvent method. | |
Any | _fireCreateObject (const String &type, const std::vector< Any > &args) |
Internal method for firing the createObject event. | |
AllocatedObject () | |
void * | operator new (size_t sz, const char *file, int line, const char *func) |
operator new, with debug line info | |
void * | operator new (size_t sz) |
void * | operator new (size_t sz, void *ptr) |
placement operator new | |
void * | operator new[] (size_t sz, const char *file, int line, const char *func) |
array operator new, with debug line info | |
void * | operator new[] (size_t sz) |
void | operator delete (void *ptr) |
void | operator delete (void *ptr, void *) |
void | operator delete (void *ptr, const char *, int, const char *) |
void | operator delete[] (void *ptr) |
void | operator delete[] (void *ptr, const char *, int, const char *) |
Static Public Member Functions | |
static String | formatErrorCode (uint32 code) |
Private Types | |
typedef std::map< String, String > | Environment |
typedef std::map< String, AbstractNodeListPtr > | ImportCacheMap |
typedef std::multimap< String, String > | ImportRequestMap |
Private Member Functions | |
AbstractNodeListPtr | convertToAST (const ConcreteNodeListPtr &nodes) |
void | processImports (AbstractNodeListPtr &nodes) |
This built-in function processes import nodes. | |
AbstractNodeListPtr | loadImportPath (const String &name) |
Loads the requested script and converts it to an AST. | |
AbstractNodeListPtr | locateTarget (AbstractNodeList *nodes, const String &target) |
Returns the abstract nodes from the given tree which represent the target. | |
void | processObjects (AbstractNodeList *nodes, const AbstractNodeListPtr &top) |
Handles object inheritance and variable expansion. | |
void | processVariables (AbstractNodeList *nodes) |
Handles processing the variables. | |
void | overlayObject (const AbstractNodePtr &source, ObjectAbstractNode *dest) |
This function overlays the given object on the destination object following inheritance rules. | |
bool | isNameExcluded (const String &cls, AbstractNode *parent) |
Returns true if the given class is name excluded. | |
void | initWordMap () |
This function sets up the initial values in word id map. | |
Private Attributes | |
String | mGroup |
IdMap | mIds |
Environment | mEnv |
ImportCacheMap | mImports |
ImportRequestMap | mImportRequests |
AbstractNodeList | mImportTable |
ErrorList | mErrors |
ScriptCompilerListener * | mListener |
Friends | |
class | AbstractTreeBuilder |
Classes | |
class | AbstractTreeBuilder |
struct | Error |
It calls the parser and processes the CST into an AST and then uses translators to translate the AST into the final resources.
Definition at line 180 of file OgreScriptCompiler.h.
|
Definition at line 272 of file OgreScriptCompiler.h. |
|
Definition at line 193 of file OgreScriptCompiler.h. |
|
Definition at line 192 of file OgreScriptCompiler.h. |
|
Definition at line 183 of file OgreScriptCompiler.h. |
|
Definition at line 275 of file OgreScriptCompiler.h. |
|
Definition at line 277 of file OgreScriptCompiler.h. |
|
Definition at line 196 of file OgreScriptCompiler.h. |
|
Definition at line 304 of file OgreScriptCompiler.h. |
|
|
|
Definition at line 214 of file OgreScriptCompiler.h. |
|
Compiles the given abstract syntax tree.
|
|
Internal method for firing the createObject event.
|
|
Internal method for firing the handleEvent method.
|
|
Adds the given error to the compiler's list of errors.
|
|
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. |
|
Definition at line 55 of file OgreMemoryAllocatedObject.h. |
|
Compiles resources from the given concrete node list.
|
|
|
|
|
|
|
|
Returns the currently set listener.
|
|
Returns the resource group currently set for this compiler.
|
|
This function sets up the initial values in word id map.
|
|
Returns true if the given class is name excluded.
|
|
Loads the requested script and converts it to an AST.
Reimplemented in Ogre::CompositorScriptCompiler2, and Ogre::ParticleScriptCompiler. |
|
Returns the abstract nodes from the given tree which represent the target.
|
|
Definition at line 101 of file OgreMemoryAllocatedObject.h. |
|
Definition at line 95 of file OgreMemoryAllocatedObject.h. |
|
Definition at line 89 of file OgreMemoryAllocatedObject.h. |
|
Definition at line 112 of file OgreMemoryAllocatedObject.h. |
|
Definition at line 106 of file OgreMemoryAllocatedObject.h. |
|
placement operator new
Definition at line 73 of file OgreMemoryAllocatedObject.h. |
|
Definition at line 67 of file OgreMemoryAllocatedObject.h. |
|
operator new, with debug line info
Definition at line 62 of file OgreMemoryAllocatedObject.h. |
|
Definition at line 84 of file OgreMemoryAllocatedObject.h. |
|
array operator new, with debug line info
Definition at line 79 of file OgreMemoryAllocatedObject.h. |
|
This function overlays the given object on the destination object following inheritance rules.
|
|
This built-in function processes import nodes.
|
|
Handles object inheritance and variable expansion.
|
|
Handles processing the variables.
|
|
Removes a name exclusion.
|
|
Sets the listener used by the compiler.
|
|
Definition at line 301 of file OgreScriptCompiler.h. |
|
Definition at line 273 of file OgreScriptCompiler.h. |
|
Definition at line 284 of file OgreScriptCompiler.h. |
|
Definition at line 268 of file OgreScriptCompiler.h. |
|
Definition at line 270 of file OgreScriptCompiler.h. |
|
Definition at line 278 of file OgreScriptCompiler.h. |
|
Definition at line 276 of file OgreScriptCompiler.h. |
|
Definition at line 281 of file OgreScriptCompiler.h. |
|
Reimplemented in Ogre::CompositorScriptCompiler2, and Ogre::ParticleScriptCompiler. Definition at line 287 of file OgreScriptCompiler.h. |
Copyright © 2008 Torus Knot Software Ltd
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Sat Apr 11 13:53:44 2009