MinitScript  0.9.31 PRE-BETA
Classes | Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Static Protected Attributes | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes | Friends | List of all members
MinitScript Class Reference

MinitScript. More...

#include <minitscript/minitscript/MinitScript.h>

Collaboration diagram for MinitScript:
Collaboration graph

Classes

class  DataType
 Data type. More...
 
struct  GarbageCollectionDataType
 Garbage collection data type. More...
 
class  Method
 Method. More...
 
struct  ParserArgument
 Parser argument. More...
 
struct  Script
 Script. More...
 
struct  ScriptState
 Script state. More...
 
class  ShutdownRAII
 Shutdown RAII. More...
 
class  StateMachineState
 State Machine State. More...
 
struct  Statement
 Statement. More...
 
struct  SubStatement
 Sub statement. More...
 
struct  SyntaxTreeNode
 Syntax Tree Node. More...
 
class  Variable
 Variable. More...
 

Public Types

enum  Operator {
  OPERATOR_NONE , OPERATOR_POSTFIX_INCREMENT , OPERATOR_POSTFIX_DECREMENT , OPERATOR_PREFIX_INCREMENT ,
  OPERATOR_PREFIX_DECREMENT , OPERATOR_NOT , OPERATOR_BITWISENOT , OPERATOR_DIVISION ,
  OPERATOR_MULTIPLICATION , OPERATOR_MODULO , OPERATOR_ADDITION , OPERATOR_SUBTRACTION ,
  OPERATOR_LESSER , OPERATOR_LESSEREQUALS , OPERATOR_GREATER , OPERATOR_GREATEREQUALS ,
  OPERATOR_EQUALS , OPERATOR_NOTEQUAL , OPERATOR_BITWISEAND , OPERATOR_BITWISEXOR ,
  OPERATOR_BITWISEOR , OPERATOR_AND , OPERATOR_OR , OPERATOR_SET ,
  OPERATOR_MAX
}
 
enum  StateMachineStateId { STATEMACHINESTATE_NONE = -1 , STATEMACHINESTATE_NEXT_STATEMENT , STATEMACHINESTATE_WAIT , STATEMACHINESTATE_WAIT_FOR_CONDITION }
 
enum  VariableType {
  TYPE_NULL = 0 , TYPE_BOOLEAN = 1 , TYPE_INTEGER = 2 , TYPE_FLOAT = 3 ,
  TYPE_FUNCTION_CALL = 4 , TYPE_FUNCTION_ASSIGNMENT = 5 , TYPE_STACKLET_ASSIGNMENT = 6 , TYPE_PSEUDO_NUMBER = 7 ,
  TYPE_PSEUDO_MIXED = 8 , TYPE_STRING = 9 , TYPE_BYTEARRAY = 10 , TYPE_ARRAY = 11 ,
  TYPE_MAP = 12 , TYPE_SET = 13 , TYPE_PSEUDO_DATATYPES = 14 , TYPE_HTTPDOWNLOADCLIENT = 14 ,
  TYPE_PSEUDO_CUSTOM_DATATYPES = 15
}
 

Public Member Functions

const string getArgumentsAsString (const vector< SyntaxTreeNode > &arguments)
 Returns arguments as string. More...
 
DataType::ScriptContextgetDataTypeScriptContext (VariableType type)
 Return data type script context. More...
 
_ContextgetContext ()
 
void setContext (_Context *context)
 Set context. More...
 
_LibrarygetLibrary ()
 
void setLibrary (_Library *library)
 Set library. More...
 
const string & getErrorMessage ()
 
const SubStatementgetErrorSubStatement ()
 
void complain (const string &methodName, const SubStatement &subStatement)
 Complain about method usage. More...
 
void complain (const string &methodName, const SubStatement &subStatement, const string &message)
 Complain about method usage. More...
 
void complainOperator (const string &methodName, const string &operatorString, const SubStatement &subStatement)
 Complain about operator usage. More...
 
void complainOperator (const string &methodName, const string &operatorString, const SubStatement &subStatement, const string &message)
 Complain about operator usage. More...
 
 MinitScript ()
 Default constructor. More...
 
virtual ~MinitScript ()
 Destructor. More...
 
virtual const string getBaseClassHeader ()
 
virtual const string getBaseClass ()
 
virtual const vector< string > getTranspilationUnits ()
 
const vector< string > & getParseErrors ()
 
bool isValid ()
 
bool isNative ()
 
const string & getNativeHash ()
 
const string & getScriptPathName ()
 
const string & getScriptFileName ()
 
const vector< Script > & getScripts ()
 
ScriptStategetRootScriptState ()
 
ScriptStategetScriptState ()
 
MathMethodsgetMathMethods ()
 
void startErrorScript ()
 Start error script. More...
 
bool hasMethod (const string &methodName)
 Returns if method with given name does exist. More...
 
bool hasFunction (const string &functionName)
 Returns if function with given name does exist. More...
 
virtual void registerStateMachineStates ()
 Register state machine states. More...
 
virtual void registerMethods ()
 Register methods. More...
 
virtual void registerVariables ()
 Register variables. More...
 
int getStatementSubLineIdx (const string &statement, int idx)
 Get statement sub line index. More...
 
const string getStatementInformation (const Statement &statement, int subLineIdx=-1)
 Return statement information. More...
 
const string getSubStatementInformation (const SubStatement &subStatement)
 Return sub statement information. More...
 
const string getArgumentsInformation (const string &methodName)
 Get arguments information. More...
 
void registerStateMachineState (StateMachineState *state)
 Register state machine state. More...
 
void registerMethod (Method *method)
 Register method. More...
 
bool isVariableAccess (const string &candidate, const SubStatement *subStatement=nullptr)
 Returns if a given string is a variable name. More...
 
bool hasVariable (const string &variableStatement, const SubStatement *subStatement=nullptr)
 Returns if variable determined by given variable statement exists. More...
 
const Variable getMethodArgumentVariable (const string &variableStatement, const SubStatement *subStatement=nullptr)
 Returns variable determined by given variable statement optimized for method argument usage. More...
 
const Variable getMethodArgumentVariable (Variable *variablePtr, const string &variableStatement, const SubStatement *subStatement=nullptr)
 Returns variable determined by given variable statement and variable pointer optimized for method argument usage. More...
 
const Variable getVariable (const string &variableStatement, const SubStatement *subStatement=nullptr, bool createReference=false)
 Returns variable determined by given variable statement. More...
 
const Variable getVariable (Variable *variablePtr, const string &variableStatement, const SubStatement *subStatement=nullptr, bool createReference=false)
 Returns variable determined by given variable statement and variable pointer. More...
 
void unsetVariable (Variable *variablePtr, const string &variableStatement, const SubStatement *subStatement=nullptr)
 Unsets variable determined by given variable statement and variable pointer. More...
 
void unsetVariable (const string &variableStatement, const SubStatement *subStatement=nullptr)
 Unsets variable determined by given variable statement. More...
 
void setConstant (const string &variableStatement, const Variable &variable)
 Set constant by given variable statement and variable. More...
 
void setVariable (const string &variableStatement, const Variable &variable, const SubStatement *subStatement=nullptr, bool createReference=false)
 Set variable by given variable statement and variable. More...
 
void setVariable (Variable *variablePtr, const string &variableStatement, const Variable &variable, const SubStatement *subStatement=nullptr, bool createReference=false)
 Set variable by given variable pointer, variable statement and variable. More...
 
void parseScript (const string &pathName, const string &fileName, bool nativeOnly=false)
 Parse script. More...
 
virtual void startScript ()
 Start script. More...
 
bool hasCondition (const string &condition)
 Check if condition with given name exists. More...
 
virtual void emit (const string &condition)
 Emit. More...
 
virtual void execute ()
 Execute. More...
 
int getFunctionScriptIdx (const string &function)
 Return function script index by function name. More...
 
bool call (int scriptIdx, span< Variable > &arguments, Variable &returnValue)
 Call function. More...
 
bool call (const string &function, span< Variable > &arguments, Variable &returnValue)
 Call function. More...
 
bool callStacklet (int scriptIdx, span< Variable > &arguments, Variable &returnValue)
 Call stacklet. More...
 
bool callStacklet (const string &stacklet, span< Variable > &arguments, Variable &returnValue)
 Call stacklet. More...
 
bool evaluate (const string &evaluateStatement, Variable &returnValue)
 Evaluate statement. More...
 
bool isRunning ()
 
MethodgetMethod (const string &methodName)
 Get method by method name. More...
 
const vector< Method * > getMethods ()
 
MethodgetOperatorMethod (Operator operator_)
 Get method by operator. More...
 
const vector< Method * > getOperatorMethods ()
 
const string getScriptInformation (int scriptIdx, bool includeStatements=true)
 Get script information for a specific script index. More...
 
const string getInformation ()
 Get MinitScript instance information. More...
 

Static Public Member Functions

static void initialize ()
 Initialize. More...
 
static void setConstant (Variable &variable)
 Set variable recursively to be a constant. More...
 
static void unsetConstant (Variable &variable)
 Set variable recursively to be a non constant. More...
 
static const string getArgumentIndicesAsString (const vector< int > &argumentIndices, const string &delimiter)
 Returns string representation of given argument indices. More...
 
static const vector< DataType * > & getDataTypes ()
 
static DataTypegetDataTypeByClassName (const string &className)
 Returns data type by class name or nullptr. More...
 
static void registerDataType (DataType *dataType)
 Register data type. More...
 
static string getOperatorAsString (Operator operator_)
 Get operator as string. More...
 
