1
0
Fork 0
mirror of https://github.com/ganelson/inform.git synced 2024-07-01 06:24:58 +03:00

Towards Cm

This commit is contained in:
Graham Nelson 2021-06-19 23:15:38 +01:00
parent 29d137adae
commit cbbf6f80b6
38 changed files with 481 additions and 242 deletions

View file

@ -93,6 +93,7 @@ which use this module:
<span class="definition-keyword">enum</span> <span class="constant-syntax">simplified_scene_CLASS</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">simplified_end_CLASS</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">simplified_connector_CLASS</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">command_index_entry_CLASS</span>
</pre>
<pre class="displayed-code all-displayed-code code-font">
<span class="identifier-syntax">DECLARE_CLASS</span><span class="plain-syntax">(</span><span class="reserved-syntax">I6T_intervention</span><span class="plain-syntax">)</span>
@ -115,6 +116,7 @@ which use this module:
<span class="identifier-syntax">DECLARE_CLASS</span><span class="plain-syntax">(</span><span class="reserved-syntax">simplified_scene</span><span class="plain-syntax">)</span>
<span class="identifier-syntax">DECLARE_CLASS</span><span class="plain-syntax">(</span><span class="reserved-syntax">simplified_end</span><span class="plain-syntax">)</span>
<span class="identifier-syntax">DECLARE_CLASS</span><span class="plain-syntax">(</span><span class="reserved-syntax">simplified_connector</span><span class="plain-syntax">)</span>
<span class="identifier-syntax">DECLARE_CLASS</span><span class="plain-syntax">(</span><span class="reserved-syntax">command_index_entry</span><span class="plain-syntax">)</span>
</pre>
<p class="commentary firstcommentary"><a id="SP3" class="paragraph-anchor"></a><b>&#167;3. </b>Like all modules, this one must define a <span class="extract"><span class="extract-syntax">start</span></span> and <span class="extract"><span class="extract-syntax">end</span></span> function:
</p>

View file

@ -191,7 +191,7 @@ text, sorted into kind order of left and then right operand.
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="6-ae.html#SP1">&#167;1</a>.</li></ul>
<nav role="progress"><div class="progresscontainer">
<ul class="progressbar"><li class="progressprev"><a href="6-le.html">&#10094;</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresschapter"><a href="3-sh.html">3</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progresscurrentchapter">6</li><li class="progresssection"><a href="6-ii.html">ii</a></li><li class="progresssection"><a href="6-ifs.html">ifs</a></li><li class="progresssection"><a href="6-ir.html">ir</a></li><li class="progresssection"><a href="6-lxc.html">lxc</a></li><li class="progresssection"><a href="6-ce.html">ce</a></li><li class="progresssection"><a href="6-ce2.html">ce2</a></li><li class="progresssection"><a href="6-be.html">be</a></li><li class="progresssection"><a href="6-re.html">re</a></li><li class="progresssection"><a href="6-ee.html">ee</a></li><li class="progresssection"><a href="6-fe.html">fe</a></li><li class="progresssection"><a href="6-te.html">te</a></li><li class="progresssection"><a href="6-ve.html">ve</a></li><li class="progresssection"><a href="6-rfse.html">rfse</a></li><li class="progresssection"><a href="6-ee2.html">ee2</a></li><li class="progresssection"><a href="6-se.html">se</a></li><li class="progresssection"><a href="6-ie.html">ie</a></li><li class="progresssection"><a href="6-ve2.html">ve2</a></li><li class="progresssection"><a href="6-ge.html">ge</a></li><li class="progresssection"><a href="6-le.html">le</a></li><li class="progresscurrent">ae</li><li class="progresssection"><a href="6-pe.html">pe</a></li><li class="progresssection"><a href="6-ce3.html">ce3</a></li><li class="progresssection"><a href="6-pe2.html">pe2</a></li><li class="progresssection"><a href="6-te2.html">te2</a></li><li class="progressnext"><a href="6-pe.html">&#10095;</a></li></ul></div>
<ul class="progressbar"><li class="progressprev"><a href="6-le.html">&#10094;</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresschapter"><a href="3-sh.html">3</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progresscurrentchapter">6</li><li class="progresssection"><a href="6-ii.html">ii</a></li><li class="progresssection"><a href="6-ifs.html">ifs</a></li><li class="progresssection"><a href="6-ir.html">ir</a></li><li class="progresssection"><a href="6-lxc.html">lxc</a></li><li class="progresssection"><a href="6-ce.html">ce</a></li><li class="progresssection"><a href="6-ce2.html">ce2</a></li><li class="progresssection"><a href="6-be.html">be</a></li><li class="progresssection"><a href="6-re.html">re</a></li><li class="progresssection"><a href="6-ee.html">ee</a></li><li class="progresssection"><a href="6-fe.html">fe</a></li><li class="progresssection"><a href="6-te.html">te</a></li><li class="progresssection"><a href="6-ve.html">ve</a></li><li class="progresssection"><a href="6-rfse.html">rfse</a></li><li class="progresssection"><a href="6-ee2.html">ee2</a></li><li class="progresssection"><a href="6-se.html">se</a></li><li class="progresssection"><a href="6-ie.html">ie</a></li><li class="progresssection"><a href="6-ve2.html">ve2</a></li><li class="progresssection"><a href="6-ge.html">ge</a></li><li class="progresssection"><a href="6-le.html">le</a></li><li class="progresscurrent">ae</li><li class="progresssection"><a href="6-pe.html">pe</a></li><li class="progresssection"><a href="6-ce3.html">ce3</a></li><li class="progresssection"><a href="6-pe2.html">pe2</a></li><li class="progresssection"><a href="6-te2.html">te2</a></li><li class="progresssection"><a href="6-ce4.html">ce4</a></li><li class="progressnext"><a href="6-pe.html">&#10095;</a></li></ul></div>
</nav><!--End of weave-->
</main>

View file

@ -115,7 +115,7 @@ function togglePopup(material_id) {
<span class="plain-syntax">}</span>
</pre>
<nav role="progress"><div class="progresscontainer">
<ul class="progressbar"><li class="progressprev"><a href="6-ce2.html">&#10094;</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresschapter"><a href="3-sh.html">3</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progresscurrentchapter">6</li><li class="progresssection"><a href="6-ii.html">ii</a></li><li class="progresssection"><a href="6-ifs.html">ifs</a></li><li class="progresssection"><a href="6-ir.html">ir</a></li><li class="progresssection"><a href="6-lxc.html">lxc</a></li><li class="progresssection"><a href="6-ce.html">ce</a></li><li class="progresssection"><a href="6-ce2.html">ce2</a></li><li class="progresscurrent">be</li><li class="progresssection"><a href="6-re.html">re</a></li><li class="progresssection"><a href="6-ee.html">ee</a></li><li class="progresssection"><a href="6-fe.html">fe</a></li><li class="progresssection"><a href="6-te.html">te</a></li><li class="progresssection"><a href="6-ve.html">ve</a></li><li class="progresssection"><a href="6-rfse.html">rfse</a></li><li class="progresssection"><a href="6-ee2.html">ee2</a></li><li class="progresssection"><a href="6-se.html">se</a></li><li class="progresssection"><a href="6-ie.html">ie</a></li><li class="progresssection"><a href="6-ve2.html">ve2</a></li><li class="progresssection"><a href="6-ge.html">ge</a></li><li class="progresssection"><a href="6-le.html">le</a></li><li class="progresssection"><a href="6-ae.html">ae</a></li><li class="progresssection"><a href="6-pe.html">pe</a></li><li class="progresssection"><a href="6-ce3.html">ce3</a></li><li class="progresssection"><a href="6-pe2.html">pe2</a></li><li class="progresssection"><a href="6-te2.html">te2</a></li><li class="progressnext"><a href="6-re.html">&#10095;</a></li></ul></div>
<ul class="progressbar"><li class="progressprev"><a href="6-ce2.html">&#10094;</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresschapter"><a href="3-sh.html">3</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progresscurrentchapter">6</li><li class="progresssection"><a href="6-ii.html">ii</a></li><li class="progresssection"><a href="6-ifs.html">ifs</a></li><li class="progresssection"><a href="6-ir.html">ir</a></li><li class="progresssection"><a href="6-lxc.html">lxc</a></li><li class="progresssection"><a href="6-ce.html">ce</a></li><li class="progresssection"><a href="6-ce2.html">ce2</a></li><li class="progresscurrent">be</li><li class="progresssection"><a href="6-re.html">re</a></li><li class="progresssection"><a href="6-ee.html">ee</a></li><li class="progresssection"><a href="6-fe.html">fe</a></li><li class="progresssection"><a href="6-te.html">te</a></li><li class="progresssection"><a href="6-ve.html">ve</a></li><li class="progresssection"><a href="6-rfse.html">rfse</a></li><li class="progresssection"><a href="6-ee2.html">ee2</a></li><li class="progresssection"><a href="6-se.html">se</a></li><li class="progresssection"><a href="6-ie.html">ie</a></li><li class="progresssection"><a href="6-ve2.html">ve2</a></li><li class="progresssection"><a href="6-ge.html">ge</a></li><li class="progresssection"><a href="6-le.html">le</a></li><li class="progresssection"><a href="6-ae.html">ae</a></li><li class="progresssection"><a href="6-pe.html">pe</a></li><li class="progresssection"><a href="6-ce3.html">ce3</a></li><li class="progresssection"><a href="6-pe2.html">pe2</a></li><li class="progresssection"><a href="6-te2.html">te2</a></li><li class="progresssection"><a href="6-ce4.html">ce4</a></li><li class="progressnext"><a href="6-re.html">&#10095;</a></li></ul></div>
</nav><!--End of weave-->
</main>

View file

@ -256,7 +256,7 @@ giving only minimal entries about them.
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="6-ce.html#SP2">&#167;2</a>.</li></ul>
<nav role="progress"><div class="progresscontainer">
<ul class="progressbar"><li class="progressprev"><a href="6-lxc.html">&#10094;</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresschapter"><a href="3-sh.html">3</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progresscurrentchapter">6</li><li class="progresssection"><a href="6-ii.html">ii</a></li><li class="progresssection"><a href="6-ifs.html">ifs</a></li><li class="progresssection"><a href="6-ir.html">ir</a></li><li class="progresssection"><a href="6-lxc.html">lxc</a></li><li class="progresscurrent">ce</li><li class="progresssection"><a href="6-ce2.html">ce2</a></li><li class="progresssection"><a href="6-be.html">be</a></li><li class="progresssection"><a href="6-re.html">re</a></li><li class="progresssection"><a href="6-ee.html">ee</a></li><li class="progresssection"><a href="6-fe.html">fe</a></li><li class="progresssection"><a href="6-te.html">te</a></li><li class="progresssection"><a href="6-ve.html">ve</a></li><li class="progresssection"><a href="6-rfse.html">rfse</a></li><li class="progresssection"><a href="6-ee2.html">ee2</a></li><li class="progresssection"><a href="6-se.html">se</a></li><li class="progresssection"><a href="6-ie.html">ie</a></li><li class="progresssection"><a href="6-ve2.html">ve2</a></li><li class="progresssection"><a href="6-ge.html">ge</a></li><li class="progresssection"><a href="6-le.html">le</a></li><li class="progresssection"><a href="6-ae.html">ae</a></li><li class="progresssection"><a href="6-pe.html">pe</a></li><li class="progresssection"><a href="6-ce3.html">ce3</a></li><li class="progresssection"><a href="6-pe2.html">pe2</a></li><li class="progresssection"><a href="6-te2.html">te2</a></li><li class="progressnext"><a href="6-ce2.html">&#10095;</a></li></ul></div>
<ul class="progressbar"><li class="progressprev"><a href="6-lxc.html">&#10094;</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresschapter"><a href="3-sh.html">3</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progresscurrentchapter">6</li><li class="progresssection"><a href="6-ii.html">ii</a></li><li class="progresssection"><a href="6-ifs.html">ifs</a></li><li class="progresssection"><a href="6-ir.html">ir</a></li><li class="progresssection"><a href="6-lxc.html">lxc</a></li><li class="progresscurrent">ce</li><li class="progresssection"><a href="6-ce2.html">ce2</a></li><li class="progresssection"><a href="6-be.html">be</a></li><li class="progresssection"><a href="6-re.html">re</a></li><li class="progresssection"><a href="6-ee.html">ee</a></li><li class="progresssection"><a href="6-fe.html">fe</a></li><li class="progresssection"><a href="6-te.html">te</a></li><li class="progresssection"><a href="6-ve.html">ve</a></li><li class="progresssection"><a href="6-rfse.html">rfse</a></li><li class="progresssection"><a href="6-ee2.html">ee2</a></li><li class="progresssection"><a href="6-se.html">se</a></li><li class="progresssection"><a href="6-ie.html">ie</a></li><li class="progresssection"><a href="6-ve2.html">ve2</a></li><li class="progresssection"><a href="6-ge.html">ge</a></li><li class="progresssection"><a href="6-le.html">le</a></li><li class="progresssection"><a href="6-ae.html">ae</a></li><li class="progresssection"><a href="6-pe.html">pe</a></li><li class="progresssection"><a href="6-ce3.html">ce3</a></li><li class="progresssection"><a href="6-pe2.html">pe2</a></li><li class="progresssection"><a href="6-te2.html">te2</a></li><li class="progresssection"><a href="6-ce4.html">ce4</a></li><li class="progressnext"><a href="6-ce2.html">&#10095;</a></li></ul></div>
</nav><!--End of weave-->
</main>

View file

@ -150,7 +150,7 @@ simplified form of the iFiction record, without the XML overhead.
<span class="plain-syntax">}</span>
</pre>
<nav role="progress"><div class="progresscontainer">
<ul class="progressbar"><li class="progressprev"><a href="6-ce.html">&#10094;</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresschapter"><a href="3-sh.html">3</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progresscurrentchapter">6</li><li class="progresssection"><a href="6-ii.html">ii</a></li><li class="progresssection"><a href="6-ifs.html">ifs</a></li><li class="progresssection"><a href="6-ir.html">ir</a></li><li class="progresssection"><a href="6-lxc.html">lxc</a></li><li class="progresssection"><a href="6-ce.html">ce</a></li><li class="progresscurrent">ce2</li><li class="progresssection"><a href="6-be.html">be</a></li><li class="progresssection"><a href="6-re.html">re</a></li><li class="progresssection"><a href="6-ee.html">ee</a></li><li class="progresssection"><a href="6-fe.html">fe</a></li><li class="progresssection"><a href="6-te.html">te</a></li><li class="progresssection"><a href="6-ve.html">ve</a></li><li class="progresssection"><a href="6-rfse.html">rfse</a></li><li class="progresssection"><a href="6-ee2.html">ee2</a></li><li class="progresssection"><a href="6-se.html">se</a></li><li class="progresssection"><a href="6-ie.html">ie</a></li><li class="progresssection"><a href="6-ve2.html">ve2</a></li><li class="progresssection"><a href="6-ge.html">ge</a></li><li class="progresssection"><a href="6-le.html">le</a></li><li class="progresssection"><a href="6-ae.html">ae</a></li><li class="progresssection"><a href="6-pe.html">pe</a></li><li class="progresssection"><a href="6-ce3.html">ce3</a></li><li class="progresssection"><a href="6-pe2.html">pe2</a></li><li class="progresssection"><a href="6-te2.html">te2</a></li><li class="progressnext"><a href="6-be.html">&#10095;</a></li></ul></div>
<ul class="progressbar"><li class="progressprev"><a href="6-ce.html">&#10094;</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresschapter"><a href="3-sh.html">3</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progresscurrentchapter">6</li><li class="progresssection"><a href="6-ii.html">ii</a></li><li class="progresssection"><a href="6-ifs.html">ifs</a></li><li class="progresssection"><a href="6-ir.html">ir</a></li><li class="progresssection"><a href="6-lxc.html">lxc</a></li><li class="progresssection"><a href="6-ce.html">ce</a></li><li class="progresscurrent">ce2</li><li class="progresssection"><a href="6-be.html">be</a></li><li class="progresssection"><a href="6-re.html">re</a></li><li class="progresssection"><a href="6-ee.html">ee</a></li><li class="progresssection"><a href="6-fe.html">fe</a></li><li class="progresssection"><a href="6-te.html">te</a></li><li class="progresssection"><a href="6-ve.html">ve</a></li><li class="progresssection"><a href="6-rfse.html">rfse</a></li><li class="progresssection"><a href="6-ee2.html">ee2</a></li><li class="progresssection"><a href="6-se.html">se</a></li><li class="progresssection"><a href="6-ie.html">ie</a></li><li class="progresssection"><a href="6-ve2.html">ve2</a></li><li class="progresssection"><a href="6-ge.html">ge</a></li><li class="progresssection"><a href="6-le.html">le</a></li><li class="progresssection"><a href="6-ae.html">ae</a></li><li class="progresssection"><a href="6-pe.html">pe</a></li><li class="progresssection"><a href="6-ce3.html">ce3</a></li><li class="progresssection"><a href="6-pe2.html">pe2</a></li><li class="progresssection"><a href="6-te2.html">te2</a></li><li class="progresssection"><a href="6-ce4.html">ce4</a></li><li class="progressnext"><a href="6-be.html">&#10095;</a></li></ul></div>
</nav><!--End of weave-->
</main>

View file

@ -655,7 +655,7 @@ whole row.
<span class="plain-syntax">}</span>
</pre>
<nav role="progress"><div class="progresscontainer">
<ul class="progressbar"><li class="progressprev"><a href="6-pe.html">&#10094;</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresschapter"><a href="3-sh.html">3</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progresscurrentchapter">6</li><li class="progresssection"><a href="6-ii.html">ii</a></li><li class="progresssection"><a href="6-ifs.html">ifs</a></li><li class="progresssection"><a href="6-ir.html">ir</a></li><li class="progresssection"><a href="6-lxc.html">lxc</a></li><li class="progresssection"><a href="6-ce.html">ce</a></li><li class="progresssection"><a href="6-ce2.html">ce2</a></li><li class="progresssection"><a href="6-be.html">be</a></li><li class="progresssection"><a href="6-re.html">re</a></li><li class="progresssection"><a href="6-ee.html">ee</a></li><li class="progresssection"><a href="6-fe.html">fe</a></li><li class="progresssection"><a href="6-te.html">te</a></li><li class="progresssection"><a href="6-ve.html">ve</a></li><li class="progresssection"><a href="6-rfse.html">rfse</a></li><li class="progresssection"><a href="6-ee2.html">ee2</a></li><li class="progresssection"><a href="6-se.html">se</a></li><li class="progresssection"><a href="6-ie.html">ie</a></li><li class="progresssection"><a href="6-ve2.html">ve2</a></li><li class="progresssection"><a href="6-ge.html">ge</a></li><li class="progresssection"><a href="6-le.html">le</a></li><li class="progresssection"><a href="6-ae.html">ae</a></li><li class="progresssection"><a href="6-pe.html">pe</a></li><li class="progresscurrent">ce3</li><li class="progresssection"><a href="6-pe2.html">pe2</a></li><li class="progresssection"><a href="6-te2.html">te2</a></li><li class="progressnext"><a href="6-pe2.html">&#10095;</a></li></ul></div>
<ul class="progressbar"><li class="progressprev"><a href="6-pe.html">&#10094;</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresschapter"><a href="3-sh.html">3</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progresscurrentchapter">6</li><li class="progresssection"><a href="6-ii.html">ii</a></li><li class="progresssection"><a href="6-ifs.html">ifs</a></li><li class="progresssection"><a href="6-ir.html">ir</a></li><li class="progresssection"><a href="6-lxc.html">lxc</a></li><li class="progresssection"><a href="6-ce.html">ce</a></li><li class="progresssection"><a href="6-ce2.html">ce2</a></li><li class="progresssection"><a href="6-be.html">be</a></li><li class="progresssection"><a href="6-re.html">re</a></li><li class="progresssection"><a href="6-ee.html">ee</a></li><li class="progresssection"><a href="6-fe.html">fe</a></li><li class="progresssection"><a href="6-te.html">te</a></li><li class="progresssection"><a href="6-ve.html">ve</a></li><li class="progresssection"><a href="6-rfse.html">rfse</a></li><li class="progresssection"><a href="6-ee2.html">ee2</a></li><li class="progresssection"><a href="6-se.html">se</a></li><li class="progresssection"><a href="6-ie.html">ie</a></li><li class="progresssection"><a href="6-ve2.html">ve2</a></li><li class="progresssection"><a href="6-ge.html">ge</a></li><li class="progresssection"><a href="6-le.html">le</a></li><li class="progresssection"><a href="6-ae.html">ae</a></li><li class="progresssection"><a href="6-pe.html">pe</a></li><li class="progresscurrent">ce3</li><li class="progresssection"><a href="6-pe2.html">pe2</a></li><li class="progresssection"><a href="6-te2.html">te2</a></li><li class="progresssection"><a href="6-ce4.html">ce4</a></li><li class="progressnext"><a href="6-pe2.html">&#10095;</a></li></ul></div>
</nav><!--End of weave-->
</main>

View file

