Files
dl/document/html/dl__script_8h_source.html
T
2026-09-16 14:07:40 +08:00

836 lines
171 KiB
HTML
Vendored
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="zh">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.13.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>dl: D:/dl/dl/script/dl_script.h 源文件</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">dl
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- 制作者 Doxygen 1.13.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',false,false,'search.php','搜索',false);
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){ initResizable(false); });
/* @license-end */
</script>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_17297ffb27ce571941f5fb5008f01a1f.html">dl</a></li><li class="navelem"><a class="el" href="dir_ae580b0790a39e094811340565521cb8.html">script</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div class="header">
<div class="headertitle"><div class="title">dl_script.h</div></div>
</div><!--header-->
<div class="contents">
<a href="dl__script_8h.html">浏览该文件的文档.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span></div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="preprocessor">#pragma once</span></div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span> </div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="preprocessor">#include &lt;vector&gt;</span></div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="preprocessor">#include &lt;list&gt;</span></div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="preprocessor">#include &lt;unordered_map&gt;</span></div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="preprocessor">#include &lt;functional&gt;</span></div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="preprocessor">#include &lt;string&gt;</span></div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span><span class="preprocessor">#include &lt;cassert&gt;</span></div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="preprocessor">#include &lt;stack&gt;</span></div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="preprocessor">#include &lt;variant&gt;</span></div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="preprocessor">#include &lt;array&gt;</span></div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="preprocessor">#include &lt;cstdint&gt;</span></div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span> </div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacedl.html">dl</a></div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span>{</div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"><a class="line" href="namespacedl.html#a6de3ad5a1245ffe81d39e050902ee98b"> 27</a></span> <span class="keyword">using </span><a class="code hl_typedef" href="namespacedl.html#a6de3ad5a1245ffe81d39e050902ee98b">ScriptIndex</a> = uint32_t;</div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"><a class="line" href="namespacedl.html#ac027a12d05d876aa0db3a14564450d2b"> 28</a></span> <span class="keyword">using </span><a class="code hl_typedef" href="namespacedl.html#ac027a12d05d876aa0db3a14564450d2b">ScriptInt</a> = int64_t;</div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"><a class="line" href="namespacedl.html#ad804a446a41108221e3850405afe7954"> 29</a></span> <span class="keyword">using </span><a class="code hl_typedef" href="namespacedl.html#ad804a446a41108221e3850405afe7954">ScriptFloat</a> = double;</div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"><a class="line" href="namespacedl.html#aaccd3dab55940551cb4a3e44284ea6c3"> 30</a></span> <span class="keyword">using </span><a class="code hl_typedef" href="namespacedl.html#aaccd3dab55940551cb4a3e44284ea6c3">ScriptString</a> = std::string;</div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"><a class="line" href="namespacedl.html#aec578e9733caaed075b1e53492b0b1b7"> 31</a></span> <span class="keyword">using </span><a class="code hl_typedef" href="namespacedl.html#aec578e9733caaed075b1e53492b0b1b7">ScriptIndexVS</a> = uint8_t; <span class="comment">// 变量空间下标</span></div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> </div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> <span class="keyword">struct </span><a class="code hl_struct" href="structdl_1_1_script_var.html">ScriptVar</a>;</div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> <span class="keyword">class </span><a class="code hl_class" href="classdl_1_1_script_v_m.html">ScriptVM</a>;</div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> </div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"><a class="line" href="namespacedl.html#a72144ccfbb73a57c830ab4d089a0345e"> 36</a></span> <span class="keyword">using </span><a class="code hl_typedef" href="namespacedl.html#a72144ccfbb73a57c830ab4d089a0345e">ScriptVector</a> = std::vector&lt;ScriptVar&gt;;</div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"><a class="line" href="namespacedl.html#a1ae02ec403925c6368e4341d7fa0783c"> 37</a></span> <span class="keyword">using </span><a class="code hl_typedef" href="namespacedl.html#a1ae02ec403925c6368e4341d7fa0783c">ScriptTable</a> = std::unordered_map&lt;std::string, ScriptVar&gt;;</div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"><a class="line" href="namespacedl.html#aaf305bca15222b3c5b8dfb56001d8abe"> 38</a></span> <span class="keyword">using </span><a class="code hl_typedef" href="namespacedl.html#aaf305bca15222b3c5b8dfb56001d8abe">ScriptParam</a> = <a class="code hl_typedef" href="namespacedl.html#a72144ccfbb73a57c830ab4d089a0345e">ScriptVector</a>;</div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"><a class="line" href="namespacedl.html#a3ff1821cbbcf49ae26a3a29316daec06"> 39</a></span> <span class="keyword">using </span><a class="code hl_typedef" href="namespacedl.html#a3ff1821cbbcf49ae26a3a29316daec06">ScriptFunction</a> = std::function&lt;int(<a class="code hl_class" href="classdl_1_1_script_v_m.html">ScriptVM</a>&amp;, <span class="keyword">const</span> <a class="code hl_typedef" href="namespacedl.html#aaf305bca15222b3c5b8dfb56001d8abe">ScriptParam</a>&amp;)&gt;;</div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> </div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"><a class="line" href="namespacedl.html#acf0cf4356f52c9a312b3344ae6a4d447"> 41</a></span> <span class="keyword">constexpr</span> <a class="code hl_typedef" href="namespacedl.html#a6de3ad5a1245ffe81d39e050902ee98b">ScriptIndex</a> <a class="code hl_variable" href="namespacedl.html#acf0cf4356f52c9a312b3344ae6a4d447">SCRIPT_INDEX_RETURN</a> = (<a class="code hl_typedef" href="namespacedl.html#a6de3ad5a1245ffe81d39e050902ee98b">ScriptIndex</a>)-1; <span class="comment">// 返回值</span></div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"><a class="line" href="namespacedl.html#a1e97d02c80232f8b44f20640e1e29b39"> 42</a></span> <span class="keyword">constexpr</span> <a class="code hl_typedef" href="namespacedl.html#aec578e9733caaed075b1e53492b0b1b7">ScriptIndexVS</a> <a class="code hl_variable" href="namespacedl.html#a1e97d02c80232f8b44f20640e1e29b39">SCRIPT_INDEX_VS_0</a> = 0; <span class="comment">// 全局空间</span></div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"><a class="line" href="namespacedl.html#a4600080ff638c6e9eb3151da0b0c75ff"> 43</a></span> <span class="keyword">constexpr</span> <a class="code hl_typedef" href="namespacedl.html#aec578e9733caaed075b1e53492b0b1b7">ScriptIndexVS</a> <a class="code hl_variable" href="namespacedl.html#a4600080ff638c6e9eb3151da0b0c75ff">SCRIPT_INDEX_VS_ITERAL</a> = (<a class="code hl_typedef" href="namespacedl.html#aec578e9733caaed075b1e53492b0b1b7">ScriptIndexVS</a>)-3; <span class="comment">// 字面量</span></div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"><a class="line" href="namespacedl.html#aeb58d05d6f4b535c06843872834f650c"> 44</a></span> <span class="keyword">constexpr</span> <a class="code hl_typedef" href="namespacedl.html#aec578e9733caaed075b1e53492b0b1b7">ScriptIndexVS</a> <a class="code hl_variable" href="namespacedl.html#aeb58d05d6f4b535c06843872834f650c">SCRIPT_INDEX_VS_TEMP</a> = (<a class="code hl_typedef" href="namespacedl.html#aec578e9733caaed075b1e53492b0b1b7">ScriptIndexVS</a>)-2; <span class="comment">// 临时变量</span></div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"><a class="line" href="namespacedl.html#a4cf31ca6e4d6a5a249562b93cd59267e"> 45</a></span> <span class="keyword">constexpr</span> <a class="code hl_typedef" href="namespacedl.html#aec578e9733caaed075b1e53492b0b1b7">ScriptIndexVS</a> <a class="code hl_variable" href="namespacedl.html#a4cf31ca6e4d6a5a249562b93cd59267e">SCRIPT_INDEX_VS_ERROR</a> = (<a class="code hl_typedef" href="namespacedl.html#aec578e9733caaed075b1e53492b0b1b7">ScriptIndexVS</a>)-1; <span class="comment">// 初始变量</span></div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span></div>
<div class="foldopen" id="foldopen00048" data-start="{" data-end="};">
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"><a class="line" href="namespacedl.html#a7b63f561250e9914489dc27952752030"> 48</a></span> <span class="keyword">enum class</span> <a class="code hl_enumeration" href="namespacedl.html#a7b63f561250e9914489dc27952752030">ScriptVarType</a> : <a class="code hl_typedef" href="namespacedl.html#a6de3ad5a1245ffe81d39e050902ee98b">ScriptIndex</a></div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> {</div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"><a class="line" href="namespacedl.html#a7b63f561250e9914489dc27952752030a8cf8a004b96038aaae383d3887d541f5"> 50</a></span> <a class="code hl_enumvalue" href="namespacedl.html#a7b63f561250e9914489dc27952752030a8cf8a004b96038aaae383d3887d541f5">E_null</a>, <span class="comment">// 空</span></div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"><a class="line" href="namespacedl.html#a7b63f561250e9914489dc27952752030a570036829dce56fc7b0af6b8638bd50c"> 51</a></span> <a class="code hl_enumvalue" href="namespacedl.html#a7b63f561250e9914489dc27952752030a570036829dce56fc7b0af6b8638bd50c">E_int</a>, <span class="comment">// 整数</span></div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"><a class="line" href="namespacedl.html#a7b63f561250e9914489dc27952752030ae9e6ba75fba415d206d4c6aee953ee5f"> 52</a></span> <a class="code hl_enumvalue" href="namespacedl.html#a7b63f561250e9914489dc27952752030ae9e6ba75fba415d206d4c6aee953ee5f">E_float</a>, <span class="comment">// 浮点</span></div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"><a class="line" href="namespacedl.html#a7b63f561250e9914489dc27952752030a7773b4d6041ae7917060a8316643e470"> 53</a></span> <a class="code hl_enumvalue" href="namespacedl.html#a7b63f561250e9914489dc27952752030a7773b4d6041ae7917060a8316643e470">E_string</a>, <span class="comment">// 字符串</span></div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"><a class="line" href="namespacedl.html#a7b63f561250e9914489dc27952752030a291fe7c7aac86a222e35f23fbcf718aa"> 54</a></span> <a class="code hl_enumvalue" href="namespacedl.html#a7b63f561250e9914489dc27952752030a291fe7c7aac86a222e35f23fbcf718aa">E_class</a>, <span class="comment">// 类</span></div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"><a class="line" href="namespacedl.html#a7b63f561250e9914489dc27952752030a252a16d98974cd124b96803509298cc0"> 55</a></span> <a class="code hl_enumvalue" href="namespacedl.html#a7b63f561250e9914489dc27952752030a252a16d98974cd124b96803509298cc0">E_vector</a>, <span class="comment">// 数组</span></div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"><a class="line" href="namespacedl.html#a7b63f561250e9914489dc27952752030a7a486519b2d8b3920af6883658b388cc"> 56</a></span> <a class="code hl_enumvalue" href="namespacedl.html#a7b63f561250e9914489dc27952752030a7a486519b2d8b3920af6883658b388cc">E_table</a>, <span class="comment">// 表</span></div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"><a class="line" href="namespacedl.html#a7b63f561250e9914489dc27952752030aefd8a3b54a394bc67e8c1991f9acd675"> 57</a></span> <a class="code hl_enumvalue" href="namespacedl.html#a7b63f561250e9914489dc27952752030aefd8a3b54a394bc67e8c1991f9acd675">E_function</a>, <span class="comment">// 函数</span></div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"><a class="line" href="namespacedl.html#a7b63f561250e9914489dc27952752030a2bc81816e053010b9ff50890cd21d3fd"> 58</a></span> <a class="code hl_enumvalue" href="namespacedl.html#a7b63f561250e9914489dc27952752030a2bc81816e053010b9ff50890cd21d3fd">E_userdata</a>, <span class="comment">// 指针</span></div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"><a class="line" href="namespacedl.html#a7b63f561250e9914489dc27952752030afe39efd9a8469cf43e7c4ce6d3e80275"> 59</a></span> <a class="code hl_enumvalue" href="namespacedl.html#a7b63f561250e9914489dc27952752030afe39efd9a8469cf43e7c4ce6d3e80275">E_operator</a>, <span class="comment">// 操作符</span></div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"><a class="line" href="namespacedl.html#a7b63f561250e9914489dc27952752030a20cfdf78b21f74735008df734acc9e8c"> 60</a></span> <a class="code hl_enumvalue" href="namespacedl.html#a7b63f561250e9914489dc27952752030a20cfdf78b21f74735008df734acc9e8c">E_max</a></div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> };</div>
</div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span></div>
<div class="foldopen" id="foldopen00063" data-start="{" data-end="}">
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"><a class="line" href="namespacedl.html#aab02d57fd75a901932fcf758d0a7ee0c"> 63</a></span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="namespacedl.html#aab02d57fd75a901932fcf758d0a7ee0c">IsBaseType</a>(<a class="code hl_enumeration" href="namespacedl.html#a7b63f561250e9914489dc27952752030">ScriptVarType</a> type)</div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> {</div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> <span class="keywordflow">return</span> type == <a class="code hl_enumvalue" href="namespacedl.html#a7b63f561250e9914489dc27952752030a8cf8a004b96038aaae383d3887d541f5">ScriptVarType::E_null</a></div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> || type == <a class="code hl_enumvalue" href="namespacedl.html#a7b63f561250e9914489dc27952752030a570036829dce56fc7b0af6b8638bd50c">ScriptVarType::E_int</a></div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> || type == <a class="code hl_enumvalue" href="namespacedl.html#a7b63f561250e9914489dc27952752030ae9e6ba75fba415d206d4c6aee953ee5f">ScriptVarType::E_float</a></div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> || type == <a class="code hl_enumvalue" href="namespacedl.html#a7b63f561250e9914489dc27952752030a2bc81816e053010b9ff50890cd21d3fd">ScriptVarType::E_userdata</a></div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> || type == <a class="code hl_enumvalue" href="namespacedl.html#a7b63f561250e9914489dc27952752030afe39efd9a8469cf43e7c4ce6d3e80275">ScriptVarType::E_operator</a>;</div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> }</div>
</div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span></div>
<div class="foldopen" id="foldopen00073" data-start="{" data-end="};">
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"><a class="line" href="namespacedl.html#ab8b15fc53d965fc6abd2c1ce971ee0dd"> 73</a></span> <span class="keyword">enum class</span> <a class="code hl_enumeration" href="namespacedl.html#ab8b15fc53d965fc6abd2c1ce971ee0dd">ScriptOperator</a> : <a class="code hl_typedef" href="namespacedl.html#a6de3ad5a1245ffe81d39e050902ee98b">ScriptIndex</a></div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> {</div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"><a class="line" href="namespacedl.html#ab8b15fc53d965fc6abd2c1ce971ee0dda010d87185d3d18fb41c98fdf4f1461e7"> 75</a></span> <a class="code hl_enumvalue" href="namespacedl.html#ab8b15fc53d965fc6abd2c1ce971ee0dda010d87185d3d18fb41c98fdf4f1461e7">E_assign</a>, <span class="comment">// 赋值</span></div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"><a class="line" href="namespacedl.html#ab8b15fc53d965fc6abd2c1ce971ee0dda2d1ac3d1e06ac512f937aa0d4d64b273"> 76</a></span> <a class="code hl_enumvalue" href="namespacedl.html#ab8b15fc53d965fc6abd2c1ce971ee0dda2d1ac3d1e06ac512f937aa0d4d64b273">E_add</a>, <span class="comment">// </span></div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"><a class="line" href="namespacedl.html#ab8b15fc53d965fc6abd2c1ce971ee0dda16154b1b6da1220ef39c914257ca11ab"> 77</a></span> <a class="code hl_enumvalue" href="namespacedl.html#ab8b15fc53d965fc6abd2c1ce971ee0dda16154b1b6da1220ef39c914257ca11ab">E_sub</a>,</div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"><a class="line" href="namespacedl.html#ab8b15fc53d965fc6abd2c1ce971ee0dda5c1d59947856b1f093fd965c0f20cbcc"> 78</a></span> <a class="code hl_enumvalue" href="namespacedl.html#ab8b15fc53d965fc6abd2c1ce971ee0dda5c1d59947856b1f093fd965c0f20cbcc">E_mul</a>,</div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"><a class="line" href="namespacedl.html#ab8b15fc53d965fc6abd2c1ce971ee0ddaef302e4f7ea09efbff85f6aafac412e2"> 79</a></span> <a class="code hl_enumvalue" href="namespacedl.html#ab8b15fc53d965fc6abd2c1ce971ee0ddaef302e4f7ea09efbff85f6aafac412e2">E_div</a>, </div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"><a class="line" href="namespacedl.html#ab8b15fc53d965fc6abd2c1ce971ee0dda8aaba8fd60227ad2359dac42392e8e8b"> 80</a></span> <a class="code hl_enumvalue" href="namespacedl.html#ab8b15fc53d965fc6abd2c1ce971ee0dda8aaba8fd60227ad2359dac42392e8e8b">E_comma</a>, <span class="comment">// 逗号,视为 push_back</span></div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"><a class="line" href="namespacedl.html#ab8b15fc53d965fc6abd2c1ce971ee0ddaa338ca800fa583c5e9ac4ec54e92bc37"> 81</a></span> <a class="code hl_enumvalue" href="namespacedl.html#ab8b15fc53d965fc6abd2c1ce971ee0ddaa338ca800fa583c5e9ac4ec54e92bc37">E_equal</a>, <span class="comment">// ==</span></div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"><a class="line" href="namespacedl.html#ab8b15fc53d965fc6abd2c1ce971ee0ddac0d98617873d622f6d03d947167409c3"> 82</a></span> <a class="code hl_enumvalue" href="namespacedl.html#ab8b15fc53d965fc6abd2c1ce971ee0ddac0d98617873d622f6d03d947167409c3">E_error</a></div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span> };</div>
</div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"><a class="line" href="namespacedl.html#ab975fa80c5999a941bf75baaace669ef"> 84</a></span> std::string_view <a class="code hl_function" href="namespacedl.html#a6f4574f20ba2fefb1005b23a92fab372">to_string</a>(<a class="code hl_enumeration" href="namespacedl.html#ab8b15fc53d965fc6abd2c1ce971ee0dd">ScriptOperator</a> op);</div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span></div>
<div class="foldopen" id="foldopen00087" data-start="{" data-end="};">
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"><a class="line" href="structdl_1_1_script_var.html"> 87</a></span> <span class="keyword">struct </span><a class="code hl_function" href="structdl_1_1_script_var.html#a0af78debe8dc10d0754ec8f537bb587a">ScriptVar</a></div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> {</div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"><a class="line" href="structdl_1_1_script_var.html#ad74923cb34a25b7bbf40b66f8072d608"> 89</a></span> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code hl_friend" href="structdl_1_1_script_var.html#ad74923cb34a25b7bbf40b66f8072d608">ScriptVarSpace</a>;</div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> <span class="keyword">friend</span> <span class="keywordtype">bool</span> <a class="code hl_friend" href="structdl_1_1_script_var.html#a77e1d8bdd6774ae3f909233c2112a731">operator==</a>(<span class="keyword">const</span> <a class="code hl_function" href="structdl_1_1_script_var.html#a0af78debe8dc10d0754ec8f537bb587a">ScriptVar</a>&amp; a, <span class="keyword">const</span> <a class="code hl_function" href="structdl_1_1_script_var.html#a0af78debe8dc10d0754ec8f537bb587a">ScriptVar</a>&amp; b);</div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> <span class="keyword">public</span>:</div>
<div class="foldopen" id="foldopen00092" data-start="{" data-end="}">
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"><a class="line" href="structdl_1_1_script_var.html#a0af78debe8dc10d0754ec8f537bb587a"> 92</a></span> <a class="code hl_function" href="structdl_1_1_script_var.html#a0af78debe8dc10d0754ec8f537bb587a">ScriptVar</a>()</div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> {</div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> _type = <a class="code hl_enumvalue" href="namespacedl.html#a7b63f561250e9914489dc27952752030a8cf8a004b96038aaae383d3887d541f5">ScriptVarType::E_null</a>;</div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> _indexVarSpace = <a class="code hl_variable" href="namespacedl.html#a4cf31ca6e4d6a5a249562b93cd59267e">SCRIPT_INDEX_VS_ERROR</a>;</div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> _value = 0;</div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> }</div>
</div>
<div class="foldopen" id="foldopen00098" data-start="{" data-end="}">
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"><a class="line" href="structdl_1_1_script_var.html#a5f94133d21bbe4bb2c13d58a805cd4b7"> 98</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="structdl_1_1_script_var.html#a5f94133d21bbe4bb2c13d58a805cd4b7">FromInt</a>(<a class="code hl_typedef" href="namespacedl.html#ac027a12d05d876aa0db3a14564450d2b">ScriptInt</a> v)</div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> {</div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span> assert(_indexVarSpace != <a class="code hl_variable" href="namespacedl.html#a4600080ff638c6e9eb3151da0b0c75ff">SCRIPT_INDEX_VS_ITERAL</a>);</div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span> _type = <a class="code hl_enumvalue" href="namespacedl.html#a7b63f561250e9914489dc27952752030a570036829dce56fc7b0af6b8638bd50c">ScriptVarType::E_int</a>;</div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> *(<a class="code hl_typedef" href="namespacedl.html#ac027a12d05d876aa0db3a14564450d2b">ScriptInt</a>*)&amp;_value = *(<a class="code hl_typedef" href="namespacedl.html#ac027a12d05d876aa0db3a14564450d2b">ScriptInt</a>*)&amp;v;</div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span> }</div>
</div>
<div class="foldopen" id="foldopen00104" data-start="{" data-end="}">
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"><a class="line" href="structdl_1_1_script_var.html#a66d2a96aab8268b6c469bd501e02e5c8"> 104</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="structdl_1_1_script_var.html#a66d2a96aab8268b6c469bd501e02e5c8">FromFloat</a>(<a class="code hl_typedef" href="namespacedl.html#ad804a446a41108221e3850405afe7954">ScriptFloat</a> v)</div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span> {</div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> assert(_indexVarSpace != <a class="code hl_variable" href="namespacedl.html#a4600080ff638c6e9eb3151da0b0c75ff">SCRIPT_INDEX_VS_ITERAL</a>);</div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span> _type = <a class="code hl_enumvalue" href="namespacedl.html#a7b63f561250e9914489dc27952752030ae9e6ba75fba415d206d4c6aee953ee5f">ScriptVarType::E_float</a>;</div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> *(<a class="code hl_typedef" href="namespacedl.html#ad804a446a41108221e3850405afe7954">ScriptFloat</a>*)&amp;_value = *(<a class="code hl_typedef" href="namespacedl.html#ad804a446a41108221e3850405afe7954">ScriptFloat</a>*)&amp;v;</div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> }</div>
</div>
<div class="foldopen" id="foldopen00110" data-start="{" data-end="}">
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"><a class="line" href="structdl_1_1_script_var.html#ab02e18f887011909dd6fb436e8837c06"> 110</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="structdl_1_1_script_var.html#ab02e18f887011909dd6fb436e8837c06">FromOperator</a>(<a class="code hl_enumeration" href="namespacedl.html#ab8b15fc53d965fc6abd2c1ce971ee0dd">ScriptOperator</a> v)</div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> {</div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span> assert(_indexVarSpace != <a class="code hl_variable" href="namespacedl.html#a4600080ff638c6e9eb3151da0b0c75ff">SCRIPT_INDEX_VS_ITERAL</a>);</div>
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span> _type = <a class="code hl_enumvalue" href="namespacedl.html#a7b63f561250e9914489dc27952752030afe39efd9a8469cf43e7c4ce6d3e80275">ScriptVarType::E_operator</a>;</div>
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span> *(<a class="code hl_enumeration" href="namespacedl.html#ab8b15fc53d965fc6abd2c1ce971ee0dd">ScriptOperator</a>*)&amp;_value = *(<a class="code hl_enumeration" href="namespacedl.html#ab8b15fc53d965fc6abd2c1ce971ee0dd">ScriptOperator</a>*)&amp;v;</div>
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span> }</div>
</div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span> </div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span> </div>
<div class="foldopen" id="foldopen00118" data-start="{" data-end="}">
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"><a class="line" href="structdl_1_1_script_var.html#a95e2f9ff1a51e5c694efc89975c07c59"> 118</a></span> <a class="code hl_typedef" href="namespacedl.html#ac027a12d05d876aa0db3a14564450d2b">ScriptInt</a> <a class="code hl_function" href="structdl_1_1_script_var.html#a95e2f9ff1a51e5c694efc89975c07c59">ToInt</a>()<span class="keyword"> const</span></div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span><span class="keyword"> </span>{</div>
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> assert(_type == <a class="code hl_enumvalue" href="namespacedl.html#a7b63f561250e9914489dc27952752030a570036829dce56fc7b0af6b8638bd50c">ScriptVarType::E_int</a>);</div>
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span> <span class="keywordflow">return</span> (<a class="code hl_typedef" href="namespacedl.html#ac027a12d05d876aa0db3a14564450d2b">ScriptInt</a>)_value;</div>
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span> }</div>
</div>
<div class="foldopen" id="foldopen00123" data-start="{" data-end="}">
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"><a class="line" href="structdl_1_1_script_var.html#a5c0b2ac667abfe4f91b716261a675ebb"> 123</a></span> <a class="code hl_typedef" href="namespacedl.html#ad804a446a41108221e3850405afe7954">ScriptFloat</a> <a class="code hl_function" href="structdl_1_1_script_var.html#a5c0b2ac667abfe4f91b716261a675ebb">ToFloat</a>()<span class="keyword"> const</span></div>
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span><span class="keyword"> </span>{</div>
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span> assert(_type == <a class="code hl_enumvalue" href="namespacedl.html#a7b63f561250e9914489dc27952752030ae9e6ba75fba415d206d4c6aee953ee5f">ScriptVarType::E_float</a>);</div>
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span> <span class="keywordflow">return</span> (<a class="code hl_typedef" href="namespacedl.html#ad804a446a41108221e3850405afe7954">ScriptFloat</a>)_value;</div>
<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span> }</div>
</div>
<div class="foldopen" id="foldopen00128" data-start="{" data-end="}">
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"><a class="line" href="structdl_1_1_script_var.html#a6b488d890ba3f8fa4700afdc8738f4d1"> 128</a></span> <a class="code hl_enumeration" href="namespacedl.html#ab8b15fc53d965fc6abd2c1ce971ee0dd">ScriptOperator</a> <a class="code hl_function" href="structdl_1_1_script_var.html#a6b488d890ba3f8fa4700afdc8738f4d1">ToOperator</a>()<span class="keyword"> const</span></div>
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span><span class="keyword"> </span>{</div>
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span> assert(_type == <a class="code hl_enumvalue" href="namespacedl.html#a7b63f561250e9914489dc27952752030afe39efd9a8469cf43e7c4ce6d3e80275">ScriptVarType::E_operator</a>);</div>
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span> <span class="keywordflow">return</span> (<a class="code hl_enumeration" href="namespacedl.html#ab8b15fc53d965fc6abd2c1ce971ee0dd">ScriptOperator</a>)_value;</div>
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span> }</div>
</div>
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span> </div>
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"><a class="line" href="structdl_1_1_script_var.html#a54ae5adbe15278981057751f8a488c7b"> 134</a></span> <a class="code hl_enumeration" href="namespacedl.html#a7b63f561250e9914489dc27952752030">ScriptVarType</a> <a class="code hl_function" href="structdl_1_1_script_var.html#a54ae5adbe15278981057751f8a488c7b">GetType</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> _type; }</div>
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"><a class="line" href="structdl_1_1_script_var.html#a4b19b11dd867820153a9a7d5e3267a35"> 135</a></span> std::string_view <a class="code hl_function" href="structdl_1_1_script_var.html#a4b19b11dd867820153a9a7d5e3267a35">GetTypeString</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span> </div>
<div class="foldopen" id="foldopen00137" data-start="{" data-end="}">
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"><a class="line" href="structdl_1_1_script_var.html#a7597dfd2a375093fce9a40c4019edc1a"> 137</a></span> uint64_t <a class="code hl_function" href="structdl_1_1_script_var.html#a7597dfd2a375093fce9a40c4019edc1a">GetValue</a>()<span class="keyword"> const </span></div>
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span><span class="keyword"> </span>{ </div>
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span> assert(<a class="code hl_function" href="namespacedl.html#aab02d57fd75a901932fcf758d0a7ee0c">IsBaseType</a>(_type));</div>
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span> <span class="keywordflow">return</span> _value;</div>
<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span> }</div>
</div>
<div class="foldopen" id="foldopen00142" data-start="{" data-end="}">
<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"><a class="line" href="structdl_1_1_script_var.html#a893a1c835644c30729062b685d592a8e"> 142</a></span> uint64_t <a class="code hl_function" href="structdl_1_1_script_var.html#a893a1c835644c30729062b685d592a8e">GetIndex</a>()<span class="keyword"> const</span></div>
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span><span class="keyword"> </span>{</div>
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span> assert(!<a class="code hl_function" href="namespacedl.html#aab02d57fd75a901932fcf758d0a7ee0c">IsBaseType</a>(_type));</div>
<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span> <span class="keywordflow">return</span> _value;</div>
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</span> }</div>
</div>
<div class="foldopen" id="foldopen00147" data-start="{" data-end="}">
<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"><a class="line" href="structdl_1_1_script_var.html#a6d2890d354763890df48a060601ce94f"> 147</a></span> <a class="code hl_typedef" href="namespacedl.html#aec578e9733caaed075b1e53492b0b1b7">ScriptIndexVS</a> <a class="code hl_function" href="structdl_1_1_script_var.html#a6d2890d354763890df48a060601ce94f">GetSpaceIndex</a>()<span class="keyword"> const</span></div>
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span><span class="keyword"> </span>{</div>
<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span> <span class="keywordflow">return</span> _indexVarSpace;</div>
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span> }</div>
</div>
<div class="foldopen" id="foldopen00151" data-start="{" data-end="}">
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"><a class="line" href="structdl_1_1_script_var.html#ac25854572efaa41ec2052fb83f93cb58"> 151</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="structdl_1_1_script_var.html#ac25854572efaa41ec2052fb83f93cb58">SetValue</a>(uint64_t v)</div>
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span> {</div>
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span> assert(<a class="code hl_function" href="namespacedl.html#aab02d57fd75a901932fcf758d0a7ee0c">IsBaseType</a>(_type));</div>
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span> assert(_indexVarSpace != <a class="code hl_variable" href="namespacedl.html#a4600080ff638c6e9eb3151da0b0c75ff">SCRIPT_INDEX_VS_ITERAL</a>);</div>
<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span> _value = v;</div>
<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span> }</div>
</div>
<div class="foldopen" id="foldopen00157" data-start="{" data-end="}">
<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"><a class="line" href="structdl_1_1_script_var.html#a3a9016968dee1ffcaaeefd745a0dd10b"> 157</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="structdl_1_1_script_var.html#a3a9016968dee1ffcaaeefd745a0dd10b">SetType</a>(<a class="code hl_enumeration" href="namespacedl.html#a7b63f561250e9914489dc27952752030">ScriptVarType</a> type)</div>
<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span> {</div>
<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span> assert(_type == <a class="code hl_enumvalue" href="namespacedl.html#a7b63f561250e9914489dc27952752030a8cf8a004b96038aaae383d3887d541f5">ScriptVarType::E_null</a>);</div>
<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span> _type = type;</div>
<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span> }</div>
</div>
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span> </div>
<div class="foldopen" id="foldopen00163" data-start="{" data-end="}">
<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"><a class="line" href="structdl_1_1_script_var.html#a19d0872580cad7b3d28026b426b014e5"> 163</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="structdl_1_1_script_var.html#a19d0872580cad7b3d28026b426b014e5">_set_space_index</a>(<a class="code hl_typedef" href="namespacedl.html#aec578e9733caaed075b1e53492b0b1b7">ScriptIndexVS</a> index)</div>
<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span> {</div>
<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span> _indexVarSpace = index;</div>
<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"> 166</span> }</div>
</div>
<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"> 167</span> </div>
<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"> 168</span> <span class="keyword">private</span>:</div>
<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"> 169</span> <a class="code hl_enumeration" href="namespacedl.html#a7b63f561250e9914489dc27952752030">ScriptVarType</a> _type;</div>
<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"> 170</span> <a class="code hl_typedef" href="namespacedl.html#aec578e9733caaed075b1e53492b0b1b7">ScriptIndexVS</a> _indexVarSpace; <span class="comment">// 所在变量空间(基础类型需要释放,也需要标记)</span></div>
<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"> 171</span> uint64_t _value; <span class="comment">// 基础类型直接存储(或变量下标)</span></div>
<div class="line"><a id="l00172" name="l00172"></a><span class="lineno"> 172</span> };</div>
</div>
<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"> 173</span> </div>
<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"> 174</span> </div>
<div class="foldopen" id="foldopen00175" data-start="{" data-end="}">
<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"><a class="line" href="structdl_1_1_script_var.html#a77e1d8bdd6774ae3f909233c2112a731"> 175</a></span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="namespacedl.html#af3e1bac4c4762dbf4ce249cc6185557b">operator==</a>(<span class="keyword">const</span> <a class="code hl_function" href="structdl_1_1_script_var.html#a0af78debe8dc10d0754ec8f537bb587a">ScriptVar</a>&amp; a, <span class="keyword">const</span> <a class="code hl_function" href="structdl_1_1_script_var.html#a0af78debe8dc10d0754ec8f537bb587a">ScriptVar</a>&amp; b)</div>
<div class="line"><a id="l00176" name="l00176"></a><span class="lineno"> 176</span> {</div>
<div class="line"><a id="l00177" name="l00177"></a><span class="lineno"> 177</span> <span class="keywordflow">return</span> a._type == b._type</div>
<div class="line"><a id="l00178" name="l00178"></a><span class="lineno"> 178</span> &amp;&amp; a._indexVarSpace == b._indexVarSpace</div>
<div class="line"><a id="l00179" name="l00179"></a><span class="lineno"> 179</span> &amp;&amp; a._value == b._value;</div>
<div class="line"><a id="l00180" name="l00180"></a><span class="lineno"> 180</span> }</div>
</div>
<div class="line"><a id="l00181" name="l00181"></a><span class="lineno"> 181</span> </div>
<div class="line"><a id="l00182" name="l00182"></a><span class="lineno"> 182</span> <span class="comment">// 初步token(文本解析)</span></div>
<div class="foldopen" id="foldopen00183" data-start="{" data-end="};">
<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"><a class="line" href="structdl_1_1_script_token.html"> 183</a></span> <span class="keyword">struct </span><a class="code hl_function" href="structdl_1_1_script_token.html#a155b4d9065fc538e11708dccd8c27937">ScriptToken</a></div>
<div class="line"><a id="l00184" name="l00184"></a><span class="lineno"> 184</span> {</div>
<div class="foldopen" id="foldopen00185" data-start="{" data-end="};">
<div class="line"><a id="l00185" name="l00185"></a><span class="lineno"><a class="line" href="structdl_1_1_script_token.html#a1f40cfa882e40bdf66447f2af6a477ed"> 185</a></span> <span class="keyword">enum</span> <a class="code hl_enumeration" href="structdl_1_1_script_token.html#a1f40cfa882e40bdf66447f2af6a477ed">Type</a></div>
<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"> 186</span> {</div>
<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"><a class="line" href="structdl_1_1_script_token.html#a1f40cfa882e40bdf66447f2af6a477edaeeffb69c0410d04b3821469e74129f49"> 187</a></span> <a class="code hl_enumvalue" href="structdl_1_1_script_token.html#a1f40cfa882e40bdf66447f2af6a477edaeeffb69c0410d04b3821469e74129f49">NORMAL</a>,</div>
<div class="line"><a id="l00188" name="l00188"></a><span class="lineno"><a class="line" href="structdl_1_1_script_token.html#a1f40cfa882e40bdf66447f2af6a477eda05796b830d359b28ed6b3bf2342d9f35"> 188</a></span> <a class="code hl_enumvalue" href="structdl_1_1_script_token.html#a1f40cfa882e40bdf66447f2af6a477eda05796b830d359b28ed6b3bf2342d9f35">STRING</a>,</div>
<div class="line"><a id="l00189" name="l00189"></a><span class="lineno"><a class="line" href="structdl_1_1_script_token.html#a1f40cfa882e40bdf66447f2af6a477edac42898576b443dc04da0c5b043f5d69e"> 189</a></span> <a class="code hl_enumvalue" href="structdl_1_1_script_token.html#a1f40cfa882e40bdf66447f2af6a477edac42898576b443dc04da0c5b043f5d69e">OPERATOR</a>,<span class="comment">// 操作符</span></div>
<div class="line"><a id="l00190" name="l00190"></a><span class="lineno"> 190</span> };</div>
</div>
<div class="foldopen" id="foldopen00191" data-start="{" data-end="}">
<div class="line"><a id="l00191" name="l00191"></a><span class="lineno"><a class="line" href="structdl_1_1_script_token.html#a155b4d9065fc538e11708dccd8c27937"> 191</a></span> <a class="code hl_function" href="structdl_1_1_script_token.html#a155b4d9065fc538e11708dccd8c27937">ScriptToken</a>() :</div>
<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"> 192</span> <a class="code hl_variable" href="structdl_1_1_script_token.html#afbbb72117461007af0f5fc74294b22ed">_type</a>{ <a class="code hl_enumeration" href="structdl_1_1_script_token.html#a1f40cfa882e40bdf66447f2af6a477ed">Type</a>::<a class="code hl_enumvalue" href="structdl_1_1_script_token.html#a1f40cfa882e40bdf66447f2af6a477edaeeffb69c0410d04b3821469e74129f49">NORMAL</a> }</div>
<div class="line"><a id="l00193" name="l00193"></a><span class="lineno"> 193</span> {}</div>
</div>
<div class="foldopen" id="foldopen00194" data-start="{" data-end="}">
<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"><a class="line" href="structdl_1_1_script_token.html#a8271af000a217e751a89a7a79bea0be1"> 194</a></span> <a class="code hl_function" href="structdl_1_1_script_token.html#a8271af000a217e751a89a7a79bea0be1">ScriptToken</a>(<a class="code hl_enumeration" href="structdl_1_1_script_token.html#a1f40cfa882e40bdf66447f2af6a477ed">Type</a> type, std::string_view str) :</div>
<div class="line"><a id="l00195" name="l00195"></a><span class="lineno"> 195</span> <a class="code hl_variable" href="structdl_1_1_script_token.html#afbbb72117461007af0f5fc74294b22ed">_type</a>{ type },</div>
<div class="line"><a id="l00196" name="l00196"></a><span class="lineno"> 196</span> <a class="code hl_variable" href="structdl_1_1_script_token.html#a55cb0f0708c84f4a66348646d2db428d">_str</a>{ std::string{str} }</div>
<div class="line"><a id="l00197" name="l00197"></a><span class="lineno"> 197</span> {}</div>
</div>
<div class="line"><a id="l00198" name="l00198"></a><span class="lineno"> 198</span> </div>
<div class="line"><a id="l00199" name="l00199"></a><span class="lineno"><a class="line" href="structdl_1_1_script_token.html#afbbb72117461007af0f5fc74294b22ed"> 199</a></span> <a class="code hl_enumeration" href="structdl_1_1_script_token.html#a1f40cfa882e40bdf66447f2af6a477ed">Type</a> <a class="code hl_variable" href="structdl_1_1_script_token.html#afbbb72117461007af0f5fc74294b22ed">_type</a>;</div>
<div class="line"><a id="l00200" name="l00200"></a><span class="lineno"><a class="line" href="structdl_1_1_script_token.html#a55cb0f0708c84f4a66348646d2db428d"> 200</a></span> std::string <a class="code hl_variable" href="structdl_1_1_script_token.html#a55cb0f0708c84f4a66348646d2db428d">_str</a>;</div>
<div class="line"><a id="l00201" name="l00201"></a><span class="lineno"> 201</span> };</div>
</div>
<div class="line"><a id="l00202" name="l00202"></a><span class="lineno"> 202</span> </div>
<div class="line"><a id="l00203" name="l00203"></a><span class="lineno"><a class="line" href="namespacedl.html#afcc5524af1274b0a075d93137e213990"> 203</a></span> std::string_view <a class="code hl_function" href="namespacedl.html#a6f4574f20ba2fefb1005b23a92fab372">to_string</a>(<a class="code hl_enumeration" href="structdl_1_1_script_token.html#a1f40cfa882e40bdf66447f2af6a477ed">ScriptToken::Type</a> type);</div>
<div class="line"><a id="l00204" name="l00204"></a><span class="lineno"> 204</span></div>
<div class="foldopen" id="foldopen00206" data-start="{" data-end="};">
<div class="line"><a id="l00206" name="l00206"></a><span class="lineno"><a class="line" href="namespacedl.html#a4c10aa959decc196466654f317ba7a25"> 206</a></span> <span class="keyword">enum class</span> <a class="code hl_enumeration" href="namespacedl.html#a4c10aa959decc196466654f317ba7a25">ScriptExprTokenType</a></div>
<div class="line"><a id="l00207" name="l00207"></a><span class="lineno"> 207</span> {</div>
<div class="line"><a id="l00208" name="l00208"></a><span class="lineno"><a class="line" href="namespacedl.html#a4c10aa959decc196466654f317ba7a25a6ea49dda1415d45879eed3e28a6ac0fa"> 208</a></span> <a class="code hl_enumvalue" href="namespacedl.html#a4c10aa959decc196466654f317ba7a25a6ea49dda1415d45879eed3e28a6ac0fa">ESET_variable</a>, <span class="comment">// 变量</span></div>
<div class="line"><a id="l00209" name="l00209"></a><span class="lineno"><a class="line" href="namespacedl.html#a4c10aa959decc196466654f317ba7a25ac0438c87a3278c4ec6e1e4b3dacdabba"> 209</a></span> <a class="code hl_enumvalue" href="namespacedl.html#a4c10aa959decc196466654f317ba7a25ac0438c87a3278c4ec6e1e4b3dacdabba">ESET_literal</a>, <span class="comment">// 字面量</span></div>
<div class="line"><a id="l00210" name="l00210"></a><span class="lineno"><a class="line" href="namespacedl.html#a4c10aa959decc196466654f317ba7a25a904858ce9e57fb257f59d1335bbb3965"> 210</a></span> <a class="code hl_enumvalue" href="namespacedl.html#a4c10aa959decc196466654f317ba7a25a904858ce9e57fb257f59d1335bbb3965">ESET_operator</a>, <span class="comment">// </span></div>
<div class="line"><a id="l00211" name="l00211"></a><span class="lineno"> 211</span> };</div>
</div>
<div class="line"><a id="l00212" name="l00212"></a><span class="lineno"> 212</span></div>
<div class="foldopen" id="foldopen00214" data-start="{" data-end="};">
<div class="line"><a id="l00214" name="l00214"></a><span class="lineno"><a class="line" href="structdl_1_1_script_expr_token.html"> 214</a></span> <span class="keyword">struct </span><a class="code hl_struct" href="structdl_1_1_script_expr_token.html">ScriptExprToken</a></div>
<div class="line"><a id="l00215" name="l00215"></a><span class="lineno"> 215</span> {</div>
<div class="line"><a id="l00216" name="l00216"></a><span class="lineno"><a class="line" href="structdl_1_1_script_expr_token.html#a1473a58f1268f693324691515c722460"> 216</a></span> <a class="code hl_enumeration" href="namespacedl.html#a4c10aa959decc196466654f317ba7a25">ScriptExprTokenType</a> <a class="code hl_variable" href="structdl_1_1_script_expr_token.html#a1473a58f1268f693324691515c722460">_type</a>; <span class="comment">// 类别</span></div>
<div class="line"><a id="l00217" name="l00217"></a><span class="lineno"><a class="line" href="structdl_1_1_script_expr_token.html#adec996ac19ec1d0b84787a40b2f886a3"> 217</a></span> std::string <a class="code hl_variable" href="structdl_1_1_script_expr_token.html#adec996ac19ec1d0b84787a40b2f886a3">_name</a>; <span class="comment">// 字符串内容(变量使用)</span></div>
<div class="line"><a id="l00218" name="l00218"></a><span class="lineno"><a class="line" href="structdl_1_1_script_expr_token.html#af0a07dcf7c6b16df066cf1fa8ac3c3c3"> 218</a></span> <a class="code hl_struct" href="structdl_1_1_script_var.html">ScriptVar</a> <a class="code hl_variable" href="structdl_1_1_script_expr_token.html#af0a07dcf7c6b16df066cf1fa8ac3c3c3">_value</a>; <span class="comment">// 值(表达式用、字面量)</span></div>
<div class="line"><a id="l00219" name="l00219"></a><span class="lineno"> 219</span> </div>
<div class="foldopen" id="foldopen00220" data-start="{" data-end="}">
<div class="line"><a id="l00220" name="l00220"></a><span class="lineno"><a class="line" href="structdl_1_1_script_expr_token.html#a14cd08e048c92bba43d5a0a173719b5e"> 220</a></span> std::string <a class="code hl_function" href="structdl_1_1_script_expr_token.html#a14cd08e048c92bba43d5a0a173719b5e">GetTypeString</a>()<span class="keyword"> const</span></div>
<div class="line"><a id="l00221" name="l00221"></a><span class="lineno"> 221</span><span class="keyword"> </span>{</div>
<div class="line"><a id="l00222" name="l00222"></a><span class="lineno"> 222</span> <span class="keywordflow">return</span> <span class="stringliteral">&quot;expr_token&quot;</span>;</div>
<div class="line"><a id="l00223" name="l00223"></a><span class="lineno"> 223</span> }</div>
</div>
<div class="line"><a id="l00224" name="l00224"></a><span class="lineno"> 224</span> };</div>
</div>
<div class="line"><a id="l00225" name="l00225"></a><span class="lineno"> 225</span></div>
<div class="foldopen" id="foldopen00227" data-start="{" data-end="};">
<div class="line"><a id="l00227" name="l00227"></a><span class="lineno"><a class="line" href="structdl_1_1_script_expr.html"> 227</a></span> <span class="keyword">struct </span><a class="code hl_struct" href="structdl_1_1_script_expr.html">ScriptExpr</a></div>
<div class="line"><a id="l00228" name="l00228"></a><span class="lineno"> 228</span> {</div>
<div class="line"><a id="l00229" name="l00229"></a><span class="lineno"><a class="line" href="structdl_1_1_script_expr.html#a47ffb04f450beabbc5886c1602eb54fe"> 229</a></span> std::vector&lt;ScriptExprToken&gt; <a class="code hl_variable" href="structdl_1_1_script_expr.html#a47ffb04f450beabbc5886c1602eb54fe">_allToken</a>; </div>
<div class="line"><a id="l00230" name="l00230"></a><span class="lineno"><a class="line" href="structdl_1_1_script_expr.html#aaed3d2037e02742090ce92af04372c3c"> 230</a></span> <span class="keywordtype">size_t</span> <a class="code hl_variable" href="structdl_1_1_script_expr.html#aaed3d2037e02742090ce92af04372c3c">_lineNumber</a>; <span class="comment">// 行号(0开始)</span></div>
<div class="line"><a id="l00231" name="l00231"></a><span class="lineno"><a class="line" href="structdl_1_1_script_expr.html#a5af1760783d4a1e2de7547094798d6df"> 231</a></span> std::string <a class="code hl_variable" href="structdl_1_1_script_expr.html#a5af1760783d4a1e2de7547094798d6df">_strRaw</a>;<span class="comment">// 源代码,调试用</span></div>
<div class="line"><a id="l00232" name="l00232"></a><span class="lineno"> 232</span> };</div>
</div>
<div class="line"><a id="l00233" name="l00233"></a><span class="lineno"> 233</span> </div>
<div class="foldopen" id="foldopen00234" data-start="{" data-end="}">
<div class="line"><a id="l00234" name="l00234"></a><span class="lineno"><a class="line" href="namespacedl.html#a9e9907f223afcf0ac550abea63fec1ae"> 234</a></span> <span class="keyword">inline</span> std::string <a class="code hl_function" href="namespacedl.html#a6f4574f20ba2fefb1005b23a92fab372">to_string</a>(<span class="keyword">const</span> <a class="code hl_struct" href="structdl_1_1_script_expr.html">ScriptExpr</a>&amp; expr)</div>
<div class="line"><a id="l00235" name="l00235"></a><span class="lineno"> 235</span> {</div>
<div class="line"><a id="l00236" name="l00236"></a><span class="lineno"> 236</span> <span class="keywordflow">if</span> (expr.<a class="code hl_variable" href="structdl_1_1_script_expr.html#a47ffb04f450beabbc5886c1602eb54fe">_allToken</a>.empty())</div>
<div class="line"><a id="l00237" name="l00237"></a><span class="lineno"> 237</span> <span class="keywordflow">return</span> {};</div>
<div class="line"><a id="l00238" name="l00238"></a><span class="lineno"> 238</span> std::string ret;</div>
<div class="line"><a id="l00239" name="l00239"></a><span class="lineno"> 239</span> <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0; i &lt; expr.<a class="code hl_variable" href="structdl_1_1_script_expr.html#a47ffb04f450beabbc5886c1602eb54fe">_allToken</a>.size() - 1; ++i)</div>
<div class="line"><a id="l00240" name="l00240"></a><span class="lineno"> 240</span> {</div>
<div class="line"><a id="l00241" name="l00241"></a><span class="lineno"> 241</span> ret += expr.<a class="code hl_variable" href="structdl_1_1_script_expr.html#a47ffb04f450beabbc5886c1602eb54fe">_allToken</a>[i]._name;</div>
<div class="line"><a id="l00242" name="l00242"></a><span class="lineno"> 242</span> ret += <span class="charliteral">&#39; &#39;</span>;</div>
<div class="line"><a id="l00243" name="l00243"></a><span class="lineno"> 243</span> }</div>
<div class="line"><a id="l00244" name="l00244"></a><span class="lineno"> 244</span> ret += expr.<a class="code hl_variable" href="structdl_1_1_script_expr.html#a47ffb04f450beabbc5886c1602eb54fe">_allToken</a>[expr.<a class="code hl_variable" href="structdl_1_1_script_expr.html#a47ffb04f450beabbc5886c1602eb54fe">_allToken</a>.size() - 1]._name;</div>
<div class="line"><a id="l00245" name="l00245"></a><span class="lineno"> 245</span> <span class="keywordflow">return</span> ret;</div>
<div class="line"><a id="l00246" name="l00246"></a><span class="lineno"> 246</span> }</div>
</div>
<div class="line"><a id="l00247" name="l00247"></a><span class="lineno"> 247</span></div>
<div class="foldopen" id="foldopen00249" data-start="{" data-end="};">
<div class="line"><a id="l00249" name="l00249"></a><span class="lineno"><a class="line" href="classdl_1_1_script_var_space.html"> 249</a></span> <span class="keyword">class </span><a class="code hl_function" href="classdl_1_1_script_var_space.html#af8f8ff73867573bcd80f5a36a85ba26d">ScriptVarSpace</a></div>
<div class="line"><a id="l00250" name="l00250"></a><span class="lineno"> 250</span> {</div>
<div class="line"><a id="l00251" name="l00251"></a><span class="lineno"> 251</span> <span class="keyword">public</span>:</div>
<div class="foldopen" id="foldopen00252" data-start="{" data-end="}">
<div class="line"><a id="l00252" name="l00252"></a><span class="lineno"><a class="line" href="classdl_1_1_script_var_space.html#af8f8ff73867573bcd80f5a36a85ba26d"> 252</a></span> <a class="code hl_function" href="classdl_1_1_script_var_space.html#af8f8ff73867573bcd80f5a36a85ba26d">ScriptVarSpace</a>(<a class="code hl_typedef" href="namespacedl.html#aec578e9733caaed075b1e53492b0b1b7">ScriptIndexVS</a> index, <span class="keywordtype">size_t</span> level) :</div>
<div class="line"><a id="l00253" name="l00253"></a><span class="lineno"> 253</span> _index{ index },</div>
<div class="line"><a id="l00254" name="l00254"></a><span class="lineno"> 254</span> _level{ level }</div>
<div class="line"><a id="l00255" name="l00255"></a><span class="lineno"> 255</span> {}</div>
</div>
<div class="line"><a id="l00256" name="l00256"></a><span class="lineno"><a class="line" href="classdl_1_1_script_var_space.html#acf13751f393ea4b89de2950c01b8a1c6"> 256</a></span> <a class="code hl_typedef" href="namespacedl.html#aec578e9733caaed075b1e53492b0b1b7">ScriptIndexVS</a> <a class="code hl_function" href="classdl_1_1_script_var_space.html#acf13751f393ea4b89de2950c01b8a1c6">GetIndex</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> _index; }</div>
<div class="line"><a id="l00257" name="l00257"></a><span class="lineno"><a class="line" href="classdl_1_1_script_var_space.html#aff10d7441112f394fcde9ba9bf983f7b"> 257</a></span> <span class="keywordtype">size_t</span> <a class="code hl_function" href="classdl_1_1_script_var_space.html#aff10d7441112f394fcde9ba9bf983f7b">GetLevel</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> _level; }</div>
<div class="line"><a id="l00258" name="l00258"></a><span class="lineno"> 258</span> </div>
<div class="foldopen" id="foldopen00259" data-start="{" data-end="}">
<div class="line"><a id="l00259" name="l00259"></a><span class="lineno"><a class="line" href="classdl_1_1_script_var_space.html#ab33f54b4d33c8295ee50a767de1d92c2"> 259</a></span> <a class="code hl_struct" href="structdl_1_1_script_var.html">ScriptVar</a> <a class="code hl_function" href="classdl_1_1_script_var_space.html#ab33f54b4d33c8295ee50a767de1d92c2">AddString</a>(std::string_view v)</div>
<div class="line"><a id="l00260" name="l00260"></a><span class="lineno"> 260</span> {</div>
<div class="line"><a id="l00261" name="l00261"></a><span class="lineno"> 261</span> <a class="code hl_struct" href="structdl_1_1_script_var.html">ScriptVar</a> ret;</div>
<div class="line"><a id="l00262" name="l00262"></a><span class="lineno"> 262</span> ret._type = <a class="code hl_enumvalue" href="namespacedl.html#a7b63f561250e9914489dc27952752030a7773b4d6041ae7917060a8316643e470">ScriptVarType::E_string</a>;</div>
<div class="line"><a id="l00263" name="l00263"></a><span class="lineno"> 263</span> ret._indexVarSpace = _index;</div>
<div class="line"><a id="l00264" name="l00264"></a><span class="lineno"> 264</span> ret._value = _vecString.size();</div>
<div class="line"><a id="l00265" name="l00265"></a><span class="lineno"> 265</span> _vecString.push_back(std::string{ v });</div>
<div class="line"><a id="l00266" name="l00266"></a><span class="lineno"> 266</span> <span class="keywordflow">return</span> ret;</div>
<div class="line"><a id="l00267" name="l00267"></a><span class="lineno"> 267</span> }</div>
</div>
<div class="foldopen" id="foldopen00268" data-start="{" data-end="}">
<div class="line"><a id="l00268" name="l00268"></a><span class="lineno"><a class="line" href="classdl_1_1_script_var_space.html#a969b0a36c4763d97c6fd97316cfd8f55"> 268</a></span> <a class="code hl_struct" href="structdl_1_1_script_var.html">ScriptVar</a> <a class="code hl_function" href="classdl_1_1_script_var_space.html#a969b0a36c4763d97c6fd97316cfd8f55">AddFunction</a>(<a class="code hl_typedef" href="namespacedl.html#a3ff1821cbbcf49ae26a3a29316daec06">ScriptFunction</a> v)</div>
<div class="line"><a id="l00269" name="l00269"></a><span class="lineno"> 269</span> {</div>
<div class="line"><a id="l00270" name="l00270"></a><span class="lineno"> 270</span> <a class="code hl_struct" href="structdl_1_1_script_var.html">ScriptVar</a> ret;</div>
<div class="line"><a id="l00271" name="l00271"></a><span class="lineno"> 271</span> ret._type = <a class="code hl_enumvalue" href="namespacedl.html#a7b63f561250e9914489dc27952752030aefd8a3b54a394bc67e8c1991f9acd675">ScriptVarType::E_function</a>;</div>
<div class="line"><a id="l00272" name="l00272"></a><span class="lineno"> 272</span> ret._indexVarSpace = _index;</div>
<div class="line"><a id="l00273" name="l00273"></a><span class="lineno"> 273</span> ret._value = _vecFunction.size();</div>
<div class="line"><a id="l00274" name="l00274"></a><span class="lineno"> 274</span> _vecFunction.push_back(v);</div>
<div class="line"><a id="l00275" name="l00275"></a><span class="lineno"> 275</span> <span class="keywordflow">return</span> ret;</div>
<div class="line"><a id="l00276" name="l00276"></a><span class="lineno"> 276</span> }</div>
</div>
<div class="foldopen" id="foldopen00277" data-start="{" data-end="}">
<div class="line"><a id="l00277" name="l00277"></a><span class="lineno"><a class="line" href="classdl_1_1_script_var_space.html#ab3a83af69416296ad27ccfac0719e116"> 277</a></span> <a class="code hl_struct" href="structdl_1_1_script_var.html">ScriptVar</a> <a class="code hl_function" href="classdl_1_1_script_var_space.html#ab3a83af69416296ad27ccfac0719e116">AddVector</a>()</div>
<div class="line"><a id="l00278" name="l00278"></a><span class="lineno"> 278</span> {</div>
<div class="line"><a id="l00279" name="l00279"></a><span class="lineno"> 279</span> <a class="code hl_struct" href="structdl_1_1_script_var.html">ScriptVar</a> ret;</div>
<div class="line"><a id="l00280" name="l00280"></a><span class="lineno"> 280</span> ret._type = <a class="code hl_enumvalue" href="namespacedl.html#a7b63f561250e9914489dc27952752030a252a16d98974cd124b96803509298cc0">ScriptVarType::E_vector</a>;</div>
<div class="line"><a id="l00281" name="l00281"></a><span class="lineno"> 281</span> ret._indexVarSpace = _index;</div>
<div class="line"><a id="l00282" name="l00282"></a><span class="lineno"> 282</span> ret._value = _vecVector.size();</div>
<div class="line"><a id="l00283" name="l00283"></a><span class="lineno"> 283</span> _vecVector.push_back({});</div>
<div class="line"><a id="l00284" name="l00284"></a><span class="lineno"> 284</span> <span class="keywordflow">return</span> ret;</div>
<div class="line"><a id="l00285" name="l00285"></a><span class="lineno"> 285</span> }</div>
</div>
<div class="foldopen" id="foldopen00286" data-start="{" data-end="}">
<div class="line"><a id="l00286" name="l00286"></a><span class="lineno"><a class="line" href="classdl_1_1_script_var_space.html#a573f87d03643eb9eb19789453ca2789a"> 286</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classdl_1_1_script_var_space.html#a573f87d03643eb9eb19789453ca2789a">SetString</a>(<span class="keywordtype">size_t</span> i, <span class="keyword">const</span> <a class="code hl_typedef" href="namespacedl.html#aaccd3dab55940551cb4a3e44284ea6c3">ScriptString</a>&amp; str)</div>
<div class="line"><a id="l00287" name="l00287"></a><span class="lineno"> 287</span> {</div>
<div class="line"><a id="l00288" name="l00288"></a><span class="lineno"> 288</span> _vecString[i] = str;</div>
<div class="line"><a id="l00289" name="l00289"></a><span class="lineno"> 289</span> }</div>
</div>
<div class="foldopen" id="foldopen00290" data-start="{" data-end="}">
<div class="line"><a id="l00290" name="l00290"></a><span class="lineno"><a class="line" href="classdl_1_1_script_var_space.html#a6eb385a8e7a1ab41e1800e7503a86a70"> 290</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classdl_1_1_script_var_space.html#a6eb385a8e7a1ab41e1800e7503a86a70">SetVector</a>(<span class="keywordtype">size_t</span> i, <span class="keyword">const</span> <a class="code hl_typedef" href="namespacedl.html#a72144ccfbb73a57c830ab4d089a0345e">ScriptVector</a>&amp; vec)</div>
<div class="line"><a id="l00291" name="l00291"></a><span class="lineno"> 291</span> {</div>
<div class="line"><a id="l00292" name="l00292"></a><span class="lineno"> 292</span> _vecVector[i] = vec;</div>
<div class="line"><a id="l00293" name="l00293"></a><span class="lineno"> 293</span> }</div>
</div>
<div class="line"><a id="l00294" name="l00294"></a><span class="lineno"> 294</span> </div>
<div class="foldopen" id="foldopen00295" data-start="{" data-end="}">
<div class="line"><a id="l00295" name="l00295"></a><span class="lineno"><a class="line" href="classdl_1_1_script_var_space.html#a693f4c96be0b83819c7ee3ab0672366f"> 295</a></span> <span class="keyword">const</span> <a class="code hl_typedef" href="namespacedl.html#aaccd3dab55940551cb4a3e44284ea6c3">ScriptString</a>&amp; <a class="code hl_function" href="classdl_1_1_script_var_space.html#a693f4c96be0b83819c7ee3ab0672366f">GetString</a>(<span class="keywordtype">size_t</span> i)<span class="keyword"> const</span></div>
<div class="line"><a id="l00296" name="l00296"></a><span class="lineno"> 296</span><span class="keyword"> </span>{</div>
<div class="line"><a id="l00297" name="l00297"></a><span class="lineno"> 297</span> <span class="keywordflow">return</span> _vecString[i];</div>
<div class="line"><a id="l00298" name="l00298"></a><span class="lineno"> 298</span> }</div>
</div>
<div class="foldopen" id="foldopen00299" data-start="{" data-end="}">
<div class="line"><a id="l00299" name="l00299"></a><span class="lineno"><a class="line" href="classdl_1_1_script_var_space.html#a980524ec9ee1eb39ca2312e97282eb34"> 299</a></span> <span class="keyword">const</span> <a class="code hl_typedef" href="namespacedl.html#a3ff1821cbbcf49ae26a3a29316daec06">ScriptFunction</a>&amp; <a class="code hl_function" href="classdl_1_1_script_var_space.html#a980524ec9ee1eb39ca2312e97282eb34">GetFunction</a>(<span class="keywordtype">size_t</span> i)<span class="keyword"> const</span></div>
<div class="line"><a id="l00300" name="l00300"></a><span class="lineno"> 300</span><span class="keyword"> </span>{</div>
<div class="line"><a id="l00301" name="l00301"></a><span class="lineno"> 301</span> <span class="keywordflow">return</span> _vecFunction[i];</div>
<div class="line"><a id="l00302" name="l00302"></a><span class="lineno"> 302</span> }</div>
</div>
<div class="foldopen" id="foldopen00303" data-start="{" data-end="}">
<div class="line"><a id="l00303" name="l00303"></a><span class="lineno"><a class="line" href="classdl_1_1_script_var_space.html#a211d4061306e7a8e6066b0f61bca3ecd"> 303</a></span> <a class="code hl_typedef" href="namespacedl.html#a72144ccfbb73a57c830ab4d089a0345e">ScriptVector</a>&amp; <a class="code hl_function" href="classdl_1_1_script_var_space.html#a211d4061306e7a8e6066b0f61bca3ecd">GetVetorRef</a>(<span class="keywordtype">size_t</span> i)</div>
<div class="line"><a id="l00304" name="l00304"></a><span class="lineno"> 304</span> {</div>
<div class="line"><a id="l00305" name="l00305"></a><span class="lineno"> 305</span> <span class="keywordflow">return</span> _vecVector[i];</div>
<div class="line"><a id="l00306" name="l00306"></a><span class="lineno"> 306</span> }</div>
</div>
<div class="line"><a id="l00307" name="l00307"></a><span class="lineno"> 307</span> <span class="keyword">private</span>:</div>
<div class="line"><a id="l00308" name="l00308"></a><span class="lineno"> 308</span> <a class="code hl_typedef" href="namespacedl.html#aec578e9733caaed075b1e53492b0b1b7">ScriptIndexVS</a> _index; <span class="comment">// 自己下标 0全局变量</span></div>
<div class="line"><a id="l00309" name="l00309"></a><span class="lineno"> 309</span> <span class="keywordtype">size_t</span> _level;</div>
<div class="line"><a id="l00310" name="l00310"></a><span class="lineno"> 310</span> std::vector&lt;ScriptString&gt; _vecString;</div>
<div class="line"><a id="l00311" name="l00311"></a><span class="lineno"> 311</span> std::vector&lt;ScriptTable&gt; _vecClass;</div>
<div class="line"><a id="l00312" name="l00312"></a><span class="lineno"> 312</span> std::vector&lt;ScriptVector&gt; _vecVector;</div>
<div class="line"><a id="l00313" name="l00313"></a><span class="lineno"> 313</span> std::vector&lt;ScriptTable&gt; _vecTable;</div>
<div class="line"><a id="l00314" name="l00314"></a><span class="lineno"> 314</span> std::vector&lt;ScriptFunction&gt; _vecFunction;</div>
<div class="line"><a id="l00315" name="l00315"></a><span class="lineno"> 315</span> std::vector&lt;ScriptExpr&gt; _vecExpr;</div>
<div class="line"><a id="l00316" name="l00316"></a><span class="lineno"> 316</span> };</div>
</div>
<div class="line"><a id="l00317" name="l00317"></a><span class="lineno"> 317</span> </div>
<div class="line"><a id="l00318" name="l00318"></a><span class="lineno"> 318</span> </div>
<div class="foldopen" id="foldopen00319" data-start="{" data-end="};">
<div class="line"><a id="l00319" name="l00319"></a><span class="lineno"><a class="line" href="namespacedl.html#a5489305c03dc77a0c8db1390cf349b75"> 319</a></span> <span class="keyword">enum class</span> <a class="code hl_enumeration" href="namespacedl.html#a5489305c03dc77a0c8db1390cf349b75">ScriptSegmentType</a> : <a class="code hl_typedef" href="namespacedl.html#a6de3ad5a1245ffe81d39e050902ee98b">ScriptIndex</a></div>
<div class="line"><a id="l00320" name="l00320"></a><span class="lineno"> 320</span> {</div>
<div class="line"><a id="l00321" name="l00321"></a><span class="lineno"><a class="line" href="namespacedl.html#a5489305c03dc77a0c8db1390cf349b75a6525ee4b4bde1a560d71f10542d2236e"> 321</a></span> <a class="code hl_enumvalue" href="namespacedl.html#a5489305c03dc77a0c8db1390cf349b75a6525ee4b4bde1a560d71f10542d2236e">E_expr</a>,</div>
<div class="line"><a id="l00322" name="l00322"></a><span class="lineno"><a class="line" href="namespacedl.html#a5489305c03dc77a0c8db1390cf349b75aa05acf48758fd18f1552fbb303a07ae9"> 322</a></span> <a class="code hl_enumvalue" href="namespacedl.html#a5489305c03dc77a0c8db1390cf349b75aa05acf48758fd18f1552fbb303a07ae9">E_if</a>,</div>
<div class="line"><a id="l00323" name="l00323"></a><span class="lineno"><a class="line" href="namespacedl.html#a5489305c03dc77a0c8db1390cf349b75a443dd2c102e5d6ddbdabcb769ffa96a7"> 323</a></span> <a class="code hl_enumvalue" href="namespacedl.html#a5489305c03dc77a0c8db1390cf349b75a443dd2c102e5d6ddbdabcb769ffa96a7">E_ifelse</a>,</div>
<div class="line"><a id="l00324" name="l00324"></a><span class="lineno"><a class="line" href="namespacedl.html#a5489305c03dc77a0c8db1390cf349b75acbd4c8b5810ed9fb44dd9efa9c8dad92"> 324</a></span> <a class="code hl_enumvalue" href="namespacedl.html#a5489305c03dc77a0c8db1390cf349b75acbd4c8b5810ed9fb44dd9efa9c8dad92">E_else</a>,</div>
<div class="line"><a id="l00325" name="l00325"></a><span class="lineno"><a class="line" href="namespacedl.html#a5489305c03dc77a0c8db1390cf349b75a7b927f69ddb89afc7318cd887237162e"> 325</a></span> <a class="code hl_enumvalue" href="namespacedl.html#a5489305c03dc77a0c8db1390cf349b75a7b927f69ddb89afc7318cd887237162e">E_while</a>,</div>
<div class="line"><a id="l00326" name="l00326"></a><span class="lineno"><a class="line" href="namespacedl.html#a5489305c03dc77a0c8db1390cf349b75a2168615cec26ed8f66285be9d654fe6a"> 326</a></span> <a class="code hl_enumvalue" href="namespacedl.html#a5489305c03dc77a0c8db1390cf349b75a2168615cec26ed8f66285be9d654fe6a">E_for</a>,</div>
<div class="line"><a id="l00327" name="l00327"></a><span class="lineno"><a class="line" href="namespacedl.html#a5489305c03dc77a0c8db1390cf349b75a252a16d98974cd124b96803509298cc0"> 327</a></span> <a class="code hl_enumvalue" href="namespacedl.html#a7b63f561250e9914489dc27952752030a252a16d98974cd124b96803509298cc0">E_vector</a>,</div>
<div class="line"><a id="l00328" name="l00328"></a><span class="lineno"><a class="line" href="namespacedl.html#a5489305c03dc77a0c8db1390cf349b75a7a486519b2d8b3920af6883658b388cc"> 328</a></span> <a class="code hl_enumvalue" href="namespacedl.html#a7b63f561250e9914489dc27952752030a7a486519b2d8b3920af6883658b388cc">E_table</a>,</div>
<div class="line"><a id="l00329" name="l00329"></a><span class="lineno"> 329</span> };</div>
</div>
<div class="line"><a id="l00330" name="l00330"></a><span class="lineno"> 330</span></div>
<div class="foldopen" id="foldopen00332" data-start="{" data-end="};">
<div class="line"><a id="l00332" name="l00332"></a><span class="lineno"><a class="line" href="structdl_1_1_script_segment.html"> 332</a></span> <span class="keyword">struct </span><a class="code hl_struct" href="structdl_1_1_script_segment.html">ScriptSegment</a></div>
<div class="line"><a id="l00333" name="l00333"></a><span class="lineno"> 333</span> {</div>
<div class="line"><a id="l00334" name="l00334"></a><span class="lineno"><a class="line" href="structdl_1_1_script_segment.html#a83fd6f99ada6c94e13201f7ed33908e5"> 334</a></span> <a class="code hl_enumeration" href="namespacedl.html#a5489305c03dc77a0c8db1390cf349b75">ScriptSegmentType</a> <a class="code hl_variable" href="structdl_1_1_script_segment.html#a83fd6f99ada6c94e13201f7ed33908e5">_type</a>;</div>
<div class="line"><a id="l00335" name="l00335"></a><span class="lineno"><a class="line" href="structdl_1_1_script_segment.html#af38558a1f91d5321555e97a86cce7432"> 335</a></span> <span class="keywordtype">size_t</span> <a class="code hl_variable" href="structdl_1_1_script_segment.html#af38558a1f91d5321555e97a86cce7432">_level</a>; <span class="comment">// 层级(作用域)</span></div>
<div class="line"><a id="l00336" name="l00336"></a><span class="lineno"><a class="line" href="structdl_1_1_script_segment.html#a743ecb9a666414fdc22c656f0c86d50b"> 336</a></span> std::vector&lt;ScriptExpr&gt; <a class="code hl_variable" href="structdl_1_1_script_segment.html#a743ecb9a666414fdc22c656f0c86d50b">_allExpr</a>;</div>
<div class="line"><a id="l00337" name="l00337"></a><span class="lineno"> 337</span> };</div>
</div>
<div class="line"><a id="l00338" name="l00338"></a><span class="lineno"> 338</span></div>
<div class="foldopen" id="foldopen00339" data-start="{" data-end="};">
<div class="line"><a id="l00339" name="l00339"></a><span class="lineno"><a class="line" href="structdl_1_1_script_block.html"> 339</a></span> <span class="keyword">struct </span><a class="code hl_function" href="structdl_1_1_script_block.html#a6192ee90df04ade54def729647f61c0e">ScriptBlock</a></div>
<div class="line"><a id="l00340" name="l00340"></a><span class="lineno"> 340</span> {</div>
<div class="foldopen" id="foldopen00341" data-start="{" data-end="}">
<div class="line"><a id="l00341" name="l00341"></a><span class="lineno"><a class="line" href="structdl_1_1_script_block.html#a6192ee90df04ade54def729647f61c0e"> 341</a></span> <a class="code hl_function" href="structdl_1_1_script_block.html#a6192ee90df04ade54def729647f61c0e">ScriptBlock</a>() :</div>
<div class="line"><a id="l00342" name="l00342"></a><span class="lineno"> 342</span> <a class="code hl_variable" href="structdl_1_1_script_block.html#ad479b05b9fbff604fda938acd1109774">_varSpaceIteral</a>{ <a class="code hl_variable" href="namespacedl.html#a4600080ff638c6e9eb3151da0b0c75ff">SCRIPT_INDEX_VS_ITERAL</a>, 0 }</div>
<div class="line"><a id="l00343" name="l00343"></a><span class="lineno"> 343</span> {}</div>
</div>
<div class="line"><a id="l00344" name="l00344"></a><span class="lineno"> 344</span> </div>
<div class="line"><a id="l00345" name="l00345"></a><span class="lineno"><a class="line" href="structdl_1_1_script_block.html#af5ccb914116c3b22b93e2418c445e2ec"> 345</a></span> std::vector&lt;ScriptSegment&gt; <a class="code hl_variable" href="structdl_1_1_script_block.html#af5ccb914116c3b22b93e2418c445e2ec">_allSeg</a>;</div>
<div class="line"><a id="l00346" name="l00346"></a><span class="lineno"> 346</span> <span class="comment">// 字面量是编译器固定的,不可修改,全局可见,所以单独处理</span></div>
<div class="line"><a id="l00347" name="l00347"></a><span class="lineno"><a class="line" href="structdl_1_1_script_block.html#ad479b05b9fbff604fda938acd1109774"> 347</a></span> <a class="code hl_class" href="classdl_1_1_script_var_space.html">ScriptVarSpace</a> <a class="code hl_variable" href="structdl_1_1_script_block.html#ad479b05b9fbff604fda938acd1109774">_varSpaceIteral</a>;</div>
<div class="line"><a id="l00348" name="l00348"></a><span class="lineno"><a class="line" href="structdl_1_1_script_block.html#a1b8988cfc122eb2eea77cea824012224"> 348</a></span> std::vector&lt;std::string&gt; <a class="code hl_variable" href="structdl_1_1_script_block.html#a1b8988cfc122eb2eea77cea824012224">_vecSource</a>;<span class="comment">// 不包含换行</span></div>
<div class="line"><a id="l00349" name="l00349"></a><span class="lineno"> 349</span> </div>
<div class="line"><a id="l00350" name="l00350"></a><span class="lineno"><a class="line" href="structdl_1_1_script_block.html#aff16b402bd2384f84a7e37899fa222e3"> 350</a></span> std::string <a class="code hl_function" href="structdl_1_1_script_block.html#aff16b402bd2384f84a7e37899fa222e3">GetSource</a>(<span class="keywordtype">bool</span> line_number = <span class="keyword">true</span>, <span class="keywordtype">bool</span> header = <span class="keyword">true</span>, <span class="keywordtype">bool</span> footer = <span class="keyword">true</span>) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00351" name="l00351"></a><span class="lineno"> 351</span> };</div>
</div>
<div class="line"><a id="l00352" name="l00352"></a><span class="lineno"> 352</span> </div>
<div class="line"><a id="l00353" name="l00353"></a><span class="lineno"> 353</span></div>
<div class="foldopen" id="foldopen00355" data-start="{" data-end="};">
<div class="line"><a id="l00355" name="l00355"></a><span class="lineno"><a class="line" href="structdl_1_1_script_control_if.html"> 355</a></span> <span class="keyword">struct </span><a class="code hl_struct" href="structdl_1_1_script_control_if.html">ScriptControlIf</a></div>
<div class="line"><a id="l00356" name="l00356"></a><span class="lineno"> 356</span> {</div>
<div class="line"><a id="l00357" name="l00357"></a><span class="lineno"><a class="line" href="structdl_1_1_script_control_if.html#a63884618625ec2a77046ff22ccc218c9"> 357</a></span> <a class="code hl_struct" href="structdl_1_1_script_expr.html">ScriptExpr</a> <a class="code hl_variable" href="structdl_1_1_script_control_if.html#a63884618625ec2a77046ff22ccc218c9">_cond</a>;</div>
<div class="line"><a id="l00358" name="l00358"></a><span class="lineno"><a class="line" href="structdl_1_1_script_control_if.html#a36344dbbcd11044ecfd618e6e908df57"> 358</a></span> <a class="code hl_struct" href="structdl_1_1_script_segment.html">ScriptSegment</a> <a class="code hl_variable" href="structdl_1_1_script_control_if.html#a36344dbbcd11044ecfd618e6e908df57">_seg</a>;</div>
<div class="line"><a id="l00359" name="l00359"></a><span class="lineno"> 359</span> };</div>
</div>
<div class="foldopen" id="foldopen00360" data-start="{" data-end="};">
<div class="line"><a id="l00360" name="l00360"></a><span class="lineno"><a class="line" href="structdl_1_1_script_control_if_else.html"> 360</a></span> <span class="keyword">struct </span><a class="code hl_struct" href="structdl_1_1_script_control_if_else.html">ScriptControlIfElse</a></div>
<div class="line"><a id="l00361" name="l00361"></a><span class="lineno"> 361</span> {</div>
<div class="line"><a id="l00362" name="l00362"></a><span class="lineno"><a class="line" href="structdl_1_1_script_control_if_else.html#a29088a3ee9d07023ae05d5769874c137"> 362</a></span> <a class="code hl_struct" href="structdl_1_1_script_expr.html">ScriptExpr</a> <a class="code hl_variable" href="structdl_1_1_script_control_if_else.html#a29088a3ee9d07023ae05d5769874c137">_cond</a>;</div>
<div class="line"><a id="l00363" name="l00363"></a><span class="lineno"><a class="line" href="structdl_1_1_script_control_if_else.html#aef11aa902d32e28f3d5b460a4baccc03"> 363</a></span> <a class="code hl_struct" href="structdl_1_1_script_segment.html">ScriptSegment</a> <a class="code hl_variable" href="structdl_1_1_script_control_if_else.html#aef11aa902d32e28f3d5b460a4baccc03">_seg</a>;</div>
<div class="line"><a id="l00364" name="l00364"></a><span class="lineno"> 364</span> };</div>
</div>
<div class="foldopen" id="foldopen00365" data-start="{" data-end="};">
<div class="line"><a id="l00365" name="l00365"></a><span class="lineno"><a class="line" href="structdl_1_1_script_control_else.html"> 365</a></span> <span class="keyword">struct </span><a class="code hl_struct" href="structdl_1_1_script_control_else.html">ScriptControlElse</a></div>
<div class="line"><a id="l00366" name="l00366"></a><span class="lineno"> 366</span> {</div>
<div class="line"><a id="l00367" name="l00367"></a><span class="lineno"><a class="line" href="structdl_1_1_script_control_else.html#ae4df1344f5dfa8ec972f67c1249fad98"> 367</a></span> <a class="code hl_struct" href="structdl_1_1_script_expr.html">ScriptExpr</a> <a class="code hl_variable" href="structdl_1_1_script_control_else.html#ae4df1344f5dfa8ec972f67c1249fad98">_cond</a>;</div>
<div class="line"><a id="l00368" name="l00368"></a><span class="lineno"><a class="line" href="structdl_1_1_script_control_else.html#a9eca95373c35e90f3f03abcf8308f3ed"> 368</a></span> <a class="code hl_struct" href="structdl_1_1_script_segment.html">ScriptSegment</a> <a class="code hl_variable" href="structdl_1_1_script_control_else.html#a9eca95373c35e90f3f03abcf8308f3ed">_seg</a>;</div>
<div class="line"><a id="l00369" name="l00369"></a><span class="lineno"> 369</span> };</div>
</div>
<div class="foldopen" id="foldopen00370" data-start="{" data-end="};">
<div class="line"><a id="l00370" name="l00370"></a><span class="lineno"><a class="line" href="structdl_1_1_script_control_for.html"> 370</a></span> <span class="keyword">struct </span><a class="code hl_struct" href="structdl_1_1_script_control_for.html">ScriptControlFor</a></div>
<div class="line"><a id="l00371" name="l00371"></a><span class="lineno"> 371</span> {</div>
<div class="line"><a id="l00372" name="l00372"></a><span class="lineno"><a class="line" href="structdl_1_1_script_control_for.html#aedd80813eea3252afac7170757dd4bc0"> 372</a></span> std::array&lt;ScriptExpr, 3&gt; <a class="code hl_variable" href="structdl_1_1_script_control_for.html#aedd80813eea3252afac7170757dd4bc0">_cond</a>;</div>
<div class="line"><a id="l00373" name="l00373"></a><span class="lineno"><a class="line" href="structdl_1_1_script_control_for.html#aea907e17bdf8dc94ea4be36f72fe9107"> 373</a></span> <a class="code hl_struct" href="structdl_1_1_script_segment.html">ScriptSegment</a> <a class="code hl_variable" href="structdl_1_1_script_control_for.html#aea907e17bdf8dc94ea4be36f72fe9107">_seg</a>;</div>
<div class="line"><a id="l00374" name="l00374"></a><span class="lineno"> 374</span> };</div>
</div>
<div class="foldopen" id="foldopen00375" data-start="{" data-end="};">
<div class="line"><a id="l00375" name="l00375"></a><span class="lineno"><a class="line" href="structdl_1_1_script_control_while.html"> 375</a></span> <span class="keyword">struct </span><a class="code hl_struct" href="structdl_1_1_script_control_while.html">ScriptControlWhile</a></div>
<div class="line"><a id="l00376" name="l00376"></a><span class="lineno"> 376</span> {</div>
<div class="line"><a id="l00377" name="l00377"></a><span class="lineno"><a class="line" href="structdl_1_1_script_control_while.html#adb1fb2922502708f1466f9a8b41e827c"> 377</a></span> <a class="code hl_struct" href="structdl_1_1_script_expr.html">ScriptExpr</a> <a class="code hl_variable" href="structdl_1_1_script_control_while.html#adb1fb2922502708f1466f9a8b41e827c">_cond</a>;</div>
<div class="line"><a id="l00378" name="l00378"></a><span class="lineno"><a class="line" href="structdl_1_1_script_control_while.html#a80068346d3b2de30e880f8e323289888"> 378</a></span> <a class="code hl_struct" href="structdl_1_1_script_segment.html">ScriptSegment</a> <a class="code hl_variable" href="structdl_1_1_script_control_while.html#a80068346d3b2de30e880f8e323289888">_seg</a>;</div>
<div class="line"><a id="l00379" name="l00379"></a><span class="lineno"> 379</span> };</div>
</div>
<div class="line"><a id="l00380" name="l00380"></a><span class="lineno"> 380</span></div>
<div class="foldopen" id="foldopen00382" data-start="{" data-end="};">
<div class="line"><a id="l00382" name="l00382"></a><span class="lineno"><a class="line" href="structdl_1_1_script_segment_r_t.html"> 382</a></span> <span class="keyword">struct </span><a class="code hl_struct" href="structdl_1_1_script_segment_r_t.html">ScriptSegmentRT</a></div>
<div class="line"><a id="l00383" name="l00383"></a><span class="lineno"> 383</span> {</div>
<div class="line"><a id="l00384" name="l00384"></a><span class="lineno"> 384</span> <span class="comment">//std::</span></div>
<div class="line"><a id="l00385" name="l00385"></a><span class="lineno"> 385</span> };</div>
</div>
<div class="line"><a id="l00386" name="l00386"></a><span class="lineno"> 386</span></div>
<div class="foldopen" id="foldopen00388" data-start="{" data-end="};">
<div class="line"><a id="l00388" name="l00388"></a><span class="lineno"><a class="line" href="classdl_1_1_script_v_m.html"> 388</a></span> <span class="keyword">class </span><a class="code hl_function" href="classdl_1_1_script_v_m.html#ae6ed61b5709dda850b4736df5568dbaf">ScriptVM</a></div>
<div class="line"><a id="l00389" name="l00389"></a><span class="lineno"> 389</span> {</div>
<div class="line"><a id="l00390" name="l00390"></a><span class="lineno"><a class="line" href="classdl_1_1_script_v_m.html#aff288cf120ad65089dd6f3779dbbaff1"> 390</a></span> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code hl_friend" href="classdl_1_1_script_v_m.html#aff288cf120ad65089dd6f3779dbbaff1">ScriptSystem</a>;</div>
<div class="line"><a id="l00391" name="l00391"></a><span class="lineno"> 391</span> <span class="keyword">public</span>:</div>
<div class="line"><a id="l00392" name="l00392"></a><span class="lineno"><a class="line" href="classdl_1_1_script_v_m.html#adc3257aa4fb374cdaf72d053c4b3a484"> 392</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classdl_1_1_script_v_m.html#adc3257aa4fb374cdaf72d053c4b3a484">Execute</a>(<span class="keyword">const</span> <a class="code hl_struct" href="structdl_1_1_script_block.html">ScriptBlock</a>&amp; block);</div>
<div class="line"><a id="l00393" name="l00393"></a><span class="lineno"> 393</span> </div>
<div class="line"><a id="l00394" name="l00394"></a><span class="lineno"> 394</span> <span class="comment">// 变量转字符串</span></div>
<div class="line"><a id="l00395" name="l00395"></a><span class="lineno"><a class="line" href="classdl_1_1_script_v_m.html#a063bf1cf7c5f232a95b37d2dfd0d0431"> 395</a></span> std::string <a class="code hl_function" href="classdl_1_1_script_v_m.html#a063bf1cf7c5f232a95b37d2dfd0d0431">Variable2String</a>(<span class="keyword">const</span> <a class="code hl_struct" href="structdl_1_1_script_var.html">ScriptVar</a>&amp; var);</div>
<div class="line"><a id="l00396" name="l00396"></a><span class="lineno"> 396</span> <span class="comment">// 变量转bool</span></div>
<div class="line"><a id="l00397" name="l00397"></a><span class="lineno"><a class="line" href="classdl_1_1_script_v_m.html#ad50304cd5eefae6eaba772e9bdbc454c"> 397</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classdl_1_1_script_v_m.html#ad50304cd5eefae6eaba772e9bdbc454c">Variable2Bool</a>(<span class="keyword">const</span> <a class="code hl_struct" href="structdl_1_1_script_var.html">ScriptVar</a>&amp; var);</div>
<div class="line"><a id="l00398" name="l00398"></a><span class="lineno"> 398</span> </div>
<div class="line"><a id="l00399" name="l00399"></a><span class="lineno"> 399</span> <span class="comment">// 中断执行(内部调用)</span></div>
<div class="line"><a id="l00400" name="l00400"></a><span class="lineno"><a class="line" href="classdl_1_1_script_v_m.html#afd18da64073b9fd93a8799ed87d7b05d"> 400</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classdl_1_1_script_v_m.html#afd18da64073b9fd93a8799ed87d7b05d">Throw</a>() { _bThrow = <span class="keyword">true</span>; }</div>
<div class="line"><a id="l00401" name="l00401"></a><span class="lineno"> 401</span> </div>
<div class="line"><a id="l00402" name="l00402"></a><span class="lineno"><a class="line" href="classdl_1_1_script_v_m.html#ae6ed61b5709dda850b4736df5568dbaf"> 402</a></span> <a class="code hl_function" href="classdl_1_1_script_v_m.html#ae6ed61b5709dda850b4736df5568dbaf">ScriptVM</a>();</div>
<div class="line"><a id="l00403" name="l00403"></a><span class="lineno"> 403</span> <span class="keyword">private</span>:</div>
<div class="line"><a id="l00404" name="l00404"></a><span class="lineno"> 404</span> <span class="comment">// 当前执行代码块</span></div>
<div class="line"><a id="l00405" name="l00405"></a><span class="lineno"> 405</span> <span class="keyword">const</span> <a class="code hl_struct" href="structdl_1_1_script_block.html">ScriptBlock</a>* _block;</div>
<div class="line"><a id="l00406" name="l00406"></a><span class="lineno"> 406</span> <span class="comment">// 名字 -&gt; 变量(变量)</span></div>
<div class="line"><a id="l00407" name="l00407"></a><span class="lineno"> 407</span> std::unordered_map&lt;std::string, ScriptVar&gt; _allVar;</div>
<div class="line"><a id="l00408" name="l00408"></a><span class="lineno"> 408</span> <span class="comment">// 全局变量空间</span></div>
<div class="line"><a id="l00409" name="l00409"></a><span class="lineno"> 409</span> <a class="code hl_class" href="classdl_1_1_script_var_space.html">ScriptVarSpace</a> _varSpaceGlobal;</div>
<div class="line"><a id="l00410" name="l00410"></a><span class="lineno"> 410</span> <span class="comment">// 变量空间</span></div>
<div class="line"><a id="l00411" name="l00411"></a><span class="lineno"> 411</span> std::vector&lt;ScriptVarSpace*&gt; _allVarSpace;</div>
<div class="line"><a id="l00412" name="l00412"></a><span class="lineno"> 412</span> <span class="comment">// 函数参数</span></div>
<div class="line"><a id="l00413" name="l00413"></a><span class="lineno"> 413</span> <a class="code hl_typedef" href="namespacedl.html#aaf305bca15222b3c5b8dfb56001d8abe">ScriptParam</a> _param;</div>
<div class="line"><a id="l00414" name="l00414"></a><span class="lineno"> 414</span> </div>
<div class="line"><a id="l00415" name="l00415"></a><span class="lineno"> 415</span> <span class="comment">//-------------------------------expr------------------------------</span></div>
<div class="line"><a id="l00416" name="l00416"></a><span class="lineno"> 416</span> <span class="comment">// 返回值(可变)</span></div>
<div class="line"><a id="l00417" name="l00417"></a><span class="lineno"> 417</span> <a class="code hl_struct" href="structdl_1_1_script_expr_token.html">ScriptExprToken</a> _return;</div>
<div class="line"><a id="l00418" name="l00418"></a><span class="lineno"> 418</span> <span class="comment">// 操作堆栈</span></div>
<div class="line"><a id="l00419" name="l00419"></a><span class="lineno"> 419</span> std::vector&lt;ScriptIndex&gt; _stackVar;</div>
<div class="line"><a id="l00420" name="l00420"></a><span class="lineno"> 420</span> <span class="comment">// 当前表达式</span></div>
<div class="line"><a id="l00421" name="l00421"></a><span class="lineno"> 421</span> <span class="keyword">const</span> <a class="code hl_struct" href="structdl_1_1_script_expr.html">ScriptExpr</a>* _expr;</div>
<div class="line"><a id="l00422" name="l00422"></a><span class="lineno"> 422</span> <span class="comment">// 临时变量空间</span></div>
<div class="line"><a id="l00423" name="l00423"></a><span class="lineno"> 423</span> <a class="code hl_class" href="classdl_1_1_script_var_space.html">ScriptVarSpace</a> _varSpaceTemp; <span class="comment">//todo清理</span></div>
<div class="line"><a id="l00424" name="l00424"></a><span class="lineno"> 424</span> <span class="comment">// 出现异常</span></div>
<div class="line"><a id="l00425" name="l00425"></a><span class="lineno"> 425</span> <span class="keywordtype">bool</span> _bThrow;</div>
<div class="line"><a id="l00426" name="l00426"></a><span class="lineno"> 426</span> </div>
<div class="line"><a id="l00427" name="l00427"></a><span class="lineno"> 427</span> <span class="keywordtype">void</span> _exec_expr(<span class="keyword">const</span> <a class="code hl_struct" href="structdl_1_1_script_expr.html">ScriptExpr</a>&amp; expr);</div>
<div class="line"><a id="l00428" name="l00428"></a><span class="lineno"> 428</span> <span class="keywordtype">void</span> _clear_expr();</div>
<div class="line"><a id="l00429" name="l00429"></a><span class="lineno"> 429</span> </div>
<div class="line"><a id="l00430" name="l00430"></a><span class="lineno"> 430</span> <span class="comment">// 从 操作堆栈 访问</span></div>
<div class="line"><a id="l00431" name="l00431"></a><span class="lineno"> 431</span> <span class="keyword">const</span> <a class="code hl_struct" href="structdl_1_1_script_expr_token.html">ScriptExprToken</a>&amp; _get_stack_expr_token(<span class="keywordtype">size_t</span> i);</div>
<div class="line"><a id="l00432" name="l00432"></a><span class="lineno"> 432</span> <span class="keyword">const</span> <a class="code hl_struct" href="structdl_1_1_script_expr_token.html">ScriptExprToken</a>&amp; _get_stack_expr_token_top(<span class="keywordtype">size_t</span> i);</div>
<div class="line"><a id="l00433" name="l00433"></a><span class="lineno"> 433</span> <a class="code hl_struct" href="structdl_1_1_script_var.html">ScriptVar</a>&amp; _get_stack_var(<span class="keywordtype">size_t</span> i);</div>
<div class="line"><a id="l00434" name="l00434"></a><span class="lineno"> 434</span> <a class="code hl_struct" href="structdl_1_1_script_var.html">ScriptVar</a>&amp; _get_stack_var_top(<span class="keywordtype">size_t</span> i);</div>
<div class="line"><a id="l00435" name="l00435"></a><span class="lineno"> 435</span> </div>
<div class="line"><a id="l00436" name="l00436"></a><span class="lineno"> 436</span> <span class="keywordtype">void</span> _stack_pop(<span class="keywordtype">size_t</span> i);</div>
<div class="line"><a id="l00437" name="l00437"></a><span class="lineno"> 437</span> </div>
<div class="line"><a id="l00438" name="l00438"></a><span class="lineno"> 438</span> <span class="keywordtype">void</span> _op_arithmetic(<a class="code hl_enumeration" href="namespacedl.html#ab8b15fc53d965fc6abd2c1ce971ee0dd">ScriptOperator</a> op);</div>
<div class="line"><a id="l00439" name="l00439"></a><span class="lineno"> 439</span> <span class="keywordtype">void</span> _op_assign();</div>
<div class="line"><a id="l00440" name="l00440"></a><span class="lineno"> 440</span> <span class="keywordtype">void</span> _op_comma();</div>
<div class="line"><a id="l00441" name="l00441"></a><span class="lineno"> 441</span> <span class="keywordtype">void</span> _op_equal();</div>
<div class="line"><a id="l00442" name="l00442"></a><span class="lineno"> 442</span> </div>
<div class="line"><a id="l00443" name="l00443"></a><span class="lineno"> 443</span> <span class="comment">// 获取(新建)变量,新建则在当前变量空间初始化</span></div>
<div class="line"><a id="l00444" name="l00444"></a><span class="lineno"> 444</span> <a class="code hl_struct" href="structdl_1_1_script_var.html">ScriptVar</a>&amp; _get_variable(<span class="keyword">const</span> <a class="code hl_struct" href="structdl_1_1_script_expr_token.html">ScriptExprToken</a>&amp; var0);</div>
<div class="line"><a id="l00445" name="l00445"></a><span class="lineno"> 445</span> <span class="comment">// 移除变量空间后,从变量表中移除</span></div>
<div class="line"><a id="l00446" name="l00446"></a><span class="lineno"> 446</span> <span class="keywordtype">void</span> _delete_var_space(<a class="code hl_class" href="classdl_1_1_script_var_space.html">ScriptVarSpace</a>* vs);</div>
<div class="line"><a id="l00447" name="l00447"></a><span class="lineno"> 447</span> </div>
<div class="line"><a id="l00448" name="l00448"></a><span class="lineno"> 448</span> <span class="comment">// 返回变量所在空间</span></div>
<div class="line"><a id="l00449" name="l00449"></a><span class="lineno"> 449</span> <a class="code hl_class" href="classdl_1_1_script_var_space.html">ScriptVarSpace</a>* GetVariableSpaceRef(<a class="code hl_typedef" href="namespacedl.html#aec578e9733caaed075b1e53492b0b1b7">ScriptIndexVS</a> index);</div>
<div class="line"><a id="l00450" name="l00450"></a><span class="lineno"> 450</span> <span class="keyword">const</span> <a class="code hl_class" href="classdl_1_1_script_var_space.html">ScriptVarSpace</a>* GetVariableSpace(<a class="code hl_typedef" href="namespacedl.html#aec578e9733caaed075b1e53492b0b1b7">ScriptIndexVS</a> index);</div>
<div class="line"><a id="l00451" name="l00451"></a><span class="lineno"> 451</span> <a class="code hl_class" href="classdl_1_1_script_var_space.html">ScriptVarSpace</a>* GetVariableSpaceRef(<a class="code hl_struct" href="structdl_1_1_script_var.html">ScriptVar</a> var)</div>
<div class="line"><a id="l00452" name="l00452"></a><span class="lineno"> 452</span> {</div>
<div class="line"><a id="l00453" name="l00453"></a><span class="lineno"> 453</span> <span class="keywordflow">return</span> GetVariableSpaceRef(var.<a class="code hl_function" href="structdl_1_1_script_var.html#a6d2890d354763890df48a060601ce94f">GetSpaceIndex</a>());</div>
<div class="line"><a id="l00454" name="l00454"></a><span class="lineno"> 454</span> }</div>
<div class="line"><a id="l00455" name="l00455"></a><span class="lineno"> 455</span> <span class="keyword">const</span> <a class="code hl_class" href="classdl_1_1_script_var_space.html">ScriptVarSpace</a>* GetVariableSpace(<a class="code hl_struct" href="structdl_1_1_script_var.html">ScriptVar</a> var)</div>
<div class="line"><a id="l00456" name="l00456"></a><span class="lineno"> 456</span> {</div>
<div class="line"><a id="l00457" name="l00457"></a><span class="lineno"> 457</span> <span class="keywordflow">return</span> GetVariableSpace(var.<a class="code hl_function" href="structdl_1_1_script_var.html#a6d2890d354763890df48a060601ce94f">GetSpaceIndex</a>());</div>
<div class="line"><a id="l00458" name="l00458"></a><span class="lineno"> 458</span> }</div>
<div class="line"><a id="l00459" name="l00459"></a><span class="lineno"> 459</span> <span class="comment">//------------------------------------变量创建(默认值)--------------</span></div>
<div class="line"><a id="l00460" name="l00460"></a><span class="lineno"> 460</span> ScriptVar AddVariable(<a class="code hl_typedef" href="namespacedl.html#aec578e9733caaed075b1e53492b0b1b7">ScriptIndexVS</a> index, <a class="code hl_enumeration" href="namespacedl.html#a7b63f561250e9914489dc27952752030">ScriptVarType</a> type);</div>
<div class="line"><a id="l00461" name="l00461"></a><span class="lineno"> 461</span> <span class="comment">//------------------------------------变量获取(必须已存在)--------------</span></div>
<div class="line"><a id="l00462" name="l00462"></a><span class="lineno"> 462</span> <a class="code hl_typedef" href="namespacedl.html#a3ff1821cbbcf49ae26a3a29316daec06">ScriptFunction</a> GetVariableFunction(ScriptVar var);</div>
<div class="line"><a id="l00463" name="l00463"></a><span class="lineno"> 463</span> <a class="code hl_typedef" href="namespacedl.html#aaccd3dab55940551cb4a3e44284ea6c3">ScriptString</a> GetVariableString(ScriptVar var);</div>
<div class="line"><a id="l00464" name="l00464"></a><span class="lineno"> 464</span> <a class="code hl_typedef" href="namespacedl.html#a72144ccfbb73a57c830ab4d089a0345e">ScriptVector</a>&amp; GetVariableVector(ScriptVar var);</div>
<div class="line"><a id="l00465" name="l00465"></a><span class="lineno"> 465</span> <span class="comment">//------------------------------------变量设置(必须已存在)--------------</span></div>
<div class="line"><a id="l00466" name="l00466"></a><span class="lineno"> 466</span> <span class="keywordtype">void</span> SetVariableString(ScriptVar var, <a class="code hl_typedef" href="namespacedl.html#aaccd3dab55940551cb4a3e44284ea6c3">ScriptString</a> str);</div>
<div class="line"><a id="l00467" name="l00467"></a><span class="lineno"> 467</span> <span class="keywordtype">void</span> SetVariableVector(ScriptVar var, <span class="keyword">const</span> <a class="code hl_typedef" href="namespacedl.html#a72144ccfbb73a57c830ab4d089a0345e">ScriptVector</a>&amp; vec);</div>
<div class="line"><a id="l00468" name="l00468"></a><span class="lineno"> 468</span> </div>
<div class="line"><a id="l00469" name="l00469"></a><span class="lineno"> 469</span> };</div>
</div>
<div class="line"><a id="l00470" name="l00470"></a><span class="lineno"> 470</span></div>
<div class="foldopen" id="foldopen00472" data-start="{" data-end="};">
<div class="line"><a id="l00472" name="l00472"></a><span class="lineno"><a class="line" href="classdl_1_1_script_system.html"> 472</a></span> <span class="keyword">class </span><a class="code hl_function" href="classdl_1_1_script_system.html#ab51f224a553cef0e73dc2e0de06f9033">ScriptSystem</a></div>
<div class="line"><a id="l00473" name="l00473"></a><span class="lineno"> 473</span> {</div>
<div class="line"><a id="l00474" name="l00474"></a><span class="lineno"> 474</span> <span class="keyword">public</span>:</div>
<div class="line"><a id="l00475" name="l00475"></a><span class="lineno"><a class="line" href="classdl_1_1_script_system.html#a102733b6124da36a051d5fd2c710fe12"> 475</a></span> <a class="code hl_struct" href="structdl_1_1_script_block.html">ScriptBlock</a> <a class="code hl_function" href="classdl_1_1_script_system.html#a102733b6124da36a051d5fd2c710fe12">Compile</a>(std::string_view src);</div>
<div class="line"><a id="l00476" name="l00476"></a><span class="lineno"> 476</span> </div>
<div class="line"><a id="l00477" name="l00477"></a><span class="lineno"> 477</span> <span class="comment">// 中缀 -&gt; 后缀(逆波兰表达式)</span></div>
<div class="line"><a id="l00478" name="l00478"></a><span class="lineno"><a class="line" href="classdl_1_1_script_system.html#ab099f40d770ee58d2dce5bae35cc192a"> 478</a></span> std::vector&lt;ScriptExprToken&gt; <a class="code hl_function" href="classdl_1_1_script_system.html#ab099f40d770ee58d2dce5bae35cc192a">ConvertMid</a>(<span class="keyword">const</span> std::vector&lt;ScriptExprToken&gt;&amp; vec);</div>
<div class="line"><a id="l00479" name="l00479"></a><span class="lineno"> 479</span></div>
<div class="line"><a id="l00481" name="l00481"></a><span class="lineno"><a class="line" href="classdl_1_1_script_system.html#a042825e10ca2c85a04d97a61091745b5"> 481</a></span> std::string <a class="code hl_function" href="classdl_1_1_script_system.html#a042825e10ca2c85a04d97a61091745b5">Preprocess</a>(std::string_view src);</div>
<div class="line"><a id="l00482" name="l00482"></a><span class="lineno"><a class="line" href="classdl_1_1_script_system.html#a3288ae9a8228bb47885d2ee02380ede0"> 482</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classdl_1_1_script_system.html#a3288ae9a8228bb47885d2ee02380ede0">PreprocessLineNumber</a>(<a class="code hl_struct" href="structdl_1_1_script_block.html">ScriptBlock</a>&amp; block, std::string_view src);</div>
<div class="line"><a id="l00483" name="l00483"></a><span class="lineno"> 483</span></div>
<div class="line"><a id="l00485" name="l00485"></a><span class="lineno"><a class="line" href="classdl_1_1_script_system.html#a191329b94a935a53d2f74c59505247d3"> 485</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classdl_1_1_script_system.html#a191329b94a935a53d2f74c59505247d3">IsOperator</a>(std::string_view str);</div>
<div class="line"><a id="l00487" name="l00487"></a><span class="lineno"><a class="line" href="classdl_1_1_script_system.html#aced34d602a93f6f64224d15d3943993a"> 487</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classdl_1_1_script_system.html#aced34d602a93f6f64224d15d3943993a">IsMaybeOperator</a>(<span class="keywordtype">char</span> ch);</div>
<div class="line"><a id="l00488" name="l00488"></a><span class="lineno"> 488</span></div>
<div class="line"><a id="l00490" name="l00490"></a><span class="lineno"><a class="line" href="classdl_1_1_script_system.html#a122569273a195e72159cef787e4c4568"> 490</a></span> <span class="keywordtype">int</span> <a class="code hl_function" href="classdl_1_1_script_system.html#a122569273a195e72159cef787e4c4568">GetOperatorPriority</a>(std::string_view str);</div>
<div class="line"><a id="l00491" name="l00491"></a><span class="lineno"> 491</span></div>
<div class="line"><a id="l00493" name="l00493"></a><span class="lineno"><a class="line" href="classdl_1_1_script_system.html#a1b84394aa824a873b3202559b6ceda8a"> 493</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classdl_1_1_script_system.html#a1b84394aa824a873b3202559b6ceda8a">IsKeyword</a>(std::string_view str);</div>
<div class="line"><a id="l00495" name="l00495"></a><span class="lineno"><a class="line" href="classdl_1_1_script_system.html#a0136b7577a7f44e77f8139a49f2ed2ee"> 495</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classdl_1_1_script_system.html#a0136b7577a7f44e77f8139a49f2ed2ee">IsVariable</a>(std::string_view str);</div>
<div class="line"><a id="l00497" name="l00497"></a><span class="lineno"><a class="line" href="classdl_1_1_script_system.html#a2f0c80d5fcf8fa93179d7a38921c32a7"> 497</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classdl_1_1_script_system.html#a2f0c80d5fcf8fa93179d7a38921c32a7">IsGlobalVariable</a>(std::string_view str);</div>
<div class="line"><a id="l00498" name="l00498"></a><span class="lineno"> 498</span></div>
<div class="line"><a id="l00500" name="l00500"></a><span class="lineno"><a class="line" href="classdl_1_1_script_system.html#afcb7414bcff27817306d1d646c7f58fc"> 500</a></span> <a class="code hl_enumeration" href="namespacedl.html#a4c10aa959decc196466654f317ba7a25">ScriptExprTokenType</a> <a class="code hl_function" href="classdl_1_1_script_system.html#afcb7414bcff27817306d1d646c7f58fc">GetTokenType</a>(std::string_view str);</div>
<div class="line"><a id="l00501" name="l00501"></a><span class="lineno"> 501</span></div>
<div class="line"><a id="l00503" name="l00503"></a><span class="lineno"><a class="line" href="classdl_1_1_script_system.html#aa8798d7c9a5a5d2e62b57e23ead2d92a"> 503</a></span> <a class="code hl_struct" href="structdl_1_1_script_expr_token.html">ScriptExprToken</a> <a class="code hl_function" href="classdl_1_1_script_system.html#aa8798d7c9a5a5d2e62b57e23ead2d92a">MakeExprToken</a>(<a class="code hl_struct" href="structdl_1_1_script_block.html">ScriptBlock</a>&amp; block, <span class="keyword">const</span> <a class="code hl_struct" href="structdl_1_1_script_token.html">ScriptToken</a>&amp; token);</div>
<div class="line"><a id="l00504" name="l00504"></a><span class="lineno"> 504</span></div>
<div class="line"><a id="l00506" name="l00506"></a><span class="lineno"><a class="line" href="classdl_1_1_script_system.html#a65630cac0d07c358f773381d210c6b28"> 506</a></span> <a class="code hl_struct" href="structdl_1_1_script_var.html">ScriptVar</a> <a class="code hl_function" href="classdl_1_1_script_system.html#a65630cac0d07c358f773381d210c6b28">MakeLiteral</a>(<a class="code hl_struct" href="structdl_1_1_script_block.html">ScriptBlock</a>&amp; block, <span class="keyword">const</span> <a class="code hl_struct" href="structdl_1_1_script_token.html">ScriptToken</a>&amp; token);</div>
<div class="line"><a id="l00507" name="l00507"></a><span class="lineno"> 507</span></div>
<div class="foldopen" id="foldopen00509" data-start="{" data-end="}">
<div class="line"><a id="l00509" name="l00509"></a><span class="lineno"><a class="line" href="classdl_1_1_script_system.html#a3c58e569b153bf0a99ec73a6d3a14df5"> 509</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classdl_1_1_script_system.html#a3c58e569b153bf0a99ec73a6d3a14df5">RegisterFunction</a>(std::string_view name, <a class="code hl_typedef" href="namespacedl.html#a3ff1821cbbcf49ae26a3a29316daec06">ScriptFunction</a> func)</div>
<div class="line"><a id="l00510" name="l00510"></a><span class="lineno"> 510</span> {</div>
<div class="line"><a id="l00511" name="l00511"></a><span class="lineno"> 511</span> <a class="code hl_struct" href="structdl_1_1_script_var.html">ScriptVar</a> var = _varSpaceGlobal.AddFunction(func);</div>
<div class="line"><a id="l00512" name="l00512"></a><span class="lineno"> 512</span> _allVar[std::string{ name }] = var;</div>
<div class="line"><a id="l00513" name="l00513"></a><span class="lineno"> 513</span> }</div>
</div>
<div class="foldopen" id="foldopen00514" data-start="{" data-end="}">
<div class="line"><a id="l00514" name="l00514"></a><span class="lineno"><a class="line" href="classdl_1_1_script_system.html#a51743b55bd13821d8c6b88e7ed0dcc15"> 514</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classdl_1_1_script_system.html#a51743b55bd13821d8c6b88e7ed0dcc15">CopyVariableToVm</a>(<a class="code hl_class" href="classdl_1_1_script_v_m.html">ScriptVM</a>&amp; vm)</div>
<div class="line"><a id="l00515" name="l00515"></a><span class="lineno"> 515</span> {</div>
<div class="line"><a id="l00516" name="l00516"></a><span class="lineno"> 516</span> vm._allVar = _allVar;</div>
<div class="line"><a id="l00517" name="l00517"></a><span class="lineno"> 517</span> vm._varSpaceGlobal = _varSpaceGlobal;</div>
<div class="line"><a id="l00518" name="l00518"></a><span class="lineno"> 518</span> }</div>
</div>
<div class="line"><a id="l00519" name="l00519"></a><span class="lineno"> 519</span> </div>
<div class="line"><a id="l00520" name="l00520"></a><span class="lineno"><a class="line" href="classdl_1_1_script_system.html#a203c601ac7508b59895cacdf4558d230"> 520</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classdl_1_1_script_system.html#a203c601ac7508b59895cacdf4558d230">CheckToken</a>(<a class="code hl_enumeration" href="namespacedl.html#a4c10aa959decc196466654f317ba7a25">ScriptExprTokenType</a> type);</div>
<div class="line"><a id="l00521" name="l00521"></a><span class="lineno"> 521</span></div>
<div class="line"><a id="l00523" name="l00523"></a><span class="lineno"><a class="line" href="classdl_1_1_script_system.html#afe4342f30fa077f18aa03fb4d335feed"> 523</a></span> <a class="code hl_enumeration" href="namespacedl.html#ab8b15fc53d965fc6abd2c1ce971ee0dd">ScriptOperator</a> <a class="code hl_function" href="classdl_1_1_script_system.html#afe4342f30fa077f18aa03fb4d335feed">String2Operator</a>(std::string_view str);</div>
<div class="line"><a id="l00524" name="l00524"></a><span class="lineno"> 524</span> </div>
<div class="line"><a id="l00525" name="l00525"></a><span class="lineno"> 525</span> <span class="comment">//------------------------------------基础运算(不考虑变量)-----------------------</span></div>
<div class="line"><a id="l00526" name="l00526"></a><span class="lineno"><a class="line" href="classdl_1_1_script_system.html#a5f4a2206ded44cd91ff3d4919d972e8b"> 526</a></span> <a class="code hl_struct" href="structdl_1_1_script_var.html">ScriptVar</a> <a class="code hl_function" href="classdl_1_1_script_system.html#a5f4a2206ded44cd91ff3d4919d972e8b">OpArithmetic</a>(<a class="code hl_class" href="classdl_1_1_script_v_m.html">ScriptVM</a>&amp; vm, <a class="code hl_enumeration" href="namespacedl.html#ab8b15fc53d965fc6abd2c1ce971ee0dd">ScriptOperator</a> op, <span class="keyword">const</span> <a class="code hl_struct" href="structdl_1_1_script_var.html">ScriptVar</a>&amp; v0, <span class="keyword">const</span> <a class="code hl_struct" href="structdl_1_1_script_var.html">ScriptVar</a>&amp; v1);</div>
<div class="line"><a id="l00527" name="l00527"></a><span class="lineno"><a class="line" href="classdl_1_1_script_system.html#a924b05488ece997ebe97721a085c579b"> 527</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classdl_1_1_script_system.html#a924b05488ece997ebe97721a085c579b">OpAssign</a>(<a class="code hl_class" href="classdl_1_1_script_v_m.html">ScriptVM</a>&amp; vm, <a class="code hl_struct" href="structdl_1_1_script_var.html">ScriptVar</a>&amp; v0, <span class="keyword">const</span> <a class="code hl_struct" href="structdl_1_1_script_var.html">ScriptVar</a>&amp; v1);</div>
<div class="line"><a id="l00528" name="l00528"></a><span class="lineno"> 528</span> </div>
<div class="line"><a id="l00529" name="l00529"></a><span class="lineno"><a class="line" href="classdl_1_1_script_system.html#ab51f224a553cef0e73dc2e0de06f9033"> 529</a></span> <a class="code hl_function" href="classdl_1_1_script_system.html#ab51f224a553cef0e73dc2e0de06f9033">ScriptSystem</a>();</div>
<div class="line"><a id="l00530" name="l00530"></a><span class="lineno"> 530</span> <span class="keyword">private</span>:</div>
<div class="line"><a id="l00531" name="l00531"></a><span class="lineno"> 531</span> <span class="comment">// 关键字</span></div>
<div class="line"><a id="l00532" name="l00532"></a><span class="lineno"> 532</span> std::unordered_map&lt;std::string_view, int&gt; _allKeyword;</div>
<div class="line"><a id="l00533" name="l00533"></a><span class="lineno"> 533</span> <span class="comment">// 操作符、优先级(越大越优先)</span></div>
<div class="line"><a id="l00534" name="l00534"></a><span class="lineno"> 534</span> std::unordered_map&lt;std::string_view, int&gt; _allOperator;</div>
<div class="line"><a id="l00535" name="l00535"></a><span class="lineno"> 535</span> <span class="comment">// 变量空间池</span></div>
<div class="line"><a id="l00536" name="l00536"></a><span class="lineno"> 536</span> std::list&lt;ScriptVarSpace*&gt; _listVarSpaceFree;</div>
<div class="line"><a id="l00537" name="l00537"></a><span class="lineno"> 537</span> <span class="comment">// 内置变量(例print</span></div>
<div class="line"><a id="l00538" name="l00538"></a><span class="lineno"> 538</span> std::unordered_map&lt;std::string, ScriptVar&gt; _allVar;</div>
<div class="line"><a id="l00539" name="l00539"></a><span class="lineno"> 539</span> <span class="comment">// 内置变量空间(全局)</span></div>
<div class="line"><a id="l00540" name="l00540"></a><span class="lineno"> 540</span> <a class="code hl_class" href="classdl_1_1_script_var_space.html">ScriptVarSpace</a> _varSpaceGlobal;</div>
<div class="line"><a id="l00541" name="l00541"></a><span class="lineno"> 541</span> };</div>
</div>
<div class="line"><a id="l00542" name="l00542"></a><span class="lineno"> 542</span> </div>
<div class="line"><a id="l00543" name="l00543"></a><span class="lineno"> 543</span> <span class="keyword">extern</span> <a class="code hl_class" href="classdl_1_1_script_system.html">ScriptSystem</a>* <a class="code hl_variable" href="namespacedl.html#a0c25fb6079281cf64e149a0ca5127283">g_script</a>;</div>
<div class="line"><a id="l00544" name="l00544"></a><span class="lineno"> 544</span>}</div>
<div class="ttc" id="aclassdl_1_1_script_system_html"><div class="ttname"><a href="classdl_1_1_script_system.html">dl::ScriptSystem</a></div><div class="ttdoc">管理器</div><div class="ttdef"><b>定义</b> <a href="#l00472">dl_script.h:473</a></div></div>
<div class="ttc" id="aclassdl_1_1_script_system_html_a0136b7577a7f44e77f8139a49f2ed2ee"><div class="ttname"><a href="classdl_1_1_script_system.html#a0136b7577a7f44e77f8139a49f2ed2ee">dl::ScriptSystem::IsVariable</a></div><div class="ttdeci">bool IsVariable(std::string_view str)</div><div class="ttdoc">是否变量名</div></div>
<div class="ttc" id="aclassdl_1_1_script_system_html_a042825e10ca2c85a04d97a61091745b5"><div class="ttname"><a href="classdl_1_1_script_system.html#a042825e10ca2c85a04d97a61091745b5">dl::ScriptSystem::Preprocess</a></div><div class="ttdeci">std::string Preprocess(std::string_view src)</div><div class="ttdoc">预处理代码(行号不变)</div></div>
<div class="ttc" id="aclassdl_1_1_script_system_html_a102733b6124da36a051d5fd2c710fe12"><div class="ttname"><a href="classdl_1_1_script_system.html#a102733b6124da36a051d5fd2c710fe12">dl::ScriptSystem::Compile</a></div><div class="ttdeci">ScriptBlock Compile(std::string_view src)</div></div>
<div class="ttc" id="aclassdl_1_1_script_system_html_a122569273a195e72159cef787e4c4568"><div class="ttname"><a href="classdl_1_1_script_system.html#a122569273a195e72159cef787e4c4568">dl::ScriptSystem::GetOperatorPriority</a></div><div class="ttdeci">int GetOperatorPriority(std::string_view str)</div><div class="ttdoc">返回操作符优先级,越大越优先</div></div>
<div class="ttc" id="aclassdl_1_1_script_system_html_a191329b94a935a53d2f74c59505247d3"><div class="ttname"><a href="classdl_1_1_script_system.html#a191329b94a935a53d2f74c59505247d3">dl::ScriptSystem::IsOperator</a></div><div class="ttdeci">bool IsOperator(std::string_view str)</div><div class="ttdoc">是否操作符</div></div>
<div class="ttc" id="aclassdl_1_1_script_system_html_a1b84394aa824a873b3202559b6ceda8a"><div class="ttname"><a href="classdl_1_1_script_system.html#a1b84394aa824a873b3202559b6ceda8a">dl::ScriptSystem::IsKeyword</a></div><div class="ttdeci">bool IsKeyword(std::string_view str)</div><div class="ttdoc">是否关键字</div></div>
<div class="ttc" id="aclassdl_1_1_script_system_html_a203c601ac7508b59895cacdf4558d230"><div class="ttname"><a href="classdl_1_1_script_system.html#a203c601ac7508b59895cacdf4558d230">dl::ScriptSystem::CheckToken</a></div><div class="ttdeci">bool CheckToken(ScriptExprTokenType type)</div></div>
<div class="ttc" id="aclassdl_1_1_script_system_html_a2f0c80d5fcf8fa93179d7a38921c32a7"><div class="ttname"><a href="classdl_1_1_script_system.html#a2f0c80d5fcf8fa93179d7a38921c32a7">dl::ScriptSystem::IsGlobalVariable</a></div><div class="ttdeci">bool IsGlobalVariable(std::string_view str)</div><div class="ttdoc">是否全局变量名</div></div>
<div class="ttc" id="aclassdl_1_1_script_system_html_a3288ae9a8228bb47885d2ee02380ede0"><div class="ttname"><a href="classdl_1_1_script_system.html#a3288ae9a8228bb47885d2ee02380ede0">dl::ScriptSystem::PreprocessLineNumber</a></div><div class="ttdeci">void PreprocessLineNumber(ScriptBlock &amp;block, std::string_view src)</div></div>
<div class="ttc" id="aclassdl_1_1_script_system_html_a3c58e569b153bf0a99ec73a6d3a14df5"><div class="ttname"><a href="classdl_1_1_script_system.html#a3c58e569b153bf0a99ec73a6d3a14df5">dl::ScriptSystem::RegisterFunction</a></div><div class="ttdeci">void RegisterFunction(std::string_view name, ScriptFunction func)</div><div class="ttdoc">注册函数</div><div class="ttdef"><b>定义</b> <a href="#l00509">dl_script.h:509</a></div></div>
<div class="ttc" id="aclassdl_1_1_script_system_html_a51743b55bd13821d8c6b88e7ed0dcc15"><div class="ttname"><a href="classdl_1_1_script_system.html#a51743b55bd13821d8c6b88e7ed0dcc15">dl::ScriptSystem::CopyVariableToVm</a></div><div class="ttdeci">void CopyVariableToVm(ScriptVM &amp;vm)</div><div class="ttdef"><b>定义</b> <a href="#l00514">dl_script.h:514</a></div></div>
<div class="ttc" id="aclassdl_1_1_script_system_html_a5f4a2206ded44cd91ff3d4919d972e8b"><div class="ttname"><a href="classdl_1_1_script_system.html#a5f4a2206ded44cd91ff3d4919d972e8b">dl::ScriptSystem::OpArithmetic</a></div><div class="ttdeci">ScriptVar OpArithmetic(ScriptVM &amp;vm, ScriptOperator op, const ScriptVar &amp;v0, const ScriptVar &amp;v1)</div></div>
<div class="ttc" id="aclassdl_1_1_script_system_html_a65630cac0d07c358f773381d210c6b28"><div class="ttname"><a href="classdl_1_1_script_system.html#a65630cac0d07c358f773381d210c6b28">dl::ScriptSystem::MakeLiteral</a></div><div class="ttdeci">ScriptVar MakeLiteral(ScriptBlock &amp;block, const ScriptToken &amp;token)</div><div class="ttdoc">生成字面量</div></div>
<div class="ttc" id="aclassdl_1_1_script_system_html_a924b05488ece997ebe97721a085c579b"><div class="ttname"><a href="classdl_1_1_script_system.html#a924b05488ece997ebe97721a085c579b">dl::ScriptSystem::OpAssign</a></div><div class="ttdeci">void OpAssign(ScriptVM &amp;vm, ScriptVar &amp;v0, const ScriptVar &amp;v1)</div></div>
<div class="ttc" id="aclassdl_1_1_script_system_html_aa8798d7c9a5a5d2e62b57e23ead2d92a"><div class="ttname"><a href="classdl_1_1_script_system.html#aa8798d7c9a5a5d2e62b57e23ead2d92a">dl::ScriptSystem::MakeExprToken</a></div><div class="ttdeci">ScriptExprToken MakeExprToken(ScriptBlock &amp;block, const ScriptToken &amp;token)</div><div class="ttdoc">生成表达式token(字面量是编译器信息,需要生成到block)</div></div>
<div class="ttc" id="aclassdl_1_1_script_system_html_ab099f40d770ee58d2dce5bae35cc192a"><div class="ttname"><a href="classdl_1_1_script_system.html#ab099f40d770ee58d2dce5bae35cc192a">dl::ScriptSystem::ConvertMid</a></div><div class="ttdeci">std::vector&lt; ScriptExprToken &gt; ConvertMid(const std::vector&lt; ScriptExprToken &gt; &amp;vec)</div></div>
<div class="ttc" id="aclassdl_1_1_script_system_html_ab51f224a553cef0e73dc2e0de06f9033"><div class="ttname"><a href="classdl_1_1_script_system.html#ab51f224a553cef0e73dc2e0de06f9033">dl::ScriptSystem::ScriptSystem</a></div><div class="ttdeci">ScriptSystem()</div></div>
<div class="ttc" id="aclassdl_1_1_script_system_html_aced34d602a93f6f64224d15d3943993a"><div class="ttname"><a href="classdl_1_1_script_system.html#aced34d602a93f6f64224d15d3943993a">dl::ScriptSystem::IsMaybeOperator</a></div><div class="ttdeci">bool IsMaybeOperator(char ch)</div><div class="ttdoc">是否可能为操作符内容(变量名不可能出现)</div></div>
<div class="ttc" id="aclassdl_1_1_script_system_html_afcb7414bcff27817306d1d646c7f58fc"><div class="ttname"><a href="classdl_1_1_script_system.html#afcb7414bcff27817306d1d646c7f58fc">dl::ScriptSystem::GetTokenType</a></div><div class="ttdeci">ScriptExprTokenType GetTokenType(std::string_view str)</div><div class="ttdoc">返回token类型</div></div>
<div class="ttc" id="aclassdl_1_1_script_system_html_afe4342f30fa077f18aa03fb4d335feed"><div class="ttname"><a href="classdl_1_1_script_system.html#afe4342f30fa077f18aa03fb4d335feed">dl::ScriptSystem::String2Operator</a></div><div class="ttdeci">ScriptOperator String2Operator(std::string_view str)</div><div class="ttdoc">字符串转操作符变量</div></div>
<div class="ttc" id="aclassdl_1_1_script_v_m_html"><div class="ttname"><a href="classdl_1_1_script_v_m.html">dl::ScriptVM</a></div><div class="ttdoc">虚拟机</div><div class="ttdef"><b>定义</b> <a href="#l00388">dl_script.h:389</a></div></div>
<div class="ttc" id="aclassdl_1_1_script_v_m_html_a063bf1cf7c5f232a95b37d2dfd0d0431"><div class="ttname"><a href="classdl_1_1_script_v_m.html#a063bf1cf7c5f232a95b37d2dfd0d0431">dl::ScriptVM::Variable2String</a></div><div class="ttdeci">std::string Variable2String(const ScriptVar &amp;var)</div></div>
<div class="ttc" id="aclassdl_1_1_script_v_m_html_ad50304cd5eefae6eaba772e9bdbc454c"><div class="ttname"><a href="classdl_1_1_script_v_m.html#ad50304cd5eefae6eaba772e9bdbc454c">dl::ScriptVM::Variable2Bool</a></div><div class="ttdeci">bool Variable2Bool(const ScriptVar &amp;var)</div></div>
<div class="ttc" id="aclassdl_1_1_script_v_m_html_adc3257aa4fb374cdaf72d053c4b3a484"><div class="ttname"><a href="classdl_1_1_script_v_m.html#adc3257aa4fb374cdaf72d053c4b3a484">dl::ScriptVM::Execute</a></div><div class="ttdeci">void Execute(const ScriptBlock &amp;block)</div></div>
<div class="ttc" id="aclassdl_1_1_script_v_m_html_ae6ed61b5709dda850b4736df5568dbaf"><div class="ttname"><a href="classdl_1_1_script_v_m.html#ae6ed61b5709dda850b4736df5568dbaf">dl::ScriptVM::ScriptVM</a></div><div class="ttdeci">ScriptVM()</div></div>
<div class="ttc" id="aclassdl_1_1_script_v_m_html_afd18da64073b9fd93a8799ed87d7b05d"><div class="ttname"><a href="classdl_1_1_script_v_m.html#afd18da64073b9fd93a8799ed87d7b05d">dl::ScriptVM::Throw</a></div><div class="ttdeci">void Throw()</div><div class="ttdef"><b>定义</b> <a href="#l00400">dl_script.h:400</a></div></div>
<div class="ttc" id="aclassdl_1_1_script_v_m_html_aff288cf120ad65089dd6f3779dbbaff1"><div class="ttname"><a href="classdl_1_1_script_v_m.html#aff288cf120ad65089dd6f3779dbbaff1">dl::ScriptVM::ScriptSystem</a></div><div class="ttdeci">friend class ScriptSystem</div><div class="ttdef"><b>定义</b> <a href="#l00390">dl_script.h:390</a></div></div>
<div class="ttc" id="aclassdl_1_1_script_var_space_html"><div class="ttname"><a href="classdl_1_1_script_var_space.html">dl::ScriptVarSpace</a></div><div class="ttdoc">变量空间</div><div class="ttdef"><b>定义</b> <a href="#l00249">dl_script.h:250</a></div></div>
<div class="ttc" id="aclassdl_1_1_script_var_space_html_a211d4061306e7a8e6066b0f61bca3ecd"><div class="ttname"><a href="classdl_1_1_script_var_space.html#a211d4061306e7a8e6066b0f61bca3ecd">dl::ScriptVarSpace::GetVetorRef</a></div><div class="ttdeci">ScriptVector &amp; GetVetorRef(size_t i)</div><div class="ttdef"><b>定义</b> <a href="#l00303">dl_script.h:303</a></div></div>
<div class="ttc" id="aclassdl_1_1_script_var_space_html_a573f87d03643eb9eb19789453ca2789a"><div class="ttname"><a href="classdl_1_1_script_var_space.html#a573f87d03643eb9eb19789453ca2789a">dl::ScriptVarSpace::SetString</a></div><div class="ttdeci">void SetString(size_t i, const ScriptString &amp;str)</div><div class="ttdef"><b>定义</b> <a href="#l00286">dl_script.h:286</a></div></div>
<div class="ttc" id="aclassdl_1_1_script_var_space_html_a693f4c96be0b83819c7ee3ab0672366f"><div class="ttname"><a href="classdl_1_1_script_var_space.html#a693f4c96be0b83819c7ee3ab0672366f">dl::ScriptVarSpace::GetString</a></div><div class="ttdeci">const ScriptString &amp; GetString(size_t i) const</div><div class="ttdef"><b>定义</b> <a href="#l00295">dl_script.h:295</a></div></div>
<div class="ttc" id="aclassdl_1_1_script_var_space_html_a6eb385a8e7a1ab41e1800e7503a86a70"><div class="ttname"><a href="classdl_1_1_script_var_space.html#a6eb385a8e7a1ab41e1800e7503a86a70">dl::ScriptVarSpace::SetVector</a></div><div class="ttdeci">void SetVector(size_t i, const ScriptVector &amp;vec)</div><div class="ttdef"><b>定义</b> <a href="#l00290">dl_script.h:290</a></div></div>
<div class="ttc" id="aclassdl_1_1_script_var_space_html_a969b0a36c4763d97c6fd97316cfd8f55"><div class="ttname"><a href="classdl_1_1_script_var_space.html#a969b0a36c4763d97c6fd97316cfd8f55">dl::ScriptVarSpace::AddFunction</a></div><div class="ttdeci">ScriptVar AddFunction(ScriptFunction v)</div><div class="ttdef"><b>定义</b> <a href="#l00268">dl_script.h:268</a></div></div>
<div class="ttc" id="aclassdl_1_1_script_var_space_html_a980524ec9ee1eb39ca2312e97282eb34"><div class="ttname"><a href="classdl_1_1_script_var_space.html#a980524ec9ee1eb39ca2312e97282eb34">dl::ScriptVarSpace::GetFunction</a></div><div class="ttdeci">const ScriptFunction &amp; GetFunction(size_t i) const</div><div class="ttdef"><b>定义</b> <a href="#l00299">dl_script.h:299</a></div></div>
<div class="ttc" id="aclassdl_1_1_script_var_space_html_ab33f54b4d33c8295ee50a767de1d92c2"><div class="ttname"><a href="classdl_1_1_script_var_space.html#ab33f54b4d33c8295ee50a767de1d92c2">dl::ScriptVarSpace::AddString</a></div><div class="ttdeci">ScriptVar AddString(std::string_view v)</div><div class="ttdef"><b>定义</b> <a href="#l00259">dl_script.h:259</a></div></div>
<div class="ttc" id="aclassdl_1_1_script_var_space_html_ab3a83af69416296ad27ccfac0719e116"><div class="ttname"><a href="classdl_1_1_script_var_space.html#ab3a83af69416296ad27ccfac0719e116">dl::ScriptVarSpace::AddVector</a></div><div class="ttdeci">ScriptVar AddVector()</div><div class="ttdef"><b>定义</b> <a href="#l00277">dl_script.h:277</a></div></div>
<div class="ttc" id="aclassdl_1_1_script_var_space_html_acf13751f393ea4b89de2950c01b8a1c6"><div class="ttname"><a href="classdl_1_1_script_var_space.html#acf13751f393ea4b89de2950c01b8a1c6">dl::ScriptVarSpace::GetIndex</a></div><div class="ttdeci">ScriptIndexVS GetIndex() const</div><div class="ttdef"><b>定义</b> <a href="#l00256">dl_script.h:256</a></div></div>
<div class="ttc" id="aclassdl_1_1_script_var_space_html_af8f8ff73867573bcd80f5a36a85ba26d"><div class="ttname"><a href="classdl_1_1_script_var_space.html#af8f8ff73867573bcd80f5a36a85ba26d">dl::ScriptVarSpace::ScriptVarSpace</a></div><div class="ttdeci">ScriptVarSpace(ScriptIndexVS index, size_t level)</div><div class="ttdef"><b>定义</b> <a href="#l00252">dl_script.h:252</a></div></div>
<div class="ttc" id="aclassdl_1_1_script_var_space_html_aff10d7441112f394fcde9ba9bf983f7b"><div class="ttname"><a href="classdl_1_1_script_var_space.html#aff10d7441112f394fcde9ba9bf983f7b">dl::ScriptVarSpace::GetLevel</a></div><div class="ttdeci">size_t GetLevel() const</div><div class="ttdef"><b>定义</b> <a href="#l00257">dl_script.h:257</a></div></div>
<div class="ttc" id="anamespacedl_html"><div class="ttname"><a href="namespacedl.html">dl</a></div><div class="ttdef"><b>定义</b> <a href="dl__array_8h_source.html#l00021">dl_array.h:22</a></div></div>
<div class="ttc" id="anamespacedl_html_a0c25fb6079281cf64e149a0ca5127283"><div class="ttname"><a href="namespacedl.html#a0c25fb6079281cf64e149a0ca5127283">dl::g_script</a></div><div class="ttdeci">ScriptSystem * g_script</div></div>
<div class="ttc" id="anamespacedl_html_a1ae02ec403925c6368e4341d7fa0783c"><div class="ttname"><a href="namespacedl.html#a1ae02ec403925c6368e4341d7fa0783c">dl::ScriptTable</a></div><div class="ttdeci">std::unordered_map&lt; std::string, ScriptVar &gt; ScriptTable</div><div class="ttdef"><b>定义</b> <a href="#l00037">dl_script.h:37</a></div></div>
<div class="ttc" id="anamespacedl_html_a1e97d02c80232f8b44f20640e1e29b39"><div class="ttname"><a href="namespacedl.html#a1e97d02c80232f8b44f20640e1e29b39">dl::SCRIPT_INDEX_VS_0</a></div><div class="ttdeci">constexpr ScriptIndexVS SCRIPT_INDEX_VS_0</div><div class="ttdef"><b>定义</b> <a href="#l00042">dl_script.h:42</a></div></div>
<div class="ttc" id="anamespacedl_html_a3ff1821cbbcf49ae26a3a29316daec06"><div class="ttname"><a href="namespacedl.html#a3ff1821cbbcf49ae26a3a29316daec06">dl::ScriptFunction</a></div><div class="ttdeci">std::function&lt; int(ScriptVM &amp;, const ScriptParam &amp;)&gt; ScriptFunction</div><div class="ttdef"><b>定义</b> <a href="#l00039">dl_script.h:39</a></div></div>
<div class="ttc" id="anamespacedl_html_a4600080ff638c6e9eb3151da0b0c75ff"><div class="ttname"><a href="namespacedl.html#a4600080ff638c6e9eb3151da0b0c75ff">dl::SCRIPT_INDEX_VS_ITERAL</a></div><div class="ttdeci">constexpr ScriptIndexVS SCRIPT_INDEX_VS_ITERAL</div><div class="ttdef"><b>定义</b> <a href="#l00043">dl_script.h:43</a></div></div>
<div class="ttc" id="anamespacedl_html_a4c10aa959decc196466654f317ba7a25"><div class="ttname"><a href="namespacedl.html#a4c10aa959decc196466654f317ba7a25">dl::ScriptExprTokenType</a></div><div class="ttdeci">ScriptExprTokenType</div><div class="ttdoc">表达式token类型</div><div class="ttdef"><b>定义</b> <a href="#l00206">dl_script.h:207</a></div></div>
<div class="ttc" id="anamespacedl_html_a4c10aa959decc196466654f317ba7a25a6ea49dda1415d45879eed3e28a6ac0fa"><div class="ttname"><a href="namespacedl.html#a4c10aa959decc196466654f317ba7a25a6ea49dda1415d45879eed3e28a6ac0fa">dl::ScriptExprTokenType::ESET_variable</a></div><div class="ttdeci">@ ESET_variable</div><div class="ttdef"><b>定义</b> <a href="#l00208">dl_script.h:208</a></div></div>
<div class="ttc" id="anamespacedl_html_a4c10aa959decc196466654f317ba7a25a904858ce9e57fb257f59d1335bbb3965"><div class="ttname"><a href="namespacedl.html#a4c10aa959decc196466654f317ba7a25a904858ce9e57fb257f59d1335bbb3965">dl::ScriptExprTokenType::ESET_operator</a></div><div class="ttdeci">@ ESET_operator</div><div class="ttdef"><b>定义</b> <a href="#l00210">dl_script.h:210</a></div></div>
<div class="ttc" id="anamespacedl_html_a4c10aa959decc196466654f317ba7a25ac0438c87a3278c4ec6e1e4b3dacdabba"><div class="ttname"><a href="namespacedl.html#a4c10aa959decc196466654f317ba7a25ac0438c87a3278c4ec6e1e4b3dacdabba">dl::ScriptExprTokenType::ESET_literal</a></div><div class="ttdeci">@ ESET_literal</div><div class="ttdef"><b>定义</b> <a href="#l00209">dl_script.h:209</a></div></div>
<div class="ttc" id="anamespacedl_html_a4cf31ca6e4d6a5a249562b93cd59267e"><div class="ttname"><a href="namespacedl.html#a4cf31ca6e4d6a5a249562b93cd59267e">dl::SCRIPT_INDEX_VS_ERROR</a></div><div class="ttdeci">constexpr ScriptIndexVS SCRIPT_INDEX_VS_ERROR</div><div class="ttdef"><b>定义</b> <a href="#l00045">dl_script.h:45</a></div></div>
<div class="ttc" id="anamespacedl_html_a5489305c03dc77a0c8db1390cf349b75"><div class="ttname"><a href="namespacedl.html#a5489305c03dc77a0c8db1390cf349b75">dl::ScriptSegmentType</a></div><div class="ttdeci">ScriptSegmentType</div><div class="ttdef"><b>定义</b> <a href="#l00319">dl_script.h:320</a></div></div>
<div class="ttc" id="anamespacedl_html_a5489305c03dc77a0c8db1390cf349b75a2168615cec26ed8f66285be9d654fe6a"><div class="ttname"><a href="namespacedl.html#a5489305c03dc77a0c8db1390cf349b75a2168615cec26ed8f66285be9d654fe6a">dl::ScriptSegmentType::E_for</a></div><div class="ttdeci">@ E_for</div><div class="ttdef"><b>定义</b> <a href="#l00326">dl_script.h:326</a></div></div>
<div class="ttc" id="anamespacedl_html_a5489305c03dc77a0c8db1390cf349b75a443dd2c102e5d6ddbdabcb769ffa96a7"><div class="ttname"><a href="namespacedl.html#a5489305c03dc77a0c8db1390cf349b75a443dd2c102e5d6ddbdabcb769ffa96a7">dl::ScriptSegmentType::E_ifelse</a></div><div class="ttdeci">@ E_ifelse</div><div class="ttdef"><b>定义</b> <a href="#l00323">dl_script.h:323</a></div></div>
<div class="ttc" id="anamespacedl_html_a5489305c03dc77a0c8db1390cf349b75a6525ee4b4bde1a560d71f10542d2236e"><div class="ttname"><a href="namespacedl.html#a5489305c03dc77a0c8db1390cf349b75a6525ee4b4bde1a560d71f10542d2236e">dl::ScriptSegmentType::E_expr</a></div><div class="ttdeci">@ E_expr</div><div class="ttdef"><b>定义</b> <a href="#l00321">dl_script.h:321</a></div></div>
<div class="ttc" id="anamespacedl_html_a5489305c03dc77a0c8db1390cf349b75a7b927f69ddb89afc7318cd887237162e"><div class="ttname"><a href="namespacedl.html#a5489305c03dc77a0c8db1390cf349b75a7b927f69ddb89afc7318cd887237162e">dl::ScriptSegmentType::E_while</a></div><div class="ttdeci">@ E_while</div><div class="ttdef"><b>定义</b> <a href="#l00325">dl_script.h:325</a></div></div>
<div class="ttc" id="anamespacedl_html_a5489305c03dc77a0c8db1390cf349b75aa05acf48758fd18f1552fbb303a07ae9"><div class="ttname"><a href="namespacedl.html#a5489305c03dc77a0c8db1390cf349b75aa05acf48758fd18f1552fbb303a07ae9">dl::ScriptSegmentType::E_if</a></div><div class="ttdeci">@ E_if</div><div class="ttdef"><b>定义</b> <a href="#l00322">dl_script.h:322</a></div></div>
<div class="ttc" id="anamespacedl_html_a5489305c03dc77a0c8db1390cf349b75acbd4c8b5810ed9fb44dd9efa9c8dad92"><div class="ttname"><a href="namespacedl.html#a5489305c03dc77a0c8db1390cf349b75acbd4c8b5810ed9fb44dd9efa9c8dad92">dl::ScriptSegmentType::E_else</a></div><div class="ttdeci">@ E_else</div><div class="ttdef"><b>定义</b> <a href="#l00324">dl_script.h:324</a></div></div>
<div class="ttc" id="anamespacedl_html_a6de3ad5a1245ffe81d39e050902ee98b"><div class="ttname"><a href="namespacedl.html#a6de3ad5a1245ffe81d39e050902ee98b">dl::ScriptIndex</a></div><div class="ttdeci">uint32_t ScriptIndex</div><div class="ttdef"><b>定义</b> <a href="#l00027">dl_script.h:27</a></div></div>
<div class="ttc" id="anamespacedl_html_a6f4574f20ba2fefb1005b23a92fab372"><div class="ttname"><a href="namespacedl.html#a6f4574f20ba2fefb1005b23a92fab372">dl::to_string</a></div><div class="ttdeci">std::string to_string(T v)</div><div class="ttdoc">to_string包装</div><div class="ttdef"><b>定义</b> <a href="dl__string_8h_source.html#l00074">dl_string.h:74</a></div></div>
<div class="ttc" id="anamespacedl_html_a72144ccfbb73a57c830ab4d089a0345e"><div class="ttname"><a href="namespacedl.html#a72144ccfbb73a57c830ab4d089a0345e">dl::ScriptVector</a></div><div class="ttdeci">std::vector&lt; ScriptVar &gt; ScriptVector</div><div class="ttdef"><b>定义</b> <a href="#l00036">dl_script.h:36</a></div></div>
<div class="ttc" id="anamespacedl_html_a7b63f561250e9914489dc27952752030"><div class="ttname"><a href="namespacedl.html#a7b63f561250e9914489dc27952752030">dl::ScriptVarType</a></div><div class="ttdeci">ScriptVarType</div><div class="ttdoc">变量类型(用户层面)</div><div class="ttdef"><b>定义</b> <a href="#l00048">dl_script.h:49</a></div></div>
<div class="ttc" id="anamespacedl_html_a7b63f561250e9914489dc27952752030a20cfdf78b21f74735008df734acc9e8c"><div class="ttname"><a href="namespacedl.html#a7b63f561250e9914489dc27952752030a20cfdf78b21f74735008df734acc9e8c">dl::ScriptVarType::E_max</a></div><div class="ttdeci">@ E_max</div><div class="ttdef"><b>定义</b> <a href="#l00060">dl_script.h:60</a></div></div>
<div class="ttc" id="anamespacedl_html_a7b63f561250e9914489dc27952752030a252a16d98974cd124b96803509298cc0"><div class="ttname"><a href="namespacedl.html#a7b63f561250e9914489dc27952752030a252a16d98974cd124b96803509298cc0">dl::ScriptVarType::E_vector</a></div><div class="ttdeci">@ E_vector</div><div class="ttdef"><b>定义</b> <a href="#l00055">dl_script.h:55</a></div></div>
<div class="ttc" id="anamespacedl_html_a7b63f561250e9914489dc27952752030a291fe7c7aac86a222e35f23fbcf718aa"><div class="ttname"><a href="namespacedl.html#a7b63f561250e9914489dc27952752030a291fe7c7aac86a222e35f23fbcf718aa">dl::ScriptVarType::E_class</a></div><div class="ttdeci">@ E_class</div><div class="ttdef"><b>定义</b> <a href="#l00054">dl_script.h:54</a></div></div>
<div class="ttc" id="anamespacedl_html_a7b63f561250e9914489dc27952752030a2bc81816e053010b9ff50890cd21d3fd"><div class="ttname"><a href="namespacedl.html#a7b63f561250e9914489dc27952752030a2bc81816e053010b9ff50890cd21d3fd">dl::ScriptVarType::E_userdata</a></div><div class="ttdeci">@ E_userdata</div><div class="ttdef"><b>定义</b> <a href="#l00058">dl_script.h:58</a></div></div>
<div class="ttc" id="anamespacedl_html_a7b63f561250e9914489dc27952752030a570036829dce56fc7b0af6b8638bd50c"><div class="ttname"><a href="namespacedl.html#a7b63f561250e9914489dc27952752030a570036829dce56fc7b0af6b8638bd50c">dl::ScriptVarType::E_int</a></div><div class="ttdeci">@ E_int</div><div class="ttdef"><b>定义</b> <a href="#l00051">dl_script.h:51</a></div></div>
<div class="ttc" id="anamespacedl_html_a7b63f561250e9914489dc27952752030a7773b4d6041ae7917060a8316643e470"><div class="ttname"><a href="namespacedl.html#a7b63f561250e9914489dc27952752030a7773b4d6041ae7917060a8316643e470">dl::ScriptVarType::E_string</a></div><div class="ttdeci">@ E_string</div><div class="ttdef"><b>定义</b> <a href="#l00053">dl_script.h:53</a></div></div>
<div class="ttc" id="anamespacedl_html_a7b63f561250e9914489dc27952752030a7a486519b2d8b3920af6883658b388cc"><div class="ttname"><a href="namespacedl.html#a7b63f561250e9914489dc27952752030a7a486519b2d8b3920af6883658b388cc">dl::ScriptVarType::E_table</a></div><div class="ttdeci">@ E_table</div><div class="ttdef"><b>定义</b> <a href="#l00056">dl_script.h:56</a></div></div>
<div class="ttc" id="anamespacedl_html_a7b63f561250e9914489dc27952752030a8cf8a004b96038aaae383d3887d541f5"><div class="ttname"><a href="namespacedl.html#a7b63f561250e9914489dc27952752030a8cf8a004b96038aaae383d3887d541f5">dl::ScriptVarType::E_null</a></div><div class="ttdeci">@ E_null</div><div class="ttdef"><b>定义</b> <a href="#l00050">dl_script.h:50</a></div></div>
<div class="ttc" id="anamespacedl_html_a7b63f561250e9914489dc27952752030ae9e6ba75fba415d206d4c6aee953ee5f"><div class="ttname"><a href="namespacedl.html#a7b63f561250e9914489dc27952752030ae9e6ba75fba415d206d4c6aee953ee5f">dl::ScriptVarType::E_float</a></div><div class="ttdeci">@ E_float</div><div class="ttdef"><b>定义</b> <a href="#l00052">dl_script.h:52</a></div></div>
<div class="ttc" id="anamespacedl_html_a7b63f561250e9914489dc27952752030aefd8a3b54a394bc67e8c1991f9acd675"><div class="ttname"><a href="namespacedl.html#a7b63f561250e9914489dc27952752030aefd8a3b54a394bc67e8c1991f9acd675">dl::ScriptVarType::E_function</a></div><div class="ttdeci">@ E_function</div><div class="ttdef"><b>定义</b> <a href="#l00057">dl_script.h:57</a></div></div>
<div class="ttc" id="anamespacedl_html_a7b63f561250e9914489dc27952752030afe39efd9a8469cf43e7c4ce6d3e80275"><div class="ttname"><a href="namespacedl.html#a7b63f561250e9914489dc27952752030afe39efd9a8469cf43e7c4ce6d3e80275">dl::ScriptVarType::E_operator</a></div><div class="ttdeci">@ E_operator</div><div class="ttdef"><b>定义</b> <a href="#l00059">dl_script.h:59</a></div></div>
<div class="ttc" id="anamespacedl_html_aab02d57fd75a901932fcf758d0a7ee0c"><div class="ttname"><a href="namespacedl.html#aab02d57fd75a901932fcf758d0a7ee0c">dl::IsBaseType</a></div><div class="ttdeci">bool IsBaseType(ScriptVarType type)</div><div class="ttdoc">是基础类型</div><div class="ttdef"><b>定义</b> <a href="#l00063">dl_script.h:63</a></div></div>
<div class="ttc" id="anamespacedl_html_aaccd3dab55940551cb4a3e44284ea6c3"><div class="ttname"><a href="namespacedl.html#aaccd3dab55940551cb4a3e44284ea6c3">dl::ScriptString</a></div><div class="ttdeci">std::string ScriptString</div><div class="ttdef"><b>定义</b> <a href="#l00030">dl_script.h:30</a></div></div>
<div class="ttc" id="anamespacedl_html_aaf305bca15222b3c5b8dfb56001d8abe"><div class="ttname"><a href="namespacedl.html#aaf305bca15222b3c5b8dfb56001d8abe">dl::ScriptParam</a></div><div class="ttdeci">ScriptVector ScriptParam</div><div class="ttdef"><b>定义</b> <a href="#l00038">dl_script.h:38</a></div></div>
<div class="ttc" id="anamespacedl_html_ab8b15fc53d965fc6abd2c1ce971ee0dd"><div class="ttname"><a href="namespacedl.html#ab8b15fc53d965fc6abd2c1ce971ee0dd">dl::ScriptOperator</a></div><div class="ttdeci">ScriptOperator</div><div class="ttdoc">操作类型</div><div class="ttdef"><b>定义</b> <a href="#l00073">dl_script.h:74</a></div></div>
<div class="ttc" id="anamespacedl_html_ab8b15fc53d965fc6abd2c1ce971ee0dda010d87185d3d18fb41c98fdf4f1461e7"><div class="ttname"><a href="namespacedl.html#ab8b15fc53d965fc6abd2c1ce971ee0dda010d87185d3d18fb41c98fdf4f1461e7">dl::ScriptOperator::E_assign</a></div><div class="ttdeci">@ E_assign</div><div class="ttdef"><b>定义</b> <a href="#l00075">dl_script.h:75</a></div></div>
<div class="ttc" id="anamespacedl_html_ab8b15fc53d965fc6abd2c1ce971ee0dda16154b1b6da1220ef39c914257ca11ab"><div class="ttname"><a href="namespacedl.html#ab8b15fc53d965fc6abd2c1ce971ee0dda16154b1b6da1220ef39c914257ca11ab">dl::ScriptOperator::E_sub</a></div><div class="ttdeci">@ E_sub</div><div class="ttdef"><b>定义</b> <a href="#l00077">dl_script.h:77</a></div></div>
<div class="ttc" id="anamespacedl_html_ab8b15fc53d965fc6abd2c1ce971ee0dda2d1ac3d1e06ac512f937aa0d4d64b273"><div class="ttname"><a href="namespacedl.html#ab8b15fc53d965fc6abd2c1ce971ee0dda2d1ac3d1e06ac512f937aa0d4d64b273">dl::ScriptOperator::E_add</a></div><div class="ttdeci">@ E_add</div><div class="ttdef"><b>定义</b> <a href="#l00076">dl_script.h:76</a></div></div>
<div class="ttc" id="anamespacedl_html_ab8b15fc53d965fc6abd2c1ce971ee0dda5c1d59947856b1f093fd965c0f20cbcc"><div class="ttname"><a href="namespacedl.html#ab8b15fc53d965fc6abd2c1ce971ee0dda5c1d59947856b1f093fd965c0f20cbcc">dl::ScriptOperator::E_mul</a></div><div class="ttdeci">@ E_mul</div><div class="ttdef"><b>定义</b> <a href="#l00078">dl_script.h:78</a></div></div>
<div class="ttc" id="anamespacedl_html_ab8b15fc53d965fc6abd2c1ce971ee0dda8aaba8fd60227ad2359dac42392e8e8b"><div class="ttname"><a href="namespacedl.html#ab8b15fc53d965fc6abd2c1ce971ee0dda8aaba8fd60227ad2359dac42392e8e8b">dl::ScriptOperator::E_comma</a></div><div class="ttdeci">@ E_comma</div><div class="ttdef"><b>定义</b> <a href="#l00080">dl_script.h:80</a></div></div>
<div class="ttc" id="anamespacedl_html_ab8b15fc53d965fc6abd2c1ce971ee0ddaa338ca800fa583c5e9ac4ec54e92bc37"><div class="ttname"><a href="namespacedl.html#ab8b15fc53d965fc6abd2c1ce971ee0ddaa338ca800fa583c5e9ac4ec54e92bc37">dl::ScriptOperator::E_equal</a></div><div class="ttdeci">@ E_equal</div><div class="ttdef"><b>定义</b> <a href="#l00081">dl_script.h:81</a></div></div>
<div class="ttc" id="anamespacedl_html_ab8b15fc53d965fc6abd2c1ce971ee0ddac0d98617873d622f6d03d947167409c3"><div class="ttname"><a href="namespacedl.html#ab8b15fc53d965fc6abd2c1ce971ee0ddac0d98617873d622f6d03d947167409c3">dl::ScriptOperator::E_error</a></div><div class="ttdeci">@ E_error</div><div class="ttdef"><b>定义</b> <a href="#l00082">dl_script.h:82</a></div></div>
<div class="ttc" id="anamespacedl_html_ab8b15fc53d965fc6abd2c1ce971ee0ddaef302e4f7ea09efbff85f6aafac412e2"><div class="ttname"><a href="namespacedl.html#ab8b15fc53d965fc6abd2c1ce971ee0ddaef302e4f7ea09efbff85f6aafac412e2">dl::ScriptOperator::E_div</a></div><div class="ttdeci">@ E_div</div><div class="ttdef"><b>定义</b> <a href="#l00079">dl_script.h:79</a></div></div>
<div class="ttc" id="anamespacedl_html_ac027a12d05d876aa0db3a14564450d2b"><div class="ttname"><a href="namespacedl.html#ac027a12d05d876aa0db3a14564450d2b">dl::ScriptInt</a></div><div class="ttdeci">int64_t ScriptInt</div><div class="ttdef"><b>定义</b> <a href="#l00028">dl_script.h:28</a></div></div>
<div class="ttc" id="anamespacedl_html_acf0cf4356f52c9a312b3344ae6a4d447"><div class="ttname"><a href="namespacedl.html#acf0cf4356f52c9a312b3344ae6a4d447">dl::SCRIPT_INDEX_RETURN</a></div><div class="ttdeci">constexpr ScriptIndex SCRIPT_INDEX_RETURN</div><div class="ttdef"><b>定义</b> <a href="#l00041">dl_script.h:41</a></div></div>
<div class="ttc" id="anamespacedl_html_ad804a446a41108221e3850405afe7954"><div class="ttname"><a href="namespacedl.html#ad804a446a41108221e3850405afe7954">dl::ScriptFloat</a></div><div class="ttdeci">double ScriptFloat</div><div class="ttdef"><b>定义</b> <a href="#l00029">dl_script.h:29</a></div></div>
<div class="ttc" id="anamespacedl_html_aeb58d05d6f4b535c06843872834f650c"><div class="ttname"><a href="namespacedl.html#aeb58d05d6f4b535c06843872834f650c">dl::SCRIPT_INDEX_VS_TEMP</a></div><div class="ttdeci">constexpr ScriptIndexVS SCRIPT_INDEX_VS_TEMP</div><div class="ttdef"><b>定义</b> <a href="#l00044">dl_script.h:44</a></div></div>
<div class="ttc" id="anamespacedl_html_aec578e9733caaed075b1e53492b0b1b7"><div class="ttname"><a href="namespacedl.html#aec578e9733caaed075b1e53492b0b1b7">dl::ScriptIndexVS</a></div><div class="ttdeci">uint8_t ScriptIndexVS</div><div class="ttdef"><b>定义</b> <a href="#l00031">dl_script.h:31</a></div></div>
<div class="ttc" id="anamespacedl_html_af3e1bac4c4762dbf4ce249cc6185557b"><div class="ttname"><a href="namespacedl.html#af3e1bac4c4762dbf4ce249cc6185557b">dl::operator==</a></div><div class="ttdeci">constexpr bool operator==(const Array&lt; T, N &gt; &amp;a, const Array&lt; T, N &gt; &amp;b)</div><div class="ttdef"><b>定义</b> <a href="dl__array_8h_source.html#l00346">dl_array.h:346</a></div></div>
<div class="ttc" id="astructdl_1_1_script_block_html"><div class="ttname"><a href="structdl_1_1_script_block.html">dl::ScriptBlock</a></div><div class="ttdoc">代码块</div><div class="ttdef"><b>定义</b> <a href="#l00339">dl_script.h:340</a></div></div>
<div class="ttc" id="astructdl_1_1_script_block_html_a1b8988cfc122eb2eea77cea824012224"><div class="ttname"><a href="structdl_1_1_script_block.html#a1b8988cfc122eb2eea77cea824012224">dl::ScriptBlock::_vecSource</a></div><div class="ttdeci">std::vector&lt; std::string &gt; _vecSource</div><div class="ttdef"><b>定义</b> <a href="#l00348">dl_script.h:348</a></div></div>
<div class="ttc" id="astructdl_1_1_script_block_html_a6192ee90df04ade54def729647f61c0e"><div class="ttname"><a href="structdl_1_1_script_block.html#a6192ee90df04ade54def729647f61c0e">dl::ScriptBlock::ScriptBlock</a></div><div class="ttdeci">ScriptBlock()</div><div class="ttdef"><b>定义</b> <a href="#l00341">dl_script.h:341</a></div></div>
<div class="ttc" id="astructdl_1_1_script_block_html_ad479b05b9fbff604fda938acd1109774"><div class="ttname"><a href="structdl_1_1_script_block.html#ad479b05b9fbff604fda938acd1109774">dl::ScriptBlock::_varSpaceIteral</a></div><div class="ttdeci">ScriptVarSpace _varSpaceIteral</div><div class="ttdef"><b>定义</b> <a href="#l00347">dl_script.h:347</a></div></div>
<div class="ttc" id="astructdl_1_1_script_block_html_af5ccb914116c3b22b93e2418c445e2ec"><div class="ttname"><a href="structdl_1_1_script_block.html#af5ccb914116c3b22b93e2418c445e2ec">dl::ScriptBlock::_allSeg</a></div><div class="ttdeci">std::vector&lt; ScriptSegment &gt; _allSeg</div><div class="ttdef"><b>定义</b> <a href="#l00345">dl_script.h:345</a></div></div>
<div class="ttc" id="astructdl_1_1_script_block_html_aff16b402bd2384f84a7e37899fa222e3"><div class="ttname"><a href="structdl_1_1_script_block.html#aff16b402bd2384f84a7e37899fa222e3">dl::ScriptBlock::GetSource</a></div><div class="ttdeci">std::string GetSource(bool line_number=true, bool header=true, bool footer=true) const</div></div>
<div class="ttc" id="astructdl_1_1_script_control_else_html"><div class="ttname"><a href="structdl_1_1_script_control_else.html">dl::ScriptControlElse</a></div><div class="ttdef"><b>定义</b> <a href="#l00365">dl_script.h:366</a></div></div>
<div class="ttc" id="astructdl_1_1_script_control_else_html_a9eca95373c35e90f3f03abcf8308f3ed"><div class="ttname"><a href="structdl_1_1_script_control_else.html#a9eca95373c35e90f3f03abcf8308f3ed">dl::ScriptControlElse::_seg</a></div><div class="ttdeci">ScriptSegment _seg</div><div class="ttdef"><b>定义</b> <a href="#l00368">dl_script.h:368</a></div></div>
<div class="ttc" id="astructdl_1_1_script_control_else_html_ae4df1344f5dfa8ec972f67c1249fad98"><div class="ttname"><a href="structdl_1_1_script_control_else.html#ae4df1344f5dfa8ec972f67c1249fad98">dl::ScriptControlElse::_cond</a></div><div class="ttdeci">ScriptExpr _cond</div><div class="ttdef"><b>定义</b> <a href="#l00367">dl_script.h:367</a></div></div>
<div class="ttc" id="astructdl_1_1_script_control_for_html"><div class="ttname"><a href="structdl_1_1_script_control_for.html">dl::ScriptControlFor</a></div><div class="ttdef"><b>定义</b> <a href="#l00370">dl_script.h:371</a></div></div>
<div class="ttc" id="astructdl_1_1_script_control_for_html_aea907e17bdf8dc94ea4be36f72fe9107"><div class="ttname"><a href="structdl_1_1_script_control_for.html#aea907e17bdf8dc94ea4be36f72fe9107">dl::ScriptControlFor::_seg</a></div><div class="ttdeci">ScriptSegment _seg</div><div class="ttdef"><b>定义</b> <a href="#l00373">dl_script.h:373</a></div></div>
<div class="ttc" id="astructdl_1_1_script_control_for_html_aedd80813eea3252afac7170757dd4bc0"><div class="ttname"><a href="structdl_1_1_script_control_for.html#aedd80813eea3252afac7170757dd4bc0">dl::ScriptControlFor::_cond</a></div><div class="ttdeci">std::array&lt; ScriptExpr, 3 &gt; _cond</div><div class="ttdef"><b>定义</b> <a href="#l00372">dl_script.h:372</a></div></div>
<div class="ttc" id="astructdl_1_1_script_control_if_else_html"><div class="ttname"><a href="structdl_1_1_script_control_if_else.html">dl::ScriptControlIfElse</a></div><div class="ttdef"><b>定义</b> <a href="#l00360">dl_script.h:361</a></div></div>
<div class="ttc" id="astructdl_1_1_script_control_if_else_html_a29088a3ee9d07023ae05d5769874c137"><div class="ttname"><a href="structdl_1_1_script_control_if_else.html#a29088a3ee9d07023ae05d5769874c137">dl::ScriptControlIfElse::_cond</a></div><div class="ttdeci">ScriptExpr _cond</div><div class="ttdef"><b>定义</b> <a href="#l00362">dl_script.h:362</a></div></div>
<div class="ttc" id="astructdl_1_1_script_control_if_else_html_aef11aa902d32e28f3d5b460a4baccc03"><div class="ttname"><a href="structdl_1_1_script_control_if_else.html#aef11aa902d32e28f3d5b460a4baccc03">dl::ScriptControlIfElse::_seg</a></div><div class="ttdeci">ScriptSegment _seg</div><div class="ttdef"><b>定义</b> <a href="#l00363">dl_script.h:363</a></div></div>
<div class="ttc" id="astructdl_1_1_script_control_if_html"><div class="ttname"><a href="structdl_1_1_script_control_if.html">dl::ScriptControlIf</a></div><div class="ttdoc">控制语句</div><div class="ttdef"><b>定义</b> <a href="#l00355">dl_script.h:356</a></div></div>
<div class="ttc" id="astructdl_1_1_script_control_if_html_a36344dbbcd11044ecfd618e6e908df57"><div class="ttname"><a href="structdl_1_1_script_control_if.html#a36344dbbcd11044ecfd618e6e908df57">dl::ScriptControlIf::_seg</a></div><div class="ttdeci">ScriptSegment _seg</div><div class="ttdef"><b>定义</b> <a href="#l00358">dl_script.h:358</a></div></div>
<div class="ttc" id="astructdl_1_1_script_control_if_html_a63884618625ec2a77046ff22ccc218c9"><div class="ttname"><a href="structdl_1_1_script_control_if.html#a63884618625ec2a77046ff22ccc218c9">dl::ScriptControlIf::_cond</a></div><div class="ttdeci">ScriptExpr _cond</div><div class="ttdef"><b>定义</b> <a href="#l00357">dl_script.h:357</a></div></div>
<div class="ttc" id="astructdl_1_1_script_control_while_html"><div class="ttname"><a href="structdl_1_1_script_control_while.html">dl::ScriptControlWhile</a></div><div class="ttdef"><b>定义</b> <a href="#l00375">dl_script.h:376</a></div></div>
<div class="ttc" id="astructdl_1_1_script_control_while_html_a80068346d3b2de30e880f8e323289888"><div class="ttname"><a href="structdl_1_1_script_control_while.html#a80068346d3b2de30e880f8e323289888">dl::ScriptControlWhile::_seg</a></div><div class="ttdeci">ScriptSegment _seg</div><div class="ttdef"><b>定义</b> <a href="#l00378">dl_script.h:378</a></div></div>
<div class="ttc" id="astructdl_1_1_script_control_while_html_adb1fb2922502708f1466f9a8b41e827c"><div class="ttname"><a href="structdl_1_1_script_control_while.html#adb1fb2922502708f1466f9a8b41e827c">dl::ScriptControlWhile::_cond</a></div><div class="ttdeci">ScriptExpr _cond</div><div class="ttdef"><b>定义</b> <a href="#l00377">dl_script.h:377</a></div></div>
<div class="ttc" id="astructdl_1_1_script_expr_html"><div class="ttname"><a href="structdl_1_1_script_expr.html">dl::ScriptExpr</a></div><div class="ttdoc">后缀表达式</div><div class="ttdef"><b>定义</b> <a href="#l00227">dl_script.h:228</a></div></div>
<div class="ttc" id="astructdl_1_1_script_expr_html_a47ffb04f450beabbc5886c1602eb54fe"><div class="ttname"><a href="structdl_1_1_script_expr.html#a47ffb04f450beabbc5886c1602eb54fe">dl::ScriptExpr::_allToken</a></div><div class="ttdeci">std::vector&lt; ScriptExprToken &gt; _allToken</div><div class="ttdef"><b>定义</b> <a href="#l00229">dl_script.h:229</a></div></div>
<div class="ttc" id="astructdl_1_1_script_expr_html_a5af1760783d4a1e2de7547094798d6df"><div class="ttname"><a href="structdl_1_1_script_expr.html#a5af1760783d4a1e2de7547094798d6df">dl::ScriptExpr::_strRaw</a></div><div class="ttdeci">std::string _strRaw</div><div class="ttdef"><b>定义</b> <a href="#l00231">dl_script.h:231</a></div></div>
<div class="ttc" id="astructdl_1_1_script_expr_html_aaed3d2037e02742090ce92af04372c3c"><div class="ttname"><a href="structdl_1_1_script_expr.html#aaed3d2037e02742090ce92af04372c3c">dl::ScriptExpr::_lineNumber</a></div><div class="ttdeci">size_t _lineNumber</div><div class="ttdef"><b>定义</b> <a href="#l00230">dl_script.h:230</a></div></div>
<div class="ttc" id="astructdl_1_1_script_expr_token_html"><div class="ttname"><a href="structdl_1_1_script_expr_token.html">dl::ScriptExprToken</a></div><div class="ttdoc">表达式token(指向真实变量)</div><div class="ttdef"><b>定义</b> <a href="#l00214">dl_script.h:215</a></div></div>
<div class="ttc" id="astructdl_1_1_script_expr_token_html_a1473a58f1268f693324691515c722460"><div class="ttname"><a href="structdl_1_1_script_expr_token.html#a1473a58f1268f693324691515c722460">dl::ScriptExprToken::_type</a></div><div class="ttdeci">ScriptExprTokenType _type</div><div class="ttdef"><b>定义</b> <a href="#l00216">dl_script.h:216</a></div></div>
<div class="ttc" id="astructdl_1_1_script_expr_token_html_a14cd08e048c92bba43d5a0a173719b5e"><div class="ttname"><a href="structdl_1_1_script_expr_token.html#a14cd08e048c92bba43d5a0a173719b5e">dl::ScriptExprToken::GetTypeString</a></div><div class="ttdeci">std::string GetTypeString() const</div><div class="ttdef"><b>定义</b> <a href="#l00220">dl_script.h:220</a></div></div>
<div class="ttc" id="astructdl_1_1_script_expr_token_html_adec996ac19ec1d0b84787a40b2f886a3"><div class="ttname"><a href="structdl_1_1_script_expr_token.html#adec996ac19ec1d0b84787a40b2f886a3">dl::ScriptExprToken::_name</a></div><div class="ttdeci">std::string _name</div><div class="ttdef"><b>定义</b> <a href="#l00217">dl_script.h:217</a></div></div>
<div class="ttc" id="astructdl_1_1_script_expr_token_html_af0a07dcf7c6b16df066cf1fa8ac3c3c3"><div class="ttname"><a href="structdl_1_1_script_expr_token.html#af0a07dcf7c6b16df066cf1fa8ac3c3c3">dl::ScriptExprToken::_value</a></div><div class="ttdeci">ScriptVar _value</div><div class="ttdef"><b>定义</b> <a href="#l00218">dl_script.h:218</a></div></div>
<div class="ttc" id="astructdl_1_1_script_segment_html"><div class="ttname"><a href="structdl_1_1_script_segment.html">dl::ScriptSegment</a></div><div class="ttdoc">代码段(包含单独作用域)</div><div class="ttdef"><b>定义</b> <a href="#l00332">dl_script.h:333</a></div></div>
<div class="ttc" id="astructdl_1_1_script_segment_html_a743ecb9a666414fdc22c656f0c86d50b"><div class="ttname"><a href="structdl_1_1_script_segment.html#a743ecb9a666414fdc22c656f0c86d50b">dl::ScriptSegment::_allExpr</a></div><div class="ttdeci">std::vector&lt; ScriptExpr &gt; _allExpr</div><div class="ttdef"><b>定义</b> <a href="#l00336">dl_script.h:336</a></div></div>
<div class="ttc" id="astructdl_1_1_script_segment_html_a83fd6f99ada6c94e13201f7ed33908e5"><div class="ttname"><a href="structdl_1_1_script_segment.html#a83fd6f99ada6c94e13201f7ed33908e5">dl::ScriptSegment::_type</a></div><div class="ttdeci">ScriptSegmentType _type</div><div class="ttdef"><b>定义</b> <a href="#l00334">dl_script.h:334</a></div></div>
<div class="ttc" id="astructdl_1_1_script_segment_html_af38558a1f91d5321555e97a86cce7432"><div class="ttname"><a href="structdl_1_1_script_segment.html#af38558a1f91d5321555e97a86cce7432">dl::ScriptSegment::_level</a></div><div class="ttdeci">size_t _level</div><div class="ttdef"><b>定义</b> <a href="#l00335">dl_script.h:335</a></div></div>
<div class="ttc" id="astructdl_1_1_script_segment_r_t_html"><div class="ttname"><a href="structdl_1_1_script_segment_r_t.html">dl::ScriptSegmentRT</a></div><div class="ttdoc">代码段运行时</div><div class="ttdef"><b>定义</b> <a href="#l00382">dl_script.h:383</a></div></div>
<div class="ttc" id="astructdl_1_1_script_token_html"><div class="ttname"><a href="structdl_1_1_script_token.html">dl::ScriptToken</a></div><div class="ttdef"><b>定义</b> <a href="#l00183">dl_script.h:184</a></div></div>
<div class="ttc" id="astructdl_1_1_script_token_html_a155b4d9065fc538e11708dccd8c27937"><div class="ttname"><a href="structdl_1_1_script_token.html#a155b4d9065fc538e11708dccd8c27937">dl::ScriptToken::ScriptToken</a></div><div class="ttdeci">ScriptToken()</div><div class="ttdef"><b>定义</b> <a href="#l00191">dl_script.h:191</a></div></div>
<div class="ttc" id="astructdl_1_1_script_token_html_a1f40cfa882e40bdf66447f2af6a477ed"><div class="ttname"><a href="structdl_1_1_script_token.html#a1f40cfa882e40bdf66447f2af6a477ed">dl::ScriptToken::Type</a></div><div class="ttdeci">Type</div><div class="ttdef"><b>定义</b> <a href="#l00185">dl_script.h:186</a></div></div>
<div class="ttc" id="astructdl_1_1_script_token_html_a1f40cfa882e40bdf66447f2af6a477eda05796b830d359b28ed6b3bf2342d9f35"><div class="ttname"><a href="structdl_1_1_script_token.html#a1f40cfa882e40bdf66447f2af6a477eda05796b830d359b28ed6b3bf2342d9f35">dl::ScriptToken::STRING</a></div><div class="ttdeci">@ STRING</div><div class="ttdef"><b>定义</b> <a href="#l00188">dl_script.h:188</a></div></div>
<div class="ttc" id="astructdl_1_1_script_token_html_a1f40cfa882e40bdf66447f2af6a477edac42898576b443dc04da0c5b043f5d69e"><div class="ttname"><a href="structdl_1_1_script_token.html#a1f40cfa882e40bdf66447f2af6a477edac42898576b443dc04da0c5b043f5d69e">dl::ScriptToken::OPERATOR</a></div><div class="ttdeci">@ OPERATOR</div><div class="ttdef"><b>定义</b> <a href="#l00189">dl_script.h:189</a></div></div>
<div class="ttc" id="astructdl_1_1_script_token_html_a1f40cfa882e40bdf66447f2af6a477edaeeffb69c0410d04b3821469e74129f49"><div class="ttname"><a href="structdl_1_1_script_token.html#a1f40cfa882e40bdf66447f2af6a477edaeeffb69c0410d04b3821469e74129f49">dl::ScriptToken::NORMAL</a></div><div class="ttdeci">@ NORMAL</div><div class="ttdef"><b>定义</b> <a href="#l00187">dl_script.h:187</a></div></div>
<div class="ttc" id="astructdl_1_1_script_token_html_a55cb0f0708c84f4a66348646d2db428d"><div class="ttname"><a href="structdl_1_1_script_token.html#a55cb0f0708c84f4a66348646d2db428d">dl::ScriptToken::_str</a></div><div class="ttdeci">std::string _str</div><div class="ttdef"><b>定义</b> <a href="#l00200">dl_script.h:200</a></div></div>
<div class="ttc" id="astructdl_1_1_script_token_html_a8271af000a217e751a89a7a79bea0be1"><div class="ttname"><a href="structdl_1_1_script_token.html#a8271af000a217e751a89a7a79bea0be1">dl::ScriptToken::ScriptToken</a></div><div class="ttdeci">ScriptToken(Type type, std::string_view str)</div><div class="ttdef"><b>定义</b> <a href="#l00194">dl_script.h:194</a></div></div>
<div class="ttc" id="astructdl_1_1_script_token_html_afbbb72117461007af0f5fc74294b22ed"><div class="ttname"><a href="structdl_1_1_script_token.html#afbbb72117461007af0f5fc74294b22ed">dl::ScriptToken::_type</a></div><div class="ttdeci">Type _type</div><div class="ttdef"><b>定义</b> <a href="#l00199">dl_script.h:199</a></div></div>
<div class="ttc" id="astructdl_1_1_script_var_html"><div class="ttname"><a href="structdl_1_1_script_var.html">dl::ScriptVar</a></div><div class="ttdoc">变量(大小严格控制)</div><div class="ttdef"><b>定义</b> <a href="#l00087">dl_script.h:88</a></div></div>
<div class="ttc" id="astructdl_1_1_script_var_html_a0af78debe8dc10d0754ec8f537bb587a"><div class="ttname"><a href="structdl_1_1_script_var.html#a0af78debe8dc10d0754ec8f537bb587a">dl::ScriptVar::ScriptVar</a></div><div class="ttdeci">ScriptVar()</div><div class="ttdef"><b>定义</b> <a href="#l00092">dl_script.h:92</a></div></div>
<div class="ttc" id="astructdl_1_1_script_var_html_a19d0872580cad7b3d28026b426b014e5"><div class="ttname"><a href="structdl_1_1_script_var.html#a19d0872580cad7b3d28026b426b014e5">dl::ScriptVar::_set_space_index</a></div><div class="ttdeci">void _set_space_index(ScriptIndexVS index)</div><div class="ttdef"><b>定义</b> <a href="#l00163">dl_script.h:163</a></div></div>
<div class="ttc" id="astructdl_1_1_script_var_html_a3a9016968dee1ffcaaeefd745a0dd10b"><div class="ttname"><a href="structdl_1_1_script_var.html#a3a9016968dee1ffcaaeefd745a0dd10b">dl::ScriptVar::SetType</a></div><div class="ttdeci">void SetType(ScriptVarType type)</div><div class="ttdef"><b>定义</b> <a href="#l00157">dl_script.h:157</a></div></div>
<div class="ttc" id="astructdl_1_1_script_var_html_a4b19b11dd867820153a9a7d5e3267a35"><div class="ttname"><a href="structdl_1_1_script_var.html#a4b19b11dd867820153a9a7d5e3267a35">dl::ScriptVar::GetTypeString</a></div><div class="ttdeci">std::string_view GetTypeString() const</div></div>
<div class="ttc" id="astructdl_1_1_script_var_html_a54ae5adbe15278981057751f8a488c7b"><div class="ttname"><a href="structdl_1_1_script_var.html#a54ae5adbe15278981057751f8a488c7b">dl::ScriptVar::GetType</a></div><div class="ttdeci">ScriptVarType GetType() const</div><div class="ttdef"><b>定义</b> <a href="#l00134">dl_script.h:134</a></div></div>
<div class="ttc" id="astructdl_1_1_script_var_html_a5c0b2ac667abfe4f91b716261a675ebb"><div class="ttname"><a href="structdl_1_1_script_var.html#a5c0b2ac667abfe4f91b716261a675ebb">dl::ScriptVar::ToFloat</a></div><div class="ttdeci">ScriptFloat ToFloat() const</div><div class="ttdef"><b>定义</b> <a href="#l00123">dl_script.h:123</a></div></div>
<div class="ttc" id="astructdl_1_1_script_var_html_a5f94133d21bbe4bb2c13d58a805cd4b7"><div class="ttname"><a href="structdl_1_1_script_var.html#a5f94133d21bbe4bb2c13d58a805cd4b7">dl::ScriptVar::FromInt</a></div><div class="ttdeci">void FromInt(ScriptInt v)</div><div class="ttdef"><b>定义</b> <a href="#l00098">dl_script.h:98</a></div></div>
<div class="ttc" id="astructdl_1_1_script_var_html_a66d2a96aab8268b6c469bd501e02e5c8"><div class="ttname"><a href="structdl_1_1_script_var.html#a66d2a96aab8268b6c469bd501e02e5c8">dl::ScriptVar::FromFloat</a></div><div class="ttdeci">void FromFloat(ScriptFloat v)</div><div class="ttdef"><b>定义</b> <a href="#l00104">dl_script.h:104</a></div></div>
<div class="ttc" id="astructdl_1_1_script_var_html_a6b488d890ba3f8fa4700afdc8738f4d1"><div class="ttname"><a href="structdl_1_1_script_var.html#a6b488d890ba3f8fa4700afdc8738f4d1">dl::ScriptVar::ToOperator</a></div><div class="ttdeci">ScriptOperator ToOperator() const</div><div class="ttdef"><b>定义</b> <a href="#l00128">dl_script.h:128</a></div></div>
<div class="ttc" id="astructdl_1_1_script_var_html_a6d2890d354763890df48a060601ce94f"><div class="ttname"><a href="structdl_1_1_script_var.html#a6d2890d354763890df48a060601ce94f">dl::ScriptVar::GetSpaceIndex</a></div><div class="ttdeci">ScriptIndexVS GetSpaceIndex() const</div><div class="ttdef"><b>定义</b> <a href="#l00147">dl_script.h:147</a></div></div>
<div class="ttc" id="astructdl_1_1_script_var_html_a7597dfd2a375093fce9a40c4019edc1a"><div class="ttname"><a href="structdl_1_1_script_var.html#a7597dfd2a375093fce9a40c4019edc1a">dl::ScriptVar::GetValue</a></div><div class="ttdeci">uint64_t GetValue() const</div><div class="ttdef"><b>定义</b> <a href="#l00137">dl_script.h:137</a></div></div>
<div class="ttc" id="astructdl_1_1_script_var_html_a77e1d8bdd6774ae3f909233c2112a731"><div class="ttname"><a href="structdl_1_1_script_var.html#a77e1d8bdd6774ae3f909233c2112a731">dl::ScriptVar::operator==</a></div><div class="ttdeci">friend bool operator==(const ScriptVar &amp;a, const ScriptVar &amp;b)</div><div class="ttdef"><b>定义</b> <a href="#l00175">dl_script.h:175</a></div></div>
<div class="ttc" id="astructdl_1_1_script_var_html_a893a1c835644c30729062b685d592a8e"><div class="ttname"><a href="structdl_1_1_script_var.html#a893a1c835644c30729062b685d592a8e">dl::ScriptVar::GetIndex</a></div><div class="ttdeci">uint64_t GetIndex() const</div><div class="ttdef"><b>定义</b> <a href="#l00142">dl_script.h:142</a></div></div>
<div class="ttc" id="astructdl_1_1_script_var_html_a95e2f9ff1a51e5c694efc89975c07c59"><div class="ttname"><a href="structdl_1_1_script_var.html#a95e2f9ff1a51e5c694efc89975c07c59">dl::ScriptVar::ToInt</a></div><div class="ttdeci">ScriptInt ToInt() const</div><div class="ttdef"><b>定义</b> <a href="#l00118">dl_script.h:118</a></div></div>
<div class="ttc" id="astructdl_1_1_script_var_html_ab02e18f887011909dd6fb436e8837c06"><div class="ttname"><a href="structdl_1_1_script_var.html#ab02e18f887011909dd6fb436e8837c06">dl::ScriptVar::FromOperator</a></div><div class="ttdeci">void FromOperator(ScriptOperator v)</div><div class="ttdef"><b>定义</b> <a href="#l00110">dl_script.h:110</a></div></div>
<div class="ttc" id="astructdl_1_1_script_var_html_ac25854572efaa41ec2052fb83f93cb58"><div class="ttname"><a href="structdl_1_1_script_var.html#ac25854572efaa41ec2052fb83f93cb58">dl::ScriptVar::SetValue</a></div><div class="ttdeci">void SetValue(uint64_t v)</div><div class="ttdef"><b>定义</b> <a href="#l00151">dl_script.h:151</a></div></div>
<div class="ttc" id="astructdl_1_1_script_var_html_ad74923cb34a25b7bbf40b66f8072d608"><div class="ttname"><a href="structdl_1_1_script_var.html#ad74923cb34a25b7bbf40b66f8072d608">dl::ScriptVar::ScriptVarSpace</a></div><div class="ttdeci">friend class ScriptVarSpace</div><div class="ttdef"><b>定义</b> <a href="#l00089">dl_script.h:89</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
制作者&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.1
</small></address>
</div><!-- doc-content -->
</body>
</html>