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

Migrated Tb element

This commit is contained in:
Graham Nelson 2021-06-05 18:28:55 +01:00
parent 3ce17f22a4
commit 96d7c0ab2d
44 changed files with 874 additions and 443 deletions

View file

@ -207,7 +207,7 @@ function togglePopup(material_id) {
<span class="reserved-syntax">tree_inventory</span><span class="plain-syntax"> *</span><span class="identifier-syntax">cached_inventory</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
<span class="identifier-syntax">inter_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">cache_is_for</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
<span class="reserved-syntax">tree_inventory</span><span class="plain-syntax"> *</span><span class="function-syntax">Synoptic::inv</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">Synoptic::inv</span></span>:<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></span></button><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>
<span class="reserved-syntax">tree_inventory</span><span class="plain-syntax"> *</span><span class="function-syntax">Synoptic::inv</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">Synoptic::inv</span></span>:<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></span></button><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>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">cache_is_for</span><span class="plain-syntax"> == </span><span class="identifier-syntax">I</span><span class="plain-syntax">) </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">cached_inventory</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">cache_is_for</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">cached_inventory</span><span class="plain-syntax"> = </span><a href="3-su.html#SP1" class="function-link"><span class="function-syntax">Synoptic::new_inventory</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">);</span>
@ -238,7 +238,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">TRUE</span><span class="plain-syntax">;</span>
<span class="plain-syntax">}</span>
</pre>
<ul class="endnotetexts"><li>The structure tree_inventory is accessed in 3/ext, 3/lt, 3/rsp, 3/rls, 3/act, 3/act2, 3/ins, 3/knd, 3/prp, 3/rlt, 3/tbl, 3/chr, 3/scn, 3/mlt, 3/uo, 3/vrb, 3/tst, 6/be, 6/re, 6/ee, 6/fe and here.</li><li>The structure tree_inventory_item is private to this section.</li></ul>
<ul class="endnotetexts"><li>The structure tree_inventory is accessed in 3/ext, 3/lt, 3/rsp, 3/rls, 3/act, 3/act2, 3/ins, 3/knd, 3/prp, 3/rlt, 3/tbl, 3/chr, 3/scn, 3/mlt, 3/uo, 3/vrb, 3/tst, 6/be, 6/re, 6/ee, 6/fe, 6/te and here.</li><li>The structure tree_inventory_item is private to this section.</li></ul>
<p class="commentary firstcommentary"><a id="SP2" class="paragraph-anchor"></a><b>&#167;2. </b></p>
<pre class="displayed-code all-displayed-code code-font">
@ -257,7 +257,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">E1</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">sort_key</span><span class="plain-syntax"> - </span><span class="identifier-syntax">E2</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">sort_key</span><span class="plain-syntax">; </span><span class="comment-syntax"> smaller values sort earlier</span>
<span class="plain-syntax">}</span>
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">Synoptic::category_order</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">Synoptic::category_order</span></span>:<br/>Extensions - <a href="3-ext.html#SP1">&#167;1</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">Synoptic::category_order</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">Synoptic::category_order</span></span>:<br/>Extensions - <a href="3-ext.html#SP1">&#167;1</a><br/>Tables Element - <a href="6-te.html#SP1">&#167;1</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="identifier-syntax">itl_entry</span><span class="plain-syntax"> *</span><span class="identifier-syntax">E1</span><span class="plain-syntax"> = (</span><span class="identifier-syntax">itl_entry</span><span class="plain-syntax"> *) </span><span class="identifier-syntax">ent1</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">itl_entry</span><span class="plain-syntax"> *</span><span class="identifier-syntax">E2</span><span class="plain-syntax"> = (</span><span class="identifier-syntax">itl_entry</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">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">E1</span><span class="plain-syntax"> == </span><span class="identifier-syntax">E2</span><span class="plain-syntax">) </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="constant-syntax">0</span><span class="plain-syntax">;</span>
@ -373,7 +373,7 @@ function togglePopup(material_id) {
<span class="plain-syntax"> </span><span class="identifier-syntax">synoptic_array_node</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">synoptic_array_node</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">W</span><span class="plain-syntax">.</span><span class="identifier-syntax">extent</span><span class="plain-syntax">-1] = </span><span class="identifier-syntax">val2</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="function-syntax">Synoptic::get_definition</span><button class="popup" onclick="togglePopup('usagePopup16')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup16">Usage of <span class="code-font"><span class="function-syntax">Synoptic::get_definition</span></span>:<br/>Extensions - <a href="3-ext.html#SP1">&#167;1</a><br/>Responses - <a href="3-rsp.html#SP1">&#167;1</a><br/>Rules - <a href="3-rls.html#SP1">&#167;1</a><br/>Activities - <a href="3-act.html#SP1">&#167;1</a><br/>Actions - <a href="3-act2.html#SP2">&#167;2</a><br/>Properties - <a href="3-prp.html#SP1">&#167;1</a><br/>Relations - <a href="3-rlt.html#SP1">&#167;1</a><br/>Tables - <a href="3-tbl.html#SP1">&#167;1</a>, <a href="3-tbl.html#SP1_4">&#167;1.4</a><br/>Chronology - <a href="3-chr.html#SP1">&#167;1</a><br/>Use Options - <a href="3-uo.html#SP1">&#167;1</a></span></button><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">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">name</span><span class="plain-syntax">) {</span>
<span class="identifier-syntax">inter_tree_node</span><span class="plain-syntax"> *</span><span class="function-syntax">Synoptic::get_definition</span><button class="popup" onclick="togglePopup('usagePopup16')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup16">Usage of <span class="code-font"><span class="function-syntax">Synoptic::get_definition</span></span>:<br/>Extensions - <a href="3-ext.html#SP1">&#167;1</a><br/>Responses - <a href="3-rsp.html#SP1">&#167;1</a><br/>Rules - <a href="3-rls.html#SP1">&#167;1</a><br/>Activities - <a href="3-act.html#SP1">&#167;1</a><br/>Actions - <a href="3-act2.html#SP2">&#167;2</a><br/>Properties - <a href="3-prp.html#SP1">&#167;1</a><br/>Relations - <a href="3-rlt.html#SP1">&#167;1</a><br/>Tables - <a href="3-tbl.html#SP1">&#167;1</a>, <a href="3-tbl.html#SP1_4">&#167;1.4</a><br/>Chronology - <a href="3-chr.html#SP1">&#167;1</a><br/>Use Options - <a href="3-uo.html#SP1">&#167;1</a><br/>Tables Element - <a href="6-te.html#SP1_3">&#167;1.3</a></span></button><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">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">name</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">def_s</span><span class="plain-syntax"> = </span><span class="identifier-syntax">InterSymbolsTables::symbol_from_name</span><span class="plain-syntax">(</span><span class="identifier-syntax">Inter::Packages::scope</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">), </span><span class="identifier-syntax">name</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">def_s</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">LOG</span><span class="plain-syntax">(</span><span class="string-syntax">"Unable to find symbol %S in $6\n"</span><span class="plain-syntax">, </span><span class="identifier-syntax">name</span><span class="plain-syntax">, </span><span class="identifier-syntax">pack</span><span class="plain-syntax">);</span>
@ -395,7 +395,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">D</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="function-syntax">Synoptic::module_containing</span><button class="popup" onclick="togglePopup('usagePopup18')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup18">Usage of <span class="code-font"><span class="function-syntax">Synoptic::module_containing</span></span>:<br/><a href="3-su.html#SP2">&#167;2</a><br/>Verbs - <a href="3-vrb.html#SP1">&#167;1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">P</span><span class="plain-syntax">) {</span>
<span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="function-syntax">Synoptic::module_containing</span><button class="popup" onclick="togglePopup('usagePopup18')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup18">Usage of <span class="code-font"><span class="function-syntax">Synoptic::module_containing</span></span>:<br/><a href="3-su.html#SP2">&#167;2</a><br/>Verbs - <a href="3-vrb.html#SP1">&#167;1</a><br/>Tables Element - <a href="6-te.html#SP1">&#167;1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">P</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::container</span><span class="plain-syntax">(</span><span class="identifier-syntax">P</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><span class="identifier-syntax">Inter::Packages::tree</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</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">pack</span><span class="plain-syntax">) {</span>

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-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-ce.html">ce</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="progressnext"><a href="6-re.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-ce.html">ce</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="progressnext"><a href="6-re.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-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">ce</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="progressnext"><a href="6-be.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">ce</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="progressnext"><a href="6-be.html">&#10095;</a></li></ul></div>
</nav><!--End of weave-->
</main>

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-ce.html">ce</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="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-ce.html">ce</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="progressnext"><a href="6-fe.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-ce.html">ce</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="progressnextoff">&#10095;</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-ce.html">ce</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="progressnext"><a href="6-te.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/>Card Element - <a href="6-ce.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></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/>Card Element - <a href="6-ce.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></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>
@ -225,7 +225,6 @@ leafname <span class="extract"><span class="extract-syntax">A.html</span></span>
<span class="plain-syntax"> }</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">ifl</span><span class="plain-syntax"> = &amp;</span><span class="identifier-syntax">index_file_struct</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">OUT</span><span class="plain-syntax"> = </span><span class="identifier-syntax">ifl</span><span class="plain-syntax">;</span>
<span class="identifier-syntax">LOG</span><span class="plain-syntax">(</span><span class="string-syntax">"Index: %f\n"</span><span class="plain-syntax">, </span><span class="identifier-syntax">F</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="6-ifs.html#SP8_1" class="named-paragraph-link"><span class="named-paragraph">Set the current index page</span><span class="named-paragraph-number">8.1</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::header</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">title</span><span class="plain-syntax">,</span>
@ -838,12 +837,12 @@ to show, hide and colour things:
<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="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="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">"Tb"</span><span class="plain-syntax">)) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">IXTables::render</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">);</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="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="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">"In"</span><span class="plain-syntax">)) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">IXInnards::render</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">Supervisor::current_vm</span><span class="plain-syntax">());</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax">;</span>
@ -1023,7 +1022,7 @@ the source text in the application.
</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">Index::link</span><button class="popup" onclick="togglePopup('usagePopup12')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup12">Usage of <span class="code-font"><span class="function-syntax">Index::link</span></span>:<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_1">&#167;1.1</a>, <a href="6-ee.html#SP1_2">&#167;1.2</a><br/>Figures Element - <a href="6-fe.html#SP1_1">&#167;1.1</a>, <a href="6-fe.html#SP1_2">&#167;1.2</a>, <a href="6-fe.html#SP1_3">&#167;1.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">wn</span><span class="plain-syntax">) {</span>
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Index::link</span><button class="popup" onclick="togglePopup('usagePopup12')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup12">Usage of <span class="code-font"><span class="function-syntax">Index::link</span></span>:<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_1">&#167;1.1</a>, <a href="6-ee.html#SP1_2">&#167;1.2</a><br/>Figures Element - <a href="6-fe.html#SP1_1">&#167;1.1</a>, <a href="6-fe.html#SP1_2">&#167;1.2</a>, <a href="6-fe.html#SP1_3">&#167;1.3</a><br/>Tables Element - <a href="6-te.html#SP1_3">&#167;1.3</a>, <a href="6-te.html#SP1_3_1">&#167;1.3.1</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">wn</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><a href="6-ifs.html#SP14" class="function-link"><span class="function-syntax">Index::link_to_location</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">Lexer::word_location</span><span class="plain-syntax">(</span><span class="identifier-syntax">wn</span><span class="plain-syntax">), </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">);</span>
<span class="plain-syntax">}</span>
@ -1096,7 +1095,7 @@ code.
<p class="commentary firstcommentary"><a id="SP17" class="paragraph-anchor"></a><b>&#167;17. "Show extra" links, and also a spacer of equivalent width. </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">Index::extra_link</span><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">id</span><span class="plain-syntax">) {</span>
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Index::extra_link</span><button class="popup" onclick="togglePopup('usagePopup15')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup15">Usage of <span class="code-font"><span class="function-syntax">Index::extra_link</span></span>:<br/>Tables Element - <a href="6-te.html#SP1_1">&#167;1.1</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">id</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_OPEN_WITH</span><span class="plain-syntax">(</span><span class="string-syntax">"a"</span><span class="plain-syntax">, </span><span class="string-syntax">"href=\"#\" onclick=\"showExtra('extra%d', 'plus%d'); return false;\""</span><span class="plain-syntax">, </span><span class="identifier-syntax">id</span><span class="plain-syntax">, </span><span class="identifier-syntax">id</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_TAG_WITH</span><span class="plain-syntax">(</span><span class="string-syntax">"img"</span><span class="plain-syntax">, </span><span class="string-syntax">"border=0 id=\"plus%d\" src=inform:/doc_images/extra.png"</span><span class="plain-syntax">, </span><span class="identifier-syntax">id</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">"a"</span><span class="plain-syntax">);</span>
@ -1126,13 +1125,13 @@ code.
</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">Index::extra_div_open</span><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">id</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">indent</span><span class="plain-syntax">, </span><span class="reserved-syntax">char</span><span class="plain-syntax"> *</span><span class="identifier-syntax">colour</span><span class="plain-syntax">) {</span>
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Index::extra_div_open</span><button class="popup" onclick="togglePopup('usagePopup16')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup16">Usage of <span class="code-font"><span class="function-syntax">Index::extra_div_open</span></span>:<br/>Tables Element - <a href="6-te.html#SP1_1">&#167;1.1</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">id</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">indent</span><span class="plain-syntax">, </span><span class="reserved-syntax">char</span><span class="plain-syntax"> *</span><span class="identifier-syntax">colour</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_OPEN_WITH</span><span class="plain-syntax">(</span><span class="string-syntax">"div"</span><span class="plain-syntax">, </span><span class="string-syntax">"id=\"extra%d\" style=\"display: none;\""</span><span class="plain-syntax">, </span><span class="identifier-syntax">id</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="identifier-syntax">indent</span><span class="plain-syntax">, </span><span class="string-syntax">""</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::open_coloured_box</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">colour</span><span class="plain-syntax">, </span><span class="identifier-syntax">ROUND_BOX_TOP</span><span class="plain-syntax">+</span><span class="identifier-syntax">ROUND_BOX_BOTTOM</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">Index::extra_div_close</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">char</span><span class="plain-syntax"> *</span><span class="identifier-syntax">colour</span><span class="plain-syntax">) {</span>
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Index::extra_div_close</span><button class="popup" onclick="togglePopup('usagePopup17')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup17">Usage of <span class="code-font"><span class="function-syntax">Index::extra_div_close</span></span>:<br/>Tables Element - <a href="6-te.html#SP1_2">&#167;1.2</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">char</span><span class="plain-syntax"> *</span><span class="identifier-syntax">colour</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::close_coloured_box</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">colour</span><span class="plain-syntax">, </span><span class="identifier-syntax">ROUND_BOX_TOP</span><span class="plain-syntax">+</span><span class="identifier-syntax">ROUND_BOX_BOTTOM</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="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"div"</span><span class="plain-syntax">);</span>
@ -1176,7 +1175,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-ce.html">ce</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="progressnext"><a href="6-ce.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-ce.html">ce</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="progressnext"><a href="6-ce.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-ce.html">ce</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="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-ce.html">ce</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="progressnext"><a href="6-ifs.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-ce.html">ce</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="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-ce.html">ce</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="progressnext"><a href="6-ee.html">&#10095;</a></li></ul></div>
</nav><!--End of weave-->
</main>

View file