@ -0,0 +1,230 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Commands Element</title>
<link href="../docs-assets/Breadcrumbs.css" rel="stylesheet" rev="stylesheet" type="text/css">
<meta name="viewport" content="width=device-width initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="Content-Language" content="en-gb">
<link href="../docs-assets/Contents.css" rel="stylesheet" rev="stylesheet" type="text/css">
<link href="../docs-assets/Progress.css" rel="stylesheet" rev="stylesheet" type="text/css">
<link href="../docs-assets/Navigation.css" rel="stylesheet" rev="stylesheet" type="text/css">
<link href="../docs-assets/Fonts.css" rel="stylesheet" rev="stylesheet" type="text/css">
<link href="../docs-assets/Base.css" rel="stylesheet" rev="stylesheet" type="text/css">
<script>
function togglePopup(material_id) {
var popup = document.getElementById(material_id);
popup.classList.toggle("show");
}
</script>
<link href="../docs-assets/Popups.css" rel="stylesheet" rev="stylesheet" type="text/css">
<link href="../docs-assets/Colours.css" rel="stylesheet" rev="stylesheet" type="text/css">
</head>
<body class="commentary-font">
<nav role="navigation">
<h1><a href="../index.html">
<img src="../docs-assets/Inform.png" height=72">
</a></h1>
<ul><li><a href="../compiler.html">compiler tools</a></li>
<li><a href="../other.html">other tools</a></li>
<li><a href="../extensions.html">extensions and kits</a></li>
<li><a href="../units.html">unit test tools</a></li>
</ul><h2>Compiler Webs</h2><ul>
<li><a href="../inbuild/index.html">inbuild</a></li>
<li><a href="../inform7/index.html">inform7</a></li>
<li><a href="../inter/index.html">inter</a></li>
</ul><h2>Inbuild Modules</h2><ul>
<li><a href="../supervisor-module/index.html">supervisor</a></li>
</ul><h2>Inform7 Modules</h2><ul>
<li><a href="../core-module/index.html">core</a></li>
<li><a href="../assertions-module/index.html">assertions</a></li>
<li><a href="../values-module/index.html">values</a></li>
<li><a href="../knowledge-module/index.html">knowledge</a></li>
<li><a href="../imperative-module/index.html">imperative</a></li>
<li><a href="../runtime-module/index.html">runtime</a></li>
<li><a href="../if-module/index.html">if</a></li>
<li><a href="../multimedia-module/index.html">multimedia</a></li>
<li><a href="../index-module/index.html">index</a></li>
</ul><h2>Inter Modules</h2><ul>
<li><a href="../bytecode-module/index.html">bytecode</a></li>
<li><a href="../building-module/index.html">building</a></li>
<li><a href="index.html"><span class="selectedlink">codegen</span></a></li>
</ul><h2>Services</h2><ul>
<li><a href="../arch-module/index.html">arch</a></li>
<li><a href="../calculus-module/index.html">calculus</a></li>
<li><a href="../html-module/index.html">html</a></li>
<li><a href="../inflections-module/index.html">inflections</a></li>
<li><a href="../kinds-module/index.html">kinds</a></li>
<li><a href="../linguistics-module/index.html">linguistics</a></li>
<li><a href="../problems-module/index.html">problems</a></li>
<li><a href="../syntax-module/index.html">syntax</a></li>
<li><a href="../words-module/index.html">words</a></li>
<li><a href="../../../inweb/docs/foundation-module/index.html">foundation</a></li>
</ul>
</nav>
<main role="main">
<!--Weave of 'Commands Element' generated by Inweb-->
<div class="breadcrumbs">
<ul class="crumbs"><li><a href="../index.html">Home</a></li><li><a href="../compiler.html">Inter Modules</a></li><li><a href="index.html">codegen</a></li><li><a href="index.html#6">Chapter 6: Index</a></li><li><b>Commands Element</b></li></ul></div>
<p class="purpose">To write the Commands element (Cm) in the index.</p>
<p class="commentary firstcommentary"><a id="SP1" class="paragraph-anchor"></a><b>&#167;1. </b></p>
<pre class="displayed-code all-displayed-code code-font">
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">CommandsElement::render</span><button class="popup" onclick="togglePopup('usagePopup1')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup1">Usage of <span class="code-font"><span class="function-syntax">CommandsElement::render</span></span>:<br/>Index File Services - <a href="6-ifs.html#SP11">&#167;11</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax"> = </span><a href="6-ifs.html#SP1" class="function-link"><span class="function-syntax">Index::get_tree</span></a><span class="plain-syntax">();</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">command_index_entry</span><span class="plain-syntax"> *</span><span class="identifier-syntax">vie</span><span class="plain-syntax">, *</span><span class="identifier-syntax">vie2</span><span class="plain-syntax">, *</span><span class="identifier-syntax">last_vie2</span><span class="plain-syntax">, *</span><span class="identifier-syntax">list_start</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">command_grammar</span><span class="plain-syntax"> *</span><span class="identifier-syntax">cg</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">head_letter</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Packages::by_url</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"/main/completion/grammar"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">wanted</span><span class="plain-syntax"> = </span><span class="identifier-syntax">PackageTypes::get</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"_command_grammar"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">D</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Packages::definition</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_THROUGH_INTER_CHILDREN</span><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">, </span><span class="identifier-syntax">D</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">C</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">W</span><span class="plain-syntax">.</span><span class="identifier-syntax">data</span><span class="plain-syntax">[</span><span class="identifier-syntax">ID_IFLD</span><span class="plain-syntax">] == </span><span class="identifier-syntax">PACKAGE_IST</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">entry</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Package::defined_by_frame</span><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Inter::Packages::type</span><span class="plain-syntax">(</span><span class="identifier-syntax">entry</span><span class="plain-syntax">) == </span><span class="identifier-syntax">wanted</span><span class="plain-syntax">) {</span>
<span class="comment-syntax"> if ((cg-&gt;cg_is == CG_IS_COMMAND) &amp;&amp; (cg-&gt;first_line)) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Wordings::empty</span><span class="plain-syntax">(</span><span class="identifier-syntax">cg</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">command</span><span class="plain-syntax">))</span>
<span class="plain-syntax"> </span><a href="6-ce4.html#SP3" class="function-link"><span class="function-syntax">CommandsElement::vie_new_from</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"0"</span><span class="plain-syntax">, </span><span class="identifier-syntax">cg</span><span class="plain-syntax">, </span><span class="constant-syntax">NORMAL_COMMAND</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span>
<span class="plain-syntax"> </span><a href="6-ce4.html#SP3" class="function-link"><span class="function-syntax">CommandsElement::vie_new_from</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">Lexer::word_text</span><span class="plain-syntax">(</span><span class="identifier-syntax">Wordings::first_wn</span><span class="plain-syntax">(</span><span class="identifier-syntax">cg</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">command</span><span class="plain-syntax">)), </span><span class="identifier-syntax">cg</span><span class="plain-syntax">, </span><span class="constant-syntax">NORMAL_COMMAND</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax">=0; </span><span class="identifier-syntax">i</span><span class="function-syntax">&lt;cg-&gt;</span><span class="identifier-syntax">no_aliased_commands</span><span class="plain-syntax">; </span><span class="identifier-syntax">i</span><span class="plain-syntax">++)</span>
<span class="plain-syntax"> </span><a href="6-ce4.html#SP3" class="function-link"><span class="function-syntax">CommandsElement::vie_new_from</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">Lexer::word_text</span><span class="plain-syntax">(</span><span class="identifier-syntax">Wordings::first_wn</span><span class="plain-syntax">(</span><span class="identifier-syntax">cg</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">aliased_command</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">])), </span><span class="identifier-syntax">cg</span><span class="plain-syntax">, </span><span class="constant-syntax">ALIAS_COMMAND</span><span class="plain-syntax">);</span>
<span class="plain-syntax">*/</span>
<span class="plain-syntax"> }</span>
<span class="plain-syntax"> }</span>
<span class="plain-syntax"> }</span>
<span class="plain-syntax"> }</span>
<span class="plain-syntax"> </span><a href="6-ce4.html#SP3" class="function-link"><span class="function-syntax">CommandsElement::direction_verb</span></a><span class="plain-syntax">();</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER</span><span class="plain-syntax">(</span><span class="identifier-syntax">vie</span><span class="plain-syntax">, </span><span class="reserved-syntax">command_index_entry</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">list_start</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) { </span><span class="identifier-syntax">list_start</span><span class="plain-syntax"> = </span><span class="identifier-syntax">vie</span><span class="plain-syntax">; </span><span class="reserved-syntax">continue</span><span class="plain-syntax">; }</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">vie2</span><span class="plain-syntax"> = </span><span class="identifier-syntax">list_start</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">last_vie2</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">while</span><span class="plain-syntax"> (</span><span class="identifier-syntax">vie2</span><span class="plain-syntax"> &amp;&amp; (</span><span class="identifier-syntax">Str::cmp</span><span class="plain-syntax">(</span><span class="identifier-syntax">vie</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">command_headword</span><span class="plain-syntax">, </span><span class="identifier-syntax">vie2</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">command_headword</span><span class="plain-syntax">) &gt; </span><span class="constant-syntax">0</span><span class="plain-syntax">)) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">last_vie2</span><span class="plain-syntax"> = </span><span class="identifier-syntax">vie2</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">vie2</span><span class="plain-syntax"> = </span><span class="identifier-syntax">vie2</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">next_alphabetically</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> }</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">last_vie2</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">vie</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">next_alphabetically</span><span class="plain-syntax"> = </span><span class="identifier-syntax">list_start</span><span class="plain-syntax">; </span><span class="identifier-syntax">list_start</span><span class="plain-syntax"> = </span><span class="identifier-syntax">vie</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> } </span><span class="reserved-syntax">else</span><span class="plain-syntax"> {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">last_vie2</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">next_alphabetically</span><span class="plain-syntax"> = </span><span class="identifier-syntax">vie</span><span class="plain-syntax">; </span><span class="identifier-syntax">vie</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">next_alphabetically</span><span class="plain-syntax"> = </span><span class="identifier-syntax">vie2</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> }</span>
<span class="plain-syntax"> }</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="identifier-syntax">vie</span><span class="plain-syntax"> = </span><span class="identifier-syntax">list_start</span><span class="plain-syntax">, </span><span class="identifier-syntax">head_letter</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">; </span><span class="identifier-syntax">vie</span><span class="plain-syntax">; </span><span class="identifier-syntax">vie</span><span class="plain-syntax"> = </span><span class="identifier-syntax">vie</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">next_alphabetically</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::get_first_char</span><span class="plain-syntax">(</span><span class="identifier-syntax">vie</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">command_headword</span><span class="plain-syntax">) != </span><span class="identifier-syntax">head_letter</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">head_letter</span><span class="plain-syntax">) </span><span class="identifier-syntax">HTML_TAG</span><span class="plain-syntax">(</span><span class="string-syntax">"br"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">head_letter</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Str::get_first_char</span><span class="plain-syntax">(</span><span class="identifier-syntax">vie</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">command_headword</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> }</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">cg</span><span class="plain-syntax"> = </span><span class="identifier-syntax">vie</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">cg_indexed</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">switch</span><span class="plain-syntax"> (</span><span class="identifier-syntax">vie</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">nature</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">NORMAL_COMMAND:</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">CommandsIndex::index_normal</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">cg</span><span class="plain-syntax">, </span><span class="identifier-syntax">vie</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">command_headword</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">ALIAS_COMMAND:</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">CommandsIndex::index_alias</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">cg</span><span class="plain-syntax">, </span><span class="identifier-syntax">vie</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">command_headword</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">OUT_OF_WORLD_COMMAND:</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::begin_colour</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"800000"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"&amp;quot;%S&amp;quot;, &lt;i&gt;a command for controlling play&lt;/i&gt;"</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">vie</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">command_headword</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::end_colour</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_TAG</span><span class="plain-syntax">(</span><span class="string-syntax">"br"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">TESTING_COMMAND:</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::begin_colour</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"800000"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"&amp;quot;%S&amp;quot;, &lt;i&gt;a testing command not available "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"in the final game&lt;/i&gt;"</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">vie</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">command_headword</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::end_colour</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_TAG</span><span class="plain-syntax">(</span><span class="string-syntax">"br"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">BARE_DIRECTION_COMMAND:</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"&amp;quot;[direction]&amp;quot; - &lt;i&gt;Going&lt;/i&gt;"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_TAG</span><span class="plain-syntax">(</span><span class="string-syntax">"br"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> }</span>
<span class="plain-syntax"> }</span>
<span class="plain-syntax">}</span>
</pre>
<p class="commentary firstcommentary"><a id="SP2" class="paragraph-anchor"></a><b>&#167;2. </b>The following modest structure is used for the indexing of command verbs,
and is too deeply boring to comment upon. These are the headwords of commands
which can be typed at run-time, like QUIT or INVENTORY. For indexing purposes,
we divide these headwords into five "natures":
</p>
<pre class="definitions code-font"><span class="definition-keyword">define</span> <span class="constant-syntax">NORMAL_COMMAND</span><span class="plain-syntax"> </span><span class="constant-syntax">1</span>
<span class="definition-keyword">define</span> <span class="constant-syntax">ALIAS_COMMAND</span><span class="plain-syntax"> </span><span class="constant-syntax">2</span>
<span class="definition-keyword">define</span> <span class="constant-syntax">OUT_OF_WORLD_COMMAND</span><span class="plain-syntax"> </span><span class="constant-syntax">3</span>
<span class="definition-keyword">define</span> <span class="constant-syntax">TESTING_COMMAND</span><span class="plain-syntax"> </span><span class="constant-syntax">4</span>
<span class="definition-keyword">define</span> <span class="constant-syntax">BARE_DIRECTION_COMMAND</span><span class="plain-syntax"> </span><span class="constant-syntax">5</span>
</pre>
<pre class="displayed-code all-displayed-code code-font">
<span class="reserved-syntax">typedef</span><span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="reserved-syntax">command_index_entry</span><span class="plain-syntax"> {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">nature</span><span class="plain-syntax">; </span><span class="comment-syntax"> one of the above values</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">command_headword</span><span class="plain-syntax">; </span><span class="comment-syntax"> text of command headword, such as "REMOVE"</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">cg_indexed</span><span class="plain-syntax">; </span><span class="comment-syntax"> ...leading to...</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="reserved-syntax">command_index_entry</span><span class="plain-syntax"> *</span><span class="identifier-syntax">next_alphabetically</span><span class="plain-syntax">; </span><span class="comment-syntax"> next in linked list</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">CLASS_DEFINITION</span>
<span class="plain-syntax">} </span><span class="reserved-syntax">command_index_entry</span><span class="plain-syntax">;</span>
<span class="reserved-syntax">command_index_entry</span><span class="plain-syntax"> *</span><span class="identifier-syntax">sorted_command_index</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">; </span><span class="comment-syntax"> in alphabetical order of </span><span class="extract"><span class="extract-syntax">text</span></span>
</pre>
<ul class="endnotetexts"><li>The structure command_index_entry is private to this section.</li></ul>
<p class="commentary firstcommentary"><a id="SP3" class="paragraph-anchor"></a><b>&#167;3. </b></p>
<pre class="displayed-code all-displayed-code code-font">
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">CommandsElement::index_meta_verb</span><span class="plain-syntax">(</span><span class="reserved-syntax">char</span><span class="plain-syntax"> *</span><span class="identifier-syntax">t</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">command_index_entry</span><span class="plain-syntax"> *</span><span class="identifier-syntax">vie</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">vie</span><span class="plain-syntax"> = </span><span class="identifier-syntax">CREATE</span><span class="plain-syntax">(</span><span class="reserved-syntax">command_index_entry</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">vie</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">command_headword</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Str::new</span><span class="plain-syntax">();</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">vie</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">command_headword</span><span class="plain-syntax">, </span><span class="string-syntax">"%s"</span><span class="plain-syntax">, </span><span class="identifier-syntax">t</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">vie</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">nature</span><span class="plain-syntax"> = </span><span class="constant-syntax">OUT_OF_WORLD_COMMAND</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">vie</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">cg_indexed</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">vie</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">next_alphabetically</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
<span class="plain-syntax">}</span>
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">CommandsElement::test_verb</span><span class="plain-syntax">(</span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">t</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">command_index_entry</span><span class="plain-syntax"> *</span><span class="identifier-syntax">vie</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">vie</span><span class="plain-syntax"> = </span><span class="identifier-syntax">CREATE</span><span class="plain-syntax">(</span><span class="reserved-syntax">command_index_entry</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">vie</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">command_headword</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Str::duplicate</span><span class="plain-syntax">(</span><span class="identifier-syntax">t</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">vie</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">nature</span><span class="plain-syntax"> = </span><span class="constant-syntax">TESTING_COMMAND</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">vie</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">cg_indexed</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">vie</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">next_alphabetically</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
<span class="plain-syntax">}</span>
<span class="reserved-syntax">command_index_entry</span><span class="plain-syntax"> *</span><span class="function-syntax">CommandsElement::vie_new_from</span><button class="popup" onclick="togglePopup('usagePopup2')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup2">Usage of <span class="code-font"><span class="function-syntax">CommandsElement::vie_new_from</span></span>:<br/><a href="6-ce4.html#SP1">&#167;1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">wchar_t</span><span class="plain-syntax"> *</span><span class="identifier-syntax">headword</span><span class="plain-syntax">, </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">cg</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">nature</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">command_index_entry</span><span class="plain-syntax"> *</span><span class="identifier-syntax">vie</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">vie</span><span class="plain-syntax"> = </span><span class="identifier-syntax">CREATE</span><span class="plain-syntax">(</span><span class="reserved-syntax">command_index_entry</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">vie</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">command_headword</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Str::new</span><span class="plain-syntax">();</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">vie</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">command_headword</span><span class="plain-syntax">, </span><span class="string-syntax">"%w"</span><span class="plain-syntax">, </span><span class="identifier-syntax">headword</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">vie</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">nature</span><span class="plain-syntax"> = </span><span class="identifier-syntax">nature</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">vie</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">cg_indexed</span><span class="plain-syntax"> = </span><span class="identifier-syntax">cg</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">vie</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">next_alphabetically</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">vie</span><span class="plain-syntax">;</span>
<span class="plain-syntax">}</span>
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">CommandsElement::direction_verb</span><button class="popup" onclick="togglePopup('usagePopup3')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup3">Usage of <span class="code-font"><span class="function-syntax">CommandsElement::direction_verb</span></span>:<br/><a href="6-ce4.html#SP1">&#167;1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">void</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">vie</span><span class="plain-syntax"> = </span><span class="identifier-syntax">CREATE</span><span class="plain-syntax">(</span><span class="reserved-syntax">command_index_entry</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">vie</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">command_headword</span><span class="plain-syntax"> = </span><span class="identifier-syntax">I</span><span class="string-syntax">"0"</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">vie</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">nature</span><span class="plain-syntax"> = </span><span class="constant-syntax">BARE_DIRECTION_COMMAND</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">vie</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">cg_indexed</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">vie</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">next_alphabetically</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
<span class="plain-syntax">}</span>
</pre>
<nav role="progress"><div class="progresscontainer">
<ul class="progressbar"><li class="progressprev"><a href="6-te2.html">&#10094;</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresschapter"><a href="3-sh.html">3</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progresscurrentchapter">6</li><li class="progresssection"><a href="6-ii.html">ii</a></li><li class="progresssection"><a href="6-ifs.html">ifs</a></li><li class="progresssection"><a href="6-ir.html">ir</a></li><li class="progresssection"><a href="6-lxc.html">lxc</a></li><li class="progresssection"><a href="6-ce.html">ce</a></li><li class="progresssection"><a href="6-ce2.html">ce2</a></li><li class="progresssection"><a href="6-be.html">be</a></li><li class="progresssection"><a href="6-re.html">re</a></li><li class="progresssection"><a href="6-ee.html">ee</a></li><li class="progresssection"><a href="6-fe.html">fe</a></li><li class="progresssection"><a href="6-te.html">te</a></li><li class="progresssection"><a href="6-ve.html">ve</a></li><li class="progresssection"><a href="6-rfse.html">rfse</a></li><li class="progresssection"><a href="6-ee2.html">ee2</a></li><li class="progresssection"><a href="6-se.html">se</a></li><li class="progresssection"><a href="6-ie.html">ie</a></li><li class="progresssection"><a href="6-ve2.html">ve2</a></li><li class="progresssection"><a href="6-ge.html">ge</a></li><li class="progresssection"><a href="6-le.html">le</a></li><li class="progresssection"><a href="6-ae.html">ae</a></li><li class="progresssection"><a href="6-pe.html">pe</a></li><li class="progresssection"><a href="6-ce3.html">ce3</a></li><li class="progresssection"><a href="6-pe2.html">pe2</a></li><li class="progresssection"><a href="6-te2.html">te2</a></li><li class="progresscurrent">ce4</li><li class="progressnextoff">&#10095;</li></ul></div>
</nav><!--End of weave-->
</main>
</body>
</html>

View file

