#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