@ -0,0 +1,261 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Tables 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 'Tables 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>Tables Element</b></li></ul></div>
<p class="purpose">To write the Tables element (Tb) in the index.</p>
<ul class="toc"><li><a href="6-te.html#SP1">&#167;1. Indexing</a></li></ul><hr class="tocbar">
<p class="commentary firstcommentary"><a id="SP1" class="paragraph-anchor"></a><b>&#167;1. Indexing. </b>Tables inside extensions are often used just for the storage needed to manage
back-of-house algorithms, so to speak, and they aren't intended for the end
user to poke around with; that's certainly true of the tables in the Standard
Rules, which of course are always present. So these are hidden by default.
</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">TablesElement::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">TablesElement::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">tree_inventory</span><span class="plain-syntax"> *</span><span class="identifier-syntax">inv</span><span class="plain-syntax"> = </span><a href="3-su.html#SP1" class="function-link"><span class="function-syntax">Synoptic::inv</span></a><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">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">table_nodes</span><span class="plain-syntax">, </span><a href="3-su.html#SP2" class="function-link"><span class="function-syntax">Synoptic::category_order</span></a><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">current_mod</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">; </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">mc</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">, </span><span class="identifier-syntax">first_ext</span><span class="plain-syntax"> = </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">cat</span><span class="plain-syntax"> = </span><span class="constant-syntax">1</span><span class="plain-syntax">, </span><span class="identifier-syntax">open_cat</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</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">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">with_cat</span><span class="plain-syntax"> = </span><span class="constant-syntax">1</span><span class="plain-syntax">; </span><span class="identifier-syntax">with_cat</span><span class="plain-syntax"> &lt;= </span><span class="constant-syntax">3</span><span class="plain-syntax">; </span><span class="identifier-syntax">with_cat</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;TreeLists::len(inv-&gt;</span><span class="element-syntax">table_nodes</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_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">mod</span><span class="plain-syntax"> = </span><a href="3-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::module_containing</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">table_nodes</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">list</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">].</span><span class="identifier-syntax">node</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">mod</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</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">cat</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Metadata::read_optional_numeric</span><span class="plain-syntax">(</span><span class="identifier-syntax">mod</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^category"</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">cat</span><span class="plain-syntax"> == </span><span class="identifier-syntax">with_cat</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">mc</span><span class="plain-syntax"> == </span><span class="constant-syntax">0</span><span class="plain-syntax">) || (</span><span class="identifier-syntax">mod</span><span class="plain-syntax"> != </span><span class="identifier-syntax">current_mod</span><span class="plain-syntax">)) {</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="6-te.html#SP1_2" class="named-paragraph-link"><span class="named-paragraph">Close block of tables</span><span class="named-paragraph-number">1.2</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">mc</span><span class="plain-syntax">++; </span><span class="identifier-syntax">current_mod</span><span class="plain-syntax"> = </span><span class="identifier-syntax">mod</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="6-te.html#SP1_1" class="named-paragraph-link"><span class="named-paragraph">Open block of tables</span><span class="named-paragraph-number">1.1</span></a></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">pack</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">inv</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">table_nodes</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">list</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">].</span><span class="identifier-syntax">node</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="6-te.html#SP1_3" class="named-paragraph-link"><span class="named-paragraph">Index this table</span><span class="named-paragraph-number">1.3</span></a></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="named-paragraph-container code-font"><a href="6-te.html#SP1_2" class="named-paragraph-link"><span class="named-paragraph">Close block of tables</span><span class="named-paragraph-number">1.2</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax">}</span>
</pre>
<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">Open block of tables</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">
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">cat</span><span class="plain-syntax"> &gt; </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">first_ext</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><a href="6-ifs.html#SP17" class="function-link"><span class="function-syntax">Index::extra_link</span></a><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="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">mc</span><span class="plain-syntax"> &gt; </span><span class="constant-syntax">1</span><span class="plain-syntax">) </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"Show tables inside extensions too"</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">"Show tables inside extensions (there are none in the main text)"</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="identifier-syntax">first_ext</span><span class="plain-syntax"> = </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> }</span>
<span class="plain-syntax"> </span><a href="6-ifs.html#SP18" class="function-link"><span class="function-syntax">Index::extra_div_open</span></a><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="constant-syntax">1</span><span class="plain-syntax">, </span><span class="string-syntax">"e0e0e0"</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="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"&lt;i&gt;%S&lt;/i&gt;"</span><span class="plain-syntax">, </span><span class="identifier-syntax">Metadata::read_textual</span><span class="plain-syntax">(</span><span class="identifier-syntax">mod</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^title"</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="plain-syntax"> </span><span class="identifier-syntax">open_cat</span><span class="plain-syntax"> = </span><span class="identifier-syntax">cat</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::begin_plain_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="6-te.html#SP1">&#167;1</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP1_2" class="paragraph-anchor"></a><b>&#167;1.2. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Close block of tables</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">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">mc</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">HTML::end_html_table</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">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">open_cat</span><span class="plain-syntax"> &gt; </span><span class="constant-syntax">1</span><span class="plain-syntax">) </span><a href="6-ifs.html#SP18" class="function-link"><span class="function-syntax">Index::extra_div_close</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="string-syntax">"e0e0e0"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> }</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="6-te.html#SP1">&#167;1</a> (twice).</li></ul>
<p class="commentary firstcommentary"><a id="SP1_3" class="paragraph-anchor"></a><b>&#167;1.3. </b>The following probably ought to use a multiplication sign rather than a
Helvetica-style lower case "x", but life is full of compromises.
</p>
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Index this table</span><span class="named-paragraph-number">1.3</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::first_html_column_spaced</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</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">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"&lt;b&gt;%S&lt;/b&gt;"</span><span class="plain-syntax">, </span><span class="identifier-syntax">Metadata::read_textual</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^printed_name"</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">ntc</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">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">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">"_table_contribution"</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">ntc</span><span class="plain-syntax">++ &gt; </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="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">at</span><span class="plain-syntax"> = (</span><span class="reserved-syntax">int</span><span class="plain-syntax">) </span><span class="identifier-syntax">Metadata::read_optional_numeric</span><span class="plain-syntax">(</span><span class="identifier-syntax">entry</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^at"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="6-ifs.html#SP14" class="function-link"><span class="function-syntax">Index::link</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">at</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="identifier-syntax">HTML::next_html_column_spaced</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="constant-syntax">0</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">nc</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_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">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">"_table_column_usage"</span><span class="plain-syntax">))</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">nc</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">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">nr</span><span class="plain-syntax"> = (</span><span class="reserved-syntax">int</span><span class="plain-syntax">) </span><span class="identifier-syntax">Metadata::read_numeric</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^rows"</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">nb</span><span class="plain-syntax"> = (</span><span class="reserved-syntax">int</span><span class="plain-syntax">) </span><span class="identifier-syntax">Metadata::read_numeric</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^blank_rows"</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">defines</span><span class="plain-syntax"> = (</span><span class="reserved-syntax">int</span><span class="plain-syntax">) </span><span class="identifier-syntax">Metadata::read_optional_numeric</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^defines"</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">for_each</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Metadata::read_optional_textual</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^blank_rows_for_each"</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;"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_OPEN_WITH</span><span class="plain-syntax">(</span><span class="string-syntax">"span"</span><span class="plain-syntax">, </span><span class="string-syntax">"class=\"smaller\""</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">defines</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">"%d definition%s"</span><span class="plain-syntax">, </span><span class="identifier-syntax">nr</span><span class="plain-syntax">, (</span><span class="identifier-syntax">nr</span><span class="plain-syntax"> == </span><span class="constant-syntax">1</span><span class="plain-syntax">)?</span><span class="string-syntax">""</span><span class="plain-syntax">:</span><span class="string-syntax">"s"</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">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"%d column%s x %d row%s"</span><span class="plain-syntax">, </span><span class="identifier-syntax">nc</span><span class="plain-syntax">, (</span><span class="identifier-syntax">nc</span><span class="plain-syntax"> == </span><span class="constant-syntax">1</span><span class="plain-syntax">)?</span><span class="string-syntax">""</span><span class="plain-syntax">:</span><span class="string-syntax">"s"</span><span class="plain-syntax">, </span><span class="identifier-syntax">nr</span><span class="plain-syntax">, (</span><span class="identifier-syntax">nr</span><span class="plain-syntax"> == </span><span class="constant-syntax">1</span><span class="plain-syntax">)?</span><span class="string-syntax">""</span><span class="plain-syntax">:</span><span class="string-syntax">"s"</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">nb</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">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">" (%d blank"</span><span class="plain-syntax">, </span><span class="identifier-syntax">nb</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">for_each</span><span class="plain-syntax">) &gt; </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">", one for each %S"</span><span class="plain-syntax">, </span><span class="identifier-syntax">for_each</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">")"</span><span class="plain-syntax">);</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">"span"</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;"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::end_html_row</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">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">col</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_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">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">"_table_column_usage"</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">ID</span><span class="plain-syntax"> = </span><a href="3-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::get_definition</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">entry</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"column_identity"</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">id_s</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">ID</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">DATA_CONST_IFLD</span><span class="plain-syntax">] == </span><span class="identifier-syntax">ALIAS_IVAL</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">id_s</span><span class="plain-syntax"> = </span><span class="identifier-syntax">InterSymbolsTables::symbol_from_id</span><span class="plain-syntax">(</span><span class="identifier-syntax">Inter::Packages::scope</span><span class="plain-syntax">(</span><span class="identifier-syntax">entry</span><span class="plain-syntax">), </span><span class="identifier-syntax">ID</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">DATA_CONST_IFLD</span><span class="plain-syntax">+1]);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">id_s</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) </span><span class="identifier-syntax">internal_error</span><span class="plain-syntax">(</span><span class="string-syntax">"column_identity not an ALIAS_IVAL"</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">col_pack</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Packages::container</span><span class="plain-syntax">(</span><span class="identifier-syntax">id_s</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">definition</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">LOG</span><span class="plain-syntax">(</span><span class="string-syntax">"Whellll... $6\n"</span><span class="plain-syntax">, </span><span class="identifier-syntax">col_pack</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::first_html_column</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</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">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"&amp;nbsp;&amp;nbsp;col %d:&amp;nbsp;&amp;nbsp;"</span><span class="plain-syntax">, </span><span class="identifier-syntax">col</span><span class="plain-syntax">+1);</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="6-te.html#SP1_3_1" class="named-paragraph-link"><span class="named-paragraph">Give column details</span><span class="named-paragraph-number">1.3.1</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::next_html_column</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="constant-syntax">0</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="6-te.html#SP1_3_2" class="named-paragraph-link"><span class="named-paragraph">Give column 2 details</span><span class="named-paragraph-number">1.3.2</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::end_html_row</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">col</span><span class="plain-syntax">++;</span>
<span class="plain-syntax"> }</span>
<span class="plain-syntax"> }</span>
<span class="plain-syntax"> }</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="6-te.html#SP1">&#167;1</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP1_3_1" class="paragraph-anchor"></a><b>&#167;1.3.1. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Give column details</span><span class="named-paragraph-number">1.3.1</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">
<span class="plain-syntax"> </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">CW</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Metadata::read_optional_textual</span><span class="plain-syntax">(</span><span class="identifier-syntax">col_pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^name"</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">defines</span><span class="plain-syntax">) &amp;&amp; (</span><span class="identifier-syntax">col</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">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"%S"</span><span class="plain-syntax">, </span><span class="identifier-syntax">Metadata::read_optional_textual</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^defines_text"</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">at</span><span class="plain-syntax"> = (</span><span class="reserved-syntax">int</span><span class="plain-syntax">) </span><span class="identifier-syntax">Metadata::read_optional_numeric</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^defines_at"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="6-ifs.html#SP14" class="function-link"><span class="function-syntax">Index::link</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">at</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="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">defines</span><span class="plain-syntax">) </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"&lt;i&gt;sets&lt;/i&gt; "</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&amp;nbsp;"</span><span class="plain-syntax">, </span><span class="identifier-syntax">CW</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">TEMP</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">TEMP</span><span class="plain-syntax">, </span><span class="string-syntax">"%S"</span><span class="plain-syntax">, </span><span class="identifier-syntax">CW</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">defines</span><span class="plain-syntax"> == </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">) </span><span class="identifier-syntax">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">TEMP</span><span class="plain-syntax">, </span><span class="string-syntax">" entry"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">PasteButtons::paste_text</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">TEMP</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">DISCARD_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">TEMP</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> }</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="6-te.html#SP1_3">&#167;1.3</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP1_3_2" class="paragraph-anchor"></a><b>&#167;1.3.2. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Give column 2 details</span><span class="named-paragraph-number">1.3.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">if</span><span class="plain-syntax"> ((</span><span class="identifier-syntax">defines</span><span class="plain-syntax">) &amp;&amp; (</span><span class="identifier-syntax">col</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">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"&lt;i&gt;names&lt;/i&gt;"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> } </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">defines</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 property"</span><span class="plain-syntax">, </span><span class="identifier-syntax">Metadata::read_optional_textual</span><span class="plain-syntax">(</span><span class="identifier-syntax">col_pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^contents"</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">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"of %S"</span><span class="plain-syntax">, </span><span class="identifier-syntax">Metadata::read_optional_textual</span><span class="plain-syntax">(</span><span class="identifier-syntax">col_pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^contents"</span><span class="plain-syntax">));</span>
<span class="plain-syntax"> }</span>
</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-ce.html">ce</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="progressnextoff">&#10095;</li></ul></div>
</nav><!--End of weave-->
</main>
</body>
</html>

View file

@ -361,6 +361,11 @@
<spon class="sectiontitle">Figures Element</span></a> -
<span class="sectionpurpose">To write the Figures element (Fi) in the index.</span></p>
</li>
<li>
<p class="sectionentry"><a href="6-te.html">
<spon class="sectiontitle">Tables Element</span></a> -
<span class="sectionpurpose">To write the Tables element (Tb) in the index.</span></p>
</li>
</ul>
</li>
</ul>

View file

@ -86,7 +86,7 @@ function togglePopup(material_id) {
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="reserved-syntax">activity_crossref</span><span class="plain-syntax"> *</span><span class="identifier-syntax">next</span><span class="plain-syntax">;</span>
<span class="plain-syntax">} </span><span class="reserved-syntax">activity_crossref</span><span class="plain-syntax">;</span>
</pre>
<ul class="endnotetexts"><li>The structure activity_indexing_data is private to this section.</li><li>The structure activity_crossref is accessed in 2/ins, 2/rls, 2/te, 3/pe, 4/em and here.</li></ul>
<ul class="endnotetexts"><li>The structure activity_indexing_data is private to this section.</li><li>The structure activity_crossref is accessed in 2/ins, 2/rls, 3/pe, 4/em and here.</li></ul>
<p class="commentary firstcommentary"><a id="SP2" class="paragraph-anchor"></a><b>&#167;2. </b></p>
<pre class="displayed-code all-displayed-code code-font">
@ -164,7 +164,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="2-rls.html">&#10094;</a></li><li class="progresschapter"><a href="1-im.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-li.html">li</a></li><li class="progresssection"><a href="2-me.html">me</a></li><li class="progresssection"><a href="2-ki.html">ki</a></li><li class="progresssection"><a href="2-ie.html">ie</a></li><li class="progresssection"><a href="2-ce.html">ce</a></li><li class="progresssection"><a href="2-ins.html">ins</a></li><li class="progresssection"><a href="2-adj.html">adj</a></li><li class="progresssection"><a href="2-ve.html">ve</a></li><li class="progresssection"><a href="2-prp.html">prp</a></li><li class="progresssection"><a href="2-inf.html">inf</a></li><li class="progresssection"><a href="2-rls.html">rls</a></li><li class="progresscurrent">act</li><li class="progresssection"><a href="2-pi.html">pi</a></li><li class="progresssection"><a href="2-te.html">te</a></li><li class="progresssection"><a href="2-ie2.html">ie2</a></li><li class="progresssection"><a href="2-rfse.html">rfse</a></li><li class="progresssection"><a href="2-ae.html">ae</a></li><li class="progresschapter"><a href="3-spt.html">3</a></li><li class="progresschapter"><a href="4-sg.html">4</a></li><li class="progressnext"><a href="2-pi.html">&#10095;</a></li></ul></div>
<ul class="progressbar"><li class="progressprev"><a href="2-rls.html">&#10094;</a></li><li class="progresschapter"><a href="1-im.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-li.html">li</a></li><li class="progresssection"><a href="2-me.html">me</a></li><li class="progresssection"><a href="2-ki.html">ki</a></li><li class="progresssection"><a href="2-ie.html">ie</a></li><li class="progresssection"><a href="2-ce.html">ce</a></li><li class="progresssection"><a href="2-ins.html">ins</a></li><li class="progresssection"><a href="2-adj.html">adj</a></li><li class="progresssection"><a href="2-ve.html">ve</a></li><li class="progresssection"><a href="2-prp.html">prp</a></li><li class="progresssection"><a href="2-inf.html">inf</a></li><li class="progresssection"><a href="2-rls.html">rls</a></li><li class="progresscurrent">act</li><li class="progresssection"><a href="2-pi.html">pi</a></li><li class="progresssection"><a href="2-ie2.html">ie2</a></li><li class="progresssection"><a href="2-rfse.html">rfse</a></li><li class="progresssection"><a href="2-ae.html">ae</a></li><li class="progresschapter"><a href="3-spt.html">3</a></li><li class="progresschapter"><a href="4-sg.html">4</a></li><li class="progressnext"><a href="2-pi.html">&#10095;</a></li></ul></div>
</nav><!--End of weave-->
</main>

View file

@ -104,7 +104,7 @@ prefaced "(of a rulebook)", "(of an activity)", and so on.
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="2-adj.html#SP1">&#167;1</a>.</li></ul>
<nav role="progress"><div class="progresscontainer">
<ul class="progressbar"><li class="progressprev"><a href="2-ins.html">&#10094;</a></li><li class="progresschapter"><a href="1-im.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-li.html">li</a></li><li class="progresssection"><a href="2-me.html">me</a></li><li class="progresssection"><a href="2-ki.html">ki</a></li><li class="progresssection"><a href="2-ie.html">ie</a></li><li class="progresssection"><a href="2-ce.html">ce</a></li><li class="progresssection"><a href="2-ins.html">ins</a></li><li class="progresscurrent">adj</li><li class="progresssection"><a href="2-ve.html">ve</a></li><li class="progresssection"><a href="2-prp.html">prp</a></li><li class="progresssection"><a href="2-inf.html">inf</a></li><li class="progresssection"><a href="2-rls.html">rls</a></li><li class="progresssection"><a href="2-act.html">act</a></li><li class="progresssection"><a href="2-pi.html">pi</a></li><li class="progresssection"><a href="2-te.html">te</a></li><li class="progresssection"><a href="2-ie2.html">ie2</a></li><li class="progresssection"><a href="2-rfse.html">rfse</a></li><li class="progresssection"><a href="2-ae.html">ae</a></li><li class="progresschapter"><a href="3-spt.html">3</a></li><li class="progresschapter"><a href="4-sg.html">4</a></li><li class="progressnext"><a href="2-ve.html">&#10095;</a></li></ul></div>
<ul class="progressbar"><li class="progressprev"><a href="2-ins.html">&#10094;</a></li><li class="progresschapter"><a href="1-im.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-li.html">li</a></li><li class="progresssection"><a href="2-me.html">me</a></li><li class="progresssection"><a href="2-ki.html">ki</a></li><li class="progresssection"><a href="2-ie.html">ie</a></li><li class="progresssection"><a href="2-ce.html">ce</a></li><li class="progresssection"><a href="2-ins.html">ins</a></li><li class="progresscurrent">adj</li><li class="progresssection"><a href="2-ve.html">ve</a></li><li class="progresssection"><a href="2-prp.html">prp</a></li><li class="progresssection"><a href="2-inf.html">inf</a></li><li class="progresssection"><a href="2-rls.html">rls</a></li><li class="progresssection"><a href="2-act.html">act</a></li><li class="progresssection"><a href="2-pi.html">pi</a></li><li class="progresssection"><a href="2-ie2.html">ie2</a></li><li class="progresssection"><a href="2-rfse.html">rfse</a></li><li class="progresssection"><a href="2-ae.html">ae</a></li><li class="progresschapter"><a href="3-spt.html">3</a></li><li class="progresschapter"><a href="4-sg.html">4</a></li><li class="progressnext"><a href="2-ve.html">&#10095;</a></li></ul></div>
</nav><!--End of weave-->
</main>

View file

@ -217,7 +217,7 @@ text, sorted into kind order of left and then right operand.
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="2-ae.html#SP1">&#167;1</a>.</li></ul>
<nav role="progress"><div class="progresscontainer">
<ul class="progressbar"><li class="progressprev"><a href="2-rfse.html">&#10094;</a></li><li class="progresschapter"><a href="1-im.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-li.html">li</a></li><li class="progresssection"><a href="2-me.html">me</a></li><li class="progresssection"><a href="2-ki.html">ki</a></li><li class="progresssection"><a href="2-ie.html">ie</a></li><li class="progresssection"><a href="2-ce.html">ce</a></li><li class="progresssection"><a href="2-ins.html">ins</a></li><li class="progresssection"><a href="2-adj.html">adj</a></li><li class="progresssection"><a href="2-ve.html">ve</a></li><li class="progresssection"><a href="2-prp.html">prp</a></li><li class="progresssection"><a href="2-inf.html">inf</a></li><li class="progresssection"><a href="2-rls.html">rls</a></li><li class="progresssection"><a href="2-act.html">act</a></li><li class="progresssection"><a href="2-pi.html">pi</a></li><li class="progresssection"><a href="2-te.html">te</a></li><li class="progresssection"><a href="2-ie2.html">ie2</a></li><li class="progresssection"><a href="2-rfse.html">rfse</a></li><li class="progresscurrent">ae</li><li class="progresschapter"><a href="3-spt.html">3</a></li><li class="progresschapter"><a href="4-sg.html">4</a></li><li class="progressnext"><a href="3-spt.html">&#10095;</a></li></ul></div>
<ul class="progressbar"><li class="progressprev"><a href="2-rfse.html">&#10094;</a></li><li class="progresschapter"><a href="1-im.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-li.html">li</a></li><li class="progresssection"><a href="2-me.html">me</a></li><li class="progresssection"><a href="2-ki.html">ki</a></li><li class="progresssection"><a href="2-ie.html">ie</a></li><li class="progresssection"><a href="2-ce.html">ce</a></li><li class="progresssection"><a href="2-ins.html">ins</a></li><li class="progresssection"><a href="2-adj.html">adj</a></li><li class="progresssection"><a href="2-ve.html">ve</a></li><li class="progresssection"><a href="2-prp.html">prp</a></li><li class="progresssection"><a href="2-inf.html">inf</a></li><li class="progresssection"><a href="2-rls.html">rls</a></li><li class="progresssection"><a href="2-act.html">act</a></li><li class="progresssection"><a href="2-pi.html">pi</a></li><li class="progresssection"><a href="2-ie2.html">ie2</a></li><li class="progresssection"><a href="2-rfse.html">rfse</a></li><li class="progresscurrent">ae</li><li class="progresschapter"><a href="3-spt.html">3</a></li><li class="progresschapter"><a href="4-sg.html">4</a></li><li class="progressnext"><a href="3-spt.html">&#10095;</a></li></ul></div>
</nav><!--End of weave-->
</main>