static bool isOperator (const string &candidate)
 Is given candidate a operator string. More...
 
static bool hasType (const span< Variable > &arguments, VariableType type)
 Check if arguments contain argument with given type. More...
 
static bool hasTypeForOperatorArguments (const span< Variable > &arguments, VariableType type)
 Checks if left and right operator arguments have given type. More...
 
static bool getBooleanValue (const span< Variable > &arguments, int idx, bool &value, bool optional=false)
 Get boolean value from given variable. More...
 
static bool getIntegerValue (const span< Variable > &arguments, int idx, int64_t &value, bool optional=false)
 Get integer value from given variable. More...
 
static bool getFloatValue (const span< Variable > &arguments, int idx, float &value, bool optional=false)
 Get float value from given variable. More...
 
static bool getFunctionValue (const span< Variable > &arguments, int idx, string &function, int &scriptIdx, bool optional=false)
 Get function value from given variable. More...
 
static bool getStackletValue (const span< Variable > &arguments, int idx, string &stacklet, int &scriptIdx, bool optional=false)
 Get stacklet value from given variable. More...
 
static bool getStringValue (const span< Variable > &arguments, int idx, string &value, bool optional=false)
 Get string value from given variable. More...
 

Static Public Attributes

static constexpr int SCRIPTIDX_NONE { -1 }
 
static constexpr int LINE_NONE { -1 }
 
static constexpr int STATEMENTIDX_NONE { -1 }
 
static constexpr int STATEMENTIDX_FIRST { 0 }
 
static constexpr int ARGUMENTIDX_NONE { -1 }
 
static MINITSCRIPT_STATIC_DLL_IMPEXT const string METHOD_SCRIPTCALL = "script.call"
 
static MINITSCRIPT_STATIC_DLL_IMPEXT const string METHOD_SCRIPTCALLSTACKLET = "script.callStacklet"
 
static MINITSCRIPT_STATIC_DLL_IMPEXT const string METHOD_SCRIPTCALLBYINDEX = "script.callByIndex"
 
static MINITSCRIPT_STATIC_DLL_IMPEXT const string METHOD_SCRIPTCALLSTACKLETBYINDEX = "script.callStackletByIndex"
 
static MINITSCRIPT_STATIC_DLL_IMPEXT const string METHOD_ENABLENAMEDCONDITION = "script.enableNamedCondition"
 
static MINITSCRIPT_STATIC_DLL_IMPEXT const string METHOD_DISABLENAMEDCONDITION = "script.disableNamedCondition"
 

Protected Member Functions

bool hasEmitted ()
 
virtual void initializeNative ()
 Initialize native mini script. More...
 
void setNative (bool native)
 Set native. More...
 
void setNativeHash (const string &nativeHash)
 Set native hash. More...
 
void gotoStatement (const Statement &statement)
 Go to statement. More...
 
void gotoStatementGoto (const Statement &statement)
 Go to statement goto from given statement. More...
 
vector< ScriptgetNativeScripts ()
 
void setNativeScripts (const vector< Script > &nativeScripts)
 Set native scripts. More...
 
void setNativeFunctions (const unordered_map< string, int > &nativeFunctions)
 Set native functions. More...
 
void executeStateMachine ()
 Execute state machine. More...
 
void dumpScriptState (ScriptState &scriptState, const string &message=string())
 Dump script state. More...
 
void pushScriptState ()
 Push a new script state. More...
 
void popScriptState ()
 Pop script state. More...
 
bool isFunctionRunning ()
 
void resetScriptExecutationState (int scriptIdx, StateMachineStateId stateMachineState)
 Reset script execution state. More...
 
void resetStackletScriptExecutationState (int scriptIdx, StateMachineStateId stateMachineState)
 Reset stacklet script execution state. More...
 
void stopRunning ()
 Set running flag to false. More...
 
void stopScriptExecution ()
 Stop script execution. More...
 
void setScriptStateState (int state)
 Set script state machine state. More...
 
virtual int determineScriptIdxToStart ()
 Determine script index to start. More...
 
virtual int determineNamedScriptIdxToStart ()
 Determine named script index to start. More...
 
void createLamdaFunction (Variable &variable, const vector< string_view > &arguments, const string_view &functionScriptCode, int lineIdx, bool populateThis, const Statement &statement, const string &nameHint=string())
 
void createStacklet (Variable &variable, const string &scopeName, const vector< string_view > &arguments, const string_view &stackletScriptCode, int lineIdx, const Statement &statement)
 
void tryGarbageCollection ()
 Try garbage collection. More...
 
void garbageCollection ()
 Issue garbage collection. More...
 

Static Protected Member Functions

static const string escapeString (const string &str)
 Escape string variable. More...
 
static const string decodeOperator (const span< MinitScript::Variable > &arguments, int operatorValueIdx, const string &defaultOperatorString)
 Decode operator. More...
 
static const Variable initializeArray (const string_view &initializerString, MinitScript *minitScript, int scriptIdx, const Statement &statement)
 Initialize array by initializer string. More...
 
static const Variable initializeMapSet (const string_view &initializerString, MinitScript *minitScript, int scriptIdx, const Statement &statement)
 Initialize map/set by initializer string. More...
 

Protected Attributes

bool native
 
_Contextcontext { nullptr }
 
_Librarylibrary { nullptr }
 
vector< Scriptscripts
 
string nativeHash
 
vector< ScriptnativeScripts
 
vector< unique_ptr< ScriptState > > scriptStateStack
 
vector< string > enabledNamedConditions
 
int64_t timeEnabledConditionsCheckLast { TIME_NONE }
 
vector< string > parseErrors
 
vector< pair< int, string > > deferredInlineScriptCodes
 
int inlineFunctionIdx { 0 }
 
int inlineStackletIdx { 0 }
 
unique_ptr< MathMethodsminitScriptMath
 
SubStatement errorSubStatement
 
string errorMessage
 
string deferredEmit
 
bool emitted { false }
 

Static Protected Attributes

static constexpr int SETACCESSBOOL_NONE { -1 }
 
static constexpr int SETACCESSBOOL_TRUE { 0 }
 
static constexpr int SETACCESSBOOL_FALSE { 1 }
 
static constexpr int ARRAYIDX_NONE { -1 }
 
static constexpr int ARRAYIDX_ADD { -2 }
 
static constexpr int ARRAYIDX_FIRST { 0 }
 
static constexpr int STATE_NONE { -1 }
 
static constexpr int OPERATORIDX_NONE { -1 }
 
static constexpr int LINE_FIRST { 1 }
 
static constexpr int64_t TIME_NONE { -1LL }
 

Private Member Functions

bool parseScriptInternal (const string &scriptCode, int lineIdxOffset=0)
 Parse script code into this MinitScript instance. More...
 
void executeNextStatement ()
 Execute next statement. More...
 
bool getNextStatement (const string &scriptCode, int &i, int &line, string &statement)
 Get next statement from script code. More...
 
bool parseStatement (const string_view &executableStatement, string_view &methodName, vector< ParserArgument > &arguments, const Statement &statement, string &accessObjectMemberStatement)
 Parse a statement. More...
 
Variable executeStatement (const SyntaxTreeNode &syntaxTree, const Statement &statement)
 Execute a statement. More...
 
bool createStatementSyntaxTree (int scriptIdx, const string_view &methodName, const vector< ParserArgument > &arguments, const Statement &statement, SyntaxTreeNode &syntaxTree, int subLineIdx=0)
 Create statement syntax tree. More...
 
bool setupFunctionAndStackletScriptIndices (int scriptIdx)
 Setup function and stacket script indices. More...
 
bool setupFunctionAndStackletScriptIndices (SyntaxTreeNode &syntaxTreeNode, const Statement &statement)
 Setup function and stacket script indices. More...
 
bool setupFunctionAndStackletScriptIndices (Variable &variable, const Statement &statement, int subLineIdx)
 Setup function and stacket script indices. More...
 
int getStackletScopeScriptIdx (int scriptIdx)
 Return stacklet scope script index. More...
 
bool validateStacklets (int scriptIdx)
 Validate stacklets. More...
 
bool validateStacklets (const string &function, int scopeScriptIdx=MinitScript::SCRIPTIDX_NONE)
 Validate stacklets. More...
 
bool validateStacklets (int scopeScriptIdx, const SyntaxTreeNode &syntaxTreeNode, const Statement &statement)
 Validate stacklets. More...
 
bool validateCallable (const string &function)
 Validate callabe. More...
 
bool validateCallable (const SyntaxTreeNode &syntaxTreeNode, const Statement &statement)
 Validate callable. More...
 
bool validateContextFunctions (const string &function, vector< string > &functionStack)
 Validate context functions. More...
 
bool validateContextFunctions (const SyntaxTreeNode &syntaxTreeNode, vector< string > &functionStack, const Statement &statement)
 Validate context functions. More...
 
const string doStatementPreProcessing (const string &processedStatement, const Statement &statement)
 Do statement pre processing, 1) replace operators with corresponding methods. More...
 
bool getObjectMemberAccess (const string_view &executableStatement, string_view &object, string_view &method, int &methodStartIdx, const Statement &statement)
 Returns if statement has a object member access. More...
 
bool getVariableAccessOperatorLeftRightIndices (const string &variableStatement, const string &callerMethod, string::size_type &accessOperatorLeftIdx, string::size_type &accessOperatorRightIdx, const SubStatement *subStatement=nullptr, int startIdx=0)
 Get access operator left and right indices. More...
 
