|
dl
|
dl脚本语言 更多...
#include <vector>#include <list>#include <unordered_map>#include <functional>#include <string>#include <cassert>#include <stack>#include <variant>#include <array>#include <cstdint>类 | |
| struct | dl::ScriptVar |
| 变量(大小严格控制) 更多... | |
| struct | dl::ScriptToken |
| struct | dl::ScriptExprToken |
| 表达式token(指向真实变量) 更多... | |
| struct | dl::ScriptExpr |
| 后缀表达式 更多... | |
| class | dl::ScriptVarSpace |
| 变量空间 更多... | |
| struct | dl::ScriptSegment |
| 代码段(包含单独作用域) 更多... | |
| struct | dl::ScriptBlock |
| 代码块 更多... | |
| struct | dl::ScriptControlIf |
| 控制语句 更多... | |
| struct | dl::ScriptControlIfElse |
| struct | dl::ScriptControlElse |
| struct | dl::ScriptControlFor |
| struct | dl::ScriptControlWhile |
| struct | dl::ScriptSegmentRT |
| 代码段运行时 更多... | |
| class | dl::ScriptVM |
| 虚拟机 更多... | |
| class | dl::ScriptSystem |
| 管理器 更多... | |
命名空间 | |
| namespace | dl |
类型定义 | |
| using | dl::ScriptIndex = uint32_t |
| using | dl::ScriptInt = int64_t |
| using | dl::ScriptFloat = double |
| using | dl::ScriptString = std::string |
| using | dl::ScriptIndexVS = uint8_t |
| using | dl::ScriptVector = std::vector<ScriptVar> |
| using | dl::ScriptTable = std::unordered_map<std::string, ScriptVar> |
| using | dl::ScriptParam = ScriptVector |
| using | dl::ScriptFunction = std::function<int(ScriptVM&, const ScriptParam&)> |
枚举 | |
| enum class | dl::ScriptVarType : ScriptIndex { dl::E_null , dl::E_int , dl::E_float , dl::E_string , dl::E_class , dl::E_vector , dl::E_table , dl::E_function , dl::E_userdata , dl::E_operator , dl::E_max } |
| 变量类型(用户层面) 更多... | |
| enum class | dl::ScriptOperator : ScriptIndex { dl::E_assign , dl::E_add , dl::E_sub , dl::E_mul , dl::E_div , dl::E_comma , dl::E_equal , dl::E_error } |
| 操作类型 更多... | |
| enum class | dl::ScriptExprTokenType { dl::ESET_variable , dl::ESET_literal , dl::ESET_operator } |
| 表达式token类型 更多... | |
| enum class | dl::ScriptSegmentType : ScriptIndex { dl::E_expr , dl::E_if , dl::E_ifelse , dl::E_else , dl::E_while , dl::E_for , dl::E_vector , dl::E_table } |
函数 | |
| bool | dl::IsBaseType (ScriptVarType type) |
| 是基础类型 | |
| std::string_view | dl::to_string (ScriptOperator op) |
| bool | dl::operator== (const ScriptVar &a, const ScriptVar &b) |
| std::string_view | dl::to_string (ScriptToken::Type type) |
| std::string | dl::to_string (const ScriptExpr &expr) |
变量 | |
| constexpr ScriptIndex | dl::SCRIPT_INDEX_RETURN = (ScriptIndex)-1 |
| constexpr ScriptIndexVS | dl::SCRIPT_INDEX_VS_0 = 0 |
| constexpr ScriptIndexVS | dl::SCRIPT_INDEX_VS_ITERAL = (ScriptIndexVS)-3 |
| constexpr ScriptIndexVS | dl::SCRIPT_INDEX_VS_TEMP = (ScriptIndexVS)-2 |
| constexpr ScriptIndexVS | dl::SCRIPT_INDEX_VS_ERROR = (ScriptIndexVS)-1 |
| ScriptSystem * | dl::g_script |