View file

@ -129,7 +129,7 @@ function togglePopup(material_id) {
<span class="plain-syntax"> }</span>
<span class="plain-syntax">}</span>
</pre>
<ul class="endnotetexts"><li>The structure contents_entry is accessed in 2/ins, 2/rls, 2/act, 2/te, 3/pe, 4/em and here.</li></ul>
<ul class="endnotetexts"><li>The structure contents_entry is accessed in 2/ins, 2/rls, 2/act, 3/pe, 4/em and here.</li></ul>
<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">Index this entry in the contents</span><span class="named-paragraph-number">1.1</span></span><span class="comment-syntax"> =</span>
</p>
@ -312,7 +312,7 @@ giving only minimal entries about them.
<span class="plain-syntax">}</span>
</pre>
<nav role="progress"><div class="progresscontainer">
<ul class="progressbar"><li class="progressprev"><a href="2-ie.html">&#10094;</a></li><li class="progresschapter"><a href="1-im.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-li.html">li</a></li><li class="progresssection"><a href="2-me.html">me</a></li><li class="progresssection"><a href="2-ki.html">ki</a></li><li class="progresssection"><a href="2-ie.html">ie</a></li><li class="progresscurrent">ce</li><li class="progresssection"><a href="2-ins.html">ins</a></li><li class="progresssection"><a href="2-adj.html">adj</a></li><li class="progresssection"><a href="2-ve.html">ve</a></li><li class="progresssection"><a href="2-prp.html">prp</a></li><li class="progresssection"><a href="2-inf.html">inf</a></li><li class="progresssection"><a href="2-rls.html">rls</a></li><li class="progresssection"><a href="2-act.html">act</a></li><li class="progresssection"><a href="2-pi.html">pi</a></li><li class="progresssection"><a href="2-te.html">te</a></li><li class="progresssection"><a href="2-ie2.html">ie2</a></li><li class="progresssection"><a href="2-rfse.html">rfse</a></li><li class="progresssection"><a href="2-ae.html">ae</a></li><li class="progresschapter"><a href="3-spt.html">3</a></li><li class="progresschapter"><a href="4-sg.html">4</a></li><li class="progressnext"><a href="2-ins.html">&#10095;</a></li></ul></div>
<ul class="progressbar"><li class="progressprev"><a href="2-ie.html">&#10094;</a></li><li class="progresschapter"><a href="1-im.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-li.html">li</a></li><li class="progresssection"><a href="2-me.html">me</a></li><li class="progresssection"><a href="2-ki.html">ki</a></li><li class="progresssection"><a href="2-ie.html">ie</a></li><li class="progresscurrent">ce</li><li class="progresssection"><a href="2-ins.html">ins</a></li><li class="progresssection"><a href="2-adj.html">adj</a></li><li class="progresssection"><a href="2-ve.html">ve</a></li><li class="progresssection"><a href="2-prp.html">prp</a></li><li class="progresssection"><a href="2-inf.html">inf</a></li><li class="progresssection"><a href="2-rls.html">rls</a></li><li class="progresssection"><a href="2-act.html">act</a></li><li class="progresssection"><a href="2-pi.html">pi</a></li><li class="progresssection"><a href="2-ie2.html">ie2</a></li><li class="progresssection"><a href="2-rfse.html">rfse</a></li><li class="progresssection"><a href="2-ae.html">ae</a></li><li class="progresschapter"><a href="3-spt.html">3</a></li><li class="progresschapter"><a href="4-sg.html">4</a></li><li class="progressnext"><a href="2-ins.html">&#10095;</a></li></ul></div>
</nav><!--End of weave-->
</main>

View file

@ -299,7 +299,7 @@ dictionary.
<span class="plain-syntax">}</span>
</pre>
<nav role="progress"><div class="progresscontainer">
<ul class="progressbar"><li class="progressprev"><a href="2-ki.html">&#10094;</a></li><li class="progresschapter"><a href="1-im.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-li.html">li</a></li><li class="progresssection"><a href="2-me.html">me</a></li><li class="progresssection"><a href="2-ki.html">ki</a></li><li class="progresscurrent">ie</li><li class="progresssection"><a href="2-ce.html">ce</a></li><li class="progresssection"><a href="2-ins.html">ins</a></li><li class="progresssection"><a href="2-adj.html">adj</a></li><li class="progresssection"><a href="2-ve.html">ve</a></li><li class="progresssection"><a href="2-prp.html">prp</a></li><li class="progresssection"><a href="2-inf.html">inf</a></li><li class="progresssection"><a href="2-rls.html">rls</a></li><li class="progresssection"><a href="2-act.html">act</a></li><li class="progresssection"><a href="2-pi.html">pi</a></li><li class="progresssection"><a href="2-te.html">te</a></li><li class="progresssection"><a href="2-ie2.html">ie2</a></li><li class="progresssection"><a href="2-rfse.html">rfse</a></li><li class="progresssection"><a href="2-ae.html">ae</a></li><li class="progresschapter"><a href="3-spt.html">3</a></li><li class="progresschapter"><a href="4-sg.html">4</a></li><li class="progressnext"><a href="2-ce.html">&#10095;</a></li></ul></div>
<ul class="progressbar"><li class="progressprev"><a href="2-ki.html">&#10094;</a></li><li class="progresschapter"><a href="1-im.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-li.html">li</a></li><li class="progresssection"><a href="2-me.html">me</a></li><li class="progresssection"><a href="2-ki.html">ki</a></li><li class="progresscurrent">ie</li><li class="progresssection"><a href="2-ce.html">ce</a></li><li class="progresssection"><a href="2-ins.html">ins</a></li><li class="progresssection"><a href="2-adj.html">adj</a></li><li class="progresssection"><a href="2-ve.html">ve</a></li><li class="progresssection"><a href="2-prp.html">prp</a></li><li class="progresssection"><a href="2-inf.html">inf</a></li><li class="progresssection"><a href="2-rls.html">rls</a></li><li class="progresssection"><a href="2-act.html">act</a></li><li class="progresssection"><a href="2-pi.html">pi</a></li><li class="progresssection"><a href="2-ie2.html">ie2</a></li><li class="progresssection"><a href="2-rfse.html">rfse</a></li><li class="progresssection"><a href="2-ae.html">ae</a></li><li class="progresschapter"><a href="3-spt.html">3</a></li><li class="progresschapter"><a href="4-sg.html">4</a></li><li class="progressnext"><a href="2-ce.html">&#10095;</a></li></ul></div>
</nav><!--End of weave-->
</main>

View file

@ -255,7 +255,7 @@ function togglePopup(material_id) {
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="2-ie2.html#SP5">&#167;5</a> (twice).</li></ul>
<nav role="progress"><div class="progresscontainer">
<ul class="progressbar"><li class="progressprev"><a href="2-te.html">&#10094;</a></li><li class="progresschapter"><a href="1-im.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-li.html">li</a></li><li class="progresssection"><a href="2-me.html">me</a></li><li class="progresssection"><a href="2-ki.html">ki</a></li><li class="progresssection"><a href="2-ie.html">ie</a></li><li class="progresssection"><a href="2-ce.html">ce</a></li><li class="progresssection"><a href="2-ins.html">ins</a></li><li class="progresssection"><a href="2-adj.html">adj</a></li><li class="progresssection"><a href="2-ve.html">ve</a></li><li class="progresssection"><a href="2-prp.html">prp</a></li><li class="progresssection"><a href="2-inf.html">inf</a></li><li class="progresssection"><a href="2-rls.html">rls</a></li><li class="progresssection"><a href="2-act.html">act</a></li><li class="progresssection"><a href="2-pi.html">pi</a></li><li class="progresssection"><a href="2-te.html">te</a></li><li class="progresscurrent">ie2</li><li class="progresssection"><a href="2-rfse.html">rfse</a></li><li class="progresssection"><a href="2-ae.html">ae</a></li><li class="progresschapter"><a href="3-spt.html">3</a></li><li class="progresschapter"><a href="4-sg.html">4</a></li><li class="progressnext"><a href="2-rfse.html">&#10095;</a></li></ul></div>
<ul class="progressbar"><li class="progressprev"><a href="2-pi.html">&#10094;</a></li><li class="progresschapter"><a href="1-im.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-li.html">li</a></li><li class="progresssection"><a href="2-me.html">me</a></li><li class="progresssection"><a href="2-ki.html">ki</a></li><li class="progresssection"><a href="2-ie.html">ie</a></li><li class="progresssection"><a href="2-ce.html">ce</a></li><li class="progresssection"><a href="2-ins.html">ins</a></li><li class="progresssection"><a href="2-adj.html">adj</a></li><li class="progresssection"><a href="2-ve.html">ve</a></li><li class="progresssection"><a href="2-prp.html">prp</a></li><li class="progresssection"><a href="2-inf.html">inf</a></li><li class="progresssection"><a href="2-rls.html">rls</a></li><li class="progresssection"><a href="2-act.html">act</a></li><li class="progresssection"><a href="2-pi.html">pi</a></li><li class="progresscurrent">ie2</li><li class="progresssection"><a href="2-rfse.html">rfse</a></li><li class="progresssection"><a href="2-ae.html">ae</a></li><li class="progresschapter"><a href="3-spt.html">3</a></li><li class="progresschapter"><a href="4-sg.html">4</a></li><li class="progressnext"><a href="2-rfse.html">&#10095;</a></li></ul></div>
</nav><!--End of weave-->
</main>

View file

@ -194,7 +194,7 @@ state of being boolean, and the given certainty levels:
<span class="plain-syntax">}</span>
</pre>
<nav role="progress"><div class="progresscontainer">
<ul class="progressbar"><li class="progressprev"><a href="2-prp.html">&#10094;</a></li><li class="progresschapter"><a href="1-im.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-li.html">li</a></li><li class="progresssection"><a href="2-me.html">me</a></li><li class="progresssection"><a href="2-ki.html">ki</a></li><li class="progresssection"><a href="2-ie.html">ie</a></li><li class="progresssection"><a href="2-ce.html">ce</a></li><li class="progresssection"><a href="2-ins.html">ins</a></li><li class="progresssection"><a href="2-adj.html">adj</a></li><li class="progresssection"><a href="2-ve.html">ve</a></li><li class="progresssection"><a href="2-prp.html">prp</a></li><li class="progresscurrent">inf</li><li class="progresssection"><a href="2-rls.html">rls</a></li><li class="progresssection"><a href="2-act.html">act</a></li><li class="progresssection"><a href="2-pi.html">pi</a></li><li class="progresssection"><a href="2-te.html">te</a></li><li class="progresssection"><a href="2-ie2.html">ie2</a></li><li class="progresssection"><a href="2-rfse.html">rfse</a></li><li class="progresssection"><a href="2-ae.html">ae</a></li><li class="progresschapter"><a href="3-spt.html">3</a></li><li class="progresschapter"><a href="4-sg.html">4</a></li><li class="progressnext"><a href="2-rls.html">&#10095;</a></li></ul></div>
<ul class="progressbar"><li class="progressprev"><a href="2-prp.html">&#10094;</a></li><li class="progresschapter"><a href="1-im.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-li.html">li</a></li><li class="progresssection"><a href="2-me.html">me</a></li><li class="progresssection"><a href="2-ki.html">ki</a></li><li class="progresssection"><a href="2-ie.html">ie</a></li><li class="progresssection"><a href="2-ce.html">ce</a></li><li class="progresssection"><a href="2-ins.html">ins</a></li><li class="progresssection"><a href="2-adj.html">adj</a></li><li class="progresssection"><a href="2-ve.html">ve</a></li><li class="progresssection"><a href="2-prp.html">prp</a></li><li class="progresscurrent">inf</li><li class="progresssection"><a href="2-rls.html">rls</a></li><li class="progresssection"><a href="2-act.html">act</a></li><li class="progresssection"><a href="2-pi.html">pi</a></li><li class="progresssection"><a href="2-ie2.html">ie2</a></li><li class="progresssection"><a href="2-rfse.html">rfse</a></li><li class="progresssection"><a href="2-ae.html">ae</a></li><li class="progresschapter"><a href="3-spt.html">3</a></li><li class="progresschapter"><a href="4-sg.html">4</a></li><li class="progressnext"><a href="2-rls.html">&#10095;</a></li></ul></div>
</nav><!--End of weave-->
</main>

View file

@ -89,7 +89,7 @@ function togglePopup(material_id) {
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="reserved-syntax">instance_usage</span><span class="plain-syntax"> *</span><span class="identifier-syntax">next</span><span class="plain-syntax">;</span>
<span class="plain-syntax">} </span><span class="reserved-syntax">instance_usage</span><span class="plain-syntax">;</span>
</pre>
<ul class="endnotetexts"><li>The structure instance_index_data is private to this section.</li><li>The structure instance_usage is accessed in 2/rls, 2/act, 2/te, 3/pe, 4/em and here.</li></ul>
<ul class="endnotetexts"><li>The structure instance_index_data is private to this section.</li><li>The structure instance_usage is accessed in 2/rls, 2/act, 3/pe, 4/em and here.</li></ul>
<p class="commentary firstcommentary"><a id="SP2" class="paragraph-anchor"></a><b>&#167;2. </b></p>
<pre class="displayed-code all-displayed-code code-font">
@ -203,7 +203,7 @@ constant value.
<span class="plain-syntax">}</span>
</pre>
<nav role="progress"><div class="progresscontainer">
<ul class="progressbar"><li class="progressprev"><a href="2-ce.html">&#10094;</a></li><li class="progresschapter"><a href="1-im.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-li.html">li</a></li><li class="progresssection"><a href="2-me.html">me</a></li><li class="progresssection"><a href="2-ki.html">ki</a></li><li class="progresssection"><a href="2-ie.html">ie</a></li><li class="progresssection"><a href="2-ce.html">ce</a></li><li class="progresscurrent">ins</li><li class="progresssection"><a href="2-adj.html">adj</a></li><li class="progresssection"><a href="2-ve.html">ve</a></li><li class="progresssection"><a href="2-prp.html">prp</a></li><li class="progresssection"><a href="2-inf.html">inf</a></li><li class="progresssection"><a href="2-rls.html">rls</a></li><li class="progresssection"><a href="2-act.html">act</a></li><li class="progresssection"><a href="2-pi.html">pi</a></li><li class="progresssection"><a href="2-te.html">te</a></li><li class="progresssection"><a href="2-ie2.html">ie2</a></li><li class="progresssection"><a href="2-rfse.html">rfse</a></li><li class="progresssection"><a href="2-ae.html">ae</a></li><li class="progresschapter"><a href="3-spt.html">3</a></li><li class="progresschapter"><a href="4-sg.html">4</a></li><li class="progressnext"><a href="2-adj.html">&#10095;</a></li></ul></div>
<ul class="progressbar"><li class="progressprev"><a href="2-ce.html">&#10094;</a></li><li class="progresschapter"><a href="1-im.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-li.html">li</a></li><li class="progresssection"><a href="2-me.html">me</a></li><li class="progresssection"><a href="2-ki.html">ki</a></li><li class="progresssection"><a href="2-ie.html">ie</a></li><li class="progresssection"><a href="2-ce.html">ce</a></li><li class="progresscurrent">ins</li><li class="progresssection"><a href="2-adj.html">adj</a></li><li class="progresssection"><a href="2-ve.html">ve</a></li><li class="progresssection"><a href="2-prp.html">prp</a></li><li class="progresssection"><a href="2-inf.html">inf</a></li><li class="progresssection"><a href="2-rls.html">rls</a></li><li class="progresssection"><a href="2-act.html">act</a></li><li class="progresssection"><a href="2-pi.html">pi</a></li><li class="progresssection"><a href="2-ie2.html">ie2</a></li><li class="progresssection"><a href="2-rfse.html">rfse</a></li><li class="progresssection"><a href="2-ae.html">ae</a></li><li class="progresschapter"><a href="3-spt.html">3</a></li><li class="progresschapter"><a href="4-sg.html">4</a></li><li class="progressnext"><a href="2-adj.html">&#10095;</a></li></ul></div>
</nav><!--End of weave-->
</main>

View file

@ -571,7 +571,7 @@ as "0 kg", "0 hectares", or whatever is appropriate.
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="2-ki.html#SP6">&#167;6</a>.</li></ul>
<nav role="progress"><div class="progresscontainer">
<ul class="progressbar"><li class="progressprev"><a href="2-me.html">&#10094;</a></li><li class="progresschapter"><a href="1-im.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-li.html">li</a></li><li class="progresssection"><a href="2-me.html">me</a></li><li class="progresscurrent">ki</li><li class="progresssection"><a href="2-ie.html">ie</a></li><li class="progresssection"><a href="2-ce.html">ce</a></li><li class="progresssection"><a href="2-ins.html">ins</a></li><li class="progresssection"><a href="2-adj.html">adj</a></li><li class="progresssection"><a href="2-ve.html">ve</a></li><li class="progresssection"><a href="2-prp.html">prp</a></li><li class="progresssection"><a href="2-inf.html">inf</a></li><li class="progresssection"><a href="2-rls.html">rls</a></li><li class="progresssection"><a href="2-act.html">act</a></li><li class="progresssection"><a href="2-pi.html">pi</a></li><li class="progresssection"><a href="2-te.html">te</a></li><li class="progresssection"><a href="2-ie2.html">ie2</a></li><li class="progresssection"><a href="2-rfse.html">rfse</a></li><li class="progresssection"><a href="2-ae.html">ae</a></li><li class="progresschapter"><a href="3-spt.html">3</a></li><li class="progresschapter"><a href="4-sg.html">4</a></li><li class="progressnext"><a href="2-ie.html">&#10095;</a></li></ul></div>
<ul class="progressbar"><li class="progressprev"><a href="2-me.html">&#10094;</a></li><li class="progresschapter"><a href="1-im.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-li.html">li</a></li><li class="progresssection"><a href="2-me.html">me</a></li><li class="progresscurrent">ki</li><li class="progresssection"><a href="2-ie.html">ie</a></li><li class="progresssection"><a href="2-ce.html">ce</a></li><li class="progresssection"><a href="2-ins.html">ins</a></li><li class="progresssection"><a href="2-adj.html">adj</a></li><li class="progresssection"><a href="2-ve.html">ve</a></li><li class="progresssection"><a href="2-prp.html">prp</a></li><li class="progresssection"><a href="2-inf.html">inf</a></li><li class="progresssection"><a href="2-rls.html">rls</a></li><li class="progresssection"><a href="2-act.html">act</a></li><li class="progresssection"><a href="2-pi.html">pi</a></li><li class="progresssection"><a href="2-ie2.html">ie2</a></li><li class="progresssection"><a href="2-rfse.html">rfse</a></li><li class="progresssection"><a href="2-ae.html">ae</a></li><li class="progresschapter"><a href="3-spt.html">3</a></li><li class="progresschapter"><a href="4-sg.html">4</a></li><li class="progressnext"><a href="2-ie.html">&#10095;</a></li></ul></div>
</nav><!--End of weave-->
</main>

View file