bool evaluateAccess (const string &variableStatement, const string &callerMethod, string::size_type &arrayAccessOperatorLeftIdx, string::size_type &arrayAccessOperatorRightIdx, int64_t &arrayIdx, string &key, const SubStatement *subStatement=nullptr)
 Evaluate access. More...
 
VariableevaluateVariableAccessIntern (Variable *variablePtr, const string &variableStatement, const string &callerMethod, Variable *&parentVariable, int64_t &arrayIdx, string &key, int &setAccessBool, const SubStatement *subStatement=nullptr, bool expectVariable=true)
 Returns pointer of variable with given name or nullptr. More...
 
VariablegetVariableIntern (const string &variableStatement, const string &callerMethod, string &variableName, Variable *&parentVariable, int64_t &arrayIdx, string &key, int &setAccessBool, const SubStatement *subStatement=nullptr, bool expectVariable=true, bool global=false)
 Returns pointer of variable with given name or nullptr. More...
 
void setVariableInternal (const string &variableStatement, Variable *parentVariable, Variable *variablePtr, int64_t arrayIdx, const string &key, const Variable &variable, const SubStatement *subStatement=nullptr, bool createReference=false)
 Set variable internal. More...
 
bool evaluateInternal (const string &statement, const string &executableStatement, Variable &returnValue, bool pushScriptState=true)
 Evaluate given statement without executing preprocessor run. More...
 
bool call (int scriptIdx, span< Variable > &arguments, Variable &returnValue, bool pushScriptState)
 Call function. More...
 
bool call (const string &function, span< Variable > &arguments, Variable &returnValue, bool pushScriptState)
 Call function. More...
 
const Variable initializeVariable (const Variable &variable)
 Initialize variable. More...
 
const string deescape (const string_view &str, const Statement &statement)
 Deescape string. More...
 

Static Private Member Functions

static const bool isOperatorChar (char c)
 Returns if char is operator char. More...
 
static bool viewIsLamdaFunction (const string_view &candidate, vector< string_view > &arguments, string_view &functionScriptCode, int &lineIdx)
 Returns if a given string is a lambda function. More...
 
static bool viewIsStacklet (const string_view &candidate, vector< string_view > &arguments, string_view &stackletScriptCode, int &lineIdx)
 Returns if a given string is a stacklet. More...
 
static bool viewIsVariableAccess (const string_view &candidate)
 Returns if a given string is a variable name. More...
 
static bool viewIsKey (const string_view &candidate)
 Returns if a given string is a valid map key name. More...
 
static bool viewIsKeyPrivate (const string_view &candidate)
 Returns if a given key candidate is marked as private by head '-'. More...
 
static const string_view viewGetPrivateKey (const string_view &candidate)
 Returns private key. More...
 
static bool viewIsStringLiteral (const string_view &candidate)
 Returns if a given string is a string literal. More...
 
static string_view dequote (const string_view &str)
 Dequote a string. More...
 
static bool viewIsInitializer (const string_view &candidate)
 Returns if a given string is a array/map/set initializer. More...
 
static bool viewIsCall (const string_view &candidate)
 Returns if a given string is a method/function call. More...
 
static void setConstantInternal (Variable &variable)
 Set variable recursively to be a constant. More...
 
static void unsetConstantInternal (Variable &variable)
 Set variable recursively to be a non constant. More...
 

Private Attributes

int64_t dataTypesGCTime { -1ll }
 
unordered_map< string, int > functions
 
unordered_map< string, Method * > methods
 
unordered_map< int, StateMachineState * > stateMachineStates
 
unordered_map< uint8_t, Method * > operators
 
string scriptPathName
 
string scriptFileName
 
bool scriptValid { false }
 
vector< GarbageCollectionDataTypegarbageCollectionDataTypes
 
unordered_map< VariableType, DataType::ScriptContext * > garbageCollectionScriptContextsByDataType
 
unordered_set< int > garbageCollectionDataTypesIndices
 

Static Private Attributes

static constexpr bool VERBOSE { false }
 
static constexpr bool VALIDATION { false }
 
static constexpr int64_t GARBAGE_COLLECTION_INTERVAL { 1000ll }
 
static MINITSCRIPT_STATIC_DLL_IMPEXT const string OPERATOR_CHARS = "+-!~/%<>=&^|"
 
static MINITSCRIPT_STATIC_DLL_IMPEXT vector< DataType * > dataTypes
 
static MINITSCRIPT_STATIC_DLL_IMPEXT ShutdownRAII shutdownRAII
 

Friends

class ApplicationMethods
 
class BaseMethods
 
class JSONMethods
 
class MathMethods
 
class ScriptMethods
 
class Transpiler
 

Detailed Description

MinitScript.

Author
Andreas Drewke

Definition at line 68 of file MinitScript.h.

Member Enumeration Documentation

◆ Operator

enum Operator
Enumerator
OPERATOR_NONE 
OPERATOR_POSTFIX_INCREMENT 
OPERATOR_POSTFIX_DECREMENT 
OPERATOR_PREFIX_INCREMENT 
OPERATOR_PREFIX_DECREMENT 
OPERATOR_NOT 
OPERATOR_BITWISENOT 
OPERATOR_DIVISION 
OPERATOR_MULTIPLICATION 
OPERATOR_MODULO 
OPERATOR_ADDITION 
OPERATOR_SUBTRACTION 
OPERATOR_LESSER 
OPERATOR_LESSEREQUALS 
OPERATOR_GREATER 
OPERATOR_GREATEREQUALS 
OPERATOR_EQUALS 
OPERATOR_NOTEQUAL 
OPERATOR_BITWISEAND 
OPERATOR_BITWISEXOR 
OPERATOR_BITWISEOR 
OPERATOR_AND 
OPERATOR_OR 
OPERATOR_SET 
OPERATOR_MAX 

Definition at line 77 of file MinitScript.h.

◆ StateMachineStateId

Enumerator
STATEMACHINESTATE_NONE 
STATEMACHINESTATE_NEXT_STATEMENT 
STATEMACHINESTATE_WAIT 
STATEMACHINESTATE_WAIT_FOR_CONDITION 

Definition at line 119 of file MinitScript.h.

◆ VariableType

Enumerator
TYPE_NULL 
TYPE_BOOLEAN 
TYPE_INTEGER 
TYPE_FLOAT 
TYPE_FUNCTION_CALL 
TYPE_FUNCTION_ASSIGNMENT 
TYPE_STACKLET_ASSIGNMENT 
TYPE_PSEUDO_NUMBER 
TYPE_PSEUDO_MIXED 
TYPE_STRING 
TYPE_BYTEARRAY 
TYPE_ARRAY 
TYPE_MAP 
TYPE_SET 
TYPE_PSEUDO_DATATYPES 
TYPE_HTTPDOWNLOADCLIENT 
TYPE_PSEUDO_CUSTOM_DATATYPES 

Definition at line 184 of file MinitScript.h.

Constructor & Destructor Documentation

◆ MinitScript()

Default constructor.

Definition at line 178 of file MinitScript.cpp.

◆ ~MinitScript()

~MinitScript ( )
virtual

Destructor.

Definition at line 194 of file MinitScript.cpp.

Member Function Documentation

◆ getArgumentsAsString()

const string getArgumentsAsString ( const vector< SyntaxTreeNode > &  arguments)
inline

Returns arguments as string.

Parameters
argumentsarguments
Returns
arguments as string

Definition at line 3006 of file MinitScript.h.

◆ escapeString()

static const string escapeString ( const string &  str)
inlinestaticprotected

Escape string variable.

Parameters
strstring
Returns
escaped string

Definition at line 3147 of file MinitScript.h.

◆ decodeOperator()

static const string decodeOperator ( const span< MinitScript::Variable > &  arguments,
int  operatorValueIdx,
const string &  defaultOperatorString 
)
inlinestaticprotected

Decode operator.

Parameters
argumentsarguments
operatorValueIdxoperator value index
defaultOperatorStringdefault operator string
Returns
operator string

Definition at line 3192 of file MinitScript.h.

◆ hasEmitted()

bool hasEmitted ( )
inlineprotected
Returns
if script has emitted a condition like error

Definition at line 3209 of file MinitScript.h.

◆ initializeNative()

void initializeNative ( )
protectedvirtual

Initialize native mini script.

Definition at line 211 of file MinitScript.cpp.

◆ setNative()

void setNative ( bool  native)
inlineprotected

Set native.

Parameters
nativenative

Definition at line 3222 of file MinitScript.h.

◆ setNativeHash()

void setNativeHash ( const string &  nativeHash)
inlineprotected

Set native hash.

Parameters
nativeHashnative hash

Definition at line 3230 of file MinitScript.h.

◆ gotoStatement()

void gotoStatement ( const Statement statement)
inlineprotected

Go to statement.

Parameters
statementstatement

Definition at line 3238 of file MinitScript.h.

◆ gotoStatementGoto()

void gotoStatementGoto ( const Statement statement)
inlineprotected

Go to statement goto from given statement.

Parameters
statementstatement

Definition at line 3247 of file MinitScript.h.

◆ getNativeScripts()

vector<Script> getNativeScripts ( )
inlineprotected
Returns
native script

Definition at line 3255 of file MinitScript.h.

◆ setNativeScripts()

void setNativeScripts ( const vector< Script > &  nativeScripts)
inlineprotected

Set native scripts.

Parameters
nativeScriptsnative scripts

Definition at line 3263 of file MinitScript.h.

◆ setNativeFunctions()