@ -150,7 +150,7 @@ function togglePopup(material_id) {
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="6-ee.html#SP1">&#167;1</a>.</li></ul>
<nav role="progress"><div class="progresscontainer">
<ul class="progressbar"><li class="progressprev"><a href="6-re.html">&#10094;</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresschapter"><a href="3-sh.html">3</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progresscurrentchapter">6</li><li class="progresssection"><a href="6-ii.html">ii</a></li><li class="progresssection"><a href="6-ifs.html">ifs</a></li><li class="progresssection"><a href="6-ir.html">ir</a></li><li class="progresssection"><a href="6-lxc.html">lxc</a></li><li class="progresssection"><a href="6-ce.html">ce</a></li><li class="progresssection"><a href="6-ce2.html">ce2</a></li><li class="progresssection"><a href="6-be.html">be</a></li><li class="progresssection"><a href="6-re.html">re</a></li><li class="progresscurrent">ee</li><li class="progresssection"><a href="6-fe.html">fe</a></li><li class="progresssection"><a href="6-te.html">te</a></li><li class="progresssection"><a href="6-ve.html">ve</a></li><li class="progresssection"><a href="6-rfse.html">rfse</a></li><li class="progresssection"><a href="6-ee2.html">ee2</a></li><li class="progresssection"><a href="6-se.html">se</a></li><li class="progresssection"><a href="6-ie.html">ie</a></li><li class="progresssection"><a href="6-ve2.html">ve2</a></li><li class="progresssection"><a href="6-ge.html">ge</a></li><li class="progresssection"><a href="6-le.html">le</a></li><li class="progresssection"><a href="6-ae.html">ae</a></li><li class="progresssection"><a href="6-pe.html">pe</a></li><li class="progresssection"><a href="6-ce3.html">ce3</a></li><li class="progresssection"><a href="6-pe2.html">pe2</a></li><li class="progresssection"><a href="6-te2.html">te2</a></li><li class="progressnext"><a href="6-fe.html">&#10095;</a></li></ul></div>
<ul class="progressbar"><li class="progressprev"><a href="6-re.html">&#10094;</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresschapter"><a href="3-sh.html">3</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progresscurrentchapter">6</li><li class="progresssection"><a href="6-ii.html">ii</a></li><li class="progresssection"><a href="6-ifs.html">ifs</a></li><li class="progresssection"><a href="6-ir.html">ir</a></li><li class="progresssection"><a href="6-lxc.html">lxc</a></li><li class="progresssection"><a href="6-ce.html">ce</a></li><li class="progresssection"><a href="6-ce2.html">ce2</a></li><li class="progresssection"><a href="6-be.html">be</a></li><li class="progresssection"><a href="6-re.html">re</a></li><li class="progresscurrent">ee</li><li class="progresssection"><a href="6-fe.html">fe</a></li><li class="progresssection"><a href="6-te.html">te</a></li><li class="progresssection"><a href="6-ve.html">ve</a></li><li class="progresssection"><a href="6-rfse.html">rfse</a></li><li class="progresssection"><a href="6-ee2.html">ee2</a></li><li class="progresssection"><a href="6-se.html">se</a></li><li class="progresssection"><a href="6-ie.html">ie</a></li><li class="progresssection"><a href="6-ve2.html">ve2</a></li><li class="progresssection"><a href="6-ge.html">ge</a></li><li class="progresssection"><a href="6-le.html">le</a></li><li class="progresssection"><a href="6-ae.html">ae</a></li><li class="progresssection"><a href="6-pe.html">pe</a></li><li class="progresssection"><a href="6-ce3.html">ce3</a></li><li class="progresssection"><a href="6-pe2.html">pe2</a></li><li class="progresssection"><a href="6-te2.html">te2</a></li><li class="progresssection"><a href="6-ce4.html">ce4</a></li><li class="progressnext"><a href="6-fe.html">&#10095;</a></li></ul></div>
</nav><!--End of weave-->
</main>

View file

@ -135,7 +135,7 @@ function togglePopup(material_id) {
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="6-ee2.html#SP1_1">&#167;1.1</a> (twice).</li></ul>
<nav role="progress"><div class="progresscontainer">
<ul class="progressbar"><li class="progressprev"><a href="6-rfse.html">&#10094;</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresschapter"><a href="3-sh.html">3</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progresscurrentchapter">6</li><li class="progresssection"><a href="6-ii.html">ii</a></li><li class="progresssection"><a href="6-ifs.html">ifs</a></li><li class="progresssection"><a href="6-ir.html">ir</a></li><li class="progresssection"><a href="6-lxc.html">lxc</a></li><li class="progresssection"><a href="6-ce.html">ce</a></li><li class="progresssection"><a href="6-ce2.html">ce2</a></li><li class="progresssection"><a href="6-be.html">be</a></li><li class="progresssection"><a href="6-re.html">re</a></li><li class="progresssection"><a href="6-ee.html">ee</a></li><li class="progresssection"><a href="6-fe.html">fe</a></li><li class="progresssection"><a href="6-te.html">te</a></li><li class="progresssection"><a href="6-ve.html">ve</a></li><li class="progresssection"><a href="6-rfse.html">rfse</a></li><li class="progresscurrent">ee2</li><li class="progresssection"><a href="6-se.html">se</a></li><li class="progresssection"><a href="6-ie.html">ie</a></li><li class="progresssection"><a href="6-ve2.html">ve2</a></li><li class="progresssection"><a href="6-ge.html">ge</a></li><li class="progresssection"><a href="6-le.html">le</a></li><li class="progresssection"><a href="6-ae.html">ae</a></li><li class="progresssection"><a href="6-pe.html">pe</a></li><li class="progresssection"><a href="6-ce3.html">ce3</a></li><li class="progresssection"><a href="6-pe2.html">pe2</a></li><li class="progresssection"><a href="6-te2.html">te2</a></li><li class="progressnext"><a href="6-se.html">&#10095;</a></li></ul></div>
<ul class="progressbar"><li class="progressprev"><a href="6-rfse.html">&#10094;</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresschapter"><a href="3-sh.html">3</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progresscurrentchapter">6</li><li class="progresssection"><a href="6-ii.html">ii</a></li><li class="progresssection"><a href="6-ifs.html">ifs</a></li><li class="progresssection"><a href="6-ir.html">ir</a></li><li class="progresssection"><a href="6-lxc.html">lxc</a></li><li class="progresssection"><a href="6-ce.html">ce</a></li><li class="progresssection"><a href="6-ce2.html">ce2</a></li><li class="progresssection"><a href="6-be.html">be</a></li><li class="progresssection"><a href="6-re.html">re</a></li><li class="progresssection"><a href="6-ee.html">ee</a></li><li class="progresssection"><a href="6-fe.html">fe</a></li><li class="progresssection"><a href="6-te.html">te</a></li><li class="progresssection"><a href="6-ve.html">ve</a></li><li class="progresssection"><a href="6-rfse.html">rfse</a></li><li class="progresscurrent">ee2</li><li class="progresssection"><a href="6-se.html">se</a></li><li class="progresssection"><a href="6-ie.html">ie</a></li><li class="progresssection"><a href="6-ve2.html">ve2</a></li><li class="progresssection"><a href="6-ge.html">ge</a></li><li class="progresssection"><a href="6-le.html">le</a></li><li class="progresssection"><a href="6-ae.html">ae</a></li><li class="progresssection"><a href="6-pe.html">pe</a></li><li class="progresssection"><a href="6-ce3.html">ce3</a></li><li class="progresssection"><a href="6-pe2.html">pe2</a></li><li class="progresssection"><a href="6-te2.html">te2</a></li><li class="progresssection"><a href="6-ce4.html">ce4</a></li><li class="progressnext"><a href="6-se.html">&#10095;</a></li></ul></div>
</nav><!--End of weave-->
</main>

View file

@ -353,7 +353,7 @@ to match this width, preserving the aspect ratio.
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="6-fe.html#SP1">&#167;1</a>.</li></ul>
<nav role="progress"><div class="progresscontainer">
<ul class="progressbar"><li class="progressprev"><a href="6-ee.html">&#10094;</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresschapter"><a href="3-sh.html">3</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progresscurrentchapter">6</li><li class="progresssection"><a href="6-ii.html">ii</a></li><li class="progresssection"><a href="6-ifs.html">ifs</a></li><li class="progresssection"><a href="6-ir.html">ir</a></li><li class="progresssection"><a href="6-lxc.html">lxc</a></li><li class="progresssection"><a href="6-ce.html">ce</a></li><li class="progresssection"><a href="6-ce2.html">ce2</a></li><li class="progresssection"><a href="6-be.html">be</a></li><li class="progresssection"><a href="6-re.html">re</a></li><li class="progresssection"><a href="6-ee.html">ee</a></li><li class="progresscurrent">fe</li><li class="progresssection"><a href="6-te.html">te</a></li><li class="progresssection"><a href="6-ve.html">ve</a></li><li class="progresssection"><a href="6-rfse.html">rfse</a></li><li class="progresssection"><a href="6-ee2.html">ee2</a></li><li class="progresssection"><a href="6-se.html">se</a></li><li class="progresssection"><a href="6-ie.html">ie</a></li><li class="progresssection"><a href="6-ve2.html">ve2</a></li><li class="progresssection"><a href="6-ge.html">ge</a></li><li class="progresssection"><a href="6-le.html">le</a></li><li class="progresssection"><a href="6-ae.html">ae</a></li><li class="progresssection"><a href="6-pe.html">pe</a></li><li class="progresssection"><a href="6-ce3.html">ce3</a></li><li class="progresssection"><a href="6-pe2.html">pe2</a></li><li class="progresssection"><a href="6-te2.html">te2</a></li><li class="progressnext"><a href="6-te.html">&#10095;</a></li></ul></div>
<ul class="progressbar"><li class="progressprev"><a href="6-ee.html">&#10094;</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresschapter"><a href="3-sh.html">3</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progresscurrentchapter">6</li><li class="progresssection"><a href="6-ii.html">ii</a></li><li class="progresssection"><a href="6-ifs.html">ifs</a></li><li class="progresssection"><a href="6-ir.html">ir</a></li><li class="progresssection"><a href="6-lxc.html">lxc</a></li><li class="progresssection"><a href="6-ce.html">ce</a></li><li class="progresssection"><a href="6-ce2.html">ce2</a></li><li class="progresssection"><a href="6-be.html">be</a></li><li class="progresssection"><a href="6-re.html">re</a></li><li class="progresssection"><a href="6-ee.html">ee</a></li><li class="progresscurrent">fe</li><li class="progresssection"><a href="6-te.html">te</a></li><li class="progresssection"><a href="6-ve.html">ve</a></li><li class="progresssection"><a href="6-rfse.html">rfse</a></li><li class="progresssection"><a href="6-ee2.html">ee2</a></li><li class="progresssection"><a href="6-se.html">se</a></li><li class="progresssection"><a href="6-ie.html">ie</a></li><li class="progresssection"><a href="6-ve2.html">ve2</a></li><li class="progresssection"><a href="6-ge.html">ge</a></li><li class="progresssection"><a href="6-le.html">le</a></li><li class="progresssection"><a href="6-ae.html">ae</a></li><li class="progresssection"><a href="6-pe.html">pe</a></li><li class="progresssection"><a href="6-ce3.html">ce3</a></li><li class="progresssection"><a href="6-pe2.html">pe2</a></li><li class="progresssection"><a href="6-te2.html">te2</a></li><li class="progresssection"><a href="6-ce4.html">ce4</a></li><li class="progressnext"><a href="6-te.html">&#10095;</a></li></ul></div>
</nav><!--End of weave-->
</main>

View file

@ -82,7 +82,7 @@ function togglePopup(material_id) {
<span class="plain-syntax">}</span>
</pre>
<nav role="progress"><div class="progresscontainer">
<ul class="progressbar"><li class="progressprev"><a href="6-ve2.html">&#10094;</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresschapter"><a href="3-sh.html">3</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progresscurrentchapter">6</li><li class="progresssection"><a href="6-ii.html">ii</a></li><li class="progresssection"><a href="6-ifs.html">ifs</a></li><li class="progresssection"><a href="6-ir.html">ir</a></li><li class="progresssection"><a href="6-lxc.html">lxc</a></li><li class="progresssection"><a href="6-ce.html">ce</a></li><li class="progresssection"><a href="6-ce2.html">ce2</a></li><li class="progresssection"><a href="6-be.html">be</a></li><li class="progresssection"><a href="6-re.html">re</a></li><li class="progresssection"><a href="6-ee.html">ee</a></li><li class="progresssection"><a href="6-fe.html">fe</a></li><li class="progresssection"><a href="6-te.html">te</a></li><li class="progresssection"><a href="6-ve.html">ve</a></li><li class="progresssection"><a href="6-rfse.html">rfse</a></li><li class="progresssection"><a href="6-ee2.html">ee2</a></li><li class="progresssection"><a href="6-se.html">se</a></li><li class="progresssection"><a href="6-ie.html">ie</a></li><li class="progresssection"><a href="6-ve2.html">ve2</a></li><li class="progresscurrent">ge</li><li class="progresssection"><a href="6-le.html">le</a></li><li class="progresssection"><a href="6-ae.html">ae</a></li><li class="progresssection"><a href="6-pe.html">pe</a></li><li class="progresssection"><a href="6-ce3.html">ce3</a></li><li class="progresssection"><a href="6-pe2.html">pe2</a></li><li class="progresssection"><a href="6-te2.html">te2</a></li><li class="progressnext"><a href="6-le.html">&#10095;</a></li></ul></div>
<ul class="progressbar"><li class="progressprev"><a href="6-ve2.html">&#10094;</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresschapter"><a href="3-sh.html">3</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progresscurrentchapter">6</li><li class="progresssection"><a href="6-ii.html">ii</a></li><li class="progresssection"><a href="6-ifs.html">ifs</a></li><li class="progresssection"><a href="6-ir.html">ir</a></li><li class="progresssection"><a href="6-lxc.html">lxc</a></li><li class="progresssection"><a href="6-ce.html">ce</a></li><li class="progresssection"><a href="6-ce2.html">ce2</a></li><li class="progresssection"><a href="6-be.html">be</a></li><li class="progresssection"><a href="6-re.html">re</a></li><li class="progresssection"><a href="6-ee.html">ee</a></li><li class="progresssection"><a href="6-fe.html">fe</a></li><li class="progresssection"><a href="6-te.html">te</a></li><li class="progresssection"><a href="6-ve.html">ve</a></li><li class="progresssection"><a href="6-rfse.html">rfse</a></li><li class="progresssection"><a href="6-ee2.html">ee2</a></li><li class="progresssection"><a href="6-se.html">se</a></li><li class="progresssection"><a href="6-ie.html">ie</a></li><li class="progresssection"><a href="6-ve2.html">ve2</a></li><li class="progresscurrent">ge</li><li class="progresssection"><a href="6-le.html">le</a></li><li class="progresssection"><a href="6-ae.html">ae</a></li><li class="progresssection"><a href="6-pe.html">pe</a></li><li class="progresssection"><a href="6-ce3.html">ce3</a></li><li class="progresssection"><a href="6-pe2.html">pe2</a></li><li class="progresssection"><a href="6-te2.html">te2</a></li><li class="progresssection"><a href="6-ce4.html">ce4</a></li><li class="progressnext"><a href="6-le.html">&#10095;</a></li></ul></div>
</nav><!--End of weave-->
</main>

View file

@ -288,7 +288,7 @@ pragma is set:
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="6-ie.html#SP2">&#167;2</a>.</li></ul>
<nav role="progress"><div class="progresscontainer">
<ul class="progressbar"><li class="progressprev"><a href="6-se.html">&#10094;</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresschapter"><a href="3-sh.html">3</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progresscurrentchapter">6</li><li class="progresssection"><a href="6-ii.html">ii</a></li><li class="progresssection"><a href="6-ifs.html">ifs</a></li><li class="progresssection"><a href="6-ir.html">ir</a></li><li class="progresssection"><a href="6-lxc.html">lxc</a></li><li class="progresssection"><a href="6-ce.html">ce</a></li><li class="progresssection"><a href="6-ce2.html">ce2</a></li><li class="progresssection"><a href="6-be.html">be</a></li><li class="progresssection"><a href="6-re.html">re</a></li><li class="progresssection"><a href="6-ee.html">ee</a></li><li class="progresssection"><a href="6-fe.html">fe</a></li><li class="progresssection"><a href="6-te.html">te</a></li><li class="progresssection"><a href="6-ve.html">ve</a></li><li class="progresssection"><a href="6-rfse.html">rfse</a></li><li class="progresssection"><a href="6-ee2.html">ee2</a></li><li class="progresssection"><a href="6-se.html">se</a></li><li class="progresscurrent">ie</li><li class="progresssection"><a href="6-ve2.html">ve2</a></li><li class="progresssection"><a href="6-ge.html">ge</a></li><li class="progresssection"><a href="6-le.html">le</a></li><li class="progresssection"><a href="6-ae.html">ae</a></li><li class="progresssection"><a href="6-pe.html">pe</a></li><li class="progresssection"><a href="6-ce3.html">ce3</a></li><li class="progresssection"><a href="6-pe2.html">pe2</a></li><li class="progresssection"><a href="6-te2.html">te2</a></li><li class="progressnext"><a href="6-ve2.html">&#10095;</a></li></ul></div>
<ul class="progressbar"><li class="progressprev"><a href="6-se.html">&#10094;</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresschapter"><a href="3-sh.html">3</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progresscurrentchapter">6</li><li class="progresssection"><a href="6-ii.html">ii</a></li><li class="progresssection"><a href="6-ifs.html">ifs</a></li><li class="progresssection"><a href="6-ir.html">ir</a></li><li class="progresssection"><a href="6-lxc.html">lxc</a></li><li class="progresssection"><a href="6-ce.html">ce</a></li><li class="progresssection"><a href="6-ce2.html">ce2</a></li><li class="progresssection"><a href="6-be.html">be</a></li><li class="progresssection"><a href="6-re.html">re</a></li><li class="progresssection"><a href="6-ee.html">ee</a></li><li class="progresssection"><a href="6-fe.html">fe</a></li><li class="progresssection"><a href="6-te.html">te</a></li><li class="progresssection"><a href="6-ve.html">ve</a></li><li class="progresssection"><a href="6-rfse.html">rfse</a></li><li class="progresssection"><a href="6-ee2.html">ee2</a></li><li class="progresssection"><a href="6-se.html">se</a></li><li class="progresscurrent">ie</li><li class="progresssection"><a href="6-ve2.html">ve2</a></li><li class="progresssection"><a href="6-ge.html">ge</a></li><li class="progresssection"><a href="6-le.html">le</a></li><li class="progresssection"><a href="6-ae.html">ae</a></li><li class="progresssection"><a href="6-pe.html">pe</a></li><li class="progresssection"><a href="6-ce3.html">ce3</a></li><li class="progresssection"><a href="6-pe2.html">pe2</a></li><li class="progresssection"><a href="6-te2.html">te2</a></li><li class="progresssection"><a href="6-ce4.html">ce4</a></li><li class="progressnext"><a href="6-ve2.html">&#10095;</a></li></ul></div>
</nav><!--End of weave-->
</main>

View file

@ -83,7 +83,7 @@ function togglePopup(material_id) {
<span class="plain-syntax"> </span><span class="identifier-syntax">indexing_tree</span><span class="plain-syntax"> = </span><span class="identifier-syntax">I</span><span class="plain-syntax">;</span>
<span class="plain-syntax">}</span>
<span class="identifier-syntax">inter_tree</span><span class="plain-syntax"> *</span><span class="function-syntax">Index::get_tree</span><button class="popup" onclick="togglePopup('usagePopup1')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup1">Usage of <span class="code-font"><span class="function-syntax">Index::get_tree</span></span>:<br/>Contents Element - <a href="6-ce.html#SP1">&#167;1</a><br/>Card Element - <a href="6-ce2.html#SP1">&#167;1</a><br/>Behaviour Element - <a href="6-be.html#SP1">&#167;1</a><br/>Relations Element - <a href="6-re.html#SP1">&#167;1</a><br/>Events Element - <a href="6-ee.html#SP1">&#167;1</a><br/>Figures Element - <a href="6-fe.html#SP1">&#167;1</a><br/>Tables Element - <a href="6-te.html#SP1">&#167;1</a><br/>Values Element - <a href="6-ve.html#SP1">&#167;1</a><br/>Rules for Scenes Element - <a href="6-rfse.html#SP1">&#167;1</a><br/>Extras Element - <a href="6-ee2.html#SP1">&#167;1</a><br/>Standards Element - <a href="6-se.html#SP1">&#167;1</a><br/>Innards Element - <a href="6-ie.html#SP1">&#167;1</a><br/>Verbs Element - <a href="6-ve2.html#SP1">&#167;1</a><br/>Gazetteer Element - <a href="6-ge.html#SP1">&#167;1</a><br/>Lexicon Element - <a href="6-le.html#SP1">&#167;1</a><br/>Arithmetic Element - <a href="6-ae.html#SP1">&#167;1</a><br/>Plot Element - <a href="6-pe.html#SP1">&#167;1</a><br/>Chart Element - <a href="6-ce3.html#SP1">&#167;1</a><br/>Phrasebook Element - <a href="6-pe2.html#SP1">&#167;1</a><br/>Tokens Element - <a href="6-te2.html#SP1">&#167;1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">void</span><span class="plain-syntax">) {</span>
<span class="identifier-syntax">inter_tree</span><span class="plain-syntax"> *</span><span class="function-syntax">Index::get_tree</span><button class="popup" onclick="togglePopup('usagePopup1')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup1">Usage of <span class="code-font"><span class="function-syntax">Index::get_tree</span></span>:<br/>Contents Element - <a href="6-ce.html#SP1">&#167;1</a><br/>Card Element - <a href="6-ce2.html#SP1">&#167;1</a><br/>Behaviour Element - <a href="6-be.html#SP1">&#167;1</a><br/>Relations Element - <a href="6-re.html#SP1">&#167;1</a><br/>Events Element - <a href="6-ee.html#SP1">&#167;1</a><br/>Figures Element - <a href="6-fe.html#SP1">&#167;1</a><br/>Tables Element - <a href="6-te.html#SP1">&#167;1</a><br/>Values Element - <a href="6-ve.html#SP1">&#167;1</a><br/>Rules for Scenes Element - <a href="6-rfse.html#SP1">&#167;1</a><br/>Extras Element - <a href="6-ee2.html#SP1">&#167;1</a><br/>Standards Element - <a href="6-se.html#SP1">&#167;1</a><br/>Innards Element - <a href="6-ie.html#SP1">&#167;1</a><br/>Verbs Element - <a href="6-ve2.html#SP1">&#167;1</a><br/>Gazetteer Element - <a href="6-ge.html#SP1">&#167;1</a><br/>Lexicon Element - <a href="6-le.html#SP1">&#167;1</a><br/>Arithmetic Element - <a href="6-ae.html#SP1">&#167;1</a><br/>Plot Element - <a href="6-pe.html#SP1">&#167;1</a><br/>Chart Element - <a href="6-ce3.html#SP1">&#167;1</a><br/>Phrasebook Element - <a href="6-pe2.html#SP1">&#167;1</a><br/>Tokens Element - <a href="6-te2.html#SP1">&#167;1</a><br/>Commands Element - <a href="6-ce4.html#SP1">&#167;1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">void</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">indexing_tree</span><span class="plain-syntax">;</span>
<span class="plain-syntax">}</span>
</pre>
@ -822,21 +822,22 @@ to show, hide and colour things:
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::eq_wide_string</span><span class="plain-syntax">(</span><span class="identifier-syntax">elt</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"C"</span><span class="plain-syntax">)) { </span><a href="6-ce.html#SP1" class="function-link"><span class="function-syntax">ContentsElement::render</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">); </span><span class="reserved-syntax">return</span><span class="plain-syntax">; }</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::eq_wide_string</span><span class="plain-syntax">(</span><span class="identifier-syntax">elt</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"Cd"</span><span class="plain-syntax">)) { </span><a href="6-ce2.html#SP1" class="function-link"><span class="function-syntax">CardElement::render</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">); </span><span class="reserved-syntax">return</span><span class="plain-syntax">; }</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::eq_wide_string</span><span class="plain-syntax">(</span><span class="identifier-syntax">elt</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"Ch"</span><span class="plain-syntax">)) { </span><a href="6-ce3.html#SP1" class="function-link"><span class="function-syntax">ChartElement::render</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">); </span><span class="reserved-syntax">return</span><span class="plain-syntax">; }</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::eq_wide_string</span><span class="plain-syntax">(</span><span class="identifier-syntax">elt</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"Cm"</span><span class="plain-syntax">)) { </span><a href="6-ce4.html#SP1" class="function-link"><span class="function-syntax">CommandsElement::render</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">); </span><span class="reserved-syntax">return</span><span class="plain-syntax">; }</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::eq_wide_string</span><span class="plain-syntax">(</span><span class="identifier-syntax">elt</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"Ev"</span><span class="plain-syntax">)) { </span><a href="6-ee.html#SP1" class="function-link"><span class="function-syntax">EventsElement::render</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">); </span><span class="reserved-syntax">return</span><span class="plain-syntax">; }</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::eq_wide_string</span><span class="plain-syntax">(</span><span class="identifier-syntax">elt</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"Fi"</span><span class="plain-syntax">)) { </span><a href="6-fe.html#SP1" class="function-link"><span class="function-syntax">FiguresElement::render</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">); </span><span class="reserved-syntax">return</span><span class="plain-syntax">; }</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::eq_wide_string</span><span class="plain-syntax">(</span><span class="identifier-syntax">elt</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"Gz"</span><span class="plain-syntax">)) { </span><a href="6-ge.html#SP1" class="function-link"><span class="function-syntax">GazetteerElement::render</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">); </span><span class="reserved-syntax">return</span><span class="plain-syntax">; }</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::eq_wide_string</span><span class="plain-syntax">(</span><span class="identifier-syntax">elt</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"In"</span><span class="plain-syntax">)) { </span><a href="6-ie.html#SP1" class="function-link"><span class="function-syntax">InnardsElement::render</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">); </span><span class="reserved-syntax">return</span><span class="plain-syntax">; }</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::eq_wide_string</span><span class="plain-syntax">(</span><span class="identifier-syntax">elt</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"Lx"</span><span class="plain-syntax">)) { </span><a href="6-le.html#SP1" class="function-link"><span class="function-syntax">LexiconElement::render</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">); </span><span class="reserved-syntax">return</span><span class="plain-syntax">; }</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::eq_wide_string</span><span class="plain-syntax">(</span><span class="identifier-syntax">elt</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"Ph"</span><span class="plain-syntax">)) { </span><a href="6-pe2.html#SP1" class="function-link"><span class="function-syntax">PhrasebookElement::render</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">); </span><span class="reserved-syntax">return</span><span class="plain-syntax">; }</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::eq_wide_string</span><span class="plain-syntax">(</span><span class="identifier-syntax">elt</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"Pl"</span><span class="plain-syntax">)) { </span><a href="6-pe.html#SP1" class="function-link"><span class="function-syntax">PlotElement::render</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">); </span><span class="reserved-syntax">return</span><span class="plain-syntax">; }</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::eq_wide_string</span><span class="plain-syntax">(</span><span class="identifier-syntax">elt</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"Rl"</span><span class="plain-syntax">)) { </span><a href="6-re.html#SP1" class="function-link"><span class="function-syntax">RelationsElement::render</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">); </span><span class="reserved-syntax">return</span><span class="plain-syntax">; }</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::eq_wide_string</span><span class="plain-syntax">(</span><span class="identifier-syntax">elt</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"RS"</span><span class="plain-syntax">)) { </span><a href="6-rfse.html#SP1" class="function-link"><span class="function-syntax">RulesForScenesElement::render</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">); </span><span class="reserved-syntax">return</span><span class="plain-syntax">; }</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::eq_wide_string</span><span class="plain-syntax">(</span><span class="identifier-syntax">elt</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"St"</span><span class="plain-syntax">)) { </span><a href="6-se.html#SP1" class="function-link"><span class="function-syntax">StandardsElement::render</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">); </span><span class="reserved-syntax">return</span><span class="plain-syntax">; }</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::eq_wide_string</span><span class="plain-syntax">(</span><span class="identifier-syntax">elt</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"Tb"</span><span class="plain-syntax">)) { </span><a href="6-te.html#SP1" class="function-link"><span class="function-syntax">TablesElement::render</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">); </span><span class="reserved-syntax">return</span><span class="plain-syntax">; }</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::eq_wide_string</span><span class="plain-syntax">(</span><span class="identifier-syntax">elt</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"To"</span><span class="plain-syntax">)) { </span><a href="6-te2.html#SP1" class="function-link"><span class="function-syntax">TokensElement::render</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">); </span><span class="reserved-syntax">return</span><span class="plain-syntax">; }</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::eq_wide_string</span><span class="plain-syntax">(</span><span class="identifier-syntax">elt</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"Vb"</span><span class="plain-syntax">)) { </span><a href="6-ve2.html#SP1" class="function-link"><span class="function-syntax">VerbsElement::render</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">); </span><span class="reserved-syntax">return</span><span class="plain-syntax">; }</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::eq_wide_string</span><span class="plain-syntax">(</span><span class="identifier-syntax">elt</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"Vl"</span><span class="plain-syntax">)) { </span><a href="6-ve.html#SP1" class="function-link"><span class="function-syntax">ValuesElement::render</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">); </span><span class="reserved-syntax">return</span><span class="plain-syntax">; }</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::eq_wide_string</span><span class="plain-syntax">(</span><span class="identifier-syntax">elt</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"Xt"</span><span class="plain-syntax">)) { </span><a href="6-ee2.html#SP1" class="function-link"><span class="function-syntax">ExtrasElement::render</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">); </span><span class="reserved-syntax">return</span><span class="plain-syntax">; }</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::eq_wide_string</span><span class="plain-syntax">(</span><span class="identifier-syntax">elt</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"Ph"</span><span class="plain-syntax">)) { </span><a href="6-pe2.html#SP1" class="function-link"><span class="function-syntax">PhrasebookElement::render</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">); </span><span class="reserved-syntax">return</span><span class="plain-syntax">; }</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::eq_wide_string</span><span class="plain-syntax">(</span><span class="identifier-syntax">elt</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"To"</span><span class="plain-syntax">)) { </span><a href="6-te2.html#SP1" class="function-link"><span class="function-syntax">TokensElement::render</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">); </span><span class="reserved-syntax">return</span><span class="plain-syntax">; }</span>
<span class="plain-syntax"> #</span><span class="identifier-syntax">ifdef</span><span class="plain-syntax"> </span><span class="identifier-syntax">CORE_MODULE</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::eq_wide_string</span><span class="plain-syntax">(</span><span class="identifier-syntax">elt</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"Mp"</span><span class="plain-syntax">)) {</span>
@ -847,10 +848,6 @@ to show, hide and colour things:
<span class="plain-syntax"> </span><span class="identifier-syntax">CommandsIndex::page</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> }</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::eq_wide_string</span><span class="plain-syntax">(</span><span class="identifier-syntax">elt</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"Cm"</span><span class="plain-syntax">)) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">CommandsIndex::commands</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> }</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::eq_wide_string</span><span class="plain-syntax">(</span><span class="identifier-syntax">elt</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"A2"</span><span class="plain-syntax">)) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">CommandsIndex::alphabetical</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax">;</span>
@ -1102,7 +1099,7 @@ quotes.
<span class="plain-syntax">}</span>
</pre>
<nav role="progress"><div class="progresscontainer">
<ul class="progressbar"><li class="progressprev"><a href="6-ii.html">&#10094;</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresschapter"><a href="3-sh.html">3</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progresscurrentchapter">6</li><li class="progresssection"><a href="6-ii.html">ii</a></li><li class="progresscurrent">ifs</li><li class="progresssection"><a href="6-ir.html">ir</a></li><li class="progresssection"><a href="6-lxc.html">lxc</a></li><li class="progresssection"><a href="6-ce.html">ce</a></li><li class="progresssection"><a href="6-ce2.html">ce2</a></li><li class="progresssection"><a href="6-be.html">be</a></li><li class="progresssection"><a href="6-re.html">re</a></li><li class="progresssection"><a href="6-ee.html">ee</a></li><li class="progresssection"><a href="6-fe.html">fe</a></li><li class="progresssection"><a href="6-te.html">te</a></li><li class="progresssection"><a href="6-ve.html">ve</a></li><li class="progresssection"><a href="6-rfse.html">rfse</a></li><li class="progresssection"><a href="6-ee2.html">ee2</a></li><li class="progresssection"><a href="6-se.html">se</a></li><li class="progresssection"><a href="6-ie.html">ie</a></li><li class="progresssection"><a href="6-ve2.html">ve2</a></li><li class="progresssection"><a href="6-ge.html">ge</a></li><li class="progresssection"><a href="6-le.html">le</a></li><li class="progresssection"><a href="6-ae.html">ae</a></li><li class="progresssection"><a href="6-pe.html">pe</a></li><li class="progresssection"><a href="6-ce3.html">ce3</a></li><li class="progresssection"><a href="6-pe2.html">pe2</a></li><li class="progresssection"><a href="6-te2.html">te2</a></li><li class="progressnext"><a href="6-ir.html">&#10095;</a></li></ul></div>
<ul class="progressbar"><li class="progressprev"><a href="6-ii.html">&#10094;</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresschapter"><a href="3-sh.html">3</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progresscurrentchapter">6</li><li class="progresssection"><a href="6-ii.html">ii</a></li><li class="progresscurrent">ifs</li><li class="progresssection"><a href="6-ir.html">ir</a></li><li class="progresssection"><a href="6-lxc.html">lxc</a></li><li class="progresssection"><a href="6-ce.html">ce</a></li><li class="progresssection"><a href="6-ce2.html">ce2</a></li><li class="progresssection"><a href="6-be.html">be</a></li><li class="progresssection"><a href="6-re.html">re</a></li><li class="progresssection"><a href="6-ee.html">ee</a></li><li class="progresssection"><a href="6-fe.html">fe</a></li><li class="progresssection"><a href="6-te.html">te</a></li><li class="progresssection"><a href="6-ve.html">ve</a></li><li class="progresssection"><a href="6-rfse.html">rfse</a></li><li class="progresssection"><a href="6-ee2.html">ee2</a></li><li class="progresssection"><a href="6-se.html">se</a></li><li class="progresssection"><a href="6-ie.html">ie</a></li><li class="progresssection"><a href="6-ve2.html">ve2</a></li><li class="progresssection"><a href="6-ge.html">ge</a></li><li class="progresssection"><a href="6-le.html">le</a></li><li class="progresssection"><a href="6-ae.html">ae</a></li><li class="progresssection"><a href="6-pe.html">pe</a></li><li class="progresssection"><a href="6-ce3.html">ce3</a></li><li class="progresssection"><a href="6-pe2.html">pe2</a></li><li class="progresssection"><a href="6-te2.html">te2</a></li><li class="progresssection"><a href="6-ce4.html">ce4</a></li><li class="progressnext"><a href="6-ir.html">&#10095;</a></li></ul></div>
</nav><!--End of weave-->
</main>

