Unigine::Interpreter Class
Header: | #include <UnigineInterpreter.h> |
Unigine interpreter.
To group the elements (definitions, libraries, variables, functions, classes) together you need to create a group via addGroup(). Then, this group can be assigned as an argument to the element via the following methods:
If the same group is added to several elements, all of them can be removed from interpreter at once via removeGroup().Interpreter Class
Members
static void * get()
Returns the current interpreter pointer.Return value
Interpreter pointer.static ExternClassBase * getExternClass(const char * name)
Returns an external user class from UnigineScript.Arguments
- const char * name - Name of the class.
Return value
Pointer to the external class.static ExternFunctionBase * getExternFunction(const char * name)
Returns an external user function from UnigineScript.Arguments
- const char * name - Name of the function.
Return value
Pointer to the external function.static ExternVariableBase * getExternVariable(const char * name)
Returns an external user variable from UnigineScript.Arguments
- const char * name - Name of the variable.
Return value
Pointer to the external variable.static int getStack()
Returns the current interpreter stack depth.Return value
Interpreter stack depth.static void addExternClass(const char * name, ExternClassBase * extern_class, int group_id)
Adds an external user class to UnigineScript. To create an external function use MakeExternClass() command.Arguments
- const char * name - Name of the class.
- ExternClassBase * extern_class - Pointer to the external class.
- int group_id - ID of the group.
void addExternDefine(const char * name, int group_id)
Adds a definition to UnigineScript. This function is similar to #define Foo.Arguments
- const char * name - Name of the definition.
- int group_id - ID of the group.
void addExternFunction(const char * name, ExternFunctionBase * extern_function, int group_id)
Adds an external user function to UnigineScript. To create an external function use addExternFunction() command.Arguments
- const char * name - Name of the function.
- ExternFunctionBase * extern_function - Pointer to the external function.
- int group_id - ID of the group.
void addExternLibrary(const char * name, int group_id)
Adds an external library namespace to UnigineScript.All external variables and functions with names like library.function() will be treated as library functions.
Arguments
- const char * name - Name of the library.
- int group_id - ID of the group.
void addExternVariable(const char * name, ExternVariableBase * extern_variable, int group_id)
Adds an external user variable to UnigineScript.Arguments
- const char * name - Name of the variable.
- ExternVariableBase * extern_variable - Pointer to the external variable.
- int group_id - ID of the group.
int addGroup(const char * group_name)
Adds a new group with the specified name. This group is assigned as an argument to the element via the following methods: If the same group is added to several elements (definitions, libraries, variables, functions, classes), all of them can be removed from interpreter at once via removeGroup().Arguments
- const char * group_name - Name of the group.
Return value
ID of the group.void error(const char * format)
Interpreter error function.Arguments
- const char * format - Format string. It is similar to the format string for printf() in C.
static Variable popStack()
Pops the variable from the current interpreter stack.Return value
A variable.static void removeExternClass(const char * name)
Remove a user class from UnigineScript.Arguments
- const char * name - Name of the class.
static void removeExternDefine(const char * name)
Removes an external definition with the specified name from UnigineScript. This function is similar to #undef Foo.Arguments
- const char * name - Name of the definition.
static void removeExternFunction(const char * name)
Removes an external user function from UnigineScript.Arguments
- const char * name - Name of the function.
static void removeExternLibrary(const char * name)
Removes an external library namespace from UnigineScript.Arguments
- const char * name - Name of the library.
static void removeExternVariable(const char * name)
Removes an external user variable from UnigineScript.Arguments
- const char * name - Name of the variable.
void removeGroup(const char * group_name)
Removes all the elements (definitions, libraries, variables, functions, classes) added via addExternDefine(), addExternLibrary(), addExternVariable(), addExternFunction() and addExternClass() methods that belong to the specified group.Arguments
- const char * group_name - Name of the group.
Last update: 2018-04-26
Help improve this article
Was this article helpful?
(or select a word/phrase and press Ctrl+Enter)