void setNativeFunctions ( const unordered_map< string, int > &  nativeFunctions)
inlineprotected

Set native functions.

Parameters
nativeFunctionsnative functions

Definition at line 3271 of file MinitScript.h.

◆ executeStateMachine()

void executeStateMachine ( )
protected

Execute state machine.

Definition at line 1593 of file MinitScript.cpp.

◆ dumpScriptState()

void dumpScriptState ( ScriptState scriptState,
const string &  message = string() 
)
protected

Dump script state.

Parameters
scriptStatescript state
messagemessage

Definition at line 3542 of file MinitScript.cpp.

◆ pushScriptState()

void pushScriptState ( )
inlineprotected

Push a new script state.

Definition at line 3290 of file MinitScript.h.

◆ popScriptState()

void popScriptState ( )
inlineprotected

Pop script state.

Definition at line 3297 of file MinitScript.h.

◆ isFunctionRunning()

bool isFunctionRunning ( )
inlineprotected
Returns
is function/stacklet running

Definition at line 3319 of file MinitScript.h.

◆ resetScriptExecutationState()

void resetScriptExecutationState ( int  scriptIdx,
StateMachineStateId  stateMachineState 
)
inlineprotected

Reset script execution state.

Parameters
scriptIdxscript index
stateMachineStatestate machine state

Definition at line 3335 of file MinitScript.h.

◆ resetStackletScriptExecutationState()

void resetStackletScriptExecutationState ( int  scriptIdx,
StateMachineStateId  stateMachineState 
)
inlineprotected

Reset stacklet script execution state.

Parameters
scriptIdxscript index
stateMachineStatestate machine state

Definition at line 3373 of file MinitScript.h.

◆ stopRunning()

void stopRunning ( )
inlineprotected

Set running flag to false.

Definition at line 3392 of file MinitScript.h.

◆ stopScriptExecution()

void stopScriptExecution ( )
inlineprotected

Stop script execution.

Definition at line 3399 of file MinitScript.h.

◆ setScriptStateState()

void setScriptStateState ( int  state)
inlineprotected

Set script state machine state.

Parameters
statestate

Definition at line 3416 of file MinitScript.h.

◆ determineScriptIdxToStart()

int determineScriptIdxToStart ( )
protectedvirtual

Determine script index to start.

Returns
script index or SCRIPTIDX_NONE if no script to start

Definition at line 2835 of file MinitScript.cpp.

◆ determineNamedScriptIdxToStart()

int determineNamedScriptIdxToStart ( )
protectedvirtual

Determine named script index to start.

Returns
script index or SCRIPTIDX_NONE if no script to start

Definition at line 2880 of file MinitScript.cpp.

◆ createLamdaFunction()

void createLamdaFunction ( Variable variable,
const vector< string_view > &  arguments,
const string_view &  functionScriptCode,
int  lineIdx,
bool  populateThis,
const Statement statement,
const string &  nameHint = string() 
)
protected

Definition at line 4125 of file MinitScript.cpp.

◆ createStacklet()

void createStacklet ( Variable variable,
const string &  scopeName,
const vector< string_view > &  arguments,
const string_view &  stackletScriptCode,
int  lineIdx,
const Statement statement 
)
protected

Definition at line 4149 of file MinitScript.cpp.

◆ initializeArray()

const MinitScript::Variable initializeArray ( const string_view &  initializerString,
MinitScript minitScript,
int  scriptIdx,
const Statement statement 
)
staticprotected

Initialize array by initializer string.

Parameters
initializerStringinitializer string
minitScriptmini script
scriptIdxscript index
statementstatement
Returns
initialized variable

Definition at line 4165 of file MinitScript.cpp.

◆ initializeMapSet()

const MinitScript::Variable initializeMapSet ( const string_view &  initializerString,
MinitScript minitScript,
int  scriptIdx,
const Statement statement 
)
staticprotected

Initialize map/set by initializer string.

Parameters
initializerStringinitializer string
minitScriptmini script
scriptIdxscript index
statementstatement
Returns
initialized variable

Definition at line 4374 of file MinitScript.cpp.

◆ tryGarbageCollection()

void tryGarbageCollection ( )
inlineprotected

Try garbage collection.

Definition at line 3481 of file MinitScript.h.

◆ garbageCollection()

void garbageCollection ( )
protected

Issue garbage collection.

Definition at line 5241 of file MinitScript.cpp.

◆ parseScriptInternal()

bool parseScriptInternal ( const string &  scriptCode,
int  lineIdxOffset = 0 
)
private

Parse script code into this MinitScript instance.

Parameters
scriptCodescript code
lineIdxOffsetline index offset
Returns
success

Definition at line 1876 of file MinitScript.cpp.

◆ executeNextStatement()

void executeNextStatement ( )
private

Execute next statement.

Definition at line 286 of file MinitScript.cpp.

◆ getNextStatement()

bool getNextStatement ( const string &  scriptCode,
int &  i,
int &  line,
string &  statement 
)
private

Get next statement from script code.

Parameters
scriptCodescript code
icharacter index
lineline
statementstatement
Returns
success

Definition at line 1673 of file MinitScript.cpp.

◆ parseStatement()

bool parseStatement ( const string_view &  executableStatement,
string_view &  methodName,
vector< ParserArgument > &  arguments,
const Statement statement,
string &  accessObjectMemberStatement 
)
private

Parse a statement.

Parameters
executableStatementexecutable statement
methodNamemethod name
argumentsarguments
statementstatment
accessObjectMembergenerated access object member statement
Returns
success

Definition at line 315 of file MinitScript.cpp.

◆ executeStatement()

MinitScript::Variable executeStatement ( const SyntaxTreeNode syntaxTree,
const Statement statement 
)
private

Execute a statement.

Parameters
syntaxTreesyntax tree
statementstatement
Returns
return value as variable

Definition at line 597 of file MinitScript.cpp.

◆ createStatementSyntaxTree()

bool createStatementSyntaxTree ( int  scriptIdx,
const string_view &  methodName,
const vector< ParserArgument > &  arguments,
const Statement statement,
SyntaxTreeNode syntaxTree,
int  subLineIdx = 0 
)
private

Create statement syntax tree.

Parameters
scriptIdxscript index
methodNamemethod name
argumentsarguments
statementstatement
syntaxTreesyntax tree
subLineIdxsub line index
Returns
success

Definition at line 777 of file MinitScript.cpp.

◆ setupFunctionAndStackletScriptIndices() [1/3]

bool setupFunctionAndStackletScriptIndices ( int  scriptIdx)
private

Setup function and stacket script indices.

Parameters
scriptIdxscript index

Definition at line 985 of file MinitScript.cpp.

◆ setupFunctionAndStackletScriptIndices() [2/3]

bool setupFunctionAndStackletScriptIndices ( SyntaxTreeNode syntaxTreeNode,
const Statement statement 
)
private

Setup function and stacket script indices.

Parameters
syntaxTreeNodesyntax tree node
statementstatement

Definition at line 1003 of file MinitScript.cpp.

◆ setupFunctionAndStackletScriptIndices() [3/3]

bool setupFunctionAndStackletScriptIndices ( Variable variable,
const Statement statement,
int  subLineIdx 
)
private

Setup function and stacket script indices.

Parameters
variablevariable
statementstatement
subLineIdxsub line index
Returns
success

Definition at line 1089 of file MinitScript.cpp.

◆ getStackletScopeScriptIdx()

int getStackletScopeScriptIdx ( int  scriptIdx)
private

Return stacklet scope script index.

Parameters
scriptIdxstacklet script index
Returns
stacklet scope script index

Definition at line 1170 of file MinitScript.cpp.

◆ validateStacklets() [1/3]

bool validateStacklets ( int  scriptIdx)
private

Validate stacklets.

Parameters
scriptIdxscript index
Returns
success

Definition at line 1194 of file MinitScript.cpp.

◆ validateStacklets() [2/3]

bool validateStacklets ( const string &  function,
int  scopeScriptIdx = MinitScript::SCRIPTIDX_NONE 
)
private

Validate stacklets.

Parameters
functionfunction
scopeScriptIdxscope script index or MinitScript::SCRIPTIDX_NONE for the function itself
Returns
success

Definition at line 1211 of file MinitScript.cpp.

◆ validateStacklets() [3/3]

bool validateStacklets ( int  scopeScriptIdx,
const SyntaxTreeNode syntaxTreeNode,
const Statement statement 
)
private

Validate stacklets.

Parameters
scopeScriptIdxscope script index
syntaxTreeNodesyntax tree node
statementstatement
Returns
success

Definition at line 1233 of file MinitScript.cpp.

◆ validateCallable() [1/2]

bool validateCallable ( const string &  function)
private

Validate callabe.

Parameters
functionfunction
Returns
success

Definition at line 1395 of file MinitScript.cpp.

◆ validateCallable() [2/2]

bool validateCallable ( const SyntaxTreeNode syntaxTreeNode,
const Statement statement 
)
private

Validate callable.

Parameters
syntaxTreeNodesyntax tree node
statementstatement
Returns
success

Definition at line 1417 of file MinitScript.cpp.

◆ validateContextFunctions() [1/2]

bool validateContextFunctions ( const string &  function,
vector< string > &  functionStack 
)
private

Validate context functions.

Parameters
functionfunction
functionStackfunction stack
Returns
success

Definition at line 1468 of file MinitScript.cpp.

◆ validateContextFunctions() [2/2]

bool validateContextFunctions ( const SyntaxTreeNode syntaxTreeNode,
vector< string > &  functionStack,
const Statement statement 
)
private