@ -712,7 +712,7 @@ be able to print out a table of just those verbs created in that extension.
<span class="plain-syntax">}</span>
</pre>
<nav role="progress"><div class="progresscontainer">
<ul class="progressbar"><li class="progressprev"><a href="1-im.html">&#10094;</a></li><li class="progresschapter"><a href="1-im.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresscurrent">li</li><li class="progresssection"><a href="2-me.html">me</a></li><li class="progresssection"><a href="2-ki.html">ki</a></li><li class="progresssection"><a href="2-ie.html">ie</a></li><li class="progresssection"><a href="2-ce.html">ce</a></li><li class="progresssection"><a href="2-ins.html">ins</a></li><li class="progresssection"><a href="2-adj.html">adj</a></li><li class="progresssection"><a href="2-ve.html">ve</a></li><li class="progresssection"><a href="2-prp.html">prp</a></li><li class="progresssection"><a href="2-inf.html">inf</a></li><li class="progresssection"><a href="2-rls.html">rls</a></li><li class="progresssection"><a href="2-act.html">act</a></li><li class="progresssection"><a href="2-pi.html">pi</a></li><li class="progresssection"><a href="2-te.html">te</a></li><li class="progresssection"><a href="2-ie2.html">ie2</a></li><li class="progresssection"><a href="2-rfse.html">rfse</a></li><li class="progresssection"><a href="2-ae.html">ae</a></li><li class="progresschapter"><a href="3-spt.html">3</a></li><li class="progresschapter"><a href="4-sg.html">4</a></li><li class="progressnext"><a href="2-me.html">&#10095;</a></li></ul></div>
<ul class="progressbar"><li class="progressprev"><a href="1-im.html">&#10094;</a></li><li class="progresschapter"><a href="1-im.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresscurrent">li</li><li class="progresssection"><a href="2-me.html">me</a></li><li class="progresssection"><a href="2-ki.html">ki</a></li><li class="progresssection"><a href="2-ie.html">ie</a></li><li class="progresssection"><a href="2-ce.html">ce</a></li><li class="progresssection"><a href="2-ins.html">ins</a></li><li class="progresssection"><a href="2-adj.html">adj</a></li><li class="progresssection"><a href="2-ve.html">ve</a></li><li class="progresssection"><a href="2-prp.html">prp</a></li><li class="progresssection"><a href="2-inf.html">inf</a></li><li class="progresssection"><a href="2-rls.html">rls</a></li><li class="progresssection"><a href="2-act.html">act</a></li><li class="progresssection"><a href="2-pi.html">pi</a></li><li class="progresssection"><a href="2-ie2.html">ie2</a></li><li class="progresssection"><a href="2-rfse.html">rfse</a></li><li class="progresssection"><a href="2-ae.html">ae</a></li><li class="progresschapter"><a href="3-spt.html">3</a></li><li class="progresschapter"><a href="4-sg.html">4</a></li><li class="progressnext"><a href="2-me.html">&#10095;</a></li></ul></div>
</nav><!--End of weave-->
</main>

View file

@ -475,7 +475,7 @@ table of Kinds.
<span class="plain-syntax">}</span>
</pre>
<nav role="progress"><div class="progresscontainer">
<ul class="progressbar"><li class="progressprev"><a href="2-li.html">&#10094;</a></li><li class="progresschapter"><a href="1-im.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-li.html">li</a></li><li class="progresscurrent">me</li><li class="progresssection"><a href="2-ki.html">ki</a></li><li class="progresssection"><a href="2-ie.html">ie</a></li><li class="progresssection"><a href="2-ce.html">ce</a></li><li class="progresssection"><a href="2-ins.html">ins</a></li><li class="progresssection"><a href="2-adj.html">adj</a></li><li class="progresssection"><a href="2-ve.html">ve</a></li><li class="progresssection"><a href="2-prp.html">prp</a></li><li class="progresssection"><a href="2-inf.html">inf</a></li><li class="progresssection"><a href="2-rls.html">rls</a></li><li class="progresssection"><a href="2-act.html">act</a></li><li class="progresssection"><a href="2-pi.html">pi</a></li><li class="progresssection"><a href="2-te.html">te</a></li><li class="progresssection"><a href="2-ie2.html">ie2</a></li><li class="progresssection"><a href="2-rfse.html">rfse</a></li><li class="progresssection"><a href="2-ae.html">ae</a></li><li class="progresschapter"><a href="3-spt.html">3</a></li><li class="progresschapter"><a href="4-sg.html">4</a></li><li class="progressnext"><a href="2-ki.html">&#10095;</a></li></ul></div>
<ul class="progressbar"><li class="progressprev"><a href="2-li.html">&#10094;</a></li><li class="progresschapter"><a href="1-im.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-li.html">li</a></li><li class="progresscurrent">me</li><li class="progresssection"><a href="2-ki.html">ki</a></li><li class="progresssection"><a href="2-ie.html">ie</a></li><li class="progresssection"><a href="2-ce.html">ce</a></li><li class="progresssection"><a href="2-ins.html">ins</a></li><li class="progresssection"><a href="2-adj.html">adj</a></li><li class="progresssection"><a href="2-ve.html">ve</a></li><li class="progresssection"><a href="2-prp.html">prp</a></li><li class="progresssection"><a href="2-inf.html">inf</a></li><li class="progresssection"><a href="2-rls.html">rls</a></li><li class="progresssection"><a href="2-act.html">act</a></li><li class="progresssection"><a href="2-pi.html">pi</a></li><li class="progresssection"><a href="2-ie2.html">ie2</a></li><li class="progresssection"><a href="2-rfse.html">rfse</a></li><li class="progresssection"><a href="2-ae.html">ae</a></li><li class="progresschapter"><a href="3-spt.html">3</a></li><li class="progresschapter"><a href="4-sg.html">4</a></li><li class="progressnext"><a href="2-ki.html">&#10095;</a></li></ul></div>
</nav><!--End of weave-->
</main>

View file

@ -501,7 +501,7 @@ so we won't list them here.
<span class="plain-syntax">}</span>
</pre>
<nav role="progress"><div class="progresscontainer">
<ul class="progressbar"><li class="progressprev"><a href="2-act.html">&#10094;</a></li><li class="progresschapter"><a href="1-im.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-li.html">li</a></li><li class="progresssection"><a href="2-me.html">me</a></li><li class="progresssection"><a href="2-ki.html">ki</a></li><li class="progresssection"><a href="2-ie.html">ie</a></li><li class="progresssection"><a href="2-ce.html">ce</a></li><li class="progresssection"><a href="2-ins.html">ins</a></li><li class="progresssection"><a href="2-adj.html">adj</a></li><li class="progresssection"><a href="2-ve.html">ve</a></li><li class="progresssection"><a href="2-prp.html">prp</a></li><li class="progresssection"><a href="2-inf.html">inf</a></li><li class="progresssection"><a href="2-rls.html">rls</a></li><li class="progresssection"><a href="2-act.html">act</a></li><li class="progresscurrent">pi</li><li class="progresssection"><a href="2-te.html">te</a></li><li class="progresssection"><a href="2-ie2.html">ie2</a></li><li class="progresssection"><a href="2-rfse.html">rfse</a></li><li class="progresssection"><a href="2-ae.html">ae</a></li><li class="progresschapter"><a href="3-spt.html">3</a></li><li class="progresschapter"><a href="4-sg.html">4</a></li><li class="progressnext"><a href="2-te.html">&#10095;</a></li></ul></div>
<ul class="progressbar"><li class="progressprev"><a href="2-act.html">&#10094;</a></li><li class="progresschapter"><a href="1-im.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-li.html">li</a></li><li class="progresssection"><a href="2-me.html">me</a></li><li class="progresssection"><a href="2-ki.html">ki</a></li><li class="progresssection"><a href="2-ie.html">ie</a></li><li class="progresssection"><a href="2-ce.html">ce</a></li><li class="progresssection"><a href="2-ins.html">ins</a></li><li class="progresssection"><a href="2-adj.html">adj</a></li><li class="progresssection"><a href="2-ve.html">ve</a></li><li class="progresssection"><a href="2-prp.html">prp</a></li><li class="progresssection"><a href="2-inf.html">inf</a></li><li class="progresssection"><a href="2-rls.html">rls</a></li><li class="progresssection"><a href="2-act.html">act</a></li><li class="progresscurrent">pi</li><li class="progresssection"><a href="2-ie2.html">ie2</a></li><li class="progresssection"><a href="2-rfse.html">rfse</a></li><li class="progresssection"><a href="2-ae.html">ae</a></li><li class="progresschapter"><a href="3-spt.html">3</a></li><li class="progresschapter"><a href="4-sg.html">4</a></li><li class="progressnext"><a href="2-ie2.html">&#10095;</a></li></ul></div>
</nav><!--End of weave-->
</main>

View file

@ -143,7 +143,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="2-ve.html">&#10094;</a></li><li class="progresschapter"><a href="1-im.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-li.html">li</a></li><li class="progresssection"><a href="2-me.html">me</a></li><li class="progresssection"><a href="2-ki.html">ki</a></li><li class="progresssection"><a href="2-ie.html">ie</a></li><li class="progresssection"><a href="2-ce.html">ce</a></li><li class="progresssection"><a href="2-ins.html">ins</a></li><li class="progresssection"><a href="2-adj.html">adj</a></li><li class="progresssection"><a href="2-ve.html">ve</a></li><li class="progresscurrent">prp</li><li class="progresssection"><a href="2-inf.html">inf</a></li><li class="progresssection"><a href="2-rls.html">rls</a></li><li class="progresssection"><a href="2-act.html">act</a></li><li class="progresssection"><a href="2-pi.html">pi</a></li><li class="progresssection"><a href="2-te.html">te</a></li><li class="progresssection"><a href="2-ie2.html">ie2</a></li><li class="progresssection"><a href="2-rfse.html">rfse</a></li><li class="progresssection"><a href="2-ae.html">ae</a></li><li class="progresschapter"><a href="3-spt.html">3</a></li><li class="progresschapter"><a href="4-sg.html">4</a></li><li class="progressnext"><a href="2-inf.html">&#10095;</a></li></ul></div>
<ul class="progressbar"><li class="progressprev"><a href="2-ve.html">&#10094;</a></li><li class="progresschapter"><a href="1-im.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-li.html">li</a></li><li class="progresssection"><a href="2-me.html">me</a></li><li class="progresssection"><a href="2-ki.html">ki</a></li><li class="progresssection"><a href="2-ie.html">ie</a></li><li class="progresssection"><a href="2-ce.html">ce</a></li><li class="progresssection"><a href="2-ins.html">ins</a></li><li class="progresssection"><a href="2-adj.html">adj</a></li><li class="progresssection"><a href="2-ve.html">ve</a></li><li class="progresscurrent">prp</li><li class="progresssection"><a href="2-inf.html">inf</a></li><li class="progresssection"><a href="2-rls.html">rls</a></li><li class="progresssection"><a href="2-act.html">act</a></li><li class="progresssection"><a href="2-pi.html">pi</a></li><li class="progresssection"><a href="2-ie2.html">ie2</a></li><li class="progresssection"><a href="2-rfse.html">rfse</a></li><li class="progresssection"><a href="2-ae.html">ae</a></li><li class="progresschapter"><a href="3-spt.html">3</a></li><li class="progresschapter"><a href="4-sg.html">4</a></li><li class="progressnext"><a href="2-inf.html">&#10095;</a></li></ul></div>
</nav><!--End of weave-->
</main>

View file

@ -82,7 +82,7 @@
<span class="plain-syntax">}</span>
</pre>
<nav role="progress"><div class="progresscontainer">
<ul class="progressbar"><li class="progressprev"><a href="2-ie2.html">&#10094;</a></li><li class="progresschapter"><a href="1-im.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-li.html">li</a></li><li class="progresssection"><a href="2-me.html">me</a></li><li class="progresssection"><a href="2-ki.html">ki</a></li><li class="progresssection"><a href="2-ie.html">ie</a></li><li class="progresssection"><a href="2-ce.html">ce</a></li><li class="progresssection"><a href="2-ins.html">ins</a></li><li class="progresssection"><a href="2-adj.html">adj</a></li><li class="progresssection"><a href="2-ve.html">ve</a></li><li class="progresssection"><a href="2-prp.html">prp</a></li><li class="progresssection"><a href="2-inf.html">inf</a></li><li class="progresssection"><a href="2-rls.html">rls</a></li><li class="progresssection"><a href="2-act.html">act</a></li><li class="progresssection"><a href="2-pi.html">pi</a></li><li class="progresssection"><a href="2-te.html">te</a></li><li class="progresssection"><a href="2-ie2.html">ie2</a></li><li class="progresscurrent">rfse</li><li class="progresssection"><a href="2-ae.html">ae</a></li><li class="progresschapter"><a href="3-spt.html">3</a></li><li class="progresschapter"><a href="4-sg.html">4</a></li><li class="progressnext"><a href="2-ae.html">&#10095;</a></li></ul></div>
<ul class="progressbar"><li class="progressprev"><a href="2-ie2.html">&#10094;</a></li><li class="progresschapter"><a href="1-im.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-li.html">li</a></li><li class="progresssection"><a href="2-me.html">me</a></li><li class="progresssection"><a href="2-ki.html">ki</a></li><li class="progresssection"><a href="2-ie.html">ie</a></li><li class="progresssection"><a href="2-ce.html">ce</a></li><li class="progresssection"><a href="2-ins.html">ins</a></li><li class="progresssection"><a href="2-adj.html">adj</a></li><li class="progresssection"><a href="2-ve.html">ve</a></li><li class="progresssection"><a href="2-prp.html">prp</a></li><li class="progresssection"><a href="2-inf.html">inf</a></li><li class="progresssection"><a href="2-rls.html">rls</a></li><li class="progresssection"><a href="2-act.html">act</a></li><li class="progresssection"><a href="2-pi.html">pi</a></li><li class="progresssection"><a href="2-ie2.html">ie2</a></li><li class="progresscurrent">rfse</li><li class="progresssection"><a href="2-ae.html">ae</a></li><li class="progresschapter"><a href="3-spt.html">3</a></li><li class="progresschapter"><a href="4-sg.html">4</a></li><li class="progressnext"><a href="2-ae.html">&#10095;</a></li></ul></div>
</nav><!--End of weave-->
</main>

View file

@ -796,7 +796,7 @@ have affected it in this way:
<span class="plain-syntax"> }</span>
<span class="plain-syntax">}</span>
</pre>
<ul class="endnotetexts"><li>The structure rulebook_indexing_data is private to this section.</li><li>The structure placement_affecting is accessed in 2/ins, 2/act, 2/te, 3/pe, 4/em and here.</li></ul>
<ul class="endnotetexts"><li>The structure rulebook_indexing_data is private to this section.</li><li>The structure placement_affecting is accessed in 2/ins, 2/act, 3/pe, 4/em and here.</li></ul>
<p class="commentary firstcommentary"><a id="SP10" class="paragraph-anchor"></a><b>&#167;10. Rule contexts. </b>These are mainly (only?) used in indexing, as a way to represent the idea of
being the relevant scene or action for a rule.
</p>
@ -864,7 +864,7 @@ text to assert a change:
<span class="plain-syntax">}</span>
</pre>
<nav role="progress"><div class="progresscontainer">
<ul class="progressbar"><li class="progressprev"><a href="2-inf.html">&#10094;</a></li><li class="progresschapter"><a href="1-im.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-li.html">li</a></li><li class="progresssection"><a href="2-me.html">me</a></li><li class="progresssection"><a href="2-ki.html">ki</a></li><li class="progresssection"><a href="2-ie.html">ie</a></li><li class="progresssection"><a href="2-ce.html">ce</a></li><li class="progresssection"><a href="2-ins.html">ins</a></li><li class="progresssection"><a href="2-adj.html">adj</a></li><li class="progresssection"><a href="2-ve.html">ve</a></li><li class="progresssection"><a href="2-prp.html">prp</a></li><li class="progresssection"><a href="2-inf.html">inf</a></li><li class="progresscurrent">rls</li><li class="progresssection"><a href="2-act.html">act</a></li><li class="progresssection"><a href="2-pi.html">pi</a></li><li class="progresssection"><a href="2-te.html">te</a></li><li class="progresssection"><a href="2-ie2.html">ie2</a></li><li class="progresssection"><a href="2-rfse.html">rfse</a></li><li class="progresssection"><a href="2-ae.html">ae</a></li><li class="progresschapter"><a href="3-spt.html">3</a></li><li class="progresschapter"><a href="4-sg.html">4</a></li><li class="progressnext"><a href="2-act.html">&#10095;</a></li></ul></div>
<ul class="progressbar"><li class="progressprev"><a href="2-inf.html">&#10094;</a></li><li class="progresschapter"><a href="1-im.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-li.html">li</a></li><li class="progresssection"><a href="2-me.html">me</a></li><li class="progresssection"><a href="2-ki.html">ki</a></li><li class="progresssection"><a href="2-ie.html">ie</a></li><li class="progresssection"><a href="2-ce.html">ce</a></li><li class="progresssection"><a href="2-ins.html">ins</a></li><li class="progresssection"><a href="2-adj.html">adj</a></li><li class="progresssection"><a href="2-ve.html">ve</a></li><li class="progresssection"><a href="2-prp.html">prp</a></li><li class="progresssection"><a href="2-inf.html">inf</a></li><li class="progresscurrent">rls</li><li class="progresssection"><a href="2-act.html">act</a></li><li class="progresssection"><a href="2-pi.html">pi</a></li><li class="progresssection"><a href="2-ie2.html">ie2</a></li><li class="progresssection"><a href="2-rfse.html">rfse</a></li><li class="progresssection"><a href="2-ae.html">ae</a></li><li class="progresschapter"><a href="3-spt.html">3</a></li><li class="progresschapter"><a href="4-sg.html">4</a></li><li class="progressnext"><a href="2-act.html">&#10095;</a></li></ul></div>
</nav><!--End of weave-->
</main>

View file

