| OGRE 1.11.1 Object-Oriented Graphics Rendering Engine

Classes | Public Types | Public Member Functions | Static Public Member Functions | Friends | List of all members
Ogre::ScriptCompiler Class Reference
Core » General

This is the main class for the compiler. More...

`#include <OgreScriptCompiler.h>`

Inheritance diagram for Ogre::ScriptCompiler:
[legend]

## Public Types
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 }
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)
| Compiles the given abstract syntax tree. More...
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)
| Generates the AST from the given string script. More...
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 String &str, const String &source, const String &group)
| Takes in a string of script code and compiles it into resources. More...
bool | compile (const ConcreteNodeListPtr &nodes, const String &group)
| Compiles resources from the given concrete node list. 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)

## Friends
class | AbstractTreeBuilder

## Detailed Description

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.

## Member Typedef Documentation

## ◆ IdMap

typedef std::unordered_map<String,uint32> Ogre::ScriptCompiler::IdMap

## Member Enumeration Documentation

## ◆ anonymous enum

anonymous enum

Enumerator
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 |

## ◆ anonymous enum

anonymous enum

Enumerator
ID_ON |
ID_OFF |
ID_TRUE |
ID_FALSE |
ID_YES |
ID_NO |

## Constructor & Destructor Documentation

## ◆ ScriptCompiler()

Ogre::ScriptCompiler::ScriptCompiler | ( |  | ) |

## ◆ ~ScriptCompiler()

virtual Ogre::ScriptCompiler::~ScriptCompiler | ( |  | ) |
| inline virtual

## Member Function Documentation

## ◆ formatErrorCode()

static String Ogre::ScriptCompiler::formatErrorCode | ( | uint32 | code | ) |
| static

## ◆ compile() [1/2]

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.

Parameters

  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

## ◆ compile() [2/2]

bool Ogre::ScriptCompiler::compile | ( | const ConcreteNodeListPtr & | nodes,
|  | const String & | group
| ) |  |

Compiles resources from the given concrete node list.

## ◆ _generateAST()

AbstractNodeListPtr Ogre::ScriptCompiler::_generateAST | ( | const String & | str,
|  | const String & | source,
|  | bool | doImports = `false`,
|  | bool | doObjects = `false`,
|  | bool | doVariables = `false`
| ) |  |

Generates the AST from the given string script.

## ◆ _compile()

bool Ogre::ScriptCompiler::_compile | ( | AbstractNodeListPtr | nodes,
|  | const String & | group,
|  | bool | doImports = `true`,
|  | bool | doObjects = `true`,
|  | bool | doVariables = `true`
| ) |  |

Compiles the given abstract syntax tree.

## ◆ addError()

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.

## ◆ setListener()

void Ogre::ScriptCompiler::setListener | ( | ScriptCompilerListener * | listener | ) |

Sets the listener used by the compiler.

## ◆ getListener()

ScriptCompilerListener* Ogre::ScriptCompiler::getListener | ( |  | ) |

Returns the currently set listener.

## ◆ getResourceGroup()

const String& Ogre::ScriptCompiler::getResourceGroup | ( |  | ) | const

Returns the resource group currently set for this compiler.

## ◆ _fireEvent()

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

## ◆ registerCustomWordId()

uint32 Ogre::ScriptCompiler::registerCustomWordId | ( | const String & | word | ) |

Adds a custom word id which can be used for custom script translators.

Parameters

  word | The word to be registered.

Returns
  The word id for the registered word.

Note
  If the word is already registered, the already registered id is returned.

## Friends And Related Function Documentation

## ◆ AbstractTreeBuilder

friend class AbstractTreeBuilder
| friend

The documentation for this class was generated from the following file:

- OgreScriptCompiler.h