Validate context functions.

Parameters
syntaxTreeNodesyntax tree node
functionStackfunction stack
statementstatement
Returns
success

Definition at line 1494 of file MinitScript.cpp.

◆ isOperatorChar()

static const bool isOperatorChar ( char  c)
inlinestaticprivate

Returns if char is operator char.

Parameters
cchar to test
Returns
if char is operator char

Definition at line 3736 of file MinitScript.h.

◆ doStatementPreProcessing()

const string doStatementPreProcessing ( const string &  processedStatement,
const Statement statement 
)
private

Do statement pre processing, 1) replace operators with corresponding methods.

Parameters
processedStatementstatement that is currently being processed
statementstatement

Definition at line 2922 of file MinitScript.cpp.

◆ getObjectMemberAccess()

bool getObjectMemberAccess ( const string_view &  executableStatement,
string_view &  object,
string_view &  method,
int &  methodStartIdx,
const Statement statement 
)
private

Returns if statement has a object member access.

Parameters
executableStatementexecutable statement
objectobject
methodmethod
methodStartIdxmethod start index
statementstatement
Returns
statement has a object member access

Definition at line 3458 of file MinitScript.cpp.

◆ getVariableAccessOperatorLeftRightIndices()

bool getVariableAccessOperatorLeftRightIndices ( const string &  variableStatement,
const string &  callerMethod,
string::size_type &  accessOperatorLeftIdx,
string::size_type &  accessOperatorRightIdx,
const SubStatement subStatement = nullptr,
int  startIdx = 0 
)
inlineprivate

Get access operator left and right indices.

Parameters
variableStatementvariable statement
callerMethodcaller method
accessOperatorLeftIdxaccess operator left idx
accessOperatorRightIdxaccess operator right idx
subStatementsub statement
startIdxstartIdx

Definition at line 5080 of file MinitScript.cpp.

◆ evaluateAccess()

bool evaluateAccess ( const string &  variableStatement,
const string &  callerMethod,
string::size_type &  arrayAccessOperatorLeftIdx,
string::size_type &  arrayAccessOperatorRightIdx,
int64_t &  arrayIdx,
string &  key,
const SubStatement subStatement = nullptr 
)
inlineprivate

Evaluate access.

Parameters
variableStatementvariable statement
callerMethodcaller method
arrayAccessOperatorLeftIdxarray access operator left idx
arrayAccessOperatorRightIdxarray access operator right idx
arrayIdxarray index
keymap key
subStatementsub statement

Definition at line 5151 of file MinitScript.cpp.

◆ evaluateVariableAccessIntern()

MinitScript::Variable * evaluateVariableAccessIntern ( MinitScript::Variable variablePtr,
const string &  variableStatement,
const string &  callerMethod,
Variable *&  parentVariable,
int64_t &  arrayIdx,
string &  key,
int &  setAccessBool,
const SubStatement subStatement = nullptr,
bool  expectVariable = true 
)
inlineprivate

Returns pointer of variable with given name or nullptr.

Parameters
variablePtrpointer to variable
variableStatementvariable statement
callerMethodcaller method
parentVariableparent variable
arrayIdxarray index whereas there is ARRAYIDX_ADD for [] or ARRAYIDX_NONE for no array access
keykey
setAccessBoolset access bool which returns one of SETACCESSBOOL_NONE, *_TRUE, *_FALSE
subStatementoptional sub statement the variable is read in
expectVariableexpect variable which controls verbosity
Returns
pointer to variable

Definition at line 4779 of file MinitScript.cpp.

◆ getVariableIntern()

Variable* getVariableIntern ( const string &  variableStatement,
const string &  callerMethod,
string &  variableName,
Variable *&  parentVariable,
int64_t &  arrayIdx,
string &  key,
int &  setAccessBool,
const SubStatement subStatement = nullptr,
bool  expectVariable = true,
bool  global = false 
)
inlineprivate

Returns pointer of variable with given name or nullptr.

Parameters
variableStatementvariable statement
callerMethodcaller method
variableNamevariable name
parentVariableparent variable
arrayIdxarray index whereas there is ARRAYIDX_ADD for [] or ARRAYIDX_NONE for no array access
keykey
setAccessBoolset access bool which returns one of SETACCESSBOOL_NONE, *_TRUE, *_FALSE
subStatementoptional sub statement the variable is read in
expectVariableexpect variable which controls verbosity
globaluse global context instead of current context
Returns
pointer to variable

Definition at line 3810 of file MinitScript.h.

◆ setVariableInternal()

void setVariableInternal ( const string &  variableStatement,
Variable parentVariable,
Variable variablePtr,
int64_t  arrayIdx,
const string &  key,
const Variable variable,
const SubStatement subStatement = nullptr,
bool  createReference = false 
)
inlineprivate

Set variable internal.

Parameters
variableStatementvariable statement
parentVariableparent variable
variablePtrvariable pointer
arrayIdxarray index
keykey
variablevariable
subStatementoptional sub statement the variable is written in
createReferenceoptional flag for creating variable references

Definition at line 4909 of file MinitScript.cpp.

◆ evaluateInternal()

bool evaluateInternal ( const string &  statement,
const string &  executableStatement,
Variable returnValue,
bool  pushScriptState = true 
)
inlineprivate

Evaluate given statement without executing preprocessor run.

Parameters
statementstatement
executableStatementexecutable statement
returnValuereturn value
pushScriptStatepush script state
Returns
success

Definition at line 4979 of file MinitScript.cpp.

◆ call() [1/4]

bool call ( int  scriptIdx,
span< Variable > &  arguments,
Variable returnValue,
bool  pushScriptState 
)
private

Call function.

Parameters
scriptIdxscript index
argumentsargument values
returnValuereturn value
pushScriptStatepush script state
Returns
success

Definition at line 3569 of file MinitScript.cpp.

◆ call() [2/4]

bool call ( const string &  function,
span< Variable > &  arguments,
Variable returnValue,
bool  pushScriptState 
)
inlineprivate

Call function.

Parameters
functionfunction
argumentsargument values
returnValuereturn value
pushScriptStatepush script state
Returns
success

Definition at line 3898 of file MinitScript.h.

◆ initializeVariable()

const MinitScript::Variable initializeVariable ( const Variable variable)
inlineprivate

Initialize variable.

Parameters
variablevariable
Returns
initialized variable

Definition at line 5019 of file MinitScript.cpp.

◆ deescape()

const string deescape ( const string_view &  str,
const Statement statement 
)
inlineprivate

Deescape string.

Parameters
strstring
statementstatement
Returns
deescaped string

Definition at line 3923 of file MinitScript.h.

◆ viewIsLamdaFunction()

static bool viewIsLamdaFunction ( const string_view &  candidate,
vector< string_view > &  arguments,
string_view &  functionScriptCode,
int &  lineIdx 
)
inlinestaticprivate

Returns if a given string is a lambda function.

Parameters
candidatecandidate
argumentsarguments
functionScriptCodefunction script code
lineIdxstart line index
Returns
if candidate is a lambda function

Definition at line 3982 of file MinitScript.h.

◆ viewIsStacklet()

static bool viewIsStacklet ( const string_view &  candidate,
vector< string_view > &  arguments,
string_view &  stackletScriptCode,
int &  lineIdx 
)
inlinestaticprivate

Returns if a given string is a stacklet.

Parameters
candidatecandidate
argumentsarguments
stackletScriptCodestacklet script code
lineIdxstart line index
Returns
if candidate is a stacklet function

Definition at line 4084 of file MinitScript.h.

◆ viewIsVariableAccess()

static bool viewIsVariableAccess ( const string_view &  candidate)
inlinestaticprivate

Returns if a given string is a variable name.

Parameters
candidatecandidate
Returns
if string is a variable name

Definition at line 4132 of file MinitScript.h.

◆ viewIsKey()

bool viewIsKey ( const string_view &  candidate)
inlinestaticprivate

Returns if a given string is a valid map key name.

Parameters
candidatecandidate
Returns
if string is a valid map key name

Definition at line 5059 of file MinitScript.cpp.

◆ viewIsKeyPrivate()

bool viewIsKeyPrivate ( const string_view &  candidate)
inlinestaticprivate

Returns if a given key candidate is marked as private by head '-'.

Parameters
candidatecandidate
Returns
if key candidate is marked as private

Definition at line 5070 of file MinitScript.cpp.

◆ viewGetPrivateKey()

const string_view viewGetPrivateKey ( const string_view &  candidate)
inlinestaticprivate

Returns private key.

Parameters
candidatecandidate
Returns
private key

Definition at line 5076 of file MinitScript.cpp.

◆ viewIsStringLiteral()

static bool viewIsStringLiteral ( const string_view &  candidate)
inlinestaticprivate

Returns if a given string is a string literal.

Parameters
candidatecandidate
Returns
if string is a string literal

Definition at line 4179 of file MinitScript.h.

◆ dequote()

static string_view dequote ( const string_view &  str)
inlinestaticprivate

Dequote a string.

Parameters
strstring
Returns
dequoted string

Definition at line 4205 of file MinitScript.h.

◆ viewIsInitializer()

static bool viewIsInitializer ( const string_view &  candidate)
inlinestaticprivate

Returns if a given string is a array/map/set initializer.

Parameters
candidatecandidate
Returns
if string is a array/map/set initializer

Definition at line 4214 of file MinitScript.h.

◆ viewIsCall()

static bool viewIsCall ( const string_view &  candidate)
inlinestaticprivate

Returns if a given string is a method/function call.