@ -1,221 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Tables 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.html"><span class="selectedlink">index</span></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="../codegen-module/index.html">codegen</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 'Tables Element' generated by Inweb-->
<div class="breadcrumbs">
<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#2">Chapter 2: Indexing</a></li><li><b>Tables Element</b></li></ul></div>
<p class="purpose">To index tables.</p>
<ul class="toc"><li><a href="2-te.html#SP1">&#167;1. Indexing</a></li></ul><hr class="tocbar">
<p class="commentary firstcommentary"><a id="SP1" class="paragraph-anchor"></a><b>&#167;1. Indexing. </b>Tables inside extensions are often used just for the storage needed to manage
back-of-house algorithms, so to speak, and they aren't intended for the end
user to poke around with; that's certainly true of the tables in the Standard
Rules, which of course are always present. So these are hidden by default.
</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">IXTables::render</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="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">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">m</span><span class="plain-syntax"> = </span><a href="2-te.html#SP2" class="function-link"><span class="function-syntax">IXTables::index_tables_in</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</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">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="identifier-syntax">Index::extra_link</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="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">m</span><span class="plain-syntax"> &gt; </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">"Show tables inside extensions too"</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">"Show tables inside extensions (there are none in the main text)"</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="identifier-syntax">Index::extra_div_open</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="constant-syntax">1</span><span class="plain-syntax">, </span><span class="string-syntax">"e0e0e0"</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">E</span><span class="plain-syntax">; </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">efc</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">E</span><span class="plain-syntax">, </span><span class="identifier-syntax">inform_extension</span><span class="plain-syntax">) </span><a href="2-te.html#SP2" class="function-link"><span class="function-syntax">IXTables::index_tables_in</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">, </span><span class="identifier-syntax">efc</span><span class="plain-syntax">++);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Index::extra_div_close</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="string-syntax">"e0e0e0"</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>This tabulates tables within a given extension, returning the number listed,
and does nothing at all if that number is 0.
</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">IXTables::index_tables_in</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">IXTables::index_tables_in</span></span>:<br/><a href="2-te.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">inform_extension</span><span class="plain-syntax"> *</span><span class="identifier-syntax">E</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">efc</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">tc</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">; </span><span class="identifier-syntax">table</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">LOOP_OVER</span><span class="plain-syntax">(</span><span class="identifier-syntax">t</span><span class="plain-syntax">, </span><span class="identifier-syntax">table</span><span class="plain-syntax">) </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="2-te.html#SP3" class="function-link"><span class="function-syntax">IXTables::table_within</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">t</span><span class="plain-syntax">, </span><span class="identifier-syntax">E</span><span class="plain-syntax">)) </span><span class="identifier-syntax">tc</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">tc</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">E</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="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"&lt;i&gt;%S&lt;/i&gt;"</span><span class="plain-syntax">, </span><span class="identifier-syntax">E</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">as_copy</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">edition</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">work</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">title</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="plain-syntax"> </span><span class="identifier-syntax">HTML::begin_plain_html_table</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">LOOP_OVER</span><span class="plain-syntax">(</span><span class="identifier-syntax">t</span><span class="plain-syntax">, </span><span class="identifier-syntax">table</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="2-te.html#SP3" class="function-link"><span class="function-syntax">IXTables::table_within</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">t</span><span class="plain-syntax">, </span><span class="identifier-syntax">E</span><span class="plain-syntax">))</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="2-te.html#SP2_1" class="named-paragraph-link"><span class="named-paragraph">Index this table</span><span class="named-paragraph-number">2.1</span></a></span><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>
<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">tc</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>The following probably ought to use a multiplication sign rather than a
Helvetica-style lower case "x", but life is full of compromises.
</p>
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Index this table</span><span class="named-paragraph-number">2.1</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::first_html_column_spaced</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</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">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"&lt;b&gt;%+W&lt;/b&gt;"</span><span class="plain-syntax">, </span><span class="identifier-syntax">Node::get_text</span><span class="plain-syntax">(</span><span class="identifier-syntax">t</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">headline_fragment</span><span class="plain-syntax">));</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">table_contribution</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tc</span><span class="plain-syntax">; </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">ntc</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</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">tc</span><span class="plain-syntax"> = </span><span class="identifier-syntax">t</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">table_created_at</span><span class="plain-syntax">; </span><span class="identifier-syntax">tc</span><span class="plain-syntax">; </span><span class="identifier-syntax">tc</span><span class="plain-syntax"> = </span><span class="identifier-syntax">tc</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">next</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">ntc</span><span class="plain-syntax">++ &gt; </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="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">Wordings::first_wn</span><span class="plain-syntax">(</span><span class="identifier-syntax">Node::get_text</span><span class="plain-syntax">(</span><span class="identifier-syntax">tc</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">source_table</span><span class="plain-syntax">)));</span>
<span class="plain-syntax"> }</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::next_html_column_spaced</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="constant-syntax">0</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">rc</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Tables::get_no_rows</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">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"&lt;i&gt;"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_OPEN_WITH</span><span class="plain-syntax">(</span><span class="string-syntax">"span"</span><span class="plain-syntax">, </span><span class="string-syntax">"class=\"smaller\""</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">t</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">first_column_by_definition</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">"%d definition%s"</span><span class="plain-syntax">, </span><span class="identifier-syntax">rc</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> (</span><span class="identifier-syntax">rc</span><span class="plain-syntax"> == </span><span class="constant-syntax">1</span><span class="plain-syntax">)?</span><span class="string-syntax">""</span><span class="plain-syntax">:</span><span class="string-syntax">"s"</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">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"%d column%s x %d row%s"</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">t</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">no_columns</span><span class="plain-syntax">, (</span><span class="identifier-syntax">t</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">no_columns</span><span class="plain-syntax"> == </span><span class="constant-syntax">1</span><span class="plain-syntax">)?</span><span class="string-syntax">""</span><span class="plain-syntax">:</span><span class="string-syntax">"s"</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">rc</span><span class="plain-syntax">, (</span><span class="identifier-syntax">rc</span><span class="plain-syntax"> == </span><span class="constant-syntax">1</span><span class="plain-syntax">)?</span><span class="string-syntax">""</span><span class="plain-syntax">:</span><span class="string-syntax">"s"</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">t</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">blank_rows</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">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">" (%d blank"</span><span class="plain-syntax">, </span><span class="identifier-syntax">t</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">blank_rows</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">t</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">blank_rows_for_each_text</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">", one for each %+W"</span><span class="plain-syntax">, </span><span class="identifier-syntax">t</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">blank_rows_for_each_text</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">")"</span><span class="plain-syntax">);</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">"span"</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;"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::end_html_row</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">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">col</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">col</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">; </span><span class="identifier-syntax">col</span><span class="plain-syntax"> &lt; </span><span class="identifier-syntax">t</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">no_columns</span><span class="plain-syntax">; </span><span class="identifier-syntax">col</span><span class="plain-syntax">++) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::first_html_column</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</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">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"&amp;nbsp;&amp;nbsp;col %d:&amp;nbsp;&amp;nbsp;"</span><span class="plain-syntax">, </span><span class="identifier-syntax">col</span><span class="plain-syntax">+1);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">wording</span><span class="plain-syntax"> </span><span class="identifier-syntax">CW</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Nouns::nominative_singular</span><span class="plain-syntax">(</span><span class="identifier-syntax">t</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">columns</span><span class="plain-syntax">[</span><span class="identifier-syntax">col</span><span class="plain-syntax">].</span><span class="identifier-syntax">column_identity</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">name</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">t</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">first_column_by_definition</span><span class="plain-syntax">) &amp;&amp; (</span><span class="identifier-syntax">col</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">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">PN</span><span class="plain-syntax"> = </span><span class="identifier-syntax">t</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">where_used_to_define</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">"%+W"</span><span class="plain-syntax">, </span><span class="identifier-syntax">Node::get_text</span><span class="plain-syntax">(</span><span class="identifier-syntax">PN</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">Wordings::first_wn</span><span class="plain-syntax">(</span><span class="identifier-syntax">Node::get_text</span><span class="plain-syntax">(</span><span class="identifier-syntax">PN</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="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">t</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">first_column_by_definition</span><span class="plain-syntax">) </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"&lt;i&gt;sets&lt;/i&gt; "</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">"%+W&amp;nbsp;"</span><span class="plain-syntax">, </span><span class="identifier-syntax">CW</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">TEMP</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">TEMP</span><span class="plain-syntax">, </span><span class="string-syntax">"%+W"</span><span class="plain-syntax">, </span><span class="identifier-syntax">CW</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">t</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">first_column_by_definition</span><span class="plain-syntax"> == </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">) </span><span class="identifier-syntax">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">TEMP</span><span class="plain-syntax">, </span><span class="string-syntax">" entry"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">PasteButtons::paste_text</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">TEMP</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">DISCARD_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">TEMP</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> }</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::next_html_column</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </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">t</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">first_column_by_definition</span><span class="plain-syntax">) &amp;&amp; (</span><span class="identifier-syntax">col</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">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">cell</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">row</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">row</span><span class="plain-syntax"> = </span><span class="constant-syntax">1</span><span class="plain-syntax">, </span><span class="identifier-syntax">cell</span><span class="plain-syntax"> = </span><span class="identifier-syntax">t</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">columns</span><span class="plain-syntax">[0].</span><span class="identifier-syntax">entries</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">down</span><span class="plain-syntax">; </span><span class="identifier-syntax">cell</span><span class="plain-syntax">; </span><span class="identifier-syntax">cell</span><span class="plain-syntax"> = </span><span class="identifier-syntax">cell</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">next</span><span class="plain-syntax">, </span><span class="identifier-syntax">row</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">row</span><span class="plain-syntax"> &gt; </span><span class="constant-syntax">1</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="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"%+W"</span><span class="plain-syntax">, </span><span class="identifier-syntax">Node::get_text</span><span class="plain-syntax">(</span><span class="identifier-syntax">cell</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">Wordings::first_wn</span><span class="plain-syntax">(</span><span class="identifier-syntax">Node::get_text</span><span class="plain-syntax">(</span><span class="identifier-syntax">cell</span><span class="plain-syntax">)));</span>
<span class="plain-syntax"> }</span>
<span class="plain-syntax"> } </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">t</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">first_column_by_definition</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Kinds::Textual::write</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">Tables::Columns::get_kind</span><span class="plain-syntax">(</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">t</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">columns</span><span class="plain-syntax">[</span><span class="identifier-syntax">col</span><span class="plain-syntax">].</span><span class="identifier-syntax">column_identity</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">" property"</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">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"of "</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Kinds::Textual::write_plural</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">Tables::Columns::get_kind</span><span class="plain-syntax">(</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">t</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">columns</span><span class="plain-syntax">[</span><span class="identifier-syntax">col</span><span class="plain-syntax">].</span><span class="identifier-syntax">column_identity</span><span class="plain-syntax">));</span>
<span class="plain-syntax"> }</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::end_html_row</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> }</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="2-te.html#SP2">&#167;2</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP3" class="paragraph-anchor"></a><b>&#167;3. </b>The following laboriously tests whether a table is defined within a
given extension:
</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">IXTables::table_within</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">IXTables::table_within</span></span>:<br/><a href="2-te.html#SP2">&#167;2</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">table</span><span class="plain-syntax"> *</span><span class="identifier-syntax">t</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="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">t</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">amendment_of</span><span class="plain-syntax">) </span><span class="reserved-syntax">return</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">heading</span><span class="plain-syntax"> *</span><span class="identifier-syntax">at_heading</span><span class="plain-syntax"> =</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Headings::of_wording</span><span class="plain-syntax">(</span><span class="identifier-syntax">Node::get_text</span><span class="plain-syntax">(</span><span class="identifier-syntax">t</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">table_created_at</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">source_table</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">at_E</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Headings::get_extension_containing</span><span class="plain-syntax">(</span><span class="identifier-syntax">at_heading</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">E</span><span class="plain-syntax"> == </span><span class="identifier-syntax">at_E</span><span class="plain-syntax">) </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">TRUE</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">FALSE</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="2-pi.html">&#10094;</a></li><li class="progresschapter"><a href="1-im.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-li.html">li</a></li><li class="progresssection"><a href="2-me.html">me</a></li><li class="progresssection"><a href="2-ki.html">ki</a></li><li class="progresssection"><a href="2-ie.html">ie</a></li><li class="progresssection"><a href="2-ce.html">ce</a></li><li class="progresssection"><a href="2-ins.html">ins</a></li><li class="progresssection"><a href="2-adj.html">adj</a></li><li class="progresssection"><a href="2-ve.html">ve</a></li><li class="progresssection"><a href="2-prp.html">prp</a></li><li class="progresssection"><a href="2-inf.html">inf</a></li><li class="progresssection"><a href="2-rls.html">rls</a></li><li class="progresssection"><a href="2-act.html">act</a></li><li class="progresssection"><a href="2-pi.html">pi</a></li><li class="progresscurrent">te</li><li class="progresssection"><a href="2-ie2.html">ie2</a></li><li class="progresssection"><a href="2-rfse.html">rfse</a></li><li class="progresssection"><a href="2-ae.html">ae</a></li><li class="progresschapter"><a href="3-spt.html">3</a></li><li class="progresschapter"><a href="4-sg.html">4</a></li><li class="progressnext"><a href="2-ie2.html">&#10095;</a></li></ul></div>
</nav><!--End of weave-->
</main>
</body>
</html>

View file

@ -188,7 +188,7 @@ the following:
<span class="plain-syntax">}</span>
</pre>
<nav role="progress"><div class="progresscontainer">
<ul class="progressbar"><li class="progressprev"><a href="2-adj.html">&#10094;</a></li><li class="progresschapter"><a href="1-im.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-li.html">li</a></li><li class="progresssection"><a href="2-me.html">me</a></li><li class="progresssection"><a href="2-ki.html">ki</a></li><li class="progresssection"><a href="2-ie.html">ie</a></li><li class="progresssection"><a href="2-ce.html">ce</a></li><li class="progresssection"><a href="2-ins.html">ins</a></li><li class="progresssection"><a href="2-adj.html">adj</a></li><li class="progresscurrent">ve</li><li class="progresssection"><a href="2-prp.html">prp</a></li><li class="progresssection"><a href="2-inf.html">inf</a></li><li class="progresssection"><a href="2-rls.html">rls</a></li><li class="progresssection"><a href="2-act.html">act</a></li><li class="progresssection"><a href="2-pi.html">pi</a></li><li class="progresssection"><a href="2-te.html">te</a></li><li class="progresssection"><a href="2-ie2.html">ie2</a></li><li class="progresssection"><a href="2-rfse.html">rfse</a></li><li class="progresssection"><a href="2-ae.html">ae</a></li><li class="progresschapter"><a href="3-spt.html">3</a></li><li class="progresschapter"><a href="4-sg.html">4</a></li><li class="progressnext"><a href="2-prp.html">&#10095;</a></li></ul></div>
<ul class="progressbar"><li class="progressprev"><a href="2-adj.html">&#10094;</a></li><li class="progresschapter"><a href="1-im.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-li.html">li</a></li><li class="progresssection"><a href="2-me.html">me</a></li><li class="progresssection"><a href="2-ki.html">ki</a></li><li class="progresssection"><a href="2-ie.html">ie</a></li><li class="progresssection"><a href="2-ce.html">ce</a></li><li class="progresssection"><a href="2-ins.html">ins</a></li><li class="progresssection"><a href="2-adj.html">adj</a></li><li class="progresscurrent">ve</li><li class="progresssection"><a href="2-prp.html">prp</a></li><li class="progresssection"><a href="2-inf.html">inf</a></li><li class="progresssection"><a href="2-rls.html">rls</a></li><li class="progresssection"><a href="2-act.html">act</a></li><li class="progresssection"><a href="2-pi.html">pi</a></li><li class="progresssection"><a href="2-ie2.html">ie2</a></li><li class="progresssection"><a href="2-rfse.html">rfse</a></li><li class="progresssection"><a href="2-ae.html">ae</a></li><li class="progresschapter"><a href="3-spt.html">3</a></li><li class="progresschapter"><a href="4-sg.html">4</a></li><li class="progressnext"><a href="2-prp.html">&#10095;</a></li></ul></div>
</nav><!--End of weave-->
</main>

View file

@ -127,7 +127,7 @@ values inherited by sub-objects.
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">numeric_value</span><span class="plain-syntax">; </span><span class="comment-syntax"> or numeric value, if appropriate to this type</span>
<span class="plain-syntax">} </span><span class="reserved-syntax">plotting_parameter</span><span class="plain-syntax">;</span>
</pre>
<ul class="endnotetexts"><li>The structure plotting_parameter is accessed in 2/ie, 2/ins, 2/ve, 2/prp, 2/inf, 2/rls, 2/act, 2/pi, 2/te, 2/ie2 and here.</li></ul>
<ul class="endnotetexts"><li>The structure plotting_parameter is accessed in 2/ie, 2/ins, 2/ve, 2/prp, 2/inf, 2/rls, 2/act, 2/pi, 2/ie2 and here.</li></ul>
<p class="commentary firstcommentary"><a id="SP3" class="paragraph-anchor"></a><b>&#167;3. </b>A set of variables associated with any map object is called a "scope".
As implied above, the global scope is special: it contains the default
settings passed down to all lower scopes.

View file

@ -143,11 +143,6 @@
<spon class="sectiontitle">Phrasebook Index</span></a> -
<span class="sectionpurpose">To compile most of the HTML page for the Phrasebook index.</span></p>
</li>
<li>
<p class="sectionentry"><a href="2-te.html">
<spon class="sectiontitle">Tables Element</span></a> -
<span class="sectionpurpose">To index tables.</span></p>
</li>
<li>
<p class="sectionentry"><a href="2-ie2.html">
<spon class="sectiontitle">Innards Element</span></a> -

View file