View file

@ -288,7 +288,7 @@ time.) <span class="extract"><span class="extract-syntax">{-index:name}</span></
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="6-ii.html#SP3">&#167;3</a>.</li></ul>
<nav role="progress"><div class="progresscontainer">
<ul class="progressbar"><li class="progressprev"><a href="5-fi6.html">&#10094;</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresschapter"><a href="3-sh.html">3</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progresscurrentchapter">6</li><li class="progresscurrent">ii</li><li class="progresssection"><a href="6-ifs.html">ifs</a></li><li class="progresssection"><a href="6-ir.html">ir</a></li><li class="progresssection"><a href="6-lxc.html">lxc</a></li><li class="progresssection"><a href="6-ce.html">ce</a></li><li class="progresssection"><a href="6-ce2.html">ce2</a></li><li class="progresssection"><a href="6-be.html">be</a></li><li class="progresssection"><a href="6-re.html">re</a></li><li class="progresssection"><a href="6-ee.html">ee</a></li><li class="progresssection"><a href="6-fe.html">fe</a></li><li class="progresssection"><a href="6-te.html">te</a></li><li class="progresssection"><a href="6-ve.html">ve</a></li><li class="progresssection"><a href="6-rfse.html">rfse</a></li><li class="progresssection"><a href="6-ee2.html">ee2</a></li><li class="progresssection"><a href="6-se.html">se</a></li><li class="progresssection"><a href="6-ie.html">ie</a></li><li class="progresssection"><a href="6-ve2.html">ve2</a></li><li class="progresssection"><a href="6-ge.html">ge</a></li><li class="progresssection"><a href="6-le.html">le</a></li><li class="progresssection"><a href="6-ae.html">ae</a></li><li class="progresssection"><a href="6-pe.html">pe</a></li><li class="progresssection"><a href="6-ce3.html">ce3</a></li><li class="progresssection"><a href="6-pe2.html">pe2</a></li><li class="progresssection"><a href="6-te2.html">te2</a></li><li class="progressnext"><a href="6-ifs.html">&#10095;</a></li></ul></div>
<ul class="progressbar"><li class="progressprev"><a href="5-fi6.html">&#10094;</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresschapter"><a href="3-sh.html">3</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progresscurrentchapter">6</li><li class="progresscurrent">ii</li><li class="progresssection"><a href="6-ifs.html">ifs</a></li><li class="progresssection"><a href="6-ir.html">ir</a></li><li class="progresssection"><a href="6-lxc.html">lxc</a></li><li class="progresssection"><a href="6-ce.html">ce</a></li><li class="progresssection"><a href="6-ce2.html">ce2</a></li><li class="progresssection"><a href="6-be.html">be</a></li><li class="progresssection"><a href="6-re.html">re</a></li><li class="progresssection"><a href="6-ee.html">ee</a></li><li class="progresssection"><a href="6-fe.html">fe</a></li><li class="progresssection"><a href="6-te.html">te</a></li><li class="progresssection"><a href="6-ve.html">ve</a></li><li class="progresssection"><a href="6-rfse.html">rfse</a></li><li class="progresssection"><a href="6-ee2.html">ee2</a></li><li class="progresssection"><a href="6-se.html">se</a></li><li class="progresssection"><a href="6-ie.html">ie</a></li><li class="progresssection"><a href="6-ve2.html">ve2</a></li><li class="progresssection"><a href="6-ge.html">ge</a></li><li class="progresssection"><a href="6-le.html">le</a></li><li class="progresssection"><a href="6-ae.html">ae</a></li><li class="progresssection"><a href="6-pe.html">pe</a></li><li class="progresssection"><a href="6-ce3.html">ce3</a></li><li class="progresssection"><a href="6-pe2.html">pe2</a></li><li class="progresssection"><a href="6-te2.html">te2</a></li><li class="progresssection"><a href="6-ce4.html">ce4</a></li><li class="progressnext"><a href="6-ifs.html">&#10095;</a></li></ul></div>
</nav><!--End of weave-->
</main>

View file

@ -697,7 +697,7 @@ text to assert a change:
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="6-ir.html#SP8">&#167;8</a> (twice).</li></ul>
<nav role="progress"><div class="progresscontainer">
<ul class="progressbar"><li class="progressprev"><a href="6-ifs.html">&#10094;</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresschapter"><a href="3-sh.html">3</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progresscurrentchapter">6</li><li class="progresssection"><a href="6-ii.html">ii</a></li><li class="progresssection"><a href="6-ifs.html">ifs</a></li><li class="progresscurrent">ir</li><li class="progresssection"><a href="6-lxc.html">lxc</a></li><li class="progresssection"><a href="6-ce.html">ce</a></li><li class="progresssection"><a href="6-ce2.html">ce2</a></li><li class="progresssection"><a href="6-be.html">be</a></li><li class="progresssection"><a href="6-re.html">re</a></li><li class="progresssection"><a href="6-ee.html">ee</a></li><li class="progresssection"><a href="6-fe.html">fe</a></li><li class="progresssection"><a href="6-te.html">te</a></li><li class="progresssection"><a href="6-ve.html">ve</a></li><li class="progresssection"><a href="6-rfse.html">rfse</a></li><li class="progresssection"><a href="6-ee2.html">ee2</a></li><li class="progresssection"><a href="6-se.html">se</a></li><li class="progresssection"><a href="6-ie.html">ie</a></li><li class="progresssection"><a href="6-ve2.html">ve2</a></li><li class="progresssection"><a href="6-ge.html">ge</a></li><li class="progresssection"><a href="6-le.html">le</a></li><li class="progresssection"><a href="6-ae.html">ae</a></li><li class="progresssection"><a href="6-pe.html">pe</a></li><li class="progresssection"><a href="6-ce3.html">ce3</a></li><li class="progresssection"><a href="6-pe2.html">pe2</a></li><li class="progresssection"><a href="6-te2.html">te2</a></li><li class="progressnext"><a href="6-lxc.html">&#10095;</a></li></ul></div>
<ul class="progressbar"><li class="progressprev"><a href="6-ifs.html">&#10094;</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresschapter"><a href="3-sh.html">3</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progresscurrentchapter">6</li><li class="progresssection"><a href="6-ii.html">ii</a></li><li class="progresssection"><a href="6-ifs.html">ifs</a></li><li class="progresscurrent">ir</li><li class="progresssection"><a href="6-lxc.html">lxc</a></li><li class="progresssection"><a href="6-ce.html">ce</a></li><li class="progresssection"><a href="6-ce2.html">ce2</a></li><li class="progresssection"><a href="6-be.html">be</a></li><li class="progresssection"><a href="6-re.html">re</a></li><li class="progresssection"><a href="6-ee.html">ee</a></li><li class="progresssection"><a href="6-fe.html">fe</a></li><li class="progresssection"><a href="6-te.html">te</a></li><li class="progresssection"><a href="6-ve.html">ve</a></li><li class="progresssection"><a href="6-rfse.html">rfse</a></li><li class="progresssection"><a href="6-ee2.html">ee2</a></li><li class="progresssection"><a href="6-se.html">se</a></li><li class="progresssection"><a href="6-ie.html">ie</a></li><li class="progresssection"><a href="6-ve2.html">ve2</a></li><li class="progresssection"><a href="6-ge.html">ge</a></li><li class="progresssection"><a href="6-le.html">le</a></li><li class="progresssection"><a href="6-ae.html">ae</a></li><li class="progresssection"><a href="6-pe.html">pe</a></li><li class="progresssection"><a href="6-ce3.html">ce3</a></li><li class="progresssection"><a href="6-pe2.html">pe2</a></li><li class="progresssection"><a href="6-te2.html">te2</a></li><li class="progresssection"><a href="6-ce4.html">ce4</a></li><li class="progressnext"><a href="6-lxc.html">&#10095;</a></li></ul></div>
</nav><!--End of weave-->
</main>

View file

@ -94,7 +94,7 @@ function togglePopup(material_id) {
<span class="plain-syntax">}</span>
</pre>
<nav role="progress"><div class="progresscontainer">
<ul class="progressbar"><li class="progressprev"><a href="6-ge.html">&#10094;</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresschapter"><a href="3-sh.html">3</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progresscurrentchapter">6</li><li class="progresssection"><a href="6-ii.html">ii</a></li><li class="progresssection"><a href="6-ifs.html">ifs</a></li><li class="progresssection"><a href="6-ir.html">ir</a></li><li class="progresssection"><a href="6-lxc.html">lxc</a></li><li class="progresssection"><a href="6-ce.html">ce</a></li><li class="progresssection"><a href="6-ce2.html">ce2</a></li><li class="progresssection"><a href="6-be.html">be</a></li><li class="progresssection"><a href="6-re.html">re</a></li><li class="progresssection"><a href="6-ee.html">ee</a></li><li class="progresssection"><a href="6-fe.html">fe</a></li><li class="progresssection"><a href="6-te.html">te</a></li><li class="progresssection"><a href="6-ve.html">ve</a></li><li class="progresssection"><a href="6-rfse.html">rfse</a></li><li class="progresssection"><a href="6-ee2.html">ee2</a></li><li class="progresssection"><a href="6-se.html">se</a></li><li class="progresssection"><a href="6-ie.html">ie</a></li><li class="progresssection"><a href="6-ve2.html">ve2</a></li><li class="progresssection"><a href="6-ge.html">ge</a></li><li class="progresscurrent">le</li><li class="progresssection"><a href="6-ae.html">ae</a></li><li class="progresssection"><a href="6-pe.html">pe</a></li><li class="progresssection"><a href="6-ce3.html">ce3</a></li><li class="progresssection"><a href="6-pe2.html">pe2</a></li><li class="progresssection"><a href="6-te2.html">te2</a></li><li class="progressnext"><a href="6-ae.html">&#10095;</a></li></ul></div>
<ul class="progressbar"><li class="progressprev"><a href="6-ge.html">&#10094;</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresschapter"><a href="3-sh.html">3</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progresscurrentchapter">6</li><li class="progresssection"><a href="6-ii.html">ii</a></li><li class="progresssection"><a href="6-ifs.html">ifs</a></li><li class="progresssection"><a href="6-ir.html">ir</a></li><li class="progresssection"><a href="6-lxc.html">lxc</a></li><li class="progresssection"><a href="6-ce.html">ce</a></li><li class="progresssection"><a href="6-ce2.html">ce2</a></li><li class="progresssection"><a href="6-be.html">be</a></li><li class="progresssection"><a href="6-re.html">re</a></li><li class="progresssection"><a href="6-ee.html">ee</a></li><li class="progresssection"><a href="6-fe.html">fe</a></li><li class="progresssection"><a href="6-te.html">te</a></li><li class="progresssection"><a href="6-ve.html">ve</a></li><li class="progresssection"><a href="6-rfse.html">rfse</a></li><li class="progresssection"><a href="6-ee2.html">ee2</a></li><li class="progresssection"><a href="6-se.html">se</a></li><li class="progresssection"><a href="6-ie.html">ie</a></li><li class="progresssection"><a href="6-ve2.html">ve2</a></li><li class="progresssection"><a href="6-ge.html">ge</a></li><li class="progresscurrent">le</li><li class="progresssection"><a href="6-ae.html">ae</a></li><li class="progresssection"><a href="6-pe.html">pe</a></li><li class="progresssection"><a href="6-ce3.html">ce3</a></li><li class="progresssection"><a href="6-pe2.html">pe2</a></li><li class="progresssection"><a href="6-te2.html">te2</a></li><li class="progresssection"><a href="6-ce4.html">ce4</a></li><li class="progressnext"><a href="6-ae.html">&#10095;</a></li></ul></div>
</nav><!--End of weave-->
</main>

View file

@ -425,7 +425,7 @@ than (say) quicksort is not great.
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="6-lxc.html#SP8">&#167;8</a>.</li></ul>
<nav role="progress"><div class="progresscontainer">
<ul class="progressbar"><li class="progressprev"><a href="6-ir.html">&#10094;</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresschapter"><a href="3-sh.html">3</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progresscurrentchapter">6</li><li class="progresssection"><a href="6-ii.html">ii</a></li><li class="progresssection"><a href="6-ifs.html">ifs</a></li><li class="progresssection"><a href="6-ir.html">ir</a></li><li class="progresscurrent">lxc</li><li class="progresssection"><a href="6-ce.html">ce</a></li><li class="progresssection"><a href="6-ce2.html">ce2</a></li><li class="progresssection"><a href="6-be.html">be</a></li><li class="progresssection"><a href="6-re.html">re</a></li><li class="progresssection"><a href="6-ee.html">ee</a></li><li class="progresssection"><a href="6-fe.html">fe</a></li><li class="progresssection"><a href="6-te.html">te</a></li><li class="progresssection"><a href="6-ve.html">ve</a></li><li class="progresssection"><a href="6-rfse.html">rfse</a></li><li class="progresssection"><a href="6-ee2.html">ee2</a></li><li class="progresssection"><a href="6-se.html">se</a></li><li class="progresssection"><a href="6-ie.html">ie</a></li><li class="progresssection"><a href="6-ve2.html">ve2</a></li><li class="progresssection"><a href="6-ge.html">ge</a></li><li class="progresssection"><a href="6-le.html">le</a></li><li class="progresssection"><a href="6-ae.html">ae</a></li><li class="progresssection"><a href="6-pe.html">pe</a></li><li class="progresssection"><a href="6-ce3.html">ce3</a></li><li class="progresssection"><a href="6-pe2.html">pe2</a></li><li class="progresssection"><a href="6-te2.html">te2</a></li><li class="progressnext"><a href="6-ce.html">&#10095;</a></li></ul></div>
<ul class="progressbar"><li class="progressprev"><a href="6-ir.html">&#10094;</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresschapter"><a href="3-sh.html">3</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progresscurrentchapter">6</li><li class="progresssection"><a href="6-ii.html">ii</a></li><li class="progresssection"><a href="6-ifs.html">ifs</a></li><li class="progresssection"><a href="6-ir.html">ir</a></li><li class="progresscurrent">lxc</li><li class="progresssection"><a href="6-ce.html">ce</a></li><li class="progresssection"><a href="6-ce2.html">ce2</a></li><li class="progresssection"><a href="6-be.html">be</a></li><li class="progresssection"><a href="6-re.html">re</a></li><li class="progresssection"><a href="6-ee.html">ee</a></li><li class="progresssection"><a href="6-fe.html">fe</a></li><li class="progresssection"><a href="6-te.html">te</a></li><li class="progresssection"><a href="6-ve.html">ve</a></li><li class="progresssection"><a href="6-rfse.html">rfse</a></li><li class="progresssection"><a href="6-ee2.html">ee2</a></li><li class="progresssection"><a href="6-se.html">se</a></li><li class="progresssection"><a href="6-ie.html">ie</a></li><li class="progresssection"><a href="6-ve2.html">ve2</a></li><li class="progresssection"><a href="6-ge.html">ge</a></li><li class="progresssection"><a href="6-le.html">le</a></li><li class="progresssection"><a href="6-ae.html">ae</a></li><li class="progresssection"><a href="6-pe.html">pe</a></li><li class="progresssection"><a href="6-ce3.html">ce3</a></li><li class="progresssection"><a href="6-pe2.html">pe2</a></li><li class="progresssection"><a href="6-te2.html">te2</a></li><li class="progresssection"><a href="6-ce4.html">ce4</a></li><li class="progressnext"><a href="6-ce.html">&#10095;</a></li></ul></div>
</nav><!--End of weave-->
</main>

View file

@ -592,7 +592,7 @@ rest in ascending alphabetical order.
<span class="plain-syntax">}</span>
</pre>
<nav role="progress"><div class="progresscontainer">
<ul class="progressbar"><li class="progressprev"><a href="6-ae.html">&#10094;</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresschapter"><a href="3-sh.html">3</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progresscurrentchapter">6</li><li class="progresssection"><a href="6-ii.html">ii</a></li><li class="progresssection"><a href="6-ifs.html">ifs</a></li><li class="progresssection"><a href="6-ir.html">ir</a></li><li class="progresssection"><a href="6-lxc.html">lxc</a></li><li class="progresssection"><a href="6-ce.html">ce</a></li><li class="progresssection"><a href="6-ce2.html">ce2</a></li><li class="progresssection"><a href="6-be.html">be</a></li><li class="progresssection"><a href="6-re.html">re</a></li><li class="progresssection"><a href="6-ee.html">ee</a></li><li class="progresssection"><a href="6-fe.html">fe</a></li><li class="progresssection"><a href="6-te.html">te</a></li><li class="progresssection"><a href="6-ve.html">ve</a></li><li class="progresssection"><a href="6-rfse.html">rfse</a></li><li class="progresssection"><a href="6-ee2.html">ee2</a></li><li class="progresssection"><a href="6-se.html">se</a></li><li class="progresssection"><a href="6-ie.html">ie</a></li><li class="progresssection"><a href="6-ve2.html">ve2</a></li><li class="progresssection"><a href="6-ge.html">ge</a></li><li class="progresssection"><a href="6-le.html">le</a></li><li class="progresssection"><a href="6-ae.html">ae</a></li><li class="progresscurrent">pe</li><li class="progresssection"><a href="6-ce3.html">ce3</a></li><li class="progresssection"><a href="6-pe2.html">pe2</a></li><li class="progresssection"><a href="6-te2.html">te2</a></li><li class="progressnext"><a href="6-ce3.html">&#10095;</a></li></ul></div>
<ul class="progressbar"><li class="progressprev"><a href="6-ae.html">&#10094;</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresschapter"><a href="3-sh.html">3</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progresscurrentchapter">6</li><li class="progresssection"><a href="6-ii.html">ii</a></li><li class="progresssection"><a href="6-ifs.html">ifs</a></li><li class="progresssection"><a href="6-ir.html">ir</a></li><li class="progresssection"><a href="6-lxc.html">lxc</a></li><li class="progresssection"><a href="6-ce.html">ce</a></li><li class="progresssection"><a href="6-ce2.html">ce2</a></li><li class="progresssection"><a href="6-be.html">be</a></li><li class="progresssection"><a href="6-re.html">re</a></li><li class="progresssection"><a href="6-ee.html">ee</a></li><li class="progresssection"><a href="6-fe.html">fe</a></li><li class="progresssection"><a href="6-te.html">te</a></li><li class="progresssection"><a href="6-ve.html">ve</a></li><li class="progresssection"><a href="6-rfse.html">rfse</a></li><li class="progresssection"><a href="6-ee2.html">ee2</a></li><li class="progresssection"><a href="6-se.html">se</a></li><li class="progresssection"><a href="6-ie.html">ie</a></li><li class="progresssection"><a href="6-ve2.html">ve2</a></li><li class="progresssection"><a href="6-ge.html">ge</a></li><li class="progresssection"><a href="6-le.html">le</a></li><li class="progresssection"><a href="6-ae.html">ae</a></li><li class="progresscurrent">pe</li><li class="progresssection"><a href="6-ce3.html">ce3</a></li><li class="progresssection"><a href="6-pe2.html">pe2</a></li><li class="progresssection"><a href="6-te2.html">te2</a></li><li class="progresssection"><a href="6-ce4.html">ce4</a></li><li class="progressnext"><a href="6-ce3.html">&#10095;</a></li></ul></div>
</nav><!--End of weave-->
</main>

View file