Parameters
candidatecandidate
Returns
if string is a method/function call

Definition at line 4226 of file MinitScript.h.

◆ setConstantInternal()

void setConstantInternal ( Variable variable)
staticprivate

Set variable recursively to be a constant.

Parameters
variablevariable

Definition at line 5181 of file MinitScript.cpp.

◆ unsetConstantInternal()

void unsetConstantInternal ( Variable variable)
staticprivate

Set variable recursively to be a non constant.

Parameters
variablevariable

Definition at line 5209 of file MinitScript.cpp.

◆ initialize()

void initialize ( )
static

Initialize.

Definition at line 138 of file MinitScript.cpp.

◆ setConstant() [1/2]

static void setConstant ( Variable variable)
inlinestatic

Set variable recursively to be a constant.

Parameters
variablevariable

Definition at line 4255 of file MinitScript.h.

◆ unsetConstant()

static void unsetConstant ( Variable variable)
inlinestatic

Set variable recursively to be a non constant.

Parameters
variablevariable

Definition at line 4264 of file MinitScript.h.

◆ getDataTypeScriptContext()

DataType::ScriptContext* getDataTypeScriptContext ( VariableType  type)
inline

Return data type script context.

Parameters
typedata type
Returns
data type script context

Definition at line 4274 of file MinitScript.h.

◆ getContext()

_Context* getContext ( )
inline
Returns
context

Definition at line 4285 of file MinitScript.h.

◆ setContext()

void setContext ( _Context context)
inline

Set context.

Parameters
contextcontext

Definition at line 4293 of file MinitScript.h.

◆ getLibrary()

_Library* getLibrary ( )
inline
Returns
library

Definition at line 4300 of file MinitScript.h.

◆ setLibrary()

void setLibrary ( _Library library)
inline

Set library.

Parameters
librarylibrary

Definition at line 4308 of file MinitScript.h.

◆ getArgumentIndicesAsString()

static const string getArgumentIndicesAsString ( const vector< int > &  argumentIndices,
const string &  delimiter 
)
inlinestatic

Returns string representation of given argument indices.

Parameters
argumentIndicesargument indices
delimiterdelimiter
Returns
string representation of given argument indices

Definition at line 4318 of file MinitScript.h.

◆ getErrorMessage()

const string& getErrorMessage ( )
inline
Returns
error message

Definition at line 4330 of file MinitScript.h.

◆ getErrorSubStatement()

const SubStatement& getErrorSubStatement ( )
inline
Returns
error sub statement

Definition at line 4337 of file MinitScript.h.

◆ complain() [1/2]

void complain ( const string &  methodName,
const SubStatement subStatement 
)

Complain about method usage.

Parameters
methodNamemethod mame
subStatementsub statement

Definition at line 214 of file MinitScript.cpp.

◆ complain() [2/2]

void complain ( const string &  methodName,
const SubStatement subStatement,
const string &  message 
)

Complain about method usage.

Parameters
methodNamemethod mame
subStatementsub statement
messagemessage

Definition at line 228 of file MinitScript.cpp.

◆ complainOperator() [1/2]

void complainOperator ( const string &  methodName,
const string &  operatorString,
const SubStatement subStatement 
)

Complain about operator usage.

Parameters
methodNamemethod mame
operatorStringoperator string
subStatementsub statement

Definition at line 240 of file MinitScript.cpp.

◆ complainOperator() [2/2]

void complainOperator ( const string &  methodName,
const string &  operatorString,
const SubStatement subStatement,
const string &  message 
)

Complain about operator usage.

Parameters
methodNamemethod mame
operatorStringoperator string
subStatementsub statement
messagemessage

Definition at line 257 of file MinitScript.cpp.

◆ getDataTypes()

static const vector<DataType*>& getDataTypes ( )
inlinestatic
Returns
data types

Definition at line 4376 of file MinitScript.h.

◆ getDataTypeByClassName()

static DataType* getDataTypeByClassName ( const string &  className)
inlinestatic

Returns data type by class name or nullptr.

Parameters
classNameclass name
Returns
data type

Definition at line 4385 of file MinitScript.h.

◆ registerDataType()

void registerDataType ( DataType dataType)
static

Register data type.

Parameters
dataTypedata type

Definition at line 281 of file MinitScript.cpp.

◆ getBaseClassHeader()

const string getBaseClassHeader ( )
virtual
Returns
base class header

Definition at line 147 of file MinitScript.cpp.

◆ getBaseClass()

const string getBaseClass ( )
virtual
Returns
base class

Definition at line 151 of file MinitScript.cpp.

◆ getTranspilationUnits()

const vector< string > getTranspilationUnits ( )
virtual
Returns
transpilation units

Definition at line 155 of file MinitScript.cpp.

◆ getParseErrors()

const vector<string>& getParseErrors ( )
inline
Returns
parse errors

Definition at line 4429 of file MinitScript.h.

◆ isValid()

bool isValid ( )
inline
Returns
if this script is valid to be executed

Definition at line 4436 of file MinitScript.h.

◆ isNative()

bool isNative ( )
inline
Returns
if this script was compiled to C++ and is executed natively

Definition at line 4443 of file MinitScript.h.

◆ getNativeHash()

const string& getNativeHash ( )
inline
Returns
native script hash

Definition at line 4450 of file MinitScript.h.

◆ getScriptPathName()

const string& getScriptPathName ( )
inline
Returns
script path name

Definition at line 4457 of file MinitScript.h.

◆ getScriptFileName()

const string& getScriptFileName ( )
inline
Returns
script file name

Definition at line 4464 of file MinitScript.h.

◆ getScripts()

const vector<Script>& getScripts ( )
inline
Returns
scripts

Definition at line 4471 of file MinitScript.h.

◆ getRootScriptState()

ScriptState& getRootScriptState ( )
inline
Returns
root script state

Definition at line 4478 of file MinitScript.h.

◆ getScriptState()

ScriptState& getScriptState ( )
inline
Returns
script state

Definition at line 4485 of file MinitScript.h.

◆ getMathMethods()

MathMethods* getMathMethods ( )
inline
Returns
math methods

Definition at line 4492 of file MinitScript.h.

◆ startErrorScript()

void startErrorScript ( )
inline

Start error script.

Definition at line 4499 of file MinitScript.h.

◆ hasMethod()

bool hasMethod ( const string &  methodName)
inline

Returns if method with given name does exist.

Parameters
methodNamemethod name
Returns
method exists

Definition at line 4508 of file MinitScript.h.

◆ hasFunction()

bool hasFunction ( const string &  functionName)
inline

Returns if function with given name does exist.

Parameters
functionNamefunction name
Returns
function exists

Definition at line 4517 of file MinitScript.h.

◆ registerStateMachineStates()

void registerStateMachineStates ( )
virtual

Register state machine states.

Definition at line 3899 of file MinitScript.cpp.

◆ registerMethods()

void registerMethods ( )
virtual

Register methods.

Definition at line 3983 of file MinitScript.cpp.

◆ registerVariables()

void registerVariables ( )
virtual

Register variables.

Definition at line 4063 of file MinitScript.cpp.

◆ getStatementSubLineIdx()

int getStatementSubLineIdx ( const string &  statement,
int  idx 
)
inline

Get statement sub line index.

Parameters
statementstatement
idxindex
Returns
sub line index

Definition at line 4542 of file MinitScript.h.

◆ getStatementInformation()

const string getStatementInformation ( const Statement statement,
int  subLineIdx = -1 
)
inline

Return statement information.

Parameters
statementstatement
subLineIdxsub line index
Returns
statement information

Definition at line 4556 of file MinitScript.h.

◆ getSubStatementInformation()

const string getSubStatementInformation ( const SubStatement subStatement)
inline

Return sub statement information.

Parameters
subStatementsub statement
Returns
sub statement information

Definition at line 4576 of file MinitScript.h.

◆ getArgumentsInformation()

const string getArgumentsInformation ( const string &  methodName)
inline

Get arguments information.

Parameters
methodNamemethod name
Returns
arguments information

Definition at line 4585 of file MinitScript.h.

◆ getOperatorAsString()

static string getOperatorAsString ( Operator  operator_)
inlinestatic

Get operator as string.

Parameters
operator_operator
Returns
operator as string

Definition at line 4599 of file MinitScript.h.

◆ isOperator()

static bool isOperator ( const string &  candidate)
inlinestatic

Is given candidate a operator string.

Parameters
candidatecandidate
Returns
operator

Definition at line 4635 of file MinitScript.h.

◆ hasType()

static bool hasType ( const span< Variable > &  arguments,
VariableType  type 
)
inlinestatic

Check if arguments contain argument with given type.

Parameters
argumentsarguments
typetype
Returns
has type

Definition at line 4648 of file MinitScript.h.

◆ hasTypeForOperatorArguments()

static bool hasTypeForOperatorArguments ( const span< Variable > &  arguments,
VariableType  type 
)
inlinestatic

Checks if left and right operator arguments have given type.

Parameters
argumentsarguments
typetype
Returns
has type

Definition at line 4659 of file MinitScript.h.

◆ getBooleanValue()

static bool getBooleanValue ( const span< Variable > &  arguments,
int  idx,
bool &  value,
bool  optional = false 
)
inlinestatic

Get boolean value from given variable.

Parameters
argumentsarguments
idxargument index
valuevalue
optionaloptionalfalse
Returns
success

Definition at line 4674 of file MinitScript.h.

◆ getIntegerValue()

