95 aeCompilerImplementationError
147 [[nodiscard]]
const IdInfo*
getInfo(
const std::string& name)
const override;
173 void destroyObject(
bool& should_delete)
override
175 should_delete =
false;
188 void Clear(ScriptObject*
object)
194 explicit operator bool()
const
196 return _info && _object;
199 const IdInfo* _info{
nullptr};
201 ScriptObject* _object{
nullptr};
212 void getNumber(Value& d);
217 bool getName(std::string& name);
222 bool getParameter(Value& result);
227 bool arith(Value& result, DataCode& left);
232 bool partial(Value& result);
238 bool operator_(Value& result, DataCode& left);
251 EArithError _errorValue{aeSuccess};
255 std::string _errorReason;
259 static IdInfo _idInfo[];
Simple script engine able.
Definition ScriptEngine.h:13
virtual strings getInfoNames() const
Gets names of info structures in lines.
bool setError(EArithError error_value, const std::string &reason=std::string())
Sets the error value for this instance.
const char * getErrorText(EArithError error_value=EArithError::aeCurrent) const
bool getSetValue(const IdInfo *info, Value *value, Value::vector_type *params, bool flag_set) override
Gets and sets a value using a returned Info structure.
bool isAlpha(char ch)
Determines if the passed character is an alpha one.
virtual strings getIdentifiers(EIdentifier id) const
Gets a list of available identifiers.
EArithError getError() const
Gets the error value of this instance.
Definition ScriptEngine.h:106
EArithError
Errors when compiling a script.
Definition ScriptEngine.h:24
@ aeNotObject
Definition ScriptEngine.h:92
@ aeUnexpectedEnd
Definition ScriptEngine.h:33
@ aeExpectedRightParenthesis
Definition ScriptEngine.h:40
@ aeScriptTimeout
Definition ScriptEngine.h:86
@ aeExpectedIdentifier
Definition ScriptEngine.h:48
@ aeExpectedDelimiter
Definition ScriptEngine.h:44
@ aeMaxIdentifierLength
Definition ScriptEngine.h:66
@ aeNotLValue
Definition ScriptEngine.h:90
@ aeUnknownObjectMember
Definition ScriptEngine.h:61
@ aeLabelNotFound
Definition ScriptEngine.h:80
@ aeExpectedLeftParenthesis
Definition ScriptEngine.h:42
@ aeExpectedFunction
Definition ScriptEngine.h:46
@ aeIpStack
Definition ScriptEngine.h:82
@ aeTooManyParameters
Definition ScriptEngine.h:69
@ aeUnknownConstant
Definition ScriptEngine.h:53
@ aeUnknownSymbol
Definition ScriptEngine.h:57
@ aeTooFewParameters
Definition ScriptEngine.h:71
@ aeAssignConstant
Definition ScriptEngine.h:64
@ aeUnknownVariable
Definition ScriptEngine.h:55
@ aeDivisionByZero
Definition ScriptEngine.h:78
@ aeFunctionError
Definition ScriptEngine.h:88
@ aeStringTooLong
Definition ScriptEngine.h:30
@ aeUnknownFunction
Definition ScriptEngine.h:51
@ aeMultipleDeclaration
Definition ScriptEngine.h:74
@ aeUnexpectedIdentifier
Definition ScriptEngine.h:37
@ aeUnknownIdentifier
Definition ScriptEngine.h:59
@ aeUnexpectedKeyword
Definition ScriptEngine.h:76
@ aeExternalKeyword
Definition ScriptEngine.h:84
@ aeUnexpectedCharacter
Definition ScriptEngine.h:35
std::string getErrorReason() const
Gets the associated error reason string.
const IdInfo * getInfo(const std::string &name) const override
Functions to be overloaded in derived classes to add functions, parameters, constants and keywords.
pos_type getPos() const
Gets the current position.
Definition ScriptEngine.h:131
ScriptEngine()
Default constructor.
bool calculate(const std::string &script, Value &result)
Calculates the passed script.
Info structure for objects used in scripts.
Definition ScriptObject.h:14
EIdentifier
Keyword identifiers.
Definition ScriptObject.h:41
std::string::size_type pos_type
Source position type.
Definition ScriptObject.h:32
Counted vector of strings.
Definition TStrings.h:12
Counted vector having additional methods and operators for ease of usage.
Definition TVector.h:25
Value container class able to performing arithmetic functions.
Definition Value.h:19
double flt_type
Type used internally for storing floating point value.
Definition Value.h:28
#define _MISC_FUNC
Definition misc/global.h:39
#define _MISC_CLASS
Definition misc/global.h:40
Definition Application.h:10
_MISC_FUNC Value calculator(const std::string &script, const Value &def)
Calculator function that converts a formula of the passed string to a #sf::Value.
Used to create static lookup lists.
Definition ScriptObject.h:60