@ -130,7 +130,7 @@ function togglePopup(material_id) {
<span class="plain-syntax">}</span>
</pre>
<nav role="progress"><div class="progresscontainer">
<ul class="progressbar"><li class="progressprev"><a href="6-ce3.html">&#10094;</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresschapter"><a href="3-sh.html">3</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progresscurrentchapter">6</li><li class="progresssection"><a href="6-ii.html">ii</a></li><li class="progresssection"><a href="6-ifs.html">ifs</a></li><li class="progresssection"><a href="6-ir.html">ir</a></li><li class="progresssection"><a href="6-lxc.html">lxc</a></li><li class="progresssection"><a href="6-ce.html">ce</a></li><li class="progresssection"><a href="6-ce2.html">ce2</a></li><li class="progresssection"><a href="6-be.html">be</a></li><li class="progresssection"><a href="6-re.html">re</a></li><li class="progresssection"><a href="6-ee.html">ee</a></li><li class="progresssection"><a href="6-fe.html">fe</a></li><li class="progresssection"><a href="6-te.html">te</a></li><li class="progresssection"><a href="6-ve.html">ve</a></li><li class="progresssection"><a href="6-rfse.html">rfse</a></li><li class="progresssection"><a href="6-ee2.html">ee2</a></li><li class="progresssection"><a href="6-se.html">se</a></li><li class="progresssection"><a href="6-ie.html">ie</a></li><li class="progresssection"><a href="6-ve2.html">ve2</a></li><li class="progresssection"><a href="6-ge.html">ge</a></li><li class="progresssection"><a href="6-le.html">le</a></li><li class="progresssection"><a href="6-ae.html">ae</a></li><li class="progresssection"><a href="6-pe.html">pe</a></li><li class="progresssection"><a href="6-ce3.html">ce3</a></li><li class="progresscurrent">pe2</li><li class="progresssection"><a href="6-te2.html">te2</a></li><li class="progressnext"><a href="6-te2.html">&#10095;</a></li></ul></div>
<ul class="progressbar"><li class="progressprev"><a href="6-ce3.html">&#10094;</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresschapter"><a href="3-sh.html">3</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progresscurrentchapter">6</li><li class="progresssection"><a href="6-ii.html">ii</a></li><li class="progresssection"><a href="6-ifs.html">ifs</a></li><li class="progresssection"><a href="6-ir.html">ir</a></li><li class="progresssection"><a href="6-lxc.html">lxc</a></li><li class="progresssection"><a href="6-ce.html">ce</a></li><li class="progresssection"><a href="6-ce2.html">ce2</a></li><li class="progresssection"><a href="6-be.html">be</a></li><li class="progresssection"><a href="6-re.html">re</a></li><li class="progresssection"><a href="6-ee.html">ee</a></li><li class="progresssection"><a href="6-fe.html">fe</a></li><li class="progresssection"><a href="6-te.html">te</a></li><li class="progresssection"><a href="6-ve.html">ve</a></li><li class="progresssection"><a href="6-rfse.html">rfse</a></li><li class="progresssection"><a href="6-ee2.html">ee2</a></li><li class="progresssection"><a href="6-se.html">se</a></li><li class="progresssection"><a href="6-ie.html">ie</a></li><li class="progresssection"><a href="6-ve2.html">ve2</a></li><li class="progresssection"><a href="6-ge.html">ge</a></li><li class="progresssection"><a href="6-le.html">le</a></li><li class="progresssection"><a href="6-ae.html">ae</a></li><li class="progresssection"><a href="6-pe.html">pe</a></li><li class="progresssection"><a href="6-ce3.html">ce3</a></li><li class="progresscurrent">pe2</li><li class="progresssection"><a href="6-te2.html">te2</a></li><li class="progresssection"><a href="6-ce4.html">ce4</a></li><li class="progressnext"><a href="6-te2.html">&#10095;</a></li></ul></div>
</nav><!--End of weave-->
</main>

View file

@ -112,7 +112,7 @@ function togglePopup(material_id) {
<span class="plain-syntax">}</span>
</pre>
<nav role="progress"><div class="progresscontainer">
<ul class="progressbar"><li class="progressprev"><a href="6-be.html">&#10094;</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresschapter"><a href="3-sh.html">3</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progresscurrentchapter">6</li><li class="progresssection"><a href="6-ii.html">ii</a></li><li class="progresssection"><a href="6-ifs.html">ifs</a></li><li class="progresssection"><a href="6-ir.html">ir</a></li><li class="progresssection"><a href="6-lxc.html">lxc</a></li><li class="progresssection"><a href="6-ce.html">ce</a></li><li class="progresssection"><a href="6-ce2.html">ce2</a></li><li class="progresssection"><a href="6-be.html">be</a></li><li class="progresscurrent">re</li><li class="progresssection"><a href="6-ee.html">ee</a></li><li class="progresssection"><a href="6-fe.html">fe</a></li><li class="progresssection"><a href="6-te.html">te</a></li><li class="progresssection"><a href="6-ve.html">ve</a></li><li class="progresssection"><a href="6-rfse.html">rfse</a></li><li class="progresssection"><a href="6-ee2.html">ee2</a></li><li class="progresssection"><a href="6-se.html">se</a></li><li class="progresssection"><a href="6-ie.html">ie</a></li><li class="progresssection"><a href="6-ve2.html">ve2</a></li><li class="progresssection"><a href="6-ge.html">ge</a></li><li class="progresssection"><a href="6-le.html">le</a></li><li class="progresssection"><a href="6-ae.html">ae</a></li><li class="progresssection"><a href="6-pe.html">pe</a></li><li class="progresssection"><a href="6-ce3.html">ce3</a></li><li class="progresssection"><a href="6-pe2.html">pe2</a></li><li class="progresssection"><a href="6-te2.html">te2</a></li><li class="progressnext"><a href="6-ee.html">&#10095;</a></li></ul></div>
<ul class="progressbar"><li class="progressprev"><a href="6-be.html">&#10094;</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresschapter"><a href="3-sh.html">3</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progresscurrentchapter">6</li><li class="progresssection"><a href="6-ii.html">ii</a></li><li class="progresssection"><a href="6-ifs.html">ifs</a></li><li class="progresssection"><a href="6-ir.html">ir</a></li><li class="progresssection"><a href="6-lxc.html">lxc</a></li><li class="progresssection"><a href="6-ce.html">ce</a></li><li class="progresssection"><a href="6-ce2.html">ce2</a></li><li class="progresssection"><a href="6-be.html">be</a></li><li class="progresscurrent">re</li><li class="progresssection"><a href="6-ee.html">ee</a></li><li class="progresssection"><a href="6-fe.html">fe</a></li><li class="progresssection"><a href="6-te.html">te</a></li><li class="progresssection"><a href="6-ve.html">ve</a></li><li class="progresssection"><a href="6-rfse.html">rfse</a></li><li class="progresssection"><a href="6-ee2.html">ee2</a></li><li class="progresssection"><a href="6-se.html">se</a></li><li class="progresssection"><a href="6-ie.html">ie</a></li><li class="progresssection"><a href="6-ve2.html">ve2</a></li><li class="progresssection"><a href="6-ge.html">ge</a></li><li class="progresssection"><a href="6-le.html">le</a></li><li class="progresssection"><a href="6-ae.html">ae</a></li><li class="progresssection"><a href="6-pe.html">pe</a></li><li class="progresssection"><a href="6-ce3.html">ce3</a></li><li class="progresssection"><a href="6-pe2.html">pe2</a></li><li class="progresssection"><a href="6-te2.html">te2</a></li><li class="progresssection"><a href="6-ce4.html">ce4</a></li><li class="progressnext"><a href="6-ee.html">&#10095;</a></li></ul></div>
</nav><!--End of weave-->
</main>

View file

@ -94,7 +94,7 @@ function togglePopup(material_id) {
<span class="plain-syntax">}</span>
</pre>
<nav role="progress"><div class="progresscontainer">
<ul class="progressbar"><li class="progressprev"><a href="6-ve.html">&#10094;</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresschapter"><a href="3-sh.html">3</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progresscurrentchapter">6</li><li class="progresssection"><a href="6-ii.html">ii</a></li><li class="progresssection"><a href="6-ifs.html">ifs</a></li><li class="progresssection"><a href="6-ir.html">ir</a></li><li class="progresssection"><a href="6-lxc.html">lxc</a></li><li class="progresssection"><a href="6-ce.html">ce</a></li><li class="progresssection"><a href="6-ce2.html">ce2</a></li><li class="progresssection"><a href="6-be.html">be</a></li><li class="progresssection"><a href="6-re.html">re</a></li><li class="progresssection"><a href="6-ee.html">ee</a></li><li class="progresssection"><a href="6-fe.html">fe</a></li><li class="progresssection"><a href="6-te.html">te</a></li><li class="progresssection"><a href="6-ve.html">ve</a></li><li class="progresscurrent">rfse</li><li class="progresssection"><a href="6-ee2.html">ee2</a></li><li class="progresssection"><a href="6-se.html">se</a></li><li class="progresssection"><a href="6-ie.html">ie</a></li><li class="progresssection"><a href="6-ve2.html">ve2</a></li><li class="progresssection"><a href="6-ge.html">ge</a></li><li class="progresssection"><a href="6-le.html">le</a></li><li class="progresssection"><a href="6-ae.html">ae</a></li><li class="progresssection"><a href="6-pe.html">pe</a></li><li class="progresssection"><a href="6-ce3.html">ce3</a></li><li class="progresssection"><a href="6-pe2.html">pe2</a></li><li class="progresssection"><a href="6-te2.html">te2</a></li><li class="progressnext"><a href="6-ee2.html">&#10095;</a></li></ul></div>
<ul class="progressbar"><li class="progressprev"><a href="6-ve.html">&#10094;</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresschapter"><a href="3-sh.html">3</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progresscurrentchapter">6</li><li class="progresssection"><a href="6-ii.html">ii</a></li><li class="progresssection"><a href="6-ifs.html">ifs</a></li><li class="progresssection"><a href="6-ir.html">ir</a></li><li class="progresssection"><a href="6-lxc.html">lxc</a></li><li class="progresssection"><a href="6-ce.html">ce</a></li><li class="progresssection"><a href="6-ce2.html">ce2</a></li><li class="progresssection"><a href="6-be.html">be</a></li><li class="progresssection"><a href="6-re.html">re</a></li><li class="progresssection"><a href="6-ee.html">ee</a></li><li class="progresssection"><a href="6-fe.html">fe</a></li><li class="progresssection"><a href="6-te.html">te</a></li><li class="progresssection"><a href="6-ve.html">ve</a></li><li class="progresscurrent">rfse</li><li class="progresssection"><a href="6-ee2.html">ee2</a></li><li class="progresssection"><a href="6-se.html">se</a></li><li class="progresssection"><a href="6-ie.html">ie</a></li><li class="progresssection"><a href="6-ve2.html">ve2</a></li><li class="progresssection"><a href="6-ge.html">ge</a></li><li class="progresssection"><a href="6-le.html">le</a></li><li class="progresssection"><a href="6-ae.html">ae</a></li><li class="progresssection"><a href="6-pe.html">pe</a></li><li class="progresssection"><a href="6-ce3.html">ce3</a></li><li class="progresssection"><a href="6-pe2.html">pe2</a></li><li class="progresssection"><a href="6-te2.html">te2</a></li><li class="progresssection"><a href="6-ce4.html">ce4</a></li><li class="progressnext"><a href="6-ee2.html">&#10095;</a></li></ul></div>
</nav><!--End of weave-->
</main>

View file

@ -275,7 +275,7 @@ their contents in logical order.
<span class="plain-syntax">}</span>
</pre>
<nav role="progress"><div class="progresscontainer">
<ul class="progressbar"><li class="progressprev"><a href="6-ee2.html">&#10094;</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresschapter"><a href="3-sh.html">3</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progresscurrentchapter">6</li><li class="progresssection"><a href="6-ii.html">ii</a></li><li class="progresssection"><a href="6-ifs.html">ifs</a></li><li class="progresssection"><a href="6-ir.html">ir</a></li><li class="progresssection"><a href="6-lxc.html">lxc</a></li><li class="progresssection"><a href="6-ce.html">ce</a></li><li class="progresssection"><a href="6-ce2.html">ce2</a></li><li class="progresssection"><a href="6-be.html">be</a></li><li class="progresssection"><a href="6-re.html">re</a></li><li class="progresssection"><a href="6-ee.html">ee</a></li><li class="progresssection"><a href="6-fe.html">fe</a></li><li class="progresssection"><a href="6-te.html">te</a></li><li class="progresssection"><a href="6-ve.html">ve</a></li><li class="progresssection"><a href="6-rfse.html">rfse</a></li><li class="progresssection"><a href="6-ee2.html">ee2</a></li><li class="progresscurrent">se</li><li class="progresssection"><a href="6-ie.html">ie</a></li><li class="progresssection"><a href="6-ve2.html">ve2</a></li><li class="progresssection"><a href="6-ge.html">ge</a></li><li class="progresssection"><a href="6-le.html">le</a></li><li class="progresssection"><a href="6-ae.html">ae</a></li><li class="progresssection"><a href="6-pe.html">pe</a></li><li class="progresssection"><a href="6-ce3.html">ce3</a></li><li class="progresssection"><a href="6-pe2.html">pe2</a></li><li class="progresssection"><a href="6-te2.html">te2</a></li><li class="progressnext"><a href="6-ie.html">&#10095;</a></li></ul></div>
<ul class="progressbar"><li class="progressprev"><a href="6-ee2.html">&#10094;</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresschapter"><a href="3-sh.html">3</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progresscurrentchapter">6</li><li class="progresssection"><a href="6-ii.html">ii</a></li><li class="progresssection"><a href="6-ifs.html">ifs</a></li><li class="progresssection"><a href="6-ir.html">ir</a></li><li class="progresssection"><a href="6-lxc.html">lxc</a></li><li class="progresssection"><a href="6-ce.html">ce</a></li><li class="progresssection"><a href="6-ce2.html">ce2</a></li><li class="progresssection"><a href="6-be.html">be</a></li><li class="progresssection"><a href="6-re.html">re</a></li><li class="progresssection"><a href="6-ee.html">ee</a></li><li class="progresssection"><a href="6-fe.html">fe</a></li><li class="progresssection"><a href="6-te.html">te</a></li><li class="progresssection"><a href="6-ve.html">ve</a></li><li class="progresssection"><a href="6-rfse.html">rfse</a></li><li class="progresssection"><a href="6-ee2.html">ee2</a></li><li class="progresscurrent">se</li><li class="progresssection"><a href="6-ie.html">ie</a></li><li class="progresssection"><a href="6-ve2.html">ve2</a></li><li class="progresssection"><a href="6-ge.html">ge</a></li><li class="progresssection"><a href="6-le.html">le</a></li><li class="progresssection"><a href="6-ae.html">ae</a></li><li class="progresssection"><a href="6-pe.html">pe</a></li><li class="progresssection"><a href="6-ce3.html">ce3</a></li><li class="progresssection"><a href="6-pe2.html">pe2</a></li><li class="progresssection"><a href="6-te2.html">te2</a></li><li class="progresssection"><a href="6-ce4.html">ce4</a></li><li class="progressnext"><a href="6-ie.html">&#10095;</a></li></ul></div>
</nav><!--End of weave-->
</main>

View file

@ -250,7 +250,7 @@ Helvetica-style lower case "x", but life is full of compromises.
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="6-te.html#SP1_3">&#167;1.3</a>.</li></ul>
<nav role="progress"><div class="progresscontainer">
<ul class="progressbar"><li class="progressprev"><a href="6-fe.html">&#10094;</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresschapter"><a href="3-sh.html">3</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progresscurrentchapter">6</li><li class="progresssection"><a href="6-ii.html">ii</a></li><li class="progresssection"><a href="6-ifs.html">ifs</a></li><li class="progresssection"><a href="6-ir.html">ir</a></li><li class="progresssection"><a href="6-lxc.html">lxc</a></li><li class="progresssection"><a href="6-ce.html">ce</a></li><li class="progresssection"><a href="6-ce2.html">ce2</a></li><li class="progresssection"><a href="6-be.html">be</a></li><li class="progresssection"><a href="6-re.html">re</a></li><li class="progresssection"><a href="6-ee.html">ee</a></li><li class="progresssection"><a href="6-fe.html">fe</a></li><li class="progresscurrent">te</li><li class="progresssection"><a href="6-ve.html">ve</a></li><li class="progresssection"><a href="6-rfse.html">rfse</a></li><li class="progresssection"><a href="6-ee2.html">ee2</a></li><li class="progresssection"><a href="6-se.html">se</a></li><li class="progresssection"><a href="6-ie.html">ie</a></li><li class="progresssection"><a href="6-ve2.html">ve2</a></li><li class="progresssection"><a href="6-ge.html">ge</a></li><li class="progresssection"><a href="6-le.html">le</a></li><li class="progresssection"><a href="6-ae.html">ae</a></li><li class="progresssection"><a href="6-pe.html">pe</a></li><li class="progresssection"><a href="6-ce3.html">ce3</a></li><li class="progresssection"><a href="6-pe2.html">pe2</a></li><li class="progresssection"><a href="6-te2.html">te2</a></li><li class="progressnext"><a href="6-ve.html">&#10095;</a></li></ul></div>
<ul class="progressbar"><li class="progressprev"><a href="6-fe.html">&#10094;</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresschapter"><a href="3-sh.html">3</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progresscurrentchapter">6</li><li class="progresssection"><a href="6-ii.html">ii</a></li><li class="progresssection"><a href="6-ifs.html">ifs</a></li><li class="progresssection"><a href="6-ir.html">ir</a></li><li class="progresssection"><a href="6-lxc.html">lxc</a></li><li class="progresssection"><a href="6-ce.html">ce</a></li><li class="progresssection"><a href="6-ce2.html">ce2</a></li><li class="progresssection"><a href="6-be.html">be</a></li><li class="progresssection"><a href="6-re.html">re</a></li><li class="progresssection"><a href="6-ee.html">ee</a></li><li class="progresssection"><a href="6-fe.html">fe</a></li><li class="progresscurrent">te</li><li class="progresssection"><a href="6-ve.html">ve</a></li><li class="progresssection"><a href="6-rfse.html">rfse</a></li><li class="progresssection"><a href="6-ee2.html">ee2</a></li><li class="progresssection"><a href="6-se.html">se</a></li><li class="progresssection"><a href="6-ie.html">ie</a></li><li class="progresssection"><a href="6-ve2.html">ve2</a></li><li class="progresssection"><a href="6-ge.html">ge</a></li><li class="progresssection"><a href="6-le.html">le</a></li><li class="progresssection"><a href="6-ae.html">ae</a></li><li class="progresssection"><a href="6-pe.html">pe</a></li><li class="progresssection"><a href="6-ce3.html">ce3</a></li><li class="progresssection"><a href="6-pe2.html">pe2</a></li><li class="progresssection"><a href="6-te2.html">te2</a></li><li class="progresssection"><a href="6-ce4.html">ce4</a></li><li class="progressnext"><a href="6-ve.html">&#10095;</a></li></ul></div>
</nav><!--End of weave-->
</main>

View file

@ -182,7 +182,7 @@ function togglePopup(material_id) {
<span class="plain-syntax">}</span>
</pre>
<nav role="progress"><div class="progresscontainer">
<ul class="progressbar"><li class="progressprev"><a href="6-pe2.html">&#10094;</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresschapter"><a href="3-sh.html">3</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progresscurrentchapter">6</li><li class="progresssection"><a href="6-ii.html">ii</a></li><li class="progresssection"><a href="6-ifs.html">ifs</a></li><li class="progresssection"><a href="6-ir.html">ir</a></li><li class="progresssection"><a href="6-lxc.html">lxc</a></li><li class="progresssection"><a href="6-ce.html">ce</a></li><li class="progresssection"><a href="6-ce2.html">ce2</a></li><li class="progresssection"><a href="6-be.html">be</a></li><li class="progresssection"><a href="6-re.html">re</a></li><li class="progresssection"><a href="6-ee.html">ee</a></li><li class="progresssection"><a href="6-fe.html">fe</a></li><li class="progresssection"><a href="6-te.html">te</a></li><li class="progresssection"><a href="6-ve.html">ve</a></li><li class="progresssection"><a href="6-rfse.html">rfse</a></li><li class="progresssection"><a href="6-ee2.html">ee2</a></li><li class="progresssection"><a href="6-se.html">se</a></li><li class="progresssection"><a href="6-ie.html">ie</a></li><li class="progresssection"><a href="6-ve2.html">ve2</a></li><li class="progresssection"><a href="6-ge.html">ge</a></li><li class="progresssection"><a href="6-le.html">le</a></li><li class="progresssection"><a href="6-ae.html">ae</a></li><li class="progresssection"><a href="6-pe.html">pe</a></li><li class="progresssection"><a href="6-ce3.html">ce3</a></li><li class="progresssection"><a href="6-pe2.html">pe2</a></li><li class="progresscurrent">te2</li><li class="progressnextoff">&#10095;</li></ul></div>
<ul class="progressbar"><li class="progressprev"><a href="6-pe2.html">&#10094;</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresschapter"><a href="3-sh.html">3</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progresscurrentchapter">6</li><li class="progresssection"><a href="6-ii.html">ii</a></li><li class="progresssection"><a href="6-ifs.html">ifs</a></li><li class="progresssection"><a href="6-ir.html">ir</a></li><li class="progresssection"><a href="6-lxc.html">lxc</a></li><li class="progresssection"><a href="6-ce.html">ce</a></li><li class="progresssection"><a href="6-ce2.html">ce2</a></li><li class="progresssection"><a href="6-be.html">be</a></li><li class="progresssection"><a href="6-re.html">re</a></li><li class="progresssection"><a href="6-ee.html">ee</a></li><li class="progresssection"><a href="6-fe.html">fe</a></li><li class="progresssection"><a href="6-te.html">te</a></li><li class="progresssection"><a href="6-ve.html">ve</a></li><li class="progresssection"><a href="6-rfse.html">rfse</a></li><li class="progresssection"><a href="6-ee2.html">ee2</a></li><li class="progresssection"><a href="6-se.html">se</a></li><li class="progresssection"><a href="6-ie.html">ie</a></li><li class="progresssection"><a href="6-ve2.html">ve2</a></li><li class="progresssection"><a href="6-ge.html">ge</a></li><li class="progresssection"><a href="6-le.html">le</a></li><li class="progresssection"><a href="6-ae.html">ae</a></li><li class="progresssection"><a href="6-pe.html">pe</a></li><li class="progresssection"><a href="6-ce3.html">ce3</a></li><li class="progresssection"><a href="6-pe2.html">pe2</a></li><li class="progresscurrent">te2</li><li class="progresssection"><a href="6-ce4.html">ce4</a></li><li class="progressnext"><a href="6-ce4.html">&#10095;</a></li></ul></div>
</nav><!--End of weave-->
</main>

View file