static bool getIntegerValue ( const span< Variable > &  arguments,
int  idx,
int64_t &  value,
bool  optional = false 
)
inlinestatic

Get integer value from given variable.

Parameters
argumentsarguments
idxargument index
valuevalue
optionaloptional
Returns
success

Definition at line 4688 of file MinitScript.h.

◆ getFloatValue()

static bool getFloatValue ( const span< Variable > &  arguments,
int  idx,
float &  value,
bool  optional = false 
)
inlinestatic

Get float value from given variable.

Parameters
argumentsarguments
idxargument index
valuevalue
optionaloptional
Returns
success

Definition at line 4702 of file MinitScript.h.

◆ getFunctionValue()

static bool getFunctionValue ( const span< Variable > &  arguments,
int  idx,
string &  function,
int &  scriptIdx,
bool  optional = false 
)
inlinestatic

Get function value from given variable.

Parameters
argumentsarguments
idxargument index
functionfunction
scriptIdxscript index
optionaloptional
Returns
success

Definition at line 4717 of file MinitScript.h.

◆ getStackletValue()

static bool getStackletValue ( const span< Variable > &  arguments,
int  idx,
string &  stacklet,
int &  scriptIdx,
bool  optional = false 
)
inlinestatic

Get stacklet value from given variable.

Parameters
argumentsarguments
idxargument index
stackletstacklet
scriptIdxscript index
optionaloptional
Returns
success

Definition at line 4732 of file MinitScript.h.

◆ getStringValue()

static bool getStringValue ( const span< Variable > &  arguments,
int  idx,
string &  value,
bool  optional = false 
)
inlinestatic

Get string value from given variable.

Parameters
argumentsarguments
idxargument index
valuevalue
optionaloptional
Returns
success

Definition at line 4746 of file MinitScript.h.

◆ registerStateMachineState()

void registerStateMachineState ( StateMachineState state)

Register state machine state.

Parameters
statestate

Definition at line 202 of file MinitScript.cpp.

◆ registerMethod()

void registerMethod ( Method method)

Register method.

Parameters
methodmethod

Definition at line 272 of file MinitScript.cpp.

◆ isVariableAccess()

bool isVariableAccess ( const string &  candidate,
const SubStatement subStatement = nullptr 
)
inline

Returns if a given string is a variable name.

Parameters
candidatecandidate
statementstatement
Returns
if string is a variable name

Definition at line 4770 of file MinitScript.h.

◆ hasVariable()

bool hasVariable ( const string &  variableStatement,
const SubStatement subStatement = nullptr 
)
inline

Returns if variable determined by given variable statement exists.

Parameters
variableStatementvariable statement
subStatementoptional sub statement the variable is read in
Returns
variable exists

Definition at line 4813 of file MinitScript.h.

◆ getMethodArgumentVariable() [1/2]

const Variable getMethodArgumentVariable ( const string &  variableStatement,
const SubStatement subStatement = nullptr 
)
inline

Returns variable determined by given variable statement optimized for method argument usage.

Parameters
variableStatementvariable statement
subStatementoptional sub statement the variable is read in
Returns
variable

Definition at line 4848 of file MinitScript.h.

◆ getMethodArgumentVariable() [2/2]

const Variable getMethodArgumentVariable ( Variable variablePtr,
const string &  variableStatement,
const SubStatement subStatement = nullptr 
)
inline

Returns variable determined by given variable statement and variable pointer optimized for method argument usage.

Parameters
variablePtrvariable pointer
variableStatementvariable statement
subStatementoptional sub statement the variable is read in
Returns
variable

Definition at line 4891 of file MinitScript.h.

◆ getVariable() [1/2]

const Variable getVariable ( const string &  variableStatement,
const SubStatement subStatement = nullptr,
bool  createReference = false 
)
inline

Returns variable determined by given variable statement.

Parameters
variableStatementvariable statement
subStatementoptional sub statement the variable is read in
createReferenceoptional flag for creating variable references
Returns
variable

Definition at line 4923 of file MinitScript.h.

◆ getVariable() [2/2]

const Variable getVariable ( Variable variablePtr,
const string &  variableStatement,
const SubStatement subStatement = nullptr,
bool  createReference = false 
)
inline

Returns variable determined by given variable statement and variable pointer.

Parameters
variablePtrvariable pointer
variableStatementvariable statement
subStatementoptional sub statement the variable is read in
createReferenceoptional flag for creating variable references
Returns
variable

Definition at line 4967 of file MinitScript.h.

◆ unsetVariable() [1/2]

void unsetVariable ( Variable variablePtr,
const string &  variableStatement,
const SubStatement subStatement = nullptr 
)
inline

Unsets variable determined by given variable statement and variable pointer.

Parameters
variablePtrvariable pointer
variableStatementvariable statement
subStatementoptional sub statement the variable is read in
createReferenceoptional flag for creating variable references
Returns
variable

Definition at line 5000 of file MinitScript.h.

◆ unsetVariable() [2/2]

void unsetVariable ( const string &  variableStatement,
const SubStatement subStatement = nullptr 
)
inline

Unsets variable determined by given variable statement.

Parameters
variableStatementvariable statement
subStatementoptional sub statement the variable is read in

Definition at line 5025 of file MinitScript.h.

◆ setConstant() [2/2]

void setConstant ( const string &  variableStatement,
const Variable variable 
)
inline

Set constant by given variable statement and variable.

Parameters
variableStatementvariable statement
variablevariable

Definition at line 5060 of file MinitScript.h.

◆ setVariable() [1/2]

void setVariable ( const string &  variableStatement,
const Variable variable,
const SubStatement subStatement = nullptr,
bool  createReference = false 
)
inline

Set variable by given variable statement and variable.

Parameters
variableStatementvariable statement
variablevariable
subStatementoptional sub statement the variable is written in
createReferenceoptional flag for creating variable references

Definition at line 5073 of file MinitScript.h.

◆ setVariable() [2/2]

void setVariable ( Variable variablePtr,
const string &  variableStatement,
const Variable variable,
const SubStatement subStatement = nullptr,
bool  createReference = false 
)
inline

Set variable by given variable pointer, variable statement and variable.

Parameters
variablePtrvariable pointer
variableStatementvariable statement
variablevariable
subStatementoptional sub statement the variable is written in
createReferenceoptional flag for creating variable references

Definition at line 5130 of file MinitScript.h.

◆ parseScript()

void parseScript ( const string &  pathName,
const string &  fileName,
bool  nativeOnly = false 
)

Parse script.

Parameters
pathNamepath name
fileNamefile name
nativeOnlynative only

Definition at line 2658 of file MinitScript.cpp.

◆ startScript()

void startScript ( )
virtual

Start script.

Definition at line 2820 of file MinitScript.cpp.

◆ hasCondition()

bool hasCondition ( const string &  condition)
inline

Check if condition with given name exists.

Parameters
conditioncondition
Returns
condition with given name exists

Definition at line 5173 of file MinitScript.h.

◆ emit()

void emit ( const string &  condition)
virtual

Emit.

Parameters
conditioncondition

Definition at line 1562 of file MinitScript.cpp.

◆ execute()

void execute ( )
virtual

Execute.

Definition at line 1647 of file MinitScript.cpp.

◆ getFunctionScriptIdx()

int getFunctionScriptIdx ( const string &  function)
inline

Return function script index by function name.

Parameters
functionfunction
Returns
function script index

Definition at line 5204 of file MinitScript.h.

◆ call() [3/4]

bool call ( int  scriptIdx,
span< Variable > &  arguments,
Variable returnValue 
)
inline

Call function.

Parameters
scriptIdxscript index
argumentsargument values
returnValuereturn value
Returns
success

Definition at line 5223 of file MinitScript.h.

◆ call() [4/4]

bool call ( const string &  function,
span< Variable > &  arguments,
Variable returnValue 
)
inline

Call function.

Parameters
functionfunction
argumentsargument values
returnValuereturn value
Returns
success

Definition at line 5234 of file MinitScript.h.

◆ callStacklet() [1/2]

bool callStacklet ( int  scriptIdx,
span< Variable > &  arguments,
Variable returnValue 
)
inline

Call stacklet.

Parameters
scriptIdxscript index
argumentsargument values
returnValuereturn value
Returns
success

Definition at line 5245 of file MinitScript.h.

◆ callStacklet() [2/2]

bool callStacklet ( const string &  stacklet,
span< Variable > &  arguments,
Variable returnValue 
)
inline

Call stacklet.

Parameters
stackletstacklet
argumentsargument values
returnValuereturn value
Returns
success

Definition at line 5256 of file MinitScript.h.

◆ evaluate()

bool evaluate ( const string &  evaluateStatement,
Variable returnValue 
)
inline

Evaluate statement.

Parameters
evaluateStatementevaluate statement
returnValuereturn value
Returns
success

Definition at line 5266 of file MinitScript.h.

◆ isRunning()

bool isRunning ( )
inline
Returns
is running

Definition at line 5280 of file MinitScript.h.

◆ getMethod()

Method* getMethod ( const string &  methodName)
inline

Get method by method name.

Parameters
methodNamemethod name
Returns
method or nullptr

Definition at line 5289 of file MinitScript.h.

◆ getMethods()

const vector< MinitScript::Method * > getMethods ( )
Returns
methods

Definition at line 3664 of file MinitScript.cpp.

◆ getOperatorMethod()

Method* getOperatorMethod ( Operator  operator_)
inline

Get method by operator.

Parameters
operator_operator
Returns
method or nullptr

Definition at line 5308 of file MinitScript.h.