@ -1378,6 +1378,12 @@ that the compiler can refer to it.
<span class="definition-keyword">enum</span> <span class="constant-syntax">TABLE_PNAME_MD_HL</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">TABLE_VALUE_MD_HL</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">RANKING_TABLE_MD_HL</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">TABLE_ROWS_MD_HL</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">TABLE_BLANK_ROWS_MD_HL</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">TABLE_BLANK_ROWS_FOR_MD_HL</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">TABLE_DEFINES_MD_HL</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">TABLE_DEFINES_TEXT_MD_HL</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">TABLE_DEFINES_AT_MD_HL</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">TABLE_ID_HL</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">TABLE_DATA_HL</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">TABLE_COLUMN_USAGES_HAP</span>
@ -1386,8 +1392,12 @@ that the compiler can refer to it.
<span class="definition-keyword">enum</span> <span class="constant-syntax">COLUMN_BITS_HL</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">COLUMN_BLANKS_HL</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">COLUMN_BLANK_DATA_HL</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">TABLE_CONTRIBUTION_HAP</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">TABLE_CONTRIBUTION_AT_MD_HL</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">TABLE_COLUMNS_HAP</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">TABLE_COLUMN_ID_HL</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">TABLE_COLUMN_NAME_MD_HL</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">TABLE_COLUMN_CONTENTS_MD_HL</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">TABLE_COLUMN_KIND_MD_HL</span>
</pre>
<p class="commentary firstcommentary"><a id="SP8_1_42" class="paragraph-anchor"></a><b>&#167;8.1.42. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Establish tables</span><span class="named-paragraph-number">8.1.42</span></span><span class="comment-syntax"> =</span>
@ -1402,6 +1412,12 @@ that the compiler can refer to it.
<span class="plain-syntax"> </span><span class="identifier-syntax">H_C_U</span><span class="plain-syntax">(</span><span class="constant-syntax">TABLE_PNAME_MD_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^printed_name"</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">H_C_U</span><span class="plain-syntax">(</span><span class="constant-syntax">TABLE_VALUE_MD_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^value"</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">H_C_U</span><span class="plain-syntax">(</span><span class="constant-syntax">RANKING_TABLE_MD_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^ranking_table"</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">H_C_U</span><span class="plain-syntax">(</span><span class="constant-syntax">TABLE_ROWS_MD_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^rows"</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">H_C_U</span><span class="plain-syntax">(</span><span class="constant-syntax">TABLE_BLANK_ROWS_MD_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^blank_rows"</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">H_C_U</span><span class="plain-syntax">(</span><span class="constant-syntax">TABLE_BLANK_ROWS_FOR_MD_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^blank_rows_for_each"</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">H_C_U</span><span class="plain-syntax">(</span><span class="constant-syntax">TABLE_DEFINES_MD_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^defines"</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">H_C_U</span><span class="plain-syntax">(</span><span class="constant-syntax">TABLE_DEFINES_TEXT_MD_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^defines_text"</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">H_C_U</span><span class="plain-syntax">(</span><span class="constant-syntax">TABLE_DEFINES_AT_MD_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^defines_at"</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">H_C_U</span><span class="plain-syntax">(</span><span class="constant-syntax">TABLE_ID_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"table_id"</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">H_C_U</span><span class="plain-syntax">(</span><span class="constant-syntax">TABLE_DATA_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"table_data"</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">H_BEGIN_AP</span><span class="plain-syntax">(</span><span class="constant-syntax">TABLE_COLUMN_USAGES_HAP</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"column"</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"_table_column_usage"</span><span class="plain-syntax">)</span>
@ -1411,6 +1427,9 @@ that the compiler can refer to it.
<span class="plain-syntax"> </span><span class="identifier-syntax">H_C_U</span><span class="plain-syntax">(</span><span class="constant-syntax">COLUMN_BLANKS_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"column_blanks"</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">H_C_U</span><span class="plain-syntax">(</span><span class="constant-syntax">COLUMN_BLANK_DATA_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^column_blank_data"</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> </span><span class="constant-syntax">H_END</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">H_BEGIN_AP</span><span class="plain-syntax">(</span><span class="constant-syntax">TABLE_CONTRIBUTION_HAP</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"contribution"</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"_table_contribution"</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">H_C_U</span><span class="plain-syntax">(</span><span class="constant-syntax">TABLE_CONTRIBUTION_AT_MD_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^at"</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> </span><span class="constant-syntax">H_END</span>
<span class="plain-syntax"> </span><span class="constant-syntax">H_END</span>
<span class="plain-syntax"> </span><span class="constant-syntax">H_END</span>
@ -1418,7 +1437,9 @@ that the compiler can refer to it.
<span class="plain-syntax"> </span><span class="identifier-syntax">H_BEGIN</span><span class="plain-syntax">(</span><span class="identifier-syntax">HierarchyLocations::local_submodule</span><span class="plain-syntax">(</span><span class="identifier-syntax">table_columns</span><span class="plain-syntax">))</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">H_BEGIN_AP</span><span class="plain-syntax">(</span><span class="constant-syntax">TABLE_COLUMNS_HAP</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"table_column"</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"_table_column"</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">H_C_U</span><span class="plain-syntax">(</span><span class="constant-syntax">TABLE_COLUMN_ID_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"table_column_id"</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">H_C_U</span><span class="plain-syntax">(</span><span class="constant-syntax">TABLE_COLUMN_KIND_MD_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^column_kind"</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">H_C_U</span><span class="plain-syntax">(</span><span class="constant-syntax">TABLE_COLUMN_NAME_MD_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^name"</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">H_C_U</span><span class="plain-syntax">(</span><span class="constant-syntax">TABLE_COLUMN_CONTENTS_MD_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^contents"</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">H_C_U</span><span class="plain-syntax">(</span><span class="constant-syntax">TABLE_COLUMN_KIND_MD_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^column_kind"</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> </span><span class="constant-syntax">H_END</span>
<span class="plain-syntax"> </span><span class="constant-syntax">H_END</span>
</pre>
@ -1852,7 +1873,7 @@ will automatically trip, in order to enforce the layout rules.
</p>
<pre class="displayed-code all-displayed-code code-font">
<span class="identifier-syntax">package_request</span><span class="plain-syntax"> *</span><span class="function-syntax">Hierarchy::package_within</span><button class="popup" onclick="togglePopup('usagePopup13')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup13">Usage of <span class="code-font"><span class="function-syntax">Hierarchy::package_within</span></span>:<br/>Text Substitutions - <a href="4-ts.html#SP5">&#167;5</a><br/>Responses - <a href="4-rsp.html#SP2">&#167;2</a><br/>Adjectives - <a href="5-adj.html#SP3">&#167;3</a><br/>Conjugations - <a href="5-cnj.html#SP10">&#167;10</a><br/>Door Instances - <a href="5-di.html#SP6">&#167;6</a><br/>Tables - <a href="5-tbl.html#SP5">&#167;5</a><br/>Rules - <a href="5-rls.html#SP12">&#167;12</a><br/>Named Action Patterns - <a href="5-nap.html#SP3">&#167;3</a><br/>Action Bitmap Property - <a href="6-abp.html#SP1">&#167;1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">hap_id</span><span class="plain-syntax">, </span><span class="identifier-syntax">package_request</span><span class="plain-syntax"> *</span><span class="identifier-syntax">super</span><span class="plain-syntax">) {</span>
<span class="identifier-syntax">package_request</span><span class="plain-syntax"> *</span><span class="function-syntax">Hierarchy::package_within</span><button class="popup" onclick="togglePopup('usagePopup13')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup13">Usage of <span class="code-font"><span class="function-syntax">Hierarchy::package_within</span></span>:<br/>Text Substitutions - <a href="4-ts.html#SP5">&#167;5</a><br/>Responses - <a href="4-rsp.html#SP2">&#167;2</a><br/>Adjectives - <a href="5-adj.html#SP3">&#167;3</a><br/>Conjugations - <a href="5-cnj.html#SP10">&#167;10</a><br/>Door Instances - <a href="5-di.html#SP6">&#167;6</a><br/>Tables - <a href="5-tbl.html#SP2_3">&#167;2.3</a>, <a href="5-tbl.html#SP5">&#167;5</a><br/>Rules - <a href="5-rls.html#SP12">&#167;12</a><br/>Named Action Patterns - <a href="5-nap.html#SP3">&#167;3</a><br/>Action Bitmap Property - <a href="6-abp.html#SP1">&#167;1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">hap_id</span><span class="plain-syntax">, </span><span class="identifier-syntax">package_request</span><span class="plain-syntax"> *</span><span class="identifier-syntax">super</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">HierarchyLocations::attach_new_package</span><span class="plain-syntax">(</span><a href="2-emt.html#SP1" class="function-link"><span class="function-syntax">Emit::tree</span></a><span class="plain-syntax">(), </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="identifier-syntax">super</span><span class="plain-syntax">, </span><span class="identifier-syntax">hap_id</span><span class="plain-syntax">);</span>
<span class="plain-syntax">}</span>
</pre>
@ -1869,12 +1890,12 @@ point system, and for those:
</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">Hierarchy::apply_metadata</span><button class="popup" onclick="togglePopup('usagePopup15')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup15">Usage of <span class="code-font"><span class="function-syntax">Hierarchy::apply_metadata</span></span>:<br/>Compilation Units - <a href="2-cu.html#SP2_1_2">&#167;2.1.2</a><br/>Use Options - <a href="3-uo.html#SP1">&#167;1</a><br/>Conjugations - <a href="5-cnj.html#SP6">&#167;6</a><br/>Multimedia - <a href="5-mlt.html#SP2_3">&#167;2.3</a><br/>Tables - <a href="5-tbl.html#SP2_3">&#167;2.3</a><br/>Rules - <a href="5-rls.html#SP11_1">&#167;11.1</a><br/>Rulebooks - <a href="5-rlb.html#SP6_1">&#167;6.1</a><br/>Properties - <a href="5-prp.html#SP6_2">&#167;6.2</a><br/>Relations - <a href="5-rlt.html#SP6">&#167;6</a><br/>Kind Constructors - <a href="5-kc.html#SP1">&#167;1</a>, <a href="5-kc.html#SP10">&#167;10</a><br/>Named Action Patterns - <a href="5-nap.html#SP3">&#167;3</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">package_request</span><span class="plain-syntax"> *</span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">id</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">value</span><span class="plain-syntax">) {</span>
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Hierarchy::apply_metadata</span><button class="popup" onclick="togglePopup('usagePopup15')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup15">Usage of <span class="code-font"><span class="function-syntax">Hierarchy::apply_metadata</span></span>:<br/>Compilation Units - <a href="2-cu.html#SP2_1_2">&#167;2.1.2</a><br/>Use Options - <a href="3-uo.html#SP1">&#167;1</a><br/>Conjugations - <a href="5-cnj.html#SP6">&#167;6</a><br/>Multimedia - <a href="5-mlt.html#SP2_3">&#167;2.3</a><br/>Tables - <a href="5-tbl.html#SP2_3">&#167;2.3</a><br/>Table Columns - <a href="5-tc.html#SP2">&#167;2</a><br/>Rules - <a href="5-rls.html#SP11_1">&#167;11.1</a><br/>Rulebooks - <a href="5-rlb.html#SP6_1">&#167;6.1</a><br/>Properties - <a href="5-prp.html#SP6_2">&#167;6.2</a><br/>Relations - <a href="5-rlt.html#SP6">&#167;6</a><br/>Kind Constructors - <a href="5-kc.html#SP1">&#167;1</a>, <a href="5-kc.html#SP10">&#167;10</a><br/>Named Action Patterns - <a href="5-nap.html#SP3">&#167;3</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">package_request</span><span class="plain-syntax"> *</span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">id</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">value</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">iname</span><span class="plain-syntax"> = </span><a href="2-hrr.html#SP12" class="function-link"><span class="function-syntax">Hierarchy::make_iname_in</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">id</span><span class="plain-syntax">, </span><span class="identifier-syntax">P</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="2-emt.html#SP10" class="function-link"><span class="function-syntax">Emit::text_constant</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">iname</span><span class="plain-syntax">, </span><span class="identifier-syntax">value</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">Hierarchy::apply_metadata_from_number</span><button class="popup" onclick="togglePopup('usagePopup16')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup16">Usage of <span class="code-font"><span class="function-syntax">Hierarchy::apply_metadata_from_number</span></span>:<br/>Compilation Units - <a href="2-cu.html#SP2_1_1">&#167;2.1.1</a>, <a href="2-cu.html#SP2_1_2">&#167;2.1.2</a><br/>Activities - <a href="5-act.html#SP6">&#167;6</a><br/>Instances - <a href="5-ins.html#SP3">&#167;3</a><br/>Multimedia - <a href="5-mlt.html#SP1">&#167;1</a>, <a href="5-mlt.html#SP2_3">&#167;2.3</a><br/>Tables - <a href="5-tbl.html#SP2">&#167;2</a><br/>Rules - <a href="5-rls.html#SP11_1">&#167;11.1</a>, <a href="5-rls.html#SP11_3">&#167;11.3</a>, <a href="5-rls.html#SP12">&#167;12</a><br/>Relations - <a href="5-rlt.html#SP6">&#167;6</a><br/>Kind Constructors - <a href="5-kc.html#SP10">&#167;10</a><br/>Actions - <a href="5-act2.html#SP8_3">&#167;8.3</a><br/>Named Action Patterns - <a href="5-nap.html#SP3">&#167;3</a><br/>Test Scripts - <a href="5-ts.html#SP4">&#167;4</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">package_request</span><span class="plain-syntax"> *</span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">id</span><span class="plain-syntax">, </span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">N</span><span class="plain-syntax">) {</span>
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Hierarchy::apply_metadata_from_number</span><button class="popup" onclick="togglePopup('usagePopup16')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup16">Usage of <span class="code-font"><span class="function-syntax">Hierarchy::apply_metadata_from_number</span></span>:<br/>Compilation Units - <a href="2-cu.html#SP2_1_1">&#167;2.1.1</a>, <a href="2-cu.html#SP2_1_2">&#167;2.1.2</a><br/>Activities - <a href="5-act.html#SP6">&#167;6</a><br/>Instances - <a href="5-ins.html#SP3">&#167;3</a><br/>Multimedia - <a href="5-mlt.html#SP1">&#167;1</a>, <a href="5-mlt.html#SP2_3">&#167;2.3</a><br/>Tables - <a href="5-tbl.html#SP2">&#167;2</a>, <a href="5-tbl.html#SP2_3">&#167;2.3</a><br/>Rules - <a href="5-rls.html#SP11_1">&#167;11.1</a>, <a href="5-rls.html#SP11_3">&#167;11.3</a>, <a href="5-rls.html#SP12">&#167;12</a><br/>Relations - <a href="5-rlt.html#SP6">&#167;6</a><br/>Kind Constructors - <a href="5-kc.html#SP10">&#167;10</a><br/>Actions - <a href="5-act2.html#SP8_3">&#167;8.3</a><br/>Named Action Patterns - <a href="5-nap.html#SP3">&#167;3</a><br/>Test Scripts - <a href="5-ts.html#SP4">&#167;4</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">package_request</span><span class="plain-syntax"> *</span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">id</span><span class="plain-syntax">, </span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">N</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">iname</span><span class="plain-syntax"> = </span><a href="2-hrr.html#SP12" class="function-link"><span class="function-syntax">Hierarchy::make_iname_in</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">id</span><span class="plain-syntax">, </span><span class="identifier-syntax">P</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="2-emt.html#SP9" class="function-link"><span class="function-syntax">Emit::numeric_constant</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">iname</span><span class="plain-syntax">, </span><span class="identifier-syntax">N</span><span class="plain-syntax">);</span>
<span class="plain-syntax">}</span>
@ -1891,7 +1912,7 @@ point system, and for those:
<span class="plain-syntax"> </span><span class="identifier-syntax">DISCARD_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">ANT</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">Hierarchy::apply_metadata_from_raw_wording</span><button class="popup" onclick="togglePopup('usagePopup19')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup19">Usage of <span class="code-font"><span class="function-syntax">Hierarchy::apply_metadata_from_raw_wording</span></span>:<br/>Multimedia - <a href="5-mlt.html#SP2_3">&#167;2.3</a><br/>Rules - <a href="5-rls.html#SP11_1">&#167;11.1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">package_request</span><span class="plain-syntax"> *</span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">id</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">Hierarchy::apply_metadata_from_raw_wording</span><button class="popup" onclick="togglePopup('usagePopup19')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup19">Usage of <span class="code-font"><span class="function-syntax">Hierarchy::apply_metadata_from_raw_wording</span></span>:<br/>Multimedia - <a href="5-mlt.html#SP2_3">&#167;2.3</a><br/>Tables - <a href="5-tbl.html#SP2_3">&#167;2.3</a><br/>Table Columns - <a href="5-tc.html#SP2">&#167;2</a><br/>Rules - <a href="5-rls.html#SP11_1">&#167;11.1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">package_request</span><span class="plain-syntax"> *</span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">id</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="identifier-syntax">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">ANT</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">ANT</span><span class="plain-syntax">, </span><span class="string-syntax">"%+W"</span><span class="plain-syntax">, </span><span class="identifier-syntax">W</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="2-hrr.html#SP23" class="function-link"><span class="function-syntax">Hierarchy::apply_metadata</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="identifier-syntax">id</span><span class="plain-syntax">, </span><span class="identifier-syntax">ANT</span><span class="plain-syntax">);</span>

View file

@ -421,6 +421,29 @@ case.)
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">S</span><span class="plain-syntax">, </span><span class="string-syntax">"%+W"</span><span class="plain-syntax">, </span><span class="identifier-syntax">Node::get_text</span><span class="plain-syntax">(</span><span class="identifier-syntax">t</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">headline_fragment</span><span class="plain-syntax">));</span>
<span class="plain-syntax"> </span><a href="2-hrr.html#SP23" class="function-link"><span class="function-syntax">Hierarchy::apply_metadata</span></a><span class="plain-syntax">(</span><a href="5-tbl.html#SP1" class="function-link"><span class="function-syntax">RTTables::package</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">t</span><span class="plain-syntax">), </span><span class="constant-syntax">TABLE_PNAME_MD_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">S</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">DISCARD_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">S</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">table_contribution</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tc</span><span class="plain-syntax"> = </span><span class="identifier-syntax">t</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">table_created_at</span><span class="plain-syntax">; </span><span class="identifier-syntax">tc</span><span class="plain-syntax">; </span><span class="identifier-syntax">tc</span><span class="plain-syntax"> = </span><span class="identifier-syntax">tc</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">next</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">package_request</span><span class="plain-syntax"> *</span><span class="identifier-syntax">R</span><span class="plain-syntax"> =</span>
<span class="plain-syntax"> </span><a href="2-hrr.html#SP21" class="function-link"><span class="function-syntax">Hierarchy::package_within</span></a><span class="plain-syntax">(</span><span class="constant-syntax">TABLE_CONTRIBUTION_HAP</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><a href="5-tbl.html#SP1" class="function-link"><span class="function-syntax">RTTables::package</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">t</span><span class="plain-syntax">));</span>
<span class="plain-syntax"> </span><a href="2-hrr.html#SP23" class="function-link"><span class="function-syntax">Hierarchy::apply_metadata_from_number</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">R</span><span class="plain-syntax">, </span><span class="constant-syntax">TABLE_CONTRIBUTION_AT_MD_HL</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> (</span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax">) </span><span class="identifier-syntax">Wordings::first_wn</span><span class="plain-syntax">(</span><span class="identifier-syntax">Node::get_text</span><span class="plain-syntax">(</span><span class="identifier-syntax">tc</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">source_table</span><span class="plain-syntax">)));</span>
<span class="plain-syntax"> }</span>
<span class="plain-syntax"> </span><a href="2-hrr.html#SP23" class="function-link"><span class="function-syntax">Hierarchy::apply_metadata_from_number</span></a><span class="plain-syntax">(</span><a href="5-tbl.html#SP1" class="function-link"><span class="function-syntax">RTTables::package</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">t</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="constant-syntax">TABLE_ROWS_MD_HL</span><span class="plain-syntax">, (</span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax">) </span><span class="identifier-syntax">Tables::get_no_rows</span><span class="plain-syntax">(</span><span class="identifier-syntax">t</span><span class="plain-syntax">));</span>
<span class="plain-syntax"> </span><a href="2-hrr.html#SP23" class="function-link"><span class="function-syntax">Hierarchy::apply_metadata_from_number</span></a><span class="plain-syntax">(</span><a href="5-tbl.html#SP1" class="function-link"><span class="function-syntax">RTTables::package</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">t</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="constant-syntax">TABLE_BLANK_ROWS_MD_HL</span><span class="plain-syntax">, (</span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax">) </span><span class="identifier-syntax">t</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">blank_rows</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">t</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">blank_rows_for_each_text</span><span class="plain-syntax">))</span>
<span class="plain-syntax"> </span><a href="2-hrr.html#SP23" class="function-link"><span class="function-syntax">Hierarchy::apply_metadata_from_raw_wording</span></a><span class="plain-syntax">(</span><a href="5-tbl.html#SP1" class="function-link"><span class="function-syntax">RTTables::package</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">t</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="constant-syntax">TABLE_BLANK_ROWS_FOR_MD_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">t</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">blank_rows_for_each_text</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">t</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">first_column_by_definition</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><a href="2-hrr.html#SP23" class="function-link"><span class="function-syntax">Hierarchy::apply_metadata_from_number</span></a><span class="plain-syntax">(</span><a href="5-tbl.html#SP1" class="function-link"><span class="function-syntax">RTTables::package</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">t</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="constant-syntax">TABLE_DEFINES_MD_HL</span><span class="plain-syntax">, </span><span class="constant-syntax">1</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="2-hrr.html#SP23" class="function-link"><span class="function-syntax">Hierarchy::apply_metadata_from_raw_wording</span></a><span class="plain-syntax">(</span><a href="5-tbl.html#SP1" class="function-link"><span class="function-syntax">RTTables::package</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">t</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="constant-syntax">TABLE_DEFINES_TEXT_MD_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">Node::get_text</span><span class="plain-syntax">(</span><span class="identifier-syntax">t</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">where_used_to_define</span><span class="plain-syntax">));</span>
<span class="plain-syntax"> </span><a href="2-hrr.html#SP23" class="function-link"><span class="function-syntax">Hierarchy::apply_metadata_from_number</span></a><span class="plain-syntax">(</span><a href="5-tbl.html#SP1" class="function-link"><span class="function-syntax">RTTables::package</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">t</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="constant-syntax">TABLE_DEFINES_AT_MD_HL</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> (</span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax">) </span><span class="identifier-syntax">Wordings::first_wn</span><span class="plain-syntax">(</span><span class="identifier-syntax">Node::get_text</span><span class="plain-syntax">(</span><span class="identifier-syntax">t</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">where_used_to_define</span><span class="plain-syntax">)));</span>
<span class="plain-syntax"> }</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="5-tbl.html#SP2">&#167;2</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP3" class="paragraph-anchor"></a><b>&#167;3. </b>The issue here is whether the value <span class="extract"><span class="extract-syntax">IMPROBABLE_VALUE</span></span> can, despite its

View file

@ -116,10 +116,16 @@ to the column-ID constant, and let the linker choose a value for that.
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">RTTableColumns::compile</span><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">table_column</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tc</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">tc</span><span class="plain-syntax">, </span><span class="identifier-syntax">table_column</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">package_request</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax"> = </span><a href="5-tc.html#SP1" class="function-link"><span class="function-syntax">RTTableColumns::package</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tc</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="2-emt.html#SP9" class="function-link"><span class="function-syntax">Emit::numeric_constant</span></a><span class="plain-syntax">(</span><a href="5-tc.html#SP1" class="function-link"><span class="function-syntax">RTTableColumns::id_iname</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tc</span><span class="plain-syntax">), </span><span class="constant-syntax">0</span><span class="plain-syntax">); </span><span class="comment-syntax"> placeholder value</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">kind_iname</span><span class="plain-syntax"> = </span><a href="2-hrr.html#SP12" class="function-link"><span class="function-syntax">Hierarchy::make_iname_in</span></a><span class="plain-syntax">(</span><span class="constant-syntax">TABLE_COLUMN_KIND_MD_HL</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><a href="5-tc.html#SP1" class="function-link"><span class="function-syntax">RTTableColumns::package</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tc</span><span class="plain-syntax">));</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">kind_iname</span><span class="plain-syntax"> = </span><a href="2-hrr.html#SP12" class="function-link"><span class="function-syntax">Hierarchy::make_iname_in</span></a><span class="plain-syntax">(</span><span class="constant-syntax">TABLE_COLUMN_KIND_MD_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">pack</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="5-ki.html#SP6" class="function-link"><span class="function-syntax">RTKindIDs::define_constant_as_strong_id</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">kind_iname</span><span class="plain-syntax">, </span><span class="identifier-syntax">Tables::Columns::get_kind</span><span class="plain-syntax">(</span><span class="identifier-syntax">tc</span><span class="plain-syntax">));</span>
<span class="plain-syntax"> </span><a href="2-hrr.html#SP23" class="function-link"><span class="function-syntax">Hierarchy::apply_metadata_from_raw_wording</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="constant-syntax">TABLE_COLUMN_NAME_MD_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">Nouns::nominative_singular</span><span class="plain-syntax">(</span><span class="identifier-syntax">tc</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">name</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">conts</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Kinds::Textual::write_plural</span><span class="plain-syntax">(</span><span class="identifier-syntax">conts</span><span class="plain-syntax">, </span><span class="identifier-syntax">Tables::Columns::get_kind</span><span class="plain-syntax">(</span><span class="identifier-syntax">tc</span><span class="plain-syntax">));</span>
<span class="plain-syntax"> </span><a href="2-hrr.html#SP23" class="function-link"><span class="function-syntax">Hierarchy::apply_metadata</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="constant-syntax">TABLE_COLUMN_CONTENTS_MD_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">conts</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">DISCARD_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">conts</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> }</span>
<span class="plain-syntax">}</span>
</pre>

View file

@ -1,9 +1,9 @@
Total memory consumption was 307974K = 301 MB
Total memory consumption was 306408K = 299 MB
63.6% was used for 1531974 objects, in 321733 frames in 245 x 800K = 196000K = 191 MB:
63.4% was used for 1532416 objects, in 321779 frames in 243 x 800K = 194400K = 189 MB:
9.6% inter_tree_node_array 42 x 8192 = 344064 objects, 30278976 bytes
6.2% text_stream_array 3498 x 100 = 349800 objects, 19700736 bytes
6.2% text_stream_array 3502 x 100 = 350200 objects, 19723264 bytes
5.2% linked_list 29337 objects, 16428720 bytes
3.2% parse_node 129384 objects, 10350720 bytes
2.8% inter_symbol_array 92 x 1024 = 94208 objects, 9046912 bytes
@ -17,16 +17,16 @@ Total memory consumption was 307974K = 301 MB
0.5% inter_name_array 34 x 1000 = 34000 objects, 1633088 bytes
0.4% i6_schema_array 23 x 100 = 2300 objects, 1380736 bytes
0.4% match_trie_array 10 x 1000 = 10000 objects, 1360320 bytes
0.3% inter_package 15571 objects, 1121112 bytes
0.3% inter_name_generator_array 28 x 1000 = 28000 objects, 1120896 bytes
0.3% inter_package 15564 objects, 1120608 bytes
0.3% id_body 940 objects, 1075360 bytes
0.3% adjective_meaning 202 objects, 1000304 bytes
0.3% dictionary 20756 objects, 996288 bytes
0.3% inter_symbols_table 15564 objects, 996096 bytes
0.3% dictionary 20763 objects, 996624 bytes
0.3% inter_symbols_table 15571 objects, 996544 bytes
0.3% excerpt_meaning 3098 objects, 966576 bytes
0.2% dict_entry_array 282 x 100 = 28200 objects, 911424 bytes
0.2% production 3871 objects, 898072 bytes
0.2% package_request 10140 objects, 892320 bytes
0.2% package_request 10147 objects, 892936 bytes
0.2% ptoken 8379 objects, 871416 bytes
0.2% grammatical_usage 3610 objects, 866400 bytes
0.2% individual_form 2560 objects, 860160 bytes
@ -46,7 +46,7 @@ Total memory consumption was 307974K = 301 MB
---- rule_family_data 400 objects, 147200 bytes
---- index_lexicon_entry 395 objects, 142200 bytes
---- nonterminal 759 objects, 139656 bytes
---- hierarchy_location 882 objects, 134064 bytes
---- hierarchy_location 891 objects, 135432 bytes
---- nascent_array 1948 objects, 124672 bytes
---- documentation_ref 1274 objects, 112112 bytes
---- inference 1703 objects, 108992 bytes
@ -54,7 +54,7 @@ Total memory consumption was 307974K = 301 MB
---- anl_entry_array 2 x 1000 = 2000 objects, 96064 bytes
---- noun_usage 2401 objects, 96040 bytes
---- preposition 273 objects, 87360 bytes
---- inter_tree 6 objects, 86160 bytes
---- inter_tree 6 objects, 86640 bytes
---- lexical_cluster 2516 objects, 80512 bytes
---- pcalc_term_array 2 x 1000 = 2000 objects, 80064 bytes
---- kind_variable_declaration 1652 objects, 79296 bytes
@ -112,14 +112,14 @@ Total memory consumption was 307974K = 301 MB
---- pathname 292 objects, 11680 bytes
---- stopwatch_timer 108 objects, 8640 bytes
---- filename 208 objects, 8320 bytes
---- uniqueness_count 334 objects, 8016 bytes
---- uniqueness_count 338 objects, 8112 bytes
---- equation_node 68 objects, 7616 bytes
---- understanding_item_array 3 x 100 = 300 objects, 7296 bytes
---- shared_variable_array 1 x 100 objects, 7232 bytes
---- determiner 22 objects, 7216 bytes
---- verb 108 objects, 6048 bytes
---- text_literal_holder 144 objects, 5760 bytes
---- hierarchy_attachment_point 55 objects, 5280 bytes
---- hierarchy_attachment_point 56 objects, 5376 bytes
---- inbuild_work 78 objects, 4992 bytes
---- explicit_action_array 1 x 100 objects, 4832 bytes
---- value_property_data 84 objects, 4704 bytes
@ -236,16 +236,16 @@ Total memory consumption was 307974K = 301 MB
---- by_function_bp_data 1 object, 40 bytes
---- kind_template_definition 1 object, 40 bytes
36.3% was used for memory not allocated for objects:
36.5% was used for memory not allocated for objects:
17.2% text stream storage 54533376 bytes in 362426 claims
3.6% dictionary storage 11514368 bytes in 20756 claims
17.3% text stream storage 54563284 bytes in 362764 claims
3.6% dictionary storage 11517952 bytes in 20763 claims
---- sorting 712 bytes in 3 claims
2.2% source text 7200000 bytes in 3 claims
3.4% source text details 10800000 bytes in 2 claims
---- linguistic stock array 81920 bytes in 2 claims
---- small word set array 105600 bytes in 22 claims
0.8% inter symbols storage 2692544 bytes in 16544 claims
0.8% inter symbols storage 2693440 bytes in 16551 claims
5.3% inter bytecode storage 16802796 bytes in 14 claims
2.8% inter links storage 8866944 bytes in 265 claims
---- inter tree location list storage 166656 bytes in 26 claims
@ -255,5 +255,5 @@ Total memory consumption was 307974K = 301 MB
---- code generation workspace for objects 9648 bytes in 9 claims
---- emitter array storage 154432 bytes in 2037 claims
20.1% was overhead - 63571328 bytes = 62081K = 60 MB
19.7% was overhead - 61906456 bytes = 60455K = 59 MB

View file

@ -1,25 +1,24 @@
100.0% in inform7 run
54.1% in compilation to Inter
40.0% in //Sequence::undertake_queued_tasks//
4.1% in //MajorNodes::pre_pass//
53.4% in compilation to Inter
39.4% in //Sequence::undertake_queued_tasks//
4.2% in //MajorNodes::pre_pass//
3.1% in //MajorNodes::pass_1//
1.7% in //ImperativeDefinitions::assess_all//
0.5% in //ImperativeDefinitions::compile_first_block//
0.5% in //MajorNodes::pass_2//
0.5% in //RTKindConstructors::compile//
0.5% in //Sequence::undertake_queued_tasks//
0.5% in //World::stage_V//
0.3% in //Sequence::undertake_queued_tasks//
0.1% in //InferenceSubjects::emit_all//
0.1% in //RTKindConstructors::compile_permissions//
0.1% in //Sequence::undertake_queued_tasks//
0.1% in //Task::make_built_in_kind_constructors//
0.1% in //World::stages_II_and_III//
1.7% not specifically accounted for
43.6% in running Inter pipeline
1.8% not specifically accounted for
44.3% in running Inter pipeline
11.2% in inter step 7/14: consolidate-text
11.0% in step preparation
9.1% in inter step 2/14: link
7.4% in inter step 14/14: generate inform6 -> auto.inf
9.4% in inter step 2/14: link
7.5% in inter step 14/14: generate inform6 -> auto.inf
0.8% 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
@ -29,6 +28,6 @@
0.1% in inter step 5/14: resolve-conditional-compilation
0.1% in inter step 8/14: resolve-external-symbols
0.1% in inter step 9/14: inspect-plugs
2.1% not specifically accounted for
1.8% in supervisor
2.3% not specifically accounted for
1.9% in supervisor
0.4% not specifically accounted for

View file

@ -0,0 +1,38 @@
Home is a room.
A dynasty is a kind of value. The dynasties are Stuart, Hanover, Saxe-Coburg-Gotha
and Windsor.
Table 4 - Recent Monarchs
Name Accession Family
"Anne" 1702 Stuart
"George I" 1714 Hanover
"George II" 1720 Hanover
"George III" 1760 Hanover
"George IV" 1820 Hanover
"William IV" 1830 Hanover
"Victoria" 1837 Hanover
"Edward VII" 1901 Saxe-Coburg-Gotha
"George V" 1910 Windsor
"Edward VIII" 1936 Windsor
"George VI" 1936 Windsor
"Elizabeth II" 1952 Windsor
Table 2.1 - Selected Elements
Element Symbol Atomic number Atomic weight Mystery
"Hydrogen" "H" 1 1 { 2, 3, 6, 7 }
"Iron" "Fe" 26 56 --
"Zinc" "Zn" 30 65 { 34, 151 }
"Uranium" "U" 92 238 { -4 }
with 3 blank rows
A jersey is a kind of thing. A jersey is wearable. Some jerseys in the Home are defined by the Table of Honorary Jerseys.
Table of Honorary Jerseys
jersey year established citation
a yellow jersey 1919 "race leader"
a polkadot jersey 1933 "King of the Mountains"
a green jersey 1953 "highest point scorer on sprints"
a white jersey 1975 "best cyclist aged 25 or less"
Test index (internal) with Tb.

View file

@ -0,0 +1,230 @@
1. Tb
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td style="padding-top: 3px;" align="left" valign="top">
<b>Table of Honorary Jerseys</b>&nbsp;<a href="source:story.ni#line31"><img border=0 src=inform:/doc_images/Reveal.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td style="padding-top: 3px;" align="left" valign="top">
<i><span class="smaller">4 definitions</span></i>
</td>
</tr>
<tr>
<td align="left" valign="top">
&nbsp;&nbsp;col 1:&nbsp;&nbsp;Some jerseys in the Home&nbsp;<a href="source:story.ni#line29"><img border=0 src=inform:/doc_images/Reveal.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
<i>names</i>
</td>
</tr>
<tr>
<td align="left" valign="top">
&nbsp;&nbsp;col 2:&nbsp;&nbsp;<i>sets</i> citation&nbsp;<a href="javascript:pasteCode('citation')"><img border=0 src=inform:/doc_images/paste.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
texts property
</td>
</tr>
<tr>
<td align="left" valign="top">
&nbsp;&nbsp;col 3:&nbsp;&nbsp;<i>sets</i> jersey&nbsp;<a href="javascript:pasteCode('jersey')"><img border=0 src=inform:/doc_images/paste.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
objects property
</td>
</tr>
<tr>
<td style="padding-top: 3px;" align="left" valign="top">
<b>Table 4 - Recent Monarchs</b>&nbsp;<a href="source:story.ni#line6"><img border=0 src=inform:/doc_images/Reveal.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td style="padding-top: 3px;" align="left" valign="top">
<i><span class="smaller">3 columns x 12 rows</span></i>
</td>
</tr>
<tr>
<td align="left" valign="top">
&nbsp;&nbsp;col 1:&nbsp;&nbsp;Name&nbsp;<a href="javascript:pasteCode('Name entry')"><img border=0 src=inform:/doc_images/paste.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
of texts
</td>
</tr>
<tr>
<td align="left" valign="top">
&nbsp;&nbsp;col 2:&nbsp;&nbsp;Accession&nbsp;<a href="javascript:pasteCode('Accession entry')"><img border=0 src=inform:/doc_images/paste.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
of numbers
</td>
</tr>
<tr>
<td align="left" valign="top">
&nbsp;&nbsp;col 3:&nbsp;&nbsp;Family&nbsp;<a href="javascript:pasteCode('Family entry')"><img border=0 src=inform:/doc_images/paste.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
of dynasties
</td>
</tr>
<tr>
<td style="padding-top: 3px;" align="left" valign="top">
<b>Table 2.1 - Selected Elements</b>&nbsp;<a href="source:story.ni#line21"><img border=0 src=inform:/doc_images/Reveal.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td style="padding-top: 3px;" align="left" valign="top">
<i><span class="smaller">5 columns x 7 rows (3 blank)</span></i>
</td>
</tr>
<tr>
<td align="left" valign="top">
&nbsp;&nbsp;col 1:&nbsp;&nbsp;Element&nbsp;<a href="javascript:pasteCode('Element entry')"><img border=0 src=inform:/doc_images/paste.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
of texts
</td>
</tr>
<tr>
<td align="left" valign="top">
&nbsp;&nbsp;col 2:&nbsp;&nbsp;Symbol&nbsp;<a href="javascript:pasteCode('Symbol entry')"><img border=0 src=inform:/doc_images/paste.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
of texts
</td>
</tr>
<tr>
<td align="left" valign="top">
&nbsp;&nbsp;col 3:&nbsp;&nbsp;Atomic number&nbsp;<a href="javascript:pasteCode('Atomic number entry')"><img border=0 src=inform:/doc_images/paste.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
of numbers
</td>
</tr>
<tr>
<td align="left" valign="top">
&nbsp;&nbsp;col 4:&nbsp;&nbsp;Atomic weight&nbsp;<a href="javascript:pasteCode('Atomic weight entry')"><img border=0 src=inform:/doc_images/paste.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
of numbers
</td>
</tr>
<tr>
<td align="left" valign="top">
&nbsp;&nbsp;col 5:&nbsp;&nbsp;Mystery&nbsp;<a href="javascript:pasteCode('Mystery entry')"><img border=0 src=inform:/doc_images/paste.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
of lists of numbers
</td>
</tr>
</table>
<p><a href="#" onclick="showExtra('extra2', 'plus2'); return false;"><img border=0 id="plus2" src=inform:/doc_images/extra.png></a>&nbsp;Show tables inside extensions too</p>
<div id="extra2" style="display: none;">
<p class="in1"><table width="100%" cellpadding="0" cellspacing="0" border="0" style="background-color: #e0e0e0">
<tr>
<td width="8">
<img src="inform:/bg_images/tl_corner_e0e0e0.gif" width="8" height="8" border="0" alt="...">
</td>
<td>
</td>
<td width="8">
<img src="inform:/bg_images/tr_corner_e0e0e0.gif" width="8" height="8" border="0" alt="...">
</td>
</tr>
<tr>
<td width="8">
</td>
<td>
<p><i>Standard Rules</i></p>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td style="padding-top: 3px;" align="left" valign="top">
<b>Table of Final Question Options</b>&nbsp;<a href='inform://Extensions/Extensions/Graham%20Nelson/Standard%20Rules.html' title="Standard Rules by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td style="padding-top: 3px;" align="left" valign="top">
<i><span class="smaller">5 columns x 5 rows</span></i>
</td>
</tr>
<tr>
<td align="left" valign="top">
&nbsp;&nbsp;col 1:&nbsp;&nbsp;final question wording&nbsp;<a href="javascript:pasteCode('final question wording entry')"><img border=0 src=inform:/doc_images/paste.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
of texts
</td>
</tr>
<tr>
<td align="left" valign="top">
&nbsp;&nbsp;col 2:&nbsp;&nbsp;only if victorious&nbsp;<a href="javascript:pasteCode('only if victorious entry')"><img border=0 src=inform:/doc_images/paste.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
of truth states
</td>
</tr>
<tr>
<td align="left" valign="top">
&nbsp;&nbsp;col 3:&nbsp;&nbsp;topic&nbsp;<a href="javascript:pasteCode('topic entry')"><img border=0 src=inform:/doc_images/paste.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
of topics
</td>
</tr>
<tr>
<td align="left" valign="top">
&nbsp;&nbsp;col 4:&nbsp;&nbsp;final response rule&nbsp;<a href="javascript:pasteCode('final response rule entry')"><img border=0 src=inform:/doc_images/paste.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
of rules
</td>
</tr>
<tr>
<td align="left" valign="top">
&nbsp;&nbsp;col 5:&nbsp;&nbsp;final response activity&nbsp;<a href="javascript:pasteCode('final response activity entry')"><img border=0 src=inform:/doc_images/paste.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
of activities on objects
</td>
</tr>
<tr>
<td style="padding-top: 3px;" align="left" valign="top">
<b>Table of Locale Priorities</b>&nbsp;<a href='inform://Extensions/Extensions/Graham%20Nelson/Standard%20Rules.html' title="Standard Rules by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td style="padding-top: 3px;" align="left" valign="top">
<i><span class="smaller">2 columns x 6 rows (5 blank, one for each thing)</span></i>
</td>
</tr>
<tr>
<td align="left" valign="top">
&nbsp;&nbsp;col 1:&nbsp;&nbsp;notable-object&nbsp;<a href="javascript:pasteCode('notable-object entry')"><img border=0 src=inform:/doc_images/paste.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
of objects
</td>
</tr>
<tr>
<td align="left" valign="top">
&nbsp;&nbsp;col 2:&nbsp;&nbsp;locale description priority&nbsp;<a href="javascript:pasteCode('locale description priority entry')"><img border=0 src=inform:/doc_images/paste.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
of numbers
</td>
</tr>
</table>
</td>
<td width="8">
</td>
</tr>
<tr>
<td width="8">
<img src="inform:/bg_images/bl_corner_e0e0e0.gif" width="8" height="8" border="0" alt="...">
</td>
<td>
</td>
<td width="8">
<img src="inform:/bg_images/br_corner_e0e0e0.gif" width="8" height="8" border="0" alt="...">
</td>
</tr>
</table>
</p>
</div>

View file

@ -1,133 +0,0 @@
[IXTables::] Tables Element.
To index tables.
@h Indexing.
Tables inside extensions are often used just for the storage needed to manage
back-of-house algorithms, so to speak, and they aren't intended for the end
user to poke around with; that's certainly true of the tables in the Standard
Rules, which of course are always present. So these are hidden by default.
=
void IXTables::render(OUTPUT_STREAM) {
HTML_OPEN("p");
int m = IXTables::index_tables_in(OUT, NULL, 0);
HTML_CLOSE("p");
HTML_OPEN("p");
Index::extra_link(OUT, 2);
if (m > 0) WRITE("Show tables inside extensions too");
else WRITE("Show tables inside extensions (there are none in the main text)");
HTML_CLOSE("p");
Index::extra_div_open(OUT, 2, 1, "e0e0e0");
inform_extension *E; int efc = 0;
LOOP_OVER(E, inform_extension) IXTables::index_tables_in(OUT, E, efc++);
Index::extra_div_close(OUT, "e0e0e0");
}
@ This tabulates tables within a given extension, returning the number listed,
and does nothing at all if that number is 0.
=
int IXTables::index_tables_in(OUTPUT_STREAM, inform_extension *E, int efc) {
int tc = 0; table *t;
LOOP_OVER(t, table) if (IXTables::table_within(t, E)) tc++;
if (tc > 0) {
if (E) {
HTML_OPEN("p");
WRITE("<i>%S</i>", E->as_copy->edition->work->title);
HTML_CLOSE("p");
}
HTML::begin_plain_html_table(OUT);
LOOP_OVER(t, table)
if (IXTables::table_within(t, E))
@<Index this table@>;
HTML::end_html_table(OUT);
}
return tc;
}
@ The following probably ought to use a multiplication sign rather than a
Helvetica-style lower case "x", but life is full of compromises.
@<Index this table@> =
HTML::first_html_column_spaced(OUT, 0);
WRITE("<b>%+W</b>", Node::get_text(t->headline_fragment));
table_contribution *tc; int ntc = 0;
for (tc = t->table_created_at; tc; tc = tc->next) {
if (ntc++ > 0) WRITE(" +");
Index::link(OUT, Wordings::first_wn(Node::get_text(tc->source_table)));
}
HTML::next_html_column_spaced(OUT, 0);
int rc = Tables::get_no_rows(t);
WRITE("<i>");
HTML_OPEN_WITH("span", "class=\"smaller\"");
if (t->first_column_by_definition) {
WRITE("%d definition%s", rc,
(rc == 1)?"":"s");
} else {
WRITE("%d column%s x %d row%s",
t->no_columns, (t->no_columns == 1)?"":"s",
rc, (rc == 1)?"":"s");
}
if (t->blank_rows > 0) {
WRITE(" (%d blank", t->blank_rows);
if (Wordings::nonempty(t->blank_rows_for_each_text))
WRITE(", one for each %+W", t->blank_rows_for_each_text);
WRITE(")");
}
HTML_CLOSE("span");
WRITE("</i>");
HTML::end_html_row(OUT);
int col;
for (col = 0; col < t->no_columns; col++) {
HTML::first_html_column(OUT, 0);
WRITE("&nbsp;&nbsp;col %d:&nbsp;&nbsp;", col+1);
wording CW = Nouns::nominative_singular(t->columns[col].column_identity->name);
if ((t->first_column_by_definition) && (col == 0)) {
parse_node *PN = t->where_used_to_define;
WRITE("%+W", Node::get_text(PN));
Index::link(OUT, Wordings::first_wn(Node::get_text(PN)));
} else {
if (t->first_column_by_definition) WRITE("<i>sets</i> ");
WRITE("%+W&nbsp;", CW);
TEMPORARY_TEXT(TEMP)
WRITE_TO(TEMP, "%+W", CW);
if (t->first_column_by_definition == FALSE) WRITE_TO(TEMP, " entry");
PasteButtons::paste_text(OUT, TEMP);
DISCARD_TEXT(TEMP)
}
HTML::next_html_column(OUT, 0);
if ((t->first_column_by_definition) && (col == 0)) {
parse_node *cell;
int row;
for (row = 1, cell = t->columns[0].entries->down; cell; cell = cell->next, row++) {
if (row > 1) WRITE(", ");
WRITE("%+W", Node::get_text(cell));
Index::link(OUT, Wordings::first_wn(Node::get_text(cell)));
}
} else if (t->first_column_by_definition) {
Kinds::Textual::write(OUT,
Tables::Columns::get_kind(
t->columns[col].column_identity));
WRITE(" property");
} else {
WRITE("of ");
Kinds::Textual::write_plural(OUT,
Tables::Columns::get_kind(
t->columns[col].column_identity));
}
HTML::end_html_row(OUT);
}
@ The following laboriously tests whether a table is defined within a
given extension:
=
int IXTables::table_within(table *t, inform_extension *E) {
if (t->amendment_of) return FALSE;
heading *at_heading =
Headings::of_wording(Node::get_text(t->table_created_at->source_table));
inform_extension *at_E = Headings::get_extension_containing(at_heading);
if (E == at_E) return TRUE;
return FALSE;
}

View file

@ -22,7 +22,6 @@ Chapter 2: Indexing
Rules
Activities
Phrasebook Index
Tables Element
Innards Element
Rules for Scenes Element
Arithmetic Element

View file

@ -1214,6 +1214,12 @@ void Hierarchy::establish(void) {
@e TABLE_PNAME_MD_HL
@e TABLE_VALUE_MD_HL
@e RANKING_TABLE_MD_HL
@e TABLE_ROWS_MD_HL
@e TABLE_BLANK_ROWS_MD_HL
@e TABLE_BLANK_ROWS_FOR_MD_HL
@e TABLE_DEFINES_MD_HL
@e TABLE_DEFINES_TEXT_MD_HL
@e TABLE_DEFINES_AT_MD_HL
@e TABLE_ID_HL
@e TABLE_DATA_HL
@e TABLE_COLUMN_USAGES_HAP
@ -1222,9 +1228,13 @@ void Hierarchy::establish(void) {
@e COLUMN_BITS_HL
@e COLUMN_BLANKS_HL
@e COLUMN_BLANK_DATA_HL
@e TABLE_CONTRIBUTION_HAP
@e TABLE_CONTRIBUTION_AT_MD_HL
@e TABLE_COLUMNS_HAP
@e TABLE_COLUMN_ID_HL
@e TABLE_COLUMN_NAME_MD_HL
@e TABLE_COLUMN_CONTENTS_MD_HL
@e TABLE_COLUMN_KIND_MD_HL
@<Establish tables@> =
@ -1236,6 +1246,12 @@ void Hierarchy::establish(void) {
H_C_U(TABLE_PNAME_MD_HL, I"^printed_name")
H_C_U(TABLE_VALUE_MD_HL, I"^value")
H_C_U(RANKING_TABLE_MD_HL, I"^ranking_table")
H_C_U(TABLE_ROWS_MD_HL, I"^rows")
H_C_U(TABLE_BLANK_ROWS_MD_HL, I"^blank_rows")
H_C_U(TABLE_BLANK_ROWS_FOR_MD_HL, I"^blank_rows_for_each")
H_C_U(TABLE_DEFINES_MD_HL, I"^defines")
H_C_U(TABLE_DEFINES_TEXT_MD_HL, I"^defines_text")
H_C_U(TABLE_DEFINES_AT_MD_HL, I"^defines_at")
H_C_U(TABLE_ID_HL, I"table_id")
H_C_U(TABLE_DATA_HL, I"table_data")
H_BEGIN_AP(TABLE_COLUMN_USAGES_HAP, I"column", I"_table_column_usage")
@ -1245,6 +1261,9 @@ void Hierarchy::establish(void) {
H_C_U(COLUMN_BLANKS_HL, I"column_blanks")
H_C_U(COLUMN_BLANK_DATA_HL, I"^column_blank_data")
H_END
H_BEGIN_AP(TABLE_CONTRIBUTION_HAP, I"contribution", I"_table_contribution")
H_C_U(TABLE_CONTRIBUTION_AT_MD_HL, I"^at")
H_END
H_END
H_END
@ -1252,7 +1271,9 @@ void Hierarchy::establish(void) {
H_BEGIN(HierarchyLocations::local_submodule(table_columns))
H_BEGIN_AP(TABLE_COLUMNS_HAP, I"table_column", I"_table_column")
H_C_U(TABLE_COLUMN_ID_HL, I"table_column_id")
H_C_U(TABLE_COLUMN_KIND_MD_HL, I"^column_kind")
H_C_U(TABLE_COLUMN_NAME_MD_HL, I"^name")
H_C_U(TABLE_COLUMN_CONTENTS_MD_HL, I"^contents")
H_C_U(TABLE_COLUMN_KIND_MD_HL, I"^column_kind")
H_END
H_END

View file

@ -44,9 +44,15 @@ to the column-ID constant, and let the linker choose a value for that.
void RTTableColumns::compile(void) {
table_column *tc;
LOOP_OVER(tc, table_column) {
package_request *pack = RTTableColumns::package(tc);
Emit::numeric_constant(RTTableColumns::id_iname(tc), 0); /* placeholder value */
inter_name *kind_iname = Hierarchy::make_iname_in(TABLE_COLUMN_KIND_MD_HL,
RTTableColumns::package(tc));
inter_name *kind_iname = Hierarchy::make_iname_in(TABLE_COLUMN_KIND_MD_HL, pack);
RTKindIDs::define_constant_as_strong_id(kind_iname, Tables::Columns::get_kind(tc));
Hierarchy::apply_metadata_from_raw_wording(pack,
TABLE_COLUMN_NAME_MD_HL, Nouns::nominative_singular(tc->name));
TEMPORARY_TEXT(conts)
Kinds::Textual::write_plural(conts, Tables::Columns::get_kind(tc));
Hierarchy::apply_metadata(pack, TABLE_COLUMN_CONTENTS_MD_HL, conts);
DISCARD_TEXT(conts)
}
}

View file

@ -288,6 +288,29 @@ case.)
WRITE_TO(S, "%+W", Node::get_text(t->headline_fragment));
Hierarchy::apply_metadata(RTTables::package(t), TABLE_PNAME_MD_HL, S);
DISCARD_TEXT(S)
for (table_contribution *tc = t->table_created_at; tc; tc = tc->next) {
package_request *R =
Hierarchy::package_within(TABLE_CONTRIBUTION_HAP,
RTTables::package(t));
Hierarchy::apply_metadata_from_number(R, TABLE_CONTRIBUTION_AT_MD_HL,
(inter_ti) Wordings::first_wn(Node::get_text(tc->source_table)));
}
Hierarchy::apply_metadata_from_number(RTTables::package(t),
TABLE_ROWS_MD_HL, (inter_ti) Tables::get_no_rows(t));
Hierarchy::apply_metadata_from_number(RTTables::package(t),
TABLE_BLANK_ROWS_MD_HL, (inter_ti) t->blank_rows);
if (Wordings::nonempty(t->blank_rows_for_each_text))
Hierarchy::apply_metadata_from_raw_wording(RTTables::package(t),
TABLE_BLANK_ROWS_FOR_MD_HL, t->blank_rows_for_each_text);
if (t->first_column_by_definition) {
Hierarchy::apply_metadata_from_number(RTTables::package(t),
TABLE_DEFINES_MD_HL, 1);
Hierarchy::apply_metadata_from_raw_wording(RTTables::package(t),
TABLE_DEFINES_TEXT_MD_HL, Node::get_text(t->where_used_to_define));
Hierarchy::apply_metadata_from_number(RTTables::package(t),
TABLE_DEFINES_AT_MD_HL,
(inter_ti) Wordings::first_wn(Node::get_text(t->where_used_to_define)));
}
@ The issue here is whether the value |IMPROBABLE_VALUE| can, despite its
improbability, be valid for this kind. If we can prove that it is not, we

View file

@ -142,7 +142,6 @@ text_stream *Index::open_file(text_stream *index_leaf, text_stream *title, int s
}
ifl = &index_file_struct;
text_stream *OUT = ifl;
LOG("Index: %f\n", F);
@<Set the current index page@>;
HTML::header(OUT, title,
@ -665,12 +664,12 @@ void Index::index_actual_element(OUTPUT_STREAM, text_stream *elt) {
FiguresElement::render(OUT);
return;
}
#ifdef CORE_MODULE
if (Str::eq_wide_string(elt, L"Tb")) {
IXTables::render(OUT);
TablesElement::render(OUT);
return;
}
#ifdef CORE_MODULE
if (Str::eq_wide_string(elt, L"In")) {
IXInnards::render(OUT, Supervisor::current_vm());
return;

View file

@ -0,0 +1,159 @@
[TablesElement::] Tables Element.
To write the Tables element (Tb) in the index.
@h Indexing.
Tables inside extensions are often used just for the storage needed to manage
back-of-house algorithms, so to speak, and they aren't intended for the end
user to poke around with; that's certainly true of the tables in the Standard
Rules, which of course are always present. So these are hidden by default.
=
void TablesElement::render(OUTPUT_STREAM) {
inter_tree *I = Index::get_tree();
tree_inventory *inv = Synoptic::inv(I);
TreeLists::sort(inv->table_nodes, Synoptic::category_order);
inter_package *current_mod = NULL; int mc = 0, first_ext = TRUE;
inter_ti cat = 1, open_cat = 0;
for (inter_ti with_cat = 1; with_cat <= 3; with_cat++) {
for (int i=0; i<TreeLists::len(inv->table_nodes); i++) {
inter_package *mod = Synoptic::module_containing(inv->table_nodes->list[i].node);
if (mod == NULL) continue;
cat = Metadata::read_optional_numeric(mod, I"^category");
if (cat == with_cat) {
if ((mc == 0) || (mod != current_mod)) {
@<Close block of tables@>;
mc++; current_mod = mod;
@<Open block of tables@>;
}
inter_package *pack = Inter::Package::defined_by_frame(inv->table_nodes->list[i].node);
@<Index this table@>;
}
}
}
@<Close block of tables@>;
}
@<Open block of tables@> =
if (cat > 1) {
if (first_ext) {
HTML_OPEN("p");
Index::extra_link(OUT, 2);
if (mc > 1) WRITE("Show tables inside extensions too");
else WRITE("Show tables inside extensions (there are none in the main text)");
HTML_CLOSE("p");
first_ext = FALSE;
}
Index::extra_div_open(OUT, 2, 1, "e0e0e0");
HTML_OPEN("p");
WRITE("<i>%S</i>", Metadata::read_textual(mod, I"^title"));
HTML_CLOSE("p");
}
open_cat = cat;
HTML::begin_plain_html_table(OUT);
@<Close block of tables@> =
if (mc > 0) {
HTML::end_html_table(OUT);
if (open_cat > 1) Index::extra_div_close(OUT, "e0e0e0");
}
@ The following probably ought to use a multiplication sign rather than a
Helvetica-style lower case "x", but life is full of compromises.
@<Index this table@> =
HTML::first_html_column_spaced(OUT, 0);
WRITE("<b>%S</b>", Metadata::read_textual(pack, I"^printed_name"));
int ntc = 0;
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) == PackageTypes::get(I, I"_table_contribution")) {
if (ntc++ > 0) WRITE(" +");
int at = (int) Metadata::read_optional_numeric(entry, I"^at");
Index::link(OUT, at);
}
}
}
HTML::next_html_column_spaced(OUT, 0);
int nc = 0;
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) == PackageTypes::get(I, I"_table_column_usage"))
nc++;
}
}
int nr = (int) Metadata::read_numeric(pack, I"^rows");
int nb = (int) Metadata::read_numeric(pack, I"^blank_rows");
int defines = (int) Metadata::read_optional_numeric(pack, I"^defines");
text_stream *for_each = Metadata::read_optional_textual(pack, I"^blank_rows_for_each");
WRITE("<i>");
HTML_OPEN_WITH("span", "class=\"smaller\"");
if (defines) {
WRITE("%d definition%s", nr, (nr == 1)?"":"s");
} else {
WRITE("%d column%s x %d row%s", nc, (nc == 1)?"":"s", nr, (nr == 1)?"":"s");
}
if (nb > 0) {
WRITE(" (%d blank", nb);
if (Str::len(for_each) > 0) WRITE(", one for each %S", for_each);
WRITE(")");
}
HTML_CLOSE("span");
WRITE("</i>");
HTML::end_html_row(OUT);
int col = 0;
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) == PackageTypes::get(I, I"_table_column_usage")) {
inter_tree_node *ID = Synoptic::get_definition(entry, I"column_identity");
inter_symbol *id_s = NULL;
if (ID->W.data[DATA_CONST_IFLD] == ALIAS_IVAL)
id_s = InterSymbolsTables::symbol_from_id(Inter::Packages::scope(entry), ID->W.data[DATA_CONST_IFLD+1]);
if (id_s == NULL) internal_error("column_identity not an ALIAS_IVAL");
inter_package *col_pack = Inter::Packages::container(id_s->definition);
LOG("Whellll... $6\n", col_pack);
HTML::first_html_column(OUT, 0);
WRITE("&nbsp;&nbsp;col %d:&nbsp;&nbsp;", col+1);
@<Give column details@>;
HTML::next_html_column(OUT, 0);
@<Give column 2 details@>;
HTML::end_html_row(OUT);
col++;
}
}
}
@<Give column details@> =
text_stream *CW = Metadata::read_optional_textual(col_pack, I"^name");
if ((defines) && (col == 0)) {
WRITE("%S", Metadata::read_optional_textual(pack, I"^defines_text"));
int at = (int) Metadata::read_optional_numeric(pack, I"^defines_at");
Index::link(OUT, at);
} else {
if (defines) WRITE("<i>sets</i> ");
WRITE("%S&nbsp;", CW);
TEMPORARY_TEXT(TEMP)
WRITE_TO(TEMP, "%S", CW);
if (defines == FALSE) WRITE_TO(TEMP, " entry");
PasteButtons::paste_text(OUT, TEMP);
DISCARD_TEXT(TEMP)
}
@<Give column 2 details@> =
if ((defines) && (col == 0)) {
WRITE("<i>names</i>");
} else if (defines) {
WRITE("%S property", Metadata::read_optional_textual(col_pack, I"^contents"));
} else {
WRITE("of %S", Metadata::read_optional_textual(col_pack, I"^contents"));
}

View file

@ -68,3 +68,4 @@ Chapter 6: Index
Relations Element
Events Element
Figures Element
Tables Element