@ -168,7 +168,7 @@ function togglePopup(material_id) {
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="6-ve.html#SP1">&#167;1</a>.</li></ul>
<nav role="progress"><div class="progresscontainer">
<ul class="progressbar"><li class="progressprev"><a href="6-te.html">&#10094;</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresschapter"><a href="3-sh.html">3</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progresscurrentchapter">6</li><li class="progresssection"><a href="6-ii.html">ii</a></li><li class="progresssection"><a href="6-ifs.html">ifs</a></li><li class="progresssection"><a href="6-ir.html">ir</a></li><li class="progresssection"><a href="6-lxc.html">lxc</a></li><li class="progresssection"><a href="6-ce.html">ce</a></li><li class="progresssection"><a href="6-ce2.html">ce2</a></li><li class="progresssection"><a href="6-be.html">be</a></li><li class="progresssection"><a href="6-re.html">re</a></li><li class="progresssection"><a href="6-ee.html">ee</a></li><li class="progresssection"><a href="6-fe.html">fe</a></li><li class="progresssection"><a href="6-te.html">te</a></li><li class="progresscurrent">ve</li><li class="progresssection"><a href="6-rfse.html">rfse</a></li><li class="progresssection"><a href="6-ee2.html">ee2</a></li><li class="progresssection"><a href="6-se.html">se</a></li><li class="progresssection"><a href="6-ie.html">ie</a></li><li class="progresssection"><a href="6-ve2.html">ve2</a></li><li class="progresssection"><a href="6-ge.html">ge</a></li><li class="progresssection"><a href="6-le.html">le</a></li><li class="progresssection"><a href="6-ae.html">ae</a></li><li class="progresssection"><a href="6-pe.html">pe</a></li><li class="progresssection"><a href="6-ce3.html">ce3</a></li><li class="progresssection"><a href="6-pe2.html">pe2</a></li><li class="progresssection"><a href="6-te2.html">te2</a></li><li class="progressnext"><a href="6-rfse.html">&#10095;</a></li></ul></div>
<ul class="progressbar"><li class="progressprev"><a href="6-te.html">&#10094;</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresschapter"><a href="3-sh.html">3</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progresscurrentchapter">6</li><li class="progresssection"><a href="6-ii.html">ii</a></li><li class="progresssection"><a href="6-ifs.html">ifs</a></li><li class="progresssection"><a href="6-ir.html">ir</a></li><li class="progresssection"><a href="6-lxc.html">lxc</a></li><li class="progresssection"><a href="6-ce.html">ce</a></li><li class="progresssection"><a href="6-ce2.html">ce2</a></li><li class="progresssection"><a href="6-be.html">be</a></li><li class="progresssection"><a href="6-re.html">re</a></li><li class="progresssection"><a href="6-ee.html">ee</a></li><li class="progresssection"><a href="6-fe.html">fe</a></li><li class="progresssection"><a href="6-te.html">te</a></li><li class="progresscurrent">ve</li><li class="progresssection"><a href="6-rfse.html">rfse</a></li><li class="progresssection"><a href="6-ee2.html">ee2</a></li><li class="progresssection"><a href="6-se.html">se</a></li><li class="progresssection"><a href="6-ie.html">ie</a></li><li class="progresssection"><a href="6-ve2.html">ve2</a></li><li class="progresssection"><a href="6-ge.html">ge</a></li><li class="progresssection"><a href="6-le.html">le</a></li><li class="progresssection"><a href="6-ae.html">ae</a></li><li class="progresssection"><a href="6-pe.html">pe</a></li><li class="progresssection"><a href="6-ce3.html">ce3</a></li><li class="progresssection"><a href="6-pe2.html">pe2</a></li><li class="progresssection"><a href="6-te2.html">te2</a></li><li class="progresssection"><a href="6-ce4.html">ce4</a></li><li class="progressnext"><a href="6-rfse.html">&#10095;</a></li></ul></div>
</nav><!--End of weave-->
</main>

View file

@ -116,7 +116,7 @@ function togglePopup(material_id) {
<span class="plain-syntax">}</span>
</pre>
<nav role="progress"><div class="progresscontainer">
<ul class="progressbar"><li class="progressprev"><a href="6-ie.html">&#10094;</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresschapter"><a href="3-sh.html">3</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progresscurrentchapter">6</li><li class="progresssection"><a href="6-ii.html">ii</a></li><li class="progresssection"><a href="6-ifs.html">ifs</a></li><li class="progresssection"><a href="6-ir.html">ir</a></li><li class="progresssection"><a href="6-lxc.html">lxc</a></li><li class="progresssection"><a href="6-ce.html">ce</a></li><li class="progresssection"><a href="6-ce2.html">ce2</a></li><li class="progresssection"><a href="6-be.html">be</a></li><li class="progresssection"><a href="6-re.html">re</a></li><li class="progresssection"><a href="6-ee.html">ee</a></li><li class="progresssection"><a href="6-fe.html">fe</a></li><li class="progresssection"><a href="6-te.html">te</a></li><li class="progresssection"><a href="6-ve.html">ve</a></li><li class="progresssection"><a href="6-rfse.html">rfse</a></li><li class="progresssection"><a href="6-ee2.html">ee2</a></li><li class="progresssection"><a href="6-se.html">se</a></li><li class="progresssection"><a href="6-ie.html">ie</a></li><li class="progresscurrent">ve2</li><li class="progresssection"><a href="6-ge.html">ge</a></li><li class="progresssection"><a href="6-le.html">le</a></li><li class="progresssection"><a href="6-ae.html">ae</a></li><li class="progresssection"><a href="6-pe.html">pe</a></li><li class="progresssection"><a href="6-ce3.html">ce3</a></li><li class="progresssection"><a href="6-pe2.html">pe2</a></li><li class="progresssection"><a href="6-te2.html">te2</a></li><li class="progressnext"><a href="6-ge.html">&#10095;</a></li></ul></div>
<ul class="progressbar"><li class="progressprev"><a href="6-ie.html">&#10094;</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresschapter"><a href="3-sh.html">3</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progresscurrentchapter">6</li><li class="progresssection"><a href="6-ii.html">ii</a></li><li class="progresssection"><a href="6-ifs.html">ifs</a></li><li class="progresssection"><a href="6-ir.html">ir</a></li><li class="progresssection"><a href="6-lxc.html">lxc</a></li><li class="progresssection"><a href="6-ce.html">ce</a></li><li class="progresssection"><a href="6-ce2.html">ce2</a></li><li class="progresssection"><a href="6-be.html">be</a></li><li class="progresssection"><a href="6-re.html">re</a></li><li class="progresssection"><a href="6-ee.html">ee</a></li><li class="progresssection"><a href="6-fe.html">fe</a></li><li class="progresssection"><a href="6-te.html">te</a></li><li class="progresssection"><a href="6-ve.html">ve</a></li><li class="progresssection"><a href="6-rfse.html">rfse</a></li><li class="progresssection"><a href="6-ee2.html">ee2</a></li><li class="progresssection"><a href="6-se.html">se</a></li><li class="progresssection"><a href="6-ie.html">ie</a></li><li class="progresscurrent">ve2</li><li class="progresssection"><a href="6-ge.html">ge</a></li><li class="progresssection"><a href="6-le.html">le</a></li><li class="progresssection"><a href="6-ae.html">ae</a></li><li class="progresssection"><a href="6-pe.html">pe</a></li><li class="progresssection"><a href="6-ce3.html">ce3</a></li><li class="progresssection"><a href="6-pe2.html">pe2</a></li><li class="progresssection"><a href="6-te2.html">te2</a></li><li class="progresssection"><a href="6-ce4.html">ce4</a></li><li class="progressnext"><a href="6-ge.html">&#10095;</a></li></ul></div>
</nav><!--End of weave-->
</main>

View file

@ -446,6 +446,11 @@
<spon class="sectiontitle">Tokens Element</span></a> -
<span class="sectionpurpose">To write the Tokens element (To) in the index.</span></p>
</li>
<li>
<p class="sectionentry"><a href="6-ce4.html">
<spon class="sectiontitle">Commands Element</span></a> -
<span class="sectionpurpose">To write the Commands element (Cm) in the index.</span></p>
</li>
</ul>
</li>
</ul>

View file

@ -296,14 +296,12 @@ We begin with <a href="index.html" class="internal">core</a> itself.
</p>
<pre class="definitions code-font"><span class="definition-keyword">enum</span> <span class="constant-syntax">activity_crossref_CLASS</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">command_index_entry_CLASS</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">connected_submap_CLASS</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">EPS_map_level_CLASS</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">rubric_holder_CLASS</span>
</pre>
<pre class="displayed-code all-displayed-code code-font">
<span class="identifier-syntax">DECLARE_CLASS_ALLOCATED_IN_ARRAYS</span><span class="plain-syntax">(</span><span class="identifier-syntax">activity_crossref</span><span class="plain-syntax">, </span><span class="constant-syntax">100</span><span class="plain-syntax">)</span>
<span class="identifier-syntax">DECLARE_CLASS</span><span class="plain-syntax">(</span><span class="identifier-syntax">command_index_entry</span><span class="plain-syntax">)</span>
<span class="identifier-syntax">DECLARE_CLASS</span><span class="plain-syntax">(</span><span class="identifier-syntax">connected_submap</span><span class="plain-syntax">)</span>
<span class="identifier-syntax">DECLARE_CLASS</span><span class="plain-syntax">(</span><span class="identifier-syntax">EPS_map_level</span><span class="plain-syntax">)</span>
<span class="identifier-syntax">DECLARE_CLASS</span><span class="plain-syntax">(</span><span class="identifier-syntax">rubric_holder</span><span class="plain-syntax">)</span>

View file

@ -216,7 +216,7 @@ documentation page could be forgiven for thinking it a miscellany.
<pre class="displayed-code all-displayed-code code-font">
<span class="plain-syntax"> #</span><span class="identifier-syntax">ifdef</span><span class="plain-syntax"> </span><span class="identifier-syntax">IF_MODULE</span>
<span class="plain-syntax"> </span><a href="3-ci.html#SP4" class="function-link"><span class="function-syntax">CommandsIndex::index_for_extension</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">E</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">read_into_file</span><span class="plain-syntax">, </span><span class="identifier-syntax">E</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="3-ci.html#SP3" class="function-link"><span class="function-syntax">CommandsIndex::index_for_extension</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">E</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">read_into_file</span><span class="plain-syntax">, </span><span class="identifier-syntax">E</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> #</span><span class="identifier-syntax">endif</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="2-ie.html#SP1">&#167;1</a>.</li></ul>
@ -301,7 +301,7 @@ dictionary.
</p>
<pre class="displayed-code all-displayed-code code-font">
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">IndexExtensions::document_headword</span><button class="popup" onclick="togglePopup('usagePopup1')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup1">Usage of <span class="code-font"><span class="function-syntax">IndexExtensions::document_headword</span></span>:<br/><a href="2-ie.html#SP1_1">&#167;1.1</a>, <a href="2-ie.html#SP1_2">&#167;1.2</a>, <a href="2-ie.html#SP1_3">&#167;1.3</a>, <a href="2-ie.html#SP1_4">&#167;1.4</a>, <a href="2-ie.html#SP1_8">&#167;1.8</a>, <a href="2-ie.html#SP1_9">&#167;1.9</a>, <a href="2-ie.html#SP1_10">&#167;1.10</a><br/>Actions - <a href="3-act.html#SP1">&#167;1</a><br/>Commands Index - <a href="3-ci.html#SP4">&#167;4</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">kc</span><span class="plain-syntax">, </span><span class="identifier-syntax">inform_extension</span><span class="plain-syntax"> *</span><span class="identifier-syntax">E</span><span class="plain-syntax">, </span><span class="reserved-syntax">char</span><span class="plain-syntax"> *</span><span class="identifier-syntax">par_heading</span><span class="plain-syntax">,</span>
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">IndexExtensions::document_headword</span><button class="popup" onclick="togglePopup('usagePopup1')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup1">Usage of <span class="code-font"><span class="function-syntax">IndexExtensions::document_headword</span></span>:<br/><a href="2-ie.html#SP1_1">&#167;1.1</a>, <a href="2-ie.html#SP1_2">&#167;1.2</a>, <a href="2-ie.html#SP1_3">&#167;1.3</a>, <a href="2-ie.html#SP1_4">&#167;1.4</a>, <a href="2-ie.html#SP1_8">&#167;1.8</a>, <a href="2-ie.html#SP1_9">&#167;1.9</a>, <a href="2-ie.html#SP1_10">&#167;1.10</a><br/>Actions - <a href="3-act.html#SP1">&#167;1</a><br/>Commands Index - <a href="3-ci.html#SP3">&#167;3</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">kc</span><span class="plain-syntax">, </span><span class="identifier-syntax">inform_extension</span><span class="plain-syntax"> *</span><span class="identifier-syntax">E</span><span class="plain-syntax">, </span><span class="reserved-syntax">char</span><span class="plain-syntax"> *</span><span class="identifier-syntax">par_heading</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">category</span><span class="plain-syntax">, </span><span class="identifier-syntax">wording</span><span class="plain-syntax"> </span><span class="identifier-syntax">W</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">kc</span><span class="plain-syntax">++ == </span><span class="constant-syntax">0</span><span class="plain-syntax">) { </span><span class="identifier-syntax">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">); </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"%s: "</span><span class="plain-syntax">, </span><span class="identifier-syntax">par_heading</span><span class="plain-syntax">); }</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">", "</span><span class="plain-syntax">);</span>

View file

@ -96,7 +96,7 @@ function togglePopup(material_id) {
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">an</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">indexing_data</span><span class="plain-syntax">.</span><span class="element-syntax">an_specification_text_word</span><span class="plain-syntax">;</span>
<span class="plain-syntax">}</span>
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">IXActions::index</span><button class="popup" onclick="togglePopup('usagePopup1')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup1">Usage of <span class="code-font"><span class="function-syntax">IXActions::index</span></span>:<br/>Commands Index - <a href="3-ci.html#SP4">&#167;4</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="identifier-syntax">action_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">an</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">pass</span><span class="plain-syntax">,</span>
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">IXActions::index</span><button class="popup" onclick="togglePopup('usagePopup1')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup1">Usage of <span class="code-font"><span class="function-syntax">IXActions::index</span></span>:<br/>Commands Index - <a href="3-ci.html#SP3">&#167;3</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="identifier-syntax">action_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">an</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">pass</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">inform_extension</span><span class="plain-syntax"> **</span><span class="identifier-syntax">ext</span><span class="plain-syntax">, </span><span class="identifier-syntax">heading</span><span class="plain-syntax"> **</span><span class="identifier-syntax">current_area</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">f</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> *</span><span class="identifier-syntax">new_par</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">bold</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">on_details_page</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">heading</span><span class="plain-syntax"> *</span><span class="identifier-syntax">definition_area</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Headings::of_wording</span><span class="plain-syntax">(</span><span class="identifier-syntax">ActionNameNames::tensed</span><span class="plain-syntax">(</span><span class="identifier-syntax">an</span><span class="plain-syntax">, </span><span class="identifier-syntax">IS_TENSE</span><span class="plain-syntax">));</span>
@ -189,7 +189,7 @@ function togglePopup(material_id) {
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_TAG</span><span class="plain-syntax">(</span><span class="string-syntax">"hr"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">); </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"&lt;b&gt;Typed commands leading to this action&lt;/b&gt;\n"</span><span class="plain-syntax">); </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="3-ci.html#SP10" class="function-link"><span class="function-syntax">CommandsIndex::index_list_with_action</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">an</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">command_parser_grammar_producing_this</span><span class="plain-syntax">) == </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="3-ci.html#SP9" class="function-link"><span class="function-syntax">CommandsIndex::index_list_with_action</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">an</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">command_parser_grammar_producing_this</span><span class="plain-syntax">) == </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"&lt;i&gt;None&lt;/i&gt;"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">SharedVariables::set_empty</span><span class="plain-syntax">(</span><span class="identifier-syntax">an</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">action_variables</span><span class="plain-syntax">) == </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">) {</span>

View file

@ -72,62 +72,19 @@ function togglePopup(material_id) {
<ul class="crumbs"><li><a href="../index.html">Home</a></li><li><a href="../compiler.html">Inform7</a></li><li><a href="index.html">index</a></li><li><a href="index.html#3">Chapter 3: Indexing for Plugins</a></li><li><b>Commands Index</b></li></ul></div>
<p class="purpose">To construct the index of command verbs.</p>
<ul class="toc"><li><a href="3-ci.html#SP7">&#167;7. Indexing by grammar</a></li><li><a href="3-ci.html#SP8">&#167;8. Indexing by action</a></li></ul><hr class="tocbar">
<ul class="toc"><li><a href="3-ci.html#SP6">&#167;6. Indexing by grammar</a></li><li><a href="3-ci.html#SP7">&#167;7. Indexing by action</a></li></ul><hr class="tocbar">
<p class="commentary firstcommentary"><a id="SP1" class="paragraph-anchor"></a><b>&#167;1. </b>The following modest structure is used for the indexing of command verbs,
and is too deeply boring to comment upon. These are the headwords of commands
which can be typed at run-time, like QUIT or INVENTORY. For indexing purposes,
we divide these headwords into five "natures":
</p>
<pre class="definitions code-font"><span class="definition-keyword">define</span> <span class="constant-syntax">NORMAL_COMMAND</span><span class="plain-syntax"> </span><span class="constant-syntax">1</span>
<span class="definition-keyword">define</span> <span class="constant-syntax">ALIAS_COMMAND</span><span class="plain-syntax"> </span><span class="constant-syntax">2</span>
<span class="definition-keyword">define</span> <span class="constant-syntax">OUT_OF_WORLD_COMMAND</span><span class="plain-syntax"> </span><span class="constant-syntax">3</span>
<span class="definition-keyword">define</span> <span class="constant-syntax">TESTING_COMMAND</span><span class="plain-syntax"> </span><span class="constant-syntax">4</span>
<span class="definition-keyword">define</span> <span class="constant-syntax">BARE_DIRECTION_COMMAND</span><span class="plain-syntax"> </span><span class="constant-syntax">5</span>
</pre>
<pre class="displayed-code all-displayed-code code-font">
<span class="reserved-syntax">typedef</span><span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="reserved-syntax">command_index_entry</span><span class="plain-syntax"> {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">nature</span><span class="plain-syntax">; </span><span class="comment-syntax"> one of the above values</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">command_headword</span><span class="plain-syntax">; </span><span class="comment-syntax"> text of command headword, such as "REMOVE"</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="identifier-syntax">command_grammar</span><span class="plain-syntax"> *</span><span class="identifier-syntax">cg_indexed</span><span class="plain-syntax">; </span><span class="comment-syntax"> ...leading to...</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="reserved-syntax">command_index_entry</span><span class="plain-syntax"> *</span><span class="identifier-syntax">next_alphabetically</span><span class="plain-syntax">; </span><span class="comment-syntax"> next in linked list</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">CLASS_DEFINITION</span>
<span class="plain-syntax">} </span><span class="reserved-syntax">command_index_entry</span><span class="plain-syntax">;</span>
<span class="reserved-syntax">command_index_entry</span><span class="plain-syntax"> *</span><span class="identifier-syntax">sorted_command_index</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">; </span><span class="comment-syntax"> in alphabetical order of </span><span class="extract"><span class="extract-syntax">text</span></span>
</pre>
<ul class="endnotetexts"><li>The structure command_index_entry is private to this section.</li></ul>
<p class="commentary firstcommentary"><a id="SP2" class="paragraph-anchor"></a><b>&#167;2. </b></p>
<p class="commentary firstcommentary"><a id="SP1" class="paragraph-anchor"></a><b>&#167;1. </b></p>
<pre class="displayed-code all-displayed-code code-font">
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">CommandsIndex::index_meta_verb</span><span class="plain-syntax">(</span><span class="reserved-syntax">char</span><span class="plain-syntax"> *</span><span class="identifier-syntax">t</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">command_index_entry</span><span class="plain-syntax"> *</span><span class="identifier-syntax">vie</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">vie</span><span class="plain-syntax"> = </span><span class="identifier-syntax">CREATE</span><span class="plain-syntax">(</span><span class="reserved-syntax">command_index_entry</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">vie</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">command_headword</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Str::new</span><span class="plain-syntax">();</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">vie</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">command_headword</span><span class="plain-syntax">, </span><span class="string-syntax">"%s"</span><span class="plain-syntax">, </span><span class="identifier-syntax">t</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">vie</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">nature</span><span class="plain-syntax"> = </span><span class="constant-syntax">OUT_OF_WORLD_COMMAND</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">vie</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">cg_indexed</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">vie</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">next_alphabetically</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
<span class="plain-syntax">}</span>
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">CommandsIndex::test_verb</span><span class="plain-syntax">(</span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">t</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">command_index_entry</span><span class="plain-syntax"> *</span><span class="identifier-syntax">vie</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">vie</span><span class="plain-syntax"> = </span><span class="identifier-syntax">CREATE</span><span class="plain-syntax">(</span><span class="reserved-syntax">command_index_entry</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">vie</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">command_headword</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Str::duplicate</span><span class="plain-syntax">(</span><span class="identifier-syntax">t</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">vie</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">nature</span><span class="plain-syntax"> = </span><span class="constant-syntax">TESTING_COMMAND</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">vie</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">cg_indexed</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">vie</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">next_alphabetically</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
<span class="plain-syntax">}</span>
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">CommandsIndex::verb_definition</span><button class="popup" onclick="togglePopup('usagePopup1')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup1">Usage of <span class="code-font"><span class="function-syntax">CommandsIndex::verb_definition</span></span>:<br/><a href="3-ci.html#SP7">&#167;7</a>, <a href="3-ci.html#SP10">&#167;10</a>, <a href="3-ci.html#SP11">&#167;11</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="identifier-syntax">wchar_t</span><span class="plain-syntax"> *</span><span class="identifier-syntax">p</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">trueverb</span><span class="plain-syntax">, </span><span class="identifier-syntax">wording</span><span class="plain-syntax"> </span><span class="identifier-syntax">W</span><span class="plain-syntax">) {</span>
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">CommandsIndex::verb_definition</span><button class="popup" onclick="togglePopup('usagePopup1')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup1">Usage of <span class="code-font"><span class="function-syntax">CommandsIndex::verb_definition</span></span>:<br/><a href="3-ci.html#SP6">&#167;6</a>, <a href="3-ci.html#SP9">&#167;9</a>, <a href="3-ci.html#SP10">&#167;10</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="identifier-syntax">wchar_t</span><span class="plain-syntax"> *</span><span class="identifier-syntax">p</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">trueverb</span><span class="plain-syntax">, </span><span class="identifier-syntax">wording</span><span class="plain-syntax"> </span><span class="identifier-syntax">W</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax"> = </span><span class="constant-syntax">1</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> ((</span><span class="identifier-syntax">p</span><span class="plain-syntax">[0] == </span><span class="constant-syntax">0</span><span class="plain-syntax">) || (</span><span class="identifier-syntax">p</span><span class="plain-syntax">[1] == </span><span class="constant-syntax">0</span><span class="plain-syntax">)) </span><span class="reserved-syntax">return</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">trueverb</span><span class="plain-syntax">) &gt; </span><span class="constant-syntax">0</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::eq_wide_string</span><span class="plain-syntax">(</span><span class="identifier-syntax">trueverb</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"0"</span><span class="plain-syntax">) == </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"%S"</span><span class="plain-syntax">, </span><span class="identifier-syntax">trueverb</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Wordings::nonempty</span><span class="plain-syntax">(</span><span class="identifier-syntax">W</span><span class="plain-syntax">))</span>
<span class="plain-syntax"> </span><a href="3-ci.html#SP6" class="function-link"><span class="function-syntax">CommandsIndex::index_command_aliases</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><a href="3-ci.html#SP5" class="function-link"><span class="function-syntax">CommandsIndex::index_command_aliases</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">CommandGrammars::for_command_verb</span><span class="plain-syntax">(</span><span class="identifier-syntax">W</span><span class="plain-syntax">));</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="identifier-syntax">i</span><span class="plain-syntax">=1; </span><span class="identifier-syntax">p</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">+1]; </span><span class="identifier-syntax">i</span><span class="plain-syntax">++) </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">p</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">] == </span><span class="character-syntax">' '</span><span class="plain-syntax">) </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (; </span><span class="identifier-syntax">p</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">+1]; </span><span class="identifier-syntax">i</span><span class="plain-syntax">++) </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">p</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">] != </span><span class="character-syntax">' '</span><span class="plain-syntax">) </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
@ -143,64 +100,49 @@ we divide these headwords into five "natures":
<span class="plain-syntax"> }</span>
<span class="plain-syntax">}</span>
<span class="reserved-syntax">command_index_entry</span><span class="plain-syntax"> *</span><span class="function-syntax">CommandsIndex::vie_new_from</span><button class="popup" onclick="togglePopup('usagePopup2')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup2">Usage of <span class="code-font"><span class="function-syntax">CommandsIndex::vie_new_from</span></span>:<br/><a href="3-ci.html#SP5">&#167;5</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="identifier-syntax">wchar_t</span><span class="plain-syntax"> *</span><span class="identifier-syntax">headword</span><span class="plain-syntax">, </span><span class="identifier-syntax">command_grammar</span><span class="plain-syntax"> *</span><span class="identifier-syntax">cg</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">nature</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">command_index_entry</span><span class="plain-syntax"> *</span><span class="identifier-syntax">vie</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">vie</span><span class="plain-syntax"> = </span><span class="identifier-syntax">CREATE</span><span class="plain-syntax">(</span><span class="reserved-syntax">command_index_entry</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">vie</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">command_headword</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Str::new</span><span class="plain-syntax">();</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">vie</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">command_headword</span><span class="plain-syntax">, </span><span class="string-syntax">"%w"</span><span class="plain-syntax">, </span><span class="identifier-syntax">headword</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">vie</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">nature</span><span class="plain-syntax"> = </span><span class="identifier-syntax">nature</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">vie</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">cg_indexed</span><span class="plain-syntax"> = </span><span class="identifier-syntax">cg</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">vie</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">next_alphabetically</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">vie</span><span class="plain-syntax">;</span>
<span class="plain-syntax">}</span>
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">CommandsIndex::commands</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">command_index_entry</span><span class="plain-syntax"> *</span><span class="identifier-syntax">vie</span><span class="plain-syntax">, *</span><span class="identifier-syntax">vie2</span><span class="plain-syntax">, *</span><span class="identifier-syntax">last_vie2</span><span class="plain-syntax">, *</span><span class="identifier-syntax">list_start</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">command_index_entry</span><span class="plain-syntax"> *</span><span class="identifier-syntax">vie</span><span class="plain-syntax">, *</span><span class="identifier-syntax">vie2</span><span class="plain-syntax">, *</span><span class="identifier-syntax">last_vie2</span><span class="plain-syntax">, *</span><span class="identifier-syntax">list_start</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">command_grammar</span><span class="plain-syntax"> *</span><span class="identifier-syntax">cg</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">head_letter</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER</span><span class="plain-syntax">(</span><span class="identifier-syntax">cg</span><span class="plain-syntax">, </span><span class="identifier-syntax">command_grammar</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> </span><a href="3-ci.html#SP5" class="function-link"><span class="function-syntax">CommandsIndex::make_command_index_entries</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">cg</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">CommandsIndex::make_command_index_entries</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">cg</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">vie</span><span class="plain-syntax"> = </span><span class="identifier-syntax">CREATE</span><span class="plain-syntax">(</span><span class="reserved-syntax">command_index_entry</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">vie</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">command_headword</span><span class="plain-syntax"> = </span><span class="identifier-syntax">I</span><span class="string-syntax">"0"</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">vie</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">nature</span><span class="plain-syntax"> = </span><span class="constant-syntax">BARE_DIRECTION_COMMAND</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">vie</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">cg_indexed</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">vie</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">next_alphabetically</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">CommandsElement::direction_verb</span><span class="plain-syntax">();</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER</span><span class="plain-syntax">(</span><span class="identifier-syntax">vie</span><span class="plain-syntax">, </span><span class="reserved-syntax">command_index_entry</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER</span><span class="plain-syntax">(</span><span class="identifier-syntax">vie</span><span class="plain-syntax">, </span><span class="identifier-syntax">command_index_entry</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">list_start</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) { </span><span class="identifier-syntax">list_start</span><span class="plain-syntax"> = </span><span class="identifier-syntax">vie</span><span class="plain-syntax">; </span><span class="reserved-syntax">continue</span><span class="plain-syntax">; }</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">vie2</span><span class="plain-syntax"> = </span><span class="identifier-syntax">list_start</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">last_vie2</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">while</span><span class="plain-syntax"> (</span><span class="identifier-syntax">vie2</span><span class="plain-syntax"> &amp;&amp; (</span><span class="identifier-syntax">Str::cmp</span><span class="plain-syntax">(</span><span class="identifier-syntax">vie</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">command_headword</span><span class="plain-syntax">, </span><span class="identifier-syntax">vie2</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">command_headword</span><span class="plain-syntax">) &gt; </span><span class="constant-syntax">0</span><span class="plain-syntax">)) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">while</span><span class="plain-syntax"> (</span><span class="identifier-syntax">vie2</span><span class="plain-syntax"> &amp;&amp; (</span><span class="identifier-syntax">Str::cmp</span><span class="plain-syntax">(</span><span class="identifier-syntax">vie</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">command_headword</span><span class="plain-syntax">, </span><span class="identifier-syntax">vie2</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">command_headword</span><span class="plain-syntax">) &gt; </span><span class="constant-syntax">0</span><span class="plain-syntax">)) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">last_vie2</span><span class="plain-syntax"> = </span><span class="identifier-syntax">vie2</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">vie2</span><span class="plain-syntax"> = </span><span class="identifier-syntax">vie2</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">next_alphabetically</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">vie2</span><span class="plain-syntax"> = </span><span class="identifier-syntax">vie2</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">next_alphabetically</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> }</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">last_vie2</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">vie</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">next_alphabetically</span><span class="plain-syntax"> = </span><span class="identifier-syntax">list_start</span><span class="plain-syntax">; </span><span class="identifier-syntax">list_start</span><span class="plain-syntax"> = </span><span class="identifier-syntax">vie</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">vie</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">next_alphabetically</span><span class="plain-syntax"> = </span><span class="identifier-syntax">list_start</span><span class="plain-syntax">; </span><span class="identifier-syntax">list_start</span><span class="plain-syntax"> = </span><span class="identifier-syntax">vie</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> } </span><span class="reserved-syntax">else</span><span class="plain-syntax"> {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">last_vie2</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">next_alphabetically</span><span class="plain-syntax"> = </span><span class="identifier-syntax">vie</span><span class="plain-syntax">; </span><span class="identifier-syntax">vie</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">next_alphabetically</span><span class="plain-syntax"> = </span><span class="identifier-syntax">vie2</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">last_vie2</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">next_alphabetically</span><span class="plain-syntax"> = </span><span class="identifier-syntax">vie</span><span class="plain-syntax">; </span><span class="identifier-syntax">vie</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">next_alphabetically</span><span class="plain-syntax"> = </span><span class="identifier-syntax">vie2</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> }</span>
<span class="plain-syntax"> }</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="identifier-syntax">vie</span><span class="plain-syntax"> = </span><span class="identifier-syntax">list_start</span><span class="plain-syntax">, </span><span class="identifier-syntax">head_letter</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">; </span><span class="identifier-syntax">vie</span><span class="plain-syntax">; </span><span class="identifier-syntax">vie</span><span class="plain-syntax"> = </span><span class="identifier-syntax">vie</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">next_alphabetically</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="identifier-syntax">vie</span><span class="plain-syntax"> = </span><span class="identifier-syntax">list_start</span><span class="plain-syntax">, </span><span class="identifier-syntax">head_letter</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">; </span><span class="identifier-syntax">vie</span><span class="plain-syntax">; </span><span class="identifier-syntax">vie</span><span class="plain-syntax"> = </span><span class="identifier-syntax">vie</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">next_alphabetically</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">command_grammar</span><span class="plain-syntax"> *</span><span class="identifier-syntax">cg</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::get_first_char</span><span class="plain-syntax">(</span><span class="identifier-syntax">vie</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">command_headword</span><span class="plain-syntax">) != </span><span class="identifier-syntax">head_letter</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::get_first_char</span><span class="plain-syntax">(</span><span class="identifier-syntax">vie</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">command_headword</span><span class="plain-syntax">) != </span><span class="identifier-syntax">head_letter</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">head_letter</span><span class="plain-syntax">) </span><span class="identifier-syntax">HTML_TAG</span><span class="plain-syntax">(</span><span class="string-syntax">"br"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">head_letter</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Str::get_first_char</span><span class="plain-syntax">(</span><span class="identifier-syntax">vie</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">command_headword</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">head_letter</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Str::get_first_char</span><span class="plain-syntax">(</span><span class="identifier-syntax">vie</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">command_headword</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> }</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">cg</span><span class="plain-syntax"> = </span><span class="identifier-syntax">vie</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">cg_indexed</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">switch</span><span class="plain-syntax"> (</span><span class="identifier-syntax">vie</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">nature</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">cg</span><span class="plain-syntax"> = </span><span class="identifier-syntax">vie</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">cg_indexed</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">switch</span><span class="plain-syntax"> (</span><span class="identifier-syntax">vie</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">nature</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">NORMAL_COMMAND:</span>
<span class="plain-syntax"> </span><a href="3-ci.html#SP7" class="function-link"><span class="function-syntax">CommandsIndex::index_normal</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">cg</span><span class="plain-syntax">, </span><span class="identifier-syntax">vie</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">command_headword</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="3-ci.html#SP6" class="function-link"><span class="function-syntax">CommandsIndex::index_normal</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">cg</span><span class="plain-syntax">, </span><span class="identifier-syntax">vie</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">command_headword</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">ALIAS_COMMAND:</span>
<span class="plain-syntax"> </span><a href="3-ci.html#SP5" class="function-link"><span class="function-syntax">CommandsIndex::index_alias</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">cg</span><span class="plain-syntax">, </span><span class="identifier-syntax">vie</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">command_headword</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="3-ci.html#SP4" class="function-link"><span class="function-syntax">CommandsIndex::index_alias</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">cg</span><span class="plain-syntax">, </span><span class="identifier-syntax">vie</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">command_headword</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">OUT_OF_WORLD_COMMAND:</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::begin_colour</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"800000"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"&amp;quot;%S&amp;quot;, &lt;i&gt;a command for controlling play&lt;/i&gt;"</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">vie</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">command_headword</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">vie</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">command_headword</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::end_colour</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_TAG</span><span class="plain-syntax">(</span><span class="string-syntax">"br"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
@ -208,7 +150,7 @@ we divide these headwords into five "natures":
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::begin_colour</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"800000"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"&amp;quot;%S&amp;quot;, &lt;i&gt;a testing command not available "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"in the final game&lt;/i&gt;"</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">vie</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">command_headword</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">vie</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">command_headword</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::end_colour</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_TAG</span><span class="plain-syntax">(</span><span class="string-syntax">"br"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
@ -224,13 +166,13 @@ we divide these headwords into five "natures":
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">nr</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NUMBER_CREATED</span><span class="plain-syntax">(</span><span class="identifier-syntax">action_name</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">action_name</span><span class="plain-syntax"> **</span><span class="identifier-syntax">sorted</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Memory::calloc</span><span class="plain-syntax">(</span><span class="identifier-syntax">nr</span><span class="plain-syntax">, </span><span class="reserved-syntax">sizeof</span><span class="plain-syntax">(</span><span class="identifier-syntax">action_name</span><span class="plain-syntax"> *), </span><span class="constant-syntax">INDEX_SORTING_MREASON</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">sorted</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-ci.html#SP2_2" class="named-paragraph-link"><span class="named-paragraph">Sort the action names</span><span class="named-paragraph-number">2.2</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-ci.html#SP2_1" class="named-paragraph-link"><span class="named-paragraph">Tabulate the action names</span><span class="named-paragraph-number">2.1</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-ci.html#SP1_2" class="named-paragraph-link"><span class="named-paragraph">Sort the action names</span><span class="named-paragraph-number">1.2</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-ci.html#SP1_1" class="named-paragraph-link"><span class="named-paragraph">Tabulate the action names</span><span class="named-paragraph-number">1.1</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Memory::I7_array_free</span><span class="plain-syntax">(</span><span class="identifier-syntax">sorted</span><span class="plain-syntax">, </span><span class="constant-syntax">INDEX_SORTING_MREASON</span><span class="plain-syntax">, </span><span class="identifier-syntax">nr</span><span class="plain-syntax">, </span><span class="reserved-syntax">sizeof</span><span class="plain-syntax">(</span><span class="identifier-syntax">action_name</span><span class="plain-syntax"> *));</span>
<span class="plain-syntax"> }</span>
<span class="plain-syntax">}</span>
</pre>
<p class="commentary firstcommentary"><a id="SP2_1" class="paragraph-anchor"></a><b>&#167;2.1. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Tabulate the action names</span><span class="named-paragraph-number">2.1</span></span><span class="comment-syntax"> =</span>
<p class="commentary firstcommentary"><a id="SP1_1" class="paragraph-anchor"></a><b>&#167;1.1. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Tabulate the action names</span><span class="named-paragraph-number">1.1</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">
@ -276,31 +218,31 @@ we divide these headwords into five "natures":
<span class="plain-syntax"> }</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::end_html_table</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">);</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="3-ci.html#SP2">&#167;2</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP2_2" class="paragraph-anchor"></a><b>&#167;2.2. </b>As usual, we sort with the C library's <span class="extract"><span class="extract-syntax">qsort</span></span>.
<ul class="endnotetexts"><li>This code is used in <a href="3-ci.html#SP1">&#167;1</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP1_2" class="paragraph-anchor"></a><b>&#167;1.2. </b>As usual, we sort with the C library's <span class="extract"><span class="extract-syntax">qsort</span></span>.
</p>
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Sort the action names</span><span class="named-paragraph-number">2.2</span></span><span class="comment-syntax"> =</span>
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Sort the action names</span><span class="named-paragraph-number">1.2</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">action_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">an</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER</span><span class="plain-syntax">(</span><span class="identifier-syntax">an</span><span class="plain-syntax">, </span><span class="identifier-syntax">action_name</span><span class="plain-syntax">) </span><span class="identifier-syntax">sorted</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">++] = </span><span class="identifier-syntax">an</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">qsort</span><span class="plain-syntax">(</span><span class="identifier-syntax">sorted</span><span class="plain-syntax">, (</span><span class="identifier-syntax">size_t</span><span class="plain-syntax">) </span><span class="identifier-syntax">nr</span><span class="plain-syntax">, </span><span class="reserved-syntax">sizeof</span><span class="plain-syntax">(</span><span class="identifier-syntax">action_name</span><span class="plain-syntax"> *), </span><a href="3-ci.html#SP3" class="function-link"><span class="function-syntax">CommandsIndex::compare_action_names</span></a><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">qsort</span><span class="plain-syntax">(</span><span class="identifier-syntax">sorted</span><span class="plain-syntax">, (</span><span class="identifier-syntax">size_t</span><span class="plain-syntax">) </span><span class="identifier-syntax">nr</span><span class="plain-syntax">, </span><span class="reserved-syntax">sizeof</span><span class="plain-syntax">(</span><span class="identifier-syntax">action_name</span><span class="plain-syntax"> *), </span><a href="3-ci.html#SP2" class="function-link"><span class="function-syntax">CommandsIndex::compare_action_names</span></a><span class="plain-syntax">);</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="3-ci.html#SP2">&#167;2</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP3" class="paragraph-anchor"></a><b>&#167;3. </b>The following means the table is sorted in alphabetical order of action name.
<ul class="endnotetexts"><li>This code is used in <a href="3-ci.html#SP1">&#167;1</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP2" class="paragraph-anchor"></a><b>&#167;2. </b>The following means the table is sorted in alphabetical order of action name.
</p>
<pre class="displayed-code all-displayed-code code-font">
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">CommandsIndex::compare_action_names</span><button class="popup" onclick="togglePopup('usagePopup3')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup3">Usage of <span class="code-font"><span class="function-syntax">CommandsIndex::compare_action_names</span></span>:<br/><a href="3-ci.html#SP2_2">&#167;2.2</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">const</span><span class="plain-syntax"> </span><span class="reserved-syntax">void</span><span class="plain-syntax"> *</span><span class="identifier-syntax">ent1</span><span class="plain-syntax">, </span><span class="reserved-syntax">const</span><span class="plain-syntax"> </span><span class="reserved-syntax">void</span><span class="plain-syntax"> *</span><span class="identifier-syntax">ent2</span><span class="plain-syntax">) {</span>
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">CommandsIndex::compare_action_names</span><button class="popup" onclick="togglePopup('usagePopup2')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup2">Usage of <span class="code-font"><span class="function-syntax">CommandsIndex::compare_action_names</span></span>:<br/><a href="3-ci.html#SP1_2">&#167;1.2</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">const</span><span class="plain-syntax"> </span><span class="reserved-syntax">void</span><span class="plain-syntax"> *</span><span class="identifier-syntax">ent1</span><span class="plain-syntax">, </span><span class="reserved-syntax">const</span><span class="plain-syntax"> </span><span class="reserved-syntax">void</span><span class="plain-syntax"> *</span><span class="identifier-syntax">ent2</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">const</span><span class="plain-syntax"> </span><span class="identifier-syntax">action_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">an1</span><span class="plain-syntax"> = *((</span><span class="reserved-syntax">const</span><span class="plain-syntax"> </span><span class="identifier-syntax">action_name</span><span class="plain-syntax"> **) </span><span class="identifier-syntax">ent1</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">const</span><span class="plain-syntax"> </span><span class="identifier-syntax">action_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">an2</span><span class="plain-syntax"> = *((</span><span class="reserved-syntax">const</span><span class="plain-syntax"> </span><span class="identifier-syntax">action_name</span><span class="plain-syntax"> **) </span><span class="identifier-syntax">ent2</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">Wordings::strcmp</span><span class="plain-syntax">(</span><span class="identifier-syntax">ActionNameNames::tensed</span><span class="plain-syntax">((</span><span class="identifier-syntax">action_name</span><span class="plain-syntax"> *) </span><span class="identifier-syntax">an1</span><span class="plain-syntax">, </span><span class="identifier-syntax">IS_TENSE</span><span class="plain-syntax">), </span><span class="identifier-syntax">ActionNameNames::tensed</span><span class="plain-syntax">((</span><span class="identifier-syntax">action_name</span><span class="plain-syntax"> *) </span><span class="identifier-syntax">an2</span><span class="plain-syntax">, </span><span class="identifier-syntax">IS_TENSE</span><span class="plain-syntax">));</span>
<span class="plain-syntax">}</span>
</pre>
<p class="commentary firstcommentary"><a id="SP4" class="paragraph-anchor"></a><b>&#167;4. </b></p>
<p class="commentary firstcommentary"><a id="SP3" class="paragraph-anchor"></a><b>&#167;3. </b></p>
<pre class="displayed-code all-displayed-code code-font">
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">CommandsIndex::page</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">) {</span>
@ -340,7 +282,7 @@ we divide these headwords into five "natures":
<span class="plain-syntax"> }</span>
<span class="plain-syntax">}</span>
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">CommandsIndex::index_for_extension</span><button class="popup" onclick="togglePopup('usagePopup4')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup4">Usage of <span class="code-font"><span class="function-syntax">CommandsIndex::index_for_extension</span></span>:<br/>Index Extensions - <a href="2-ie.html#SP1_6">&#167;1.6</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="identifier-syntax">source_file</span><span class="plain-syntax"> *</span><span class="identifier-syntax">sf</span><span class="plain-syntax">, </span><span class="identifier-syntax">inform_extension</span><span class="plain-syntax"> *</span><span class="identifier-syntax">E</span><span class="plain-syntax">) {</span>
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">CommandsIndex::index_for_extension</span><button class="popup" onclick="togglePopup('usagePopup3')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup3">Usage of <span class="code-font"><span class="function-syntax">CommandsIndex::index_for_extension</span></span>:<br/>Index Extensions - <a href="2-ie.html#SP1_6">&#167;1.6</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="identifier-syntax">source_file</span><span class="plain-syntax"> *</span><span class="identifier-syntax">sf</span><span class="plain-syntax">, </span><span class="identifier-syntax">inform_extension</span><span class="plain-syntax"> *</span><span class="identifier-syntax">E</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">action_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">an</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">kc</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER</span><span class="plain-syntax">(</span><span class="identifier-syntax">an</span><span class="plain-syntax">, </span><span class="identifier-syntax">action_name</span><span class="plain-syntax">)</span>
@ -350,7 +292,7 @@ we divide these headwords into five "natures":
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">kc</span><span class="plain-syntax"> != </span><span class="constant-syntax">0</span><span class="plain-syntax">) </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
<span class="plain-syntax">}</span>
</pre>
<p class="commentary firstcommentary"><a id="SP5" class="paragraph-anchor"></a><b>&#167;5. </b>The "Commands available to the player" portion of the Actions index page
<p class="commentary firstcommentary"><a id="SP4" class="paragraph-anchor"></a><b>&#167;4. </b>The "Commands available to the player" portion of the Actions index page
is, in effect, an alphabetised merge of the CGLs found within the command CGs.
CGLs for the "no verb verb" appear under the special headword "0" (which
is not displayed); otherwise CGLs appear under the main command word, and
@ -363,18 +305,7 @@ needed.
</p>
<pre class="displayed-code all-displayed-code code-font">
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">CommandsIndex::make_command_index_entries</span><button class="popup" onclick="togglePopup('usagePopup5')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup5">Usage of <span class="code-font"><span class="function-syntax">CommandsIndex::make_command_index_entries</span></span>:<br/><a href="3-ci.html#SP2">&#167;2</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="identifier-syntax">command_grammar</span><span class="plain-syntax"> *</span><span class="identifier-syntax">cg</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> ((</span><span class="identifier-syntax">cg</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">cg_is</span><span class="plain-syntax"> == </span><span class="identifier-syntax">CG_IS_COMMAND</span><span class="plain-syntax">) &amp;&amp; (</span><span class="identifier-syntax">cg</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">first_line</span><span class="plain-syntax">)) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Wordings::empty</span><span class="plain-syntax">(</span><span class="identifier-syntax">cg</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">command</span><span class="plain-syntax">))</span>
<span class="plain-syntax"> </span><a href="3-ci.html#SP2" class="function-link"><span class="function-syntax">CommandsIndex::vie_new_from</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"0"</span><span class="plain-syntax">, </span><span class="identifier-syntax">cg</span><span class="plain-syntax">, </span><span class="constant-syntax">NORMAL_COMMAND</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span>
<span class="plain-syntax"> </span><a href="3-ci.html#SP2" class="function-link"><span class="function-syntax">CommandsIndex::vie_new_from</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">Lexer::word_text</span><span class="plain-syntax">(</span><span class="identifier-syntax">Wordings::first_wn</span><span class="plain-syntax">(</span><span class="identifier-syntax">cg</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">command</span><span class="plain-syntax">)), </span><span class="identifier-syntax">cg</span><span class="plain-syntax">, </span><span class="constant-syntax">NORMAL_COMMAND</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax">=0; </span><span class="identifier-syntax">i</span><span class="function-syntax">&lt;cg-&gt;</span><span class="identifier-syntax">no_aliased_commands</span><span class="plain-syntax">; </span><span class="identifier-syntax">i</span><span class="plain-syntax">++)</span>
<span class="plain-syntax"> </span><a href="3-ci.html#SP2" class="function-link"><span class="function-syntax">CommandsIndex::vie_new_from</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">Lexer::word_text</span><span class="plain-syntax">(</span><span class="identifier-syntax">Wordings::first_wn</span><span class="plain-syntax">(</span><span class="identifier-syntax">cg</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">aliased_command</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">])), </span><span class="identifier-syntax">cg</span><span class="plain-syntax">, </span><span class="constant-syntax">ALIAS_COMMAND</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> }</span>
<span class="plain-syntax">}</span>
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">CommandsIndex::index_alias</span><button class="popup" onclick="togglePopup('usagePopup6')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup6">Usage of <span class="code-font"><span class="function-syntax">CommandsIndex::index_alias</span></span>:<br/><a href="3-ci.html#SP2">&#167;2</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="identifier-syntax">command_grammar</span><span class="plain-syntax"> *</span><span class="identifier-syntax">cg</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">headword</span><span class="plain-syntax">) {</span>
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">CommandsIndex::index_alias</span><button class="popup" onclick="togglePopup('usagePopup4')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup4">Usage of <span class="code-font"><span class="function-syntax">CommandsIndex::index_alias</span></span>:<br/><a href="3-ci.html#SP1">&#167;1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="identifier-syntax">command_grammar</span><span class="plain-syntax"> *</span><span class="identifier-syntax">cg</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">headword</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"&amp;quot;%S&amp;quot;, &lt;i&gt;same as&lt;/i&gt; &amp;quot;%N&amp;quot;"</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">headword</span><span class="plain-syntax">, </span><span class="identifier-syntax">Wordings::first_wn</span><span class="plain-syntax">(</span><span class="identifier-syntax">cg</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">command</span><span class="plain-syntax">));</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">link</span><span class="plain-syntax">)</span>
@ -384,10 +315,10 @@ needed.
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_TAG</span><span class="plain-syntax">(</span><span class="string-syntax">"br"</span><span class="plain-syntax">);</span>
<span class="plain-syntax">}</span>
</pre>
<p class="commentary firstcommentary"><a id="SP6" class="paragraph-anchor"></a><b>&#167;6. </b></p>
<p class="commentary firstcommentary"><a id="SP5" class="paragraph-anchor"></a><b>&#167;5. </b></p>
<pre class="displayed-code all-displayed-code code-font">
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">CommandsIndex::index_command_aliases</span><button class="popup" onclick="togglePopup('usagePopup7')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup7">Usage of <span class="code-font"><span class="function-syntax">CommandsIndex::index_command_aliases</span></span>:<br/><a href="3-ci.html#SP2">&#167;2</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="identifier-syntax">command_grammar</span><span class="plain-syntax"> *</span><span class="identifier-syntax">cg</span><span class="plain-syntax">) {</span>
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">CommandsIndex::index_command_aliases</span><button class="popup" onclick="togglePopup('usagePopup5')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup5">Usage of <span class="code-font"><span class="function-syntax">CommandsIndex::index_command_aliases</span></span>:<br/><a href="3-ci.html#SP1">&#167;1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="identifier-syntax">command_grammar</span><span class="plain-syntax"> *</span><span class="identifier-syntax">cg</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">cg</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) </span><span class="reserved-syntax">return</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax">, </span><span class="identifier-syntax">n</span><span class="plain-syntax"> = </span><span class="identifier-syntax">cg</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">no_aliased_commands</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="identifier-syntax">i</span><span class="plain-syntax">=0; </span><span class="identifier-syntax">i</span><span class="plain-syntax">&lt;</span><span class="identifier-syntax">n</span><span class="plain-syntax">; </span><span class="identifier-syntax">i</span><span class="plain-syntax">++)</span>
@ -408,7 +339,7 @@ needed.
<span class="plain-syntax">}</span>
</pre>
<ul class="endnotetexts"><li>The structure cg_line_indexing_data is private to this section.</li></ul>
<p class="commentary firstcommentary"><a id="SP7" class="paragraph-anchor"></a><b>&#167;7. Indexing by grammar. </b>This is the more obvious form of indexing: we show the grammar lines which
<p class="commentary firstcommentary"><a id="SP6" class="paragraph-anchor"></a><b>&#167;6. Indexing by grammar. </b>This is the more obvious form of indexing: we show the grammar lines which
make up an individual CGL. (For instance, this is used in the Actions index
to show the grammar for an individual command word, by calling the routine
below for that command word's CG.) Such an index list is done in sorted
@ -417,9 +348,9 @@ order of parsing &mdash; this is what the reader of the index is interested in.
</p>
<pre class="displayed-code all-displayed-code code-font">
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">CommandsIndex::index_normal</span><button class="popup" onclick="togglePopup('usagePopup8')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup8">Usage of <span class="code-font"><span class="function-syntax">CommandsIndex::index_normal</span></span>:<br/><a href="3-ci.html#SP2">&#167;2</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="identifier-syntax">command_grammar</span><span class="plain-syntax"> *</span><span class="identifier-syntax">cg</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">headword</span><span class="plain-syntax">) {</span>
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">CommandsIndex::index_normal</span><button class="popup" onclick="togglePopup('usagePopup6')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup6">Usage of <span class="code-font"><span class="function-syntax">CommandsIndex::index_normal</span></span>:<br/><a href="3-ci.html#SP1">&#167;1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="identifier-syntax">command_grammar</span><span class="plain-syntax"> *</span><span class="identifier-syntax">cg</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">headword</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_THROUGH_SORTED_CG_LINES</span><span class="plain-syntax">(</span><span class="identifier-syntax">cgl</span><span class="plain-syntax">, </span><span class="identifier-syntax">cg</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> </span><a href="3-ci.html#SP7" class="function-link"><span class="function-syntax">CommandsIndex::cgl_index_normal</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">cgl</span><span class="plain-syntax">, </span><span class="identifier-syntax">headword</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="3-ci.html#SP6" class="function-link"><span class="function-syntax">CommandsIndex::cgl_index_normal</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">cgl</span><span class="plain-syntax">, </span><span class="identifier-syntax">headword</span><span class="plain-syntax">);</span>
<span class="plain-syntax">}</span>
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">CommandsIndex::cgl_index_normal</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="identifier-syntax">cg_line</span><span class="plain-syntax"> *</span><span class="identifier-syntax">cgl</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">headword</span><span class="plain-syntax">) {</span>
@ -429,7 +360,7 @@ order of parsing &mdash; this is what the reader of the index is interested in.
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">ActionSemantics::is_out_of_world</span><span class="plain-syntax">(</span><span class="identifier-syntax">an</span><span class="plain-syntax">))</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::begin_colour</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"800000"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"&amp;quot;"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="3-ci.html#SP2" class="function-link"><span class="function-syntax">CommandsIndex::verb_definition</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">Lexer::word_text</span><span class="plain-syntax">(</span><span class="identifier-syntax">cgl</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">original_text</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><a href="3-ci.html#SP1" class="function-link"><span class="function-syntax">CommandsIndex::verb_definition</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">Lexer::word_text</span><span class="plain-syntax">(</span><span class="identifier-syntax">cgl</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">original_text</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">headword</span><span class="plain-syntax">, </span><span class="identifier-syntax">EMPTY_WORDING</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"&amp;quot;"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Index::link</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">cgl</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">original_text</span><span class="plain-syntax">);</span>
@ -442,7 +373,7 @@ order of parsing &mdash; this is what the reader of the index is interested in.
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_TAG</span><span class="plain-syntax">(</span><span class="string-syntax">"br"</span><span class="plain-syntax">);</span>
<span class="plain-syntax">}</span>
</pre>
<p class="commentary firstcommentary"><a id="SP8" class="paragraph-anchor"></a><b>&#167;8. Indexing by action. </b>Grammar lines are typically indexed twice: the other time is when all
<p class="commentary firstcommentary"><a id="SP7" class="paragraph-anchor"></a><b>&#167;7. Indexing by action. </b>Grammar lines are typically indexed twice: the other time is when all
grammar lines belonging to a given action are tabulated. Special linked
lists are kept for this purpose, and this is where we unravel them and
print to the index. The question of sorted vs unsorted is meaningless
@ -462,7 +393,7 @@ this for a whole list of CGLs:
<span class="plain-syntax"> </span><span class="identifier-syntax">cgl</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">indexing_data</span><span class="plain-syntax">.</span><span class="element-syntax">belongs_to_cg</span><span class="plain-syntax"> = </span><span class="identifier-syntax">cg</span><span class="plain-syntax">;</span>
<span class="plain-syntax">}</span>
</pre>
<p class="commentary firstcommentary"><a id="SP9" class="paragraph-anchor"></a><b>&#167;9. </b>And this routine accumulates the per-action lists of CGLs:
<p class="commentary firstcommentary"><a id="SP8" class="paragraph-anchor"></a><b>&#167;8. </b>And this routine accumulates the per-action lists of CGLs:
</p>
<pre class="displayed-code all-displayed-code code-font">
@ -473,12 +404,12 @@ this for a whole list of CGLs:
<span class="plain-syntax"> </span><span class="identifier-syntax">list_head</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">indexing_data</span><span class="plain-syntax">.</span><span class="element-syntax">next_with_action</span><span class="plain-syntax"> = </span><span class="identifier-syntax">cgl</span><span class="plain-syntax">;</span>
<span class="plain-syntax">}</span>
</pre>
<p class="commentary firstcommentary"><a id="SP10" class="paragraph-anchor"></a><b>&#167;10. </b>Finally, here we index an action list of CGLs, each getting a line in
<p class="commentary firstcommentary"><a id="SP9" class="paragraph-anchor"></a><b>&#167;9. </b>Finally, here we index an action list of CGLs, each getting a line in
the HTML index.
</p>
<pre class="displayed-code all-displayed-code code-font">
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">CommandsIndex::index_list_with_action</span><button class="popup" onclick="togglePopup('usagePopup9')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup9">Usage of <span class="code-font"><span class="function-syntax">CommandsIndex::index_list_with_action</span></span>:<br/>Actions - <a href="3-act.html#SP1">&#167;1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="identifier-syntax">cg_line</span><span class="plain-syntax"> *</span><span class="identifier-syntax">cgl</span><span class="plain-syntax">) {</span>
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">CommandsIndex::index_list_with_action</span><button class="popup" onclick="togglePopup('usagePopup7')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup7">Usage of <span class="code-font"><span class="function-syntax">CommandsIndex::index_list_with_action</span></span>:<br/>Actions - <a href="3-act.html#SP1">&#167;1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="identifier-syntax">cg_line</span><span class="plain-syntax"> *</span><span class="identifier-syntax">cgl</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">said_something</span><span class="plain-syntax"> = </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">while</span><span class="plain-syntax"> (</span><span class="identifier-syntax">cgl</span><span class="plain-syntax"> != </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">cgl</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">indexing_data</span><span class="plain-syntax">.</span><span class="element-syntax">belongs_to_cg</span><span class="plain-syntax">) {</span>
@ -488,7 +419,7 @@ the HTML index.
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">trueverb</span><span class="plain-syntax">, </span><span class="string-syntax">"%W"</span><span class="plain-syntax">, </span><span class="identifier-syntax">Wordings::one_word</span><span class="plain-syntax">(</span><span class="identifier-syntax">Wordings::first_wn</span><span class="plain-syntax">(</span><span class="identifier-syntax">VW</span><span class="plain-syntax">)));</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::open_indented_p</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="constant-syntax">2</span><span class="plain-syntax">, </span><span class="string-syntax">"hanging"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"&amp;quot;"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="3-ci.html#SP2" class="function-link"><span class="function-syntax">CommandsIndex::verb_definition</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><a href="3-ci.html#SP1" class="function-link"><span class="function-syntax">CommandsIndex::verb_definition</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Lexer::word_text</span><span class="plain-syntax">(</span><span class="identifier-syntax">cgl</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">original_text</span><span class="plain-syntax">), </span><span class="identifier-syntax">trueverb</span><span class="plain-syntax">, </span><span class="identifier-syntax">VW</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"&amp;quot;"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Index::link</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">cgl</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">original_text</span><span class="plain-syntax">);</span>
@ -502,7 +433,7 @@ the HTML index.
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">said_something</span><span class="plain-syntax">;</span>
<span class="plain-syntax">}</span>
</pre>
<p class="commentary firstcommentary"><a id="SP11" class="paragraph-anchor"></a><b>&#167;11. </b>And the same, but more simply:
<p class="commentary firstcommentary"><a id="SP10" class="paragraph-anchor"></a><b>&#167;10. </b>And the same, but more simply:
</p>
<pre class="displayed-code all-displayed-code code-font">
@ -517,7 +448,7 @@ the HTML index.
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::open_indented_p</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="constant-syntax">2</span><span class="plain-syntax">, </span><span class="string-syntax">"hanging"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">k</span><span class="plain-syntax">++ == </span><span class="constant-syntax">0</span><span class="plain-syntax">) </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"="</span><span class="plain-syntax">); </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"or"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">" &amp;quot;"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="3-ci.html#SP2" class="function-link"><span class="function-syntax">CommandsIndex::verb_definition</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><a href="3-ci.html#SP1" class="function-link"><span class="function-syntax">CommandsIndex::verb_definition</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Lexer::word_text</span><span class="plain-syntax">(</span><span class="identifier-syntax">cgl</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">original_text</span><span class="plain-syntax">), </span><span class="identifier-syntax">trueverb</span><span class="plain-syntax">, </span><span class="identifier-syntax">EMPTY_WORDING</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"&amp;quot;"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Index::link</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">cgl</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">original_text</span><span class="plain-syntax">);</span>

View file

@ -1,11 +1,11 @@
100.0% in inform7 run
56.2% in compilation to Inter
39.9% in //Sequence::undertake_queued_tasks//
55.9% in compilation to Inter
39.4% in //Sequence::undertake_queued_tasks//
3.7% in //MajorNodes::pre_pass//
2.8% in //MajorNodes::pass_1//
2.2% in //RTPhrasebook::compile_entries//
2.1% in //RTPhrasebook::compile_entries//
1.5% in //ImperativeDefinitions::assess_all//
1.1% in //RTKindConstructors::compile//
1.0% in //RTKindConstructors::compile//
0.4% in //ImperativeDefinitions::compile_first_block//
0.4% in //MajorNodes::pass_2//
0.4% in //Sequence::undertake_queued_tasks//
@ -16,13 +16,13 @@
0.1% in //RTKindConstructors::compile_permissions//
0.1% in //Task::make_built_in_kind_constructors//
0.1% in //World::stages_II_and_III//
1.7% not specifically accounted for
41.6% in running Inter pipeline
10.2% in inter step 7/14: consolidate-text
10.0% in step preparation
1.9% not specifically accounted for
41.8% in running Inter pipeline
11.1% in step preparation
10.3% in inter step 7/14: consolidate-text
8.6% in inter step 2/14: link
6.9% in inter step 14/14: generate inform6 -> auto.inf
1.1% in inter step 10/14: make-identifiers-unique
7.0% in inter step 14/14: generate inform6 -> auto.inf
1.0% in inter step 10/14: make-identifiers-unique
0.3% in inter step 11/14: reconcile-verbs
0.3% in inter step 13/14: eliminate-redundant-operations
0.3% in inter step 6/14: assimilate
@ -31,6 +31,6 @@
0.1% in inter step 4/14: parse-linked-matter
0.1% in inter step 5/14: resolve-conditional-compilation
0.1% in inter step 9/14: inspect-plugs
2.8% not specifically accounted for
1.7% not specifically accounted for
1.7% in supervisor
0.4% not specifically accounted for
0.5% not specifically accounted for

View file

@ -227,14 +227,12 @@ DECLARE_CLASS(to_phrase_request)
@ //index// --
@e activity_crossref_CLASS
@e command_index_entry_CLASS
@e connected_submap_CLASS
@e EPS_map_level_CLASS
@e rubric_holder_CLASS
=
DECLARE_CLASS_ALLOCATED_IN_ARRAYS(activity_crossref, 100)
DECLARE_CLASS(command_index_entry)
DECLARE_CLASS(connected_submap)
DECLARE_CLASS(EPS_map_level)
DECLARE_CLASS(rubric_holder)

View file

@ -2,48 +2,7 @@
To construct the index of command verbs.
@ The following modest structure is used for the indexing of command verbs,
and is too deeply boring to comment upon. These are the headwords of commands
which can be typed at run-time, like QUIT or INVENTORY. For indexing purposes,
we divide these headwords into five "natures":
@d NORMAL_COMMAND 1
@d ALIAS_COMMAND 2
@d OUT_OF_WORLD_COMMAND 3
@d TESTING_COMMAND 4
@d BARE_DIRECTION_COMMAND 5
=
typedef struct command_index_entry {
int nature; /* one of the above values */
struct text_stream *command_headword; /* text of command headword, such as "REMOVE" */
struct command_grammar *cg_indexed; /* ...leading to... */
struct command_index_entry *next_alphabetically; /* next in linked list */
CLASS_DEFINITION
} command_index_entry;
command_index_entry *sorted_command_index = NULL; /* in alphabetical order of |text| */
@ =
void CommandsIndex::index_meta_verb(char *t) {
command_index_entry *vie;
vie = CREATE(command_index_entry);
vie->command_headword = Str::new();
WRITE_TO(vie->command_headword, "%s", t);
vie->nature = OUT_OF_WORLD_COMMAND;
vie->cg_indexed = NULL;
vie->next_alphabetically = NULL;
}
void CommandsIndex::test_verb(text_stream *t) {
command_index_entry *vie;
vie = CREATE(command_index_entry);
vie->command_headword = Str::duplicate(t);
vie->nature = TESTING_COMMAND;
vie->cg_indexed = NULL;
vie->next_alphabetically = NULL;
}
void CommandsIndex::verb_definition(OUTPUT_STREAM, wchar_t *p, text_stream *trueverb, wording W) {
int i = 1;
if ((p[0] == 0) || (p[1] == 0)) return;
@ -67,17 +26,6 @@ void CommandsIndex::verb_definition(OUTPUT_STREAM, wchar_t *p, text_stream *true
}
}
command_index_entry *CommandsIndex::vie_new_from(OUTPUT_STREAM, wchar_t *headword, command_grammar *cg, int nature) {
command_index_entry *vie;
vie = CREATE(command_index_entry);
vie->command_headword = Str::new();
WRITE_TO(vie->command_headword, "%w", headword);
vie->nature = nature;
vie->cg_indexed = cg;
vie->next_alphabetically = NULL;
return vie;
}
void CommandsIndex::commands(OUTPUT_STREAM) {
command_index_entry *vie, *vie2, *last_vie2, *list_start = NULL;
command_grammar *cg;
@ -86,11 +34,7 @@ void CommandsIndex::commands(OUTPUT_STREAM) {
LOOP_OVER(cg, command_grammar)
CommandsIndex::make_command_index_entries(OUT, cg);
vie = CREATE(command_index_entry);
vie->command_headword = I"0";
vie->nature = BARE_DIRECTION_COMMAND;
vie->cg_indexed = NULL;
vie->next_alphabetically = NULL;
CommandsElement::direction_verb();
LOOP_OVER(vie, command_index_entry) {
if (list_start == NULL) { list_start = vie; continue; }
@ -273,17 +217,6 @@ to process; the other two routines act upon any such entries once they are
needed.
=
void CommandsIndex::make_command_index_entries(OUTPUT_STREAM, command_grammar *cg) {
if ((cg->cg_is == CG_IS_COMMAND) && (cg->first_line)) {
if (Wordings::empty(cg->command))
CommandsIndex::vie_new_from(OUT, L"0", cg, NORMAL_COMMAND);
else
CommandsIndex::vie_new_from(OUT, Lexer::word_text(Wordings::first_wn(cg->command)), cg, NORMAL_COMMAND);
for (int i=0; i<cg->no_aliased_commands; i++)
CommandsIndex::vie_new_from(OUT, Lexer::word_text(Wordings::first_wn(cg->aliased_command[i])), cg, ALIAS_COMMAND);
}
}
void CommandsIndex::index_alias(OUTPUT_STREAM, command_grammar *cg, text_stream *headword) {
WRITE("&quot;%S&quot;, <i>same as</i> &quot;%N&quot;",
headword, Wordings::first_wn(cg->command));

View file

@ -30,6 +30,7 @@ which use this module:
@e simplified_scene_CLASS
@e simplified_end_CLASS
@e simplified_connector_CLASS
@e command_index_entry_CLASS
=
DECLARE_CLASS(I6T_intervention)
@ -52,6 +53,7 @@ DECLARE_CLASS(index_tlexicon_entry)
DECLARE_CLASS(simplified_scene)
DECLARE_CLASS(simplified_end)
DECLARE_CLASS(simplified_connector)
DECLARE_CLASS(command_index_entry)
@ Like all modules, this one must define a |start| and |end| function:

View file

@ -0,0 +1,145 @@
[CommandsElement::] Commands Element.
To write the Commands element (Cm) in the index.
@ =
void CommandsElement::render(OUTPUT_STREAM) {
inter_tree *I = Index::get_tree();
command_index_entry *vie, *vie2, *last_vie2, *list_start = NULL;
command_grammar *cg;
int head_letter;
inter_package *pack = Inter::Packages::by_url(I, I"/main/completion/grammar");
inter_symbol *wanted = PackageTypes::get(I, I"_command_grammar");
inter_tree_node *D = Inter::Packages::definition(pack);
LOOP_THROUGH_INTER_CHILDREN(C, D) {
if (C->W.data[ID_IFLD] == PACKAGE_IST) {
inter_package *entry = Inter::Package::defined_by_frame(C);
if (Inter::Packages::type(entry) == wanted) {
/* if ((cg->cg_is == CG_IS_COMMAND) && (cg->first_line)) {
if (Wordings::empty(cg->command))
CommandsElement::vie_new_from(OUT, L"0", cg, NORMAL_COMMAND);
else
CommandsElement::vie_new_from(OUT, Lexer::word_text(Wordings::first_wn(cg->command)), cg, NORMAL_COMMAND);
for (int i=0; i<cg->no_aliased_commands; i++)
CommandsElement::vie_new_from(OUT, Lexer::word_text(Wordings::first_wn(cg->aliased_command[i])), cg, ALIAS_COMMAND);
*/
}
}
}
}
CommandsElement::direction_verb();
LOOP_OVER(vie, command_index_entry) {
if (list_start == NULL) { list_start = vie; continue; }
vie2 = list_start;
last_vie2 = NULL;
while (vie2 && (Str::cmp(vie->command_headword, vie2->command_headword) > 0)) {
last_vie2 = vie2;
vie2 = vie2->next_alphabetically;
}
if (last_vie2 == NULL) {
vie->next_alphabetically = list_start; list_start = vie;
} else {
last_vie2->next_alphabetically = vie; vie->next_alphabetically = vie2;
}
}
for (vie = list_start, head_letter = 0; vie; vie = vie->next_alphabetically) {
if (Str::get_first_char(vie->command_headword) != head_letter) {
if (head_letter) HTML_TAG("br");
head_letter = Str::get_first_char(vie->command_headword);
}
inter_package *cg = vie->cg_indexed;
switch (vie->nature) {
case NORMAL_COMMAND:
CommandsIndex::index_normal(OUT, cg, vie->command_headword);
break;
case ALIAS_COMMAND:
CommandsIndex::index_alias(OUT, cg, vie->command_headword);
break;
case OUT_OF_WORLD_COMMAND:
HTML::begin_colour(OUT, I"800000");
WRITE("&quot;%S&quot;, <i>a command for controlling play</i>",
vie->command_headword);
HTML::end_colour(OUT);
HTML_TAG("br");
break;
case TESTING_COMMAND:
HTML::begin_colour(OUT, I"800000");
WRITE("&quot;%S&quot;, <i>a testing command not available "
"in the final game</i>",
vie->command_headword);
HTML::end_colour(OUT);
HTML_TAG("br");
break;
case BARE_DIRECTION_COMMAND:
WRITE("&quot;[direction]&quot; - <i>Going</i>");
HTML_TAG("br");
break;
}
}
}
@ The following modest structure is used for the indexing of command verbs,
and is too deeply boring to comment upon. These are the headwords of commands
which can be typed at run-time, like QUIT or INVENTORY. For indexing purposes,
we divide these headwords into five "natures":
@d NORMAL_COMMAND 1
@d ALIAS_COMMAND 2
@d OUT_OF_WORLD_COMMAND 3
@d TESTING_COMMAND 4
@d BARE_DIRECTION_COMMAND 5
=
typedef struct command_index_entry {
int nature; /* one of the above values */
struct text_stream *command_headword; /* text of command headword, such as "REMOVE" */
struct inter_package *cg_indexed; /* ...leading to... */
struct command_index_entry *next_alphabetically; /* next in linked list */
CLASS_DEFINITION
} command_index_entry;
command_index_entry *sorted_command_index = NULL; /* in alphabetical order of |text| */
@ =
void CommandsElement::index_meta_verb(char *t) {
command_index_entry *vie;
vie = CREATE(command_index_entry);
vie->command_headword = Str::new();
WRITE_TO(vie->command_headword, "%s", t);
vie->nature = OUT_OF_WORLD_COMMAND;
vie->cg_indexed = NULL;
vie->next_alphabetically = NULL;
}
void CommandsElement::test_verb(text_stream *t) {
command_index_entry *vie;
vie = CREATE(command_index_entry);
vie->command_headword = Str::duplicate(t);
vie->nature = TESTING_COMMAND;
vie->cg_indexed = NULL;
vie->next_alphabetically = NULL;
}
command_index_entry *CommandsElement::vie_new_from(wchar_t *headword, inter_package *cg, int nature) {
command_index_entry *vie;
vie = CREATE(command_index_entry);
vie->command_headword = Str::new();
WRITE_TO(vie->command_headword, "%w", headword);
vie->nature = nature;
vie->cg_indexed = cg;
vie->next_alphabetically = NULL;
return vie;
}
void CommandsElement::direction_verb(void) {
vie = CREATE(command_index_entry);
vie->command_headword = I"0";
vie->nature = BARE_DIRECTION_COMMAND;
vie->cg_indexed = NULL;
vie->next_alphabetically = NULL;
}

View file

@ -649,21 +649,22 @@ void Index::index_actual_element(OUTPUT_STREAM, text_stream *elt) {
if (Str::eq_wide_string(elt, L"C")) { ContentsElement::render(OUT); return; }
if (Str::eq_wide_string(elt, L"Cd")) { CardElement::render(OUT); return; }
if (Str::eq_wide_string(elt, L"Ch")) { ChartElement::render(OUT); return; }
if (Str::eq_wide_string(elt, L"Cm")) { CommandsElement::render(OUT); return; }
if (Str::eq_wide_string(elt, L"Ev")) { EventsElement::render(OUT); return; }
if (Str::eq_wide_string(elt, L"Fi")) { FiguresElement::render(OUT); return; }
if (Str::eq_wide_string(elt, L"Gz")) { GazetteerElement::render(OUT); return; }
if (Str::eq_wide_string(elt, L"In")) { InnardsElement::render(OUT); return; }
if (Str::eq_wide_string(elt, L"Lx")) { LexiconElement::render(OUT); return; }
if (Str::eq_wide_string(elt, L"Ph")) { PhrasebookElement::render(OUT); return; }
if (Str::eq_wide_string(elt, L"Pl")) { PlotElement::render(OUT); return; }
if (Str::eq_wide_string(elt, L"Rl")) { RelationsElement::render(OUT); return; }
if (Str::eq_wide_string(elt, L"RS")) { RulesForScenesElement::render(OUT); return; }
if (Str::eq_wide_string(elt, L"St")) { StandardsElement::render(OUT); return; }
if (Str::eq_wide_string(elt, L"Tb")) { TablesElement::render(OUT); return; }
if (Str::eq_wide_string(elt, L"To")) { TokensElement::render(OUT); return; }
if (Str::eq_wide_string(elt, L"Vb")) { VerbsElement::render(OUT); return; }
if (Str::eq_wide_string(elt, L"Vl")) { ValuesElement::render(OUT); return; }
if (Str::eq_wide_string(elt, L"Xt")) { ExtrasElement::render(OUT); return; }
if (Str::eq_wide_string(elt, L"Ph")) { PhrasebookElement::render(OUT); return; }
if (Str::eq_wide_string(elt, L"To")) { TokensElement::render(OUT); return; }
#ifdef CORE_MODULE
if (Str::eq_wide_string(elt, L"Mp")) {
@ -674,10 +675,6 @@ void Index::index_actual_element(OUTPUT_STREAM, text_stream *elt) {
CommandsIndex::page(OUT);
return;
}
if (Str::eq_wide_string(elt, L"Cm")) {
CommandsIndex::commands(OUT);
return;
}
if (Str::eq_wide_string(elt, L"A2")) {
CommandsIndex::alphabetical(OUT);
return;

View file

@ -85,3 +85,4 @@ Chapter 6: Index
Chart Element
Phrasebook Element
Tokens Element
Commands Element