◆ getOperatorMethods()

const vector< MinitScript::Method * > getOperatorMethods ( )
Returns
operator methods

Definition at line 3722 of file MinitScript.cpp.

◆ getScriptInformation()

const string getScriptInformation ( int  scriptIdx,
bool  includeStatements = true 
)

Get script information for a specific script index.

Parameters
scriptIdxscript index
includeStatementsinclude statements
Returns
information as string

Definition at line 3730 of file MinitScript.cpp.

◆ getInformation()

const string getInformation ( )

Get MinitScript instance information.

Returns
information as string

Definition at line 3812 of file MinitScript.cpp.

Friends And Related Function Documentation

◆ ApplicationMethods

friend class ApplicationMethods
friend

Definition at line 69 of file MinitScript.h.

◆ BaseMethods

friend class BaseMethods
friend

Definition at line 70 of file MinitScript.h.

◆ JSONMethods

friend class JSONMethods
friend

Definition at line 71 of file MinitScript.h.

◆ MathMethods

friend class MathMethods
friend

Definition at line 72 of file MinitScript.h.

◆ ScriptMethods

friend class ScriptMethods
friend

Definition at line 73 of file MinitScript.h.

◆ Transpiler

friend class Transpiler
friend

Definition at line 74 of file MinitScript.h.

Member Data Documentation

◆ SCRIPTIDX_NONE

constexpr int SCRIPTIDX_NONE { -1 }
staticconstexpr

Definition at line 2988 of file MinitScript.h.

◆ LINE_NONE

constexpr int LINE_NONE { -1 }
staticconstexpr

Definition at line 2989 of file MinitScript.h.

◆ STATEMENTIDX_NONE

constexpr int STATEMENTIDX_NONE { -1 }
staticconstexpr

Definition at line 2990 of file MinitScript.h.

◆ STATEMENTIDX_FIRST

constexpr int STATEMENTIDX_FIRST { 0 }
staticconstexpr

Definition at line 2991 of file MinitScript.h.

◆ ARGUMENTIDX_NONE

constexpr int ARGUMENTIDX_NONE { -1 }
staticconstexpr

Definition at line 2992 of file MinitScript.h.

◆ METHOD_SCRIPTCALL

const string METHOD_SCRIPTCALL = "script.call"
static

Definition at line 2994 of file MinitScript.h.

◆ METHOD_SCRIPTCALLSTACKLET

const string METHOD_SCRIPTCALLSTACKLET = "script.callStacklet"
static

Definition at line 2995 of file MinitScript.h.

◆ METHOD_SCRIPTCALLBYINDEX

const string METHOD_SCRIPTCALLBYINDEX = "script.callByIndex"
static

Definition at line 2996 of file MinitScript.h.

◆ METHOD_SCRIPTCALLSTACKLETBYINDEX

const string METHOD_SCRIPTCALLSTACKLETBYINDEX = "script.callStackletByIndex"
static

Definition at line 2997 of file MinitScript.h.

◆ METHOD_ENABLENAMEDCONDITION

const string METHOD_ENABLENAMEDCONDITION = "script.enableNamedCondition"
static

Definition at line 2998 of file MinitScript.h.

◆ METHOD_DISABLENAMEDCONDITION

const string METHOD_DISABLENAMEDCONDITION = "script.disableNamedCondition"
static

Definition at line 2999 of file MinitScript.h.

◆ SETACCESSBOOL_NONE

constexpr int SETACCESSBOOL_NONE { -1 }
staticconstexprprotected

Definition at line 3048 of file MinitScript.h.

◆ SETACCESSBOOL_TRUE

constexpr int SETACCESSBOOL_TRUE { 0 }
staticconstexprprotected

Definition at line 3049 of file MinitScript.h.

◆ SETACCESSBOOL_FALSE

constexpr int SETACCESSBOOL_FALSE { 1 }
staticconstexprprotected

Definition at line 3050 of file MinitScript.h.

◆ ARRAYIDX_NONE

constexpr int ARRAYIDX_NONE { -1 }
staticconstexprprotected

Definition at line 3051 of file MinitScript.h.

◆ ARRAYIDX_ADD

constexpr int ARRAYIDX_ADD { -2 }
staticconstexprprotected

Definition at line 3052 of file MinitScript.h.

◆ ARRAYIDX_FIRST

constexpr int ARRAYIDX_FIRST { 0 }
staticconstexprprotected

Definition at line 3053 of file MinitScript.h.

◆ STATE_NONE

constexpr int STATE_NONE { -1 }
staticconstexprprotected

Definition at line 3054 of file MinitScript.h.

◆ OPERATORIDX_NONE

constexpr int OPERATORIDX_NONE { -1 }
staticconstexprprotected

Definition at line 3055 of file MinitScript.h.

◆ LINE_FIRST

constexpr int LINE_FIRST { 1 }
staticconstexprprotected

Definition at line 3056 of file MinitScript.h.

◆ TIME_NONE

constexpr int64_t TIME_NONE { -1LL }
staticconstexprprotected

Definition at line 3057 of file MinitScript.h.

◆ native

bool native
protected

Definition at line 3116 of file MinitScript.h.

◆ context

_Context* context { nullptr }
protected

Definition at line 3117 of file MinitScript.h.

◆ library

_Library* library { nullptr }
protected

Definition at line 3118 of file MinitScript.h.

◆ scripts

vector<Script> scripts
protected

Definition at line 3119 of file MinitScript.h.

◆ nativeHash

string nativeHash
protected

Definition at line 3120 of file MinitScript.h.

◆ nativeScripts

vector<Script> nativeScripts
protected

Definition at line 3121 of file MinitScript.h.

◆ scriptStateStack

vector<unique_ptr<ScriptState> > scriptStateStack
protected

Definition at line 3122 of file MinitScript.h.

◆ enabledNamedConditions

vector<string> enabledNamedConditions
protected

Definition at line 3125 of file MinitScript.h.

◆ timeEnabledConditionsCheckLast

int64_t timeEnabledConditionsCheckLast { TIME_NONE }
protected

Definition at line 3126 of file MinitScript.h.

◆ parseErrors

vector<string> parseErrors
protected

Definition at line 3128 of file MinitScript.h.

◆ deferredInlineScriptCodes

vector<pair<int, string> > deferredInlineScriptCodes
protected

Definition at line 3129 of file MinitScript.h.

◆ inlineFunctionIdx

int inlineFunctionIdx { 0 }
protected

Definition at line 3131 of file MinitScript.h.

◆ inlineStackletIdx

int inlineStackletIdx { 0 }
protected

Definition at line 3132 of file MinitScript.h.

◆ minitScriptMath

unique_ptr<MathMethods> minitScriptMath
protected

Definition at line 3134 of file MinitScript.h.

◆ errorSubStatement

SubStatement errorSubStatement
protected

Definition at line 3136 of file MinitScript.h.

◆ errorMessage

string errorMessage
protected

Definition at line 3137 of file MinitScript.h.

◆ deferredEmit

string deferredEmit
protected

Definition at line 3139 of file MinitScript.h.

◆ emitted

bool emitted { false }
protected

Definition at line 3140 of file MinitScript.h.

◆ VERBOSE

constexpr bool VERBOSE { false }
staticconstexprprivate

Definition at line 3495 of file MinitScript.h.

◆ VALIDATION

constexpr bool VALIDATION { false }
staticconstexprprivate

Definition at line 3496 of file MinitScript.h.

◆ GARBAGE_COLLECTION_INTERVAL

constexpr int64_t GARBAGE_COLLECTION_INTERVAL { 1000ll }
staticconstexprprivate

Definition at line 3497 of file MinitScript.h.

◆ OPERATOR_CHARS

const string OPERATOR_CHARS = "+-!~/%<>=&^|"
staticprivate

Definition at line 3522 of file MinitScript.h.

◆ dataTypes

vector< MinitScript::DataType * > dataTypes
staticprivate

Definition at line 3523 of file MinitScript.h.

◆ shutdownRAII

MinitScript::ShutdownRAII shutdownRAII
staticprivate

Definition at line 3524 of file MinitScript.h.

◆ dataTypesGCTime

int64_t dataTypesGCTime { -1ll }
private

Definition at line 3527 of file MinitScript.h.

◆ functions

unordered_map<string, int> functions
private

Definition at line 3531 of file MinitScript.h.

◆ methods

unordered_map<string, Method*> methods
private

Definition at line 3533 of file MinitScript.h.

◆ stateMachineStates

unordered_map<int, StateMachineState*> stateMachineStates
private

Definition at line 3535 of file MinitScript.h.

◆ operators

unordered_map<uint8_t, Method*> operators
private

Definition at line 3537 of file MinitScript.h.

◆ scriptPathName

string scriptPathName
private

Definition at line 3539 of file MinitScript.h.

◆ scriptFileName

string scriptFileName
private

Definition at line 3540 of file MinitScript.h.

◆ scriptValid

bool scriptValid { false }
private

Definition at line 3542 of file MinitScript.h.

◆ garbageCollectionDataTypes

vector<GarbageCollectionDataType> garbageCollectionDataTypes
private

Definition at line 3566 of file MinitScript.h.

◆ garbageCollectionScriptContextsByDataType

unordered_map<VariableType, DataType::ScriptContext*> garbageCollectionScriptContextsByDataType
private

Definition at line 3567 of file MinitScript.h.

◆ garbageCollectionDataTypesIndices

unordered_set<int> garbageCollectionDataTypesIndices
private

Definition at line 3568 of file MinitScript.h.


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