mirror of
https://github.com/ganelson/inform.git
synced 2024-06-17 07:40:47 +03:00
Migrated In element
This commit is contained in:
parent
5a02e43194
commit
edd07a3a55
|
@ -230,24 +230,7 @@ them back that way too:
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">uo</span><span class="plain-syntax">-></span><span class="element-syntax">minimum_setting_value</span><span class="plain-syntax">, </span><span class="identifier-syntax">from</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP6" class="paragraph-anchor"></a><b>§6. </b>And this is what the rest of Inform calls to find out whether a particular
|
||||
pragma is set:
|
||||
</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">NewUseOptions::uo_set_from</span><span class="plain-syntax">(</span><span class="reserved-syntax">use_option</span><span class="plain-syntax"> *</span><span class="identifier-syntax">uo</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">category</span><span class="plain-syntax">, </span><span class="identifier-syntax">inform_extension</span><span class="plain-syntax"> *</span><span class="identifier-syntax">E</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">source_file</span><span class="plain-syntax"> *</span><span class="identifier-syntax">sf</span><span class="plain-syntax"> = (</span><span class="identifier-syntax">uo</span><span class="plain-syntax">-></span><span class="element-syntax">where_used</span><span class="plain-syntax">)?</span>
|
||||
<span class="plain-syntax"> (</span><span class="identifier-syntax">Lexer::file_of_origin</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">uo</span><span class="plain-syntax">-></span><span class="element-syntax">where_used</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">inform_extension</span><span class="plain-syntax"> *</span><span class="identifier-syntax">efo</span><span class="plain-syntax"> = (</span><span class="identifier-syntax">sf</span><span class="plain-syntax">)?(</span><span class="identifier-syntax">Extensions::corresponding_to</span><span class="plain-syntax">(</span><span class="identifier-syntax">sf</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">switch</span><span class="plain-syntax"> (</span><span class="identifier-syntax">category</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="constant-syntax">1</span><span class="plain-syntax">: </span><span class="reserved-syntax">if</span><span class="plain-syntax"> ((</span><span class="identifier-syntax">sf</span><span class="plain-syntax">) && (</span><span class="identifier-syntax">efo</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">)) </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">; </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="constant-syntax">2</span><span class="plain-syntax">: </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">sf</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">; </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="constant-syntax">3</span><span class="plain-syntax">: </span><span class="reserved-syntax">if</span><span class="plain-syntax"> ((</span><span class="identifier-syntax">sf</span><span class="plain-syntax">) && (</span><span class="identifier-syntax">efo</span><span class="plain-syntax"> == </span><span class="identifier-syntax">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="reserved-syntax">break</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">FALSE</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP7" class="paragraph-anchor"></a><b>§7. </b>We can also meddle with the I6 memory settings which will be used to finish
|
||||
<p class="commentary firstcommentary"><a id="SP6" class="paragraph-anchor"></a><b>§6. </b>We can also meddle with the I6 memory settings which will be used to finish
|
||||
compiling the story file. We need this because we have no practical way to
|
||||
predict when our code will break I6's limits: the only reasonable way it can
|
||||
work is for the user to hit the limit occasionally, and then raise that limit
|
||||
|
@ -262,7 +245,7 @@ by hand with a sentence in the source text.
|
|||
<span class="plain-syntax">} </span><span class="reserved-syntax">i6_memory_setting</span><span class="plain-syntax">;</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>The structure i6_memory_setting is private to this section.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP8" class="paragraph-anchor"></a><b>§8. </b></p>
|
||||
<p class="commentary firstcommentary"><a id="SP7" class="paragraph-anchor"></a><b>§7. </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">NewUseOptions::memory_setting</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">NewUseOptions::memory_setting</span></span>:<br/>Use Options - <a href="3-uor.html#SP2_2_2">§2.2.2</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">identifier</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">n</span><span class="plain-syntax">) {</span>
|
||||
|
|
|
@ -185,7 +185,7 @@ since the compiler next down the chain may no longer be I6.
|
|||
<span class="plain-syntax"> </span><span class="string-syntax">"that is too long to be an ICL identifier"</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="string-syntax">"so can't be the name of any I6 memory setting."</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><a href="3-nuor.html#SP8" class="function-link"><span class="function-syntax">NewUseOptions::memory_setting</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">icl_identifier</span><span class="plain-syntax">, </span><span class="identifier-syntax">n</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="3-nuor.html#SP7" class="function-link"><span class="function-syntax">NewUseOptions::memory_setting</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">icl_identifier</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">DISCARD_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">icl_identifier</span><span class="plain-syntax">)</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="3-uor.html#SP2_2">§2.2</a>.</li></ul>
|
||||
|
|
|
@ -213,7 +213,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/>Contents Element - <a href="6-ce.html#SP1">§1</a><br/>Behaviour Element - <a href="6-be.html#SP1">§1</a><br/>Relations Element - <a href="6-re.html#SP1">§1</a><br/>Events Element - <a href="6-ee.html#SP1">§1</a><br/>Figures Element - <a href="6-fe.html#SP1">§1</a><br/>Tables Element - <a href="6-te.html#SP1">§1</a><br/>Values Element - <a href="6-ve.html#SP1">§1</a><br/>Rules for Scenes Element - <a href="6-rfse.html#SP1">§1</a><br/>Extras Element - <a href="6-ee2.html#SP1">§1</a><br/>Standards Element - <a href="6-se.html#SP1">§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/>Contents Element - <a href="6-ce.html#SP1">§1</a><br/>Behaviour Element - <a href="6-be.html#SP1">§1</a><br/>Relations Element - <a href="6-re.html#SP1">§1</a><br/>Events Element - <a href="6-ee.html#SP1">§1</a><br/>Figures Element - <a href="6-fe.html#SP1">§1</a><br/>Tables Element - <a href="6-te.html#SP1">§1</a><br/>Values Element - <a href="6-ve.html#SP1">§1</a><br/>Rules for Scenes Element - <a href="6-rfse.html#SP1">§1</a><br/>Extras Element - <a href="6-ee2.html#SP1">§1</a><br/>Standards Element - <a href="6-se.html#SP1">§1</a><br/>Innards Element - <a href="6-ie.html#SP1">§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>
|
||||
|
@ -244,11 +244,11 @@ 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/ir, 6/ce, 6/be, 6/re, 6/ee, 6/fe, 6/te, 6/ve, 6/rfse, 6/ee2, 6/se 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/ir, 6/ce, 6/be, 6/re, 6/ee, 6/fe, 6/te, 6/ve, 6/rfse, 6/ee2, 6/se, 6/ie 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>§2. </b></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">Synoptic::module_order</span><button class="popup" onclick="togglePopup('usagePopup3')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup3">Usage of <span class="code-font"><span class="function-syntax">Synoptic::module_order</span></span>:<br/>Rules - <a href="3-rls.html#SP1">§1</a><br/>Activities - <a href="3-act.html#SP1">§1</a><br/>Actions - <a href="3-act2.html#SP2">§2</a><br/>Instances - <a href="3-ins.html#SP1">§1</a><br/>Kinds - <a href="3-knd.html#SP1">§1</a><br/>Properties - <a href="3-prp.html#SP1">§1</a><br/>Relations - <a href="3-rlt.html#SP1">§1</a><br/>Tables - <a href="3-tbl.html#SP1">§1</a><br/>Chronology - <a href="3-chr.html#SP1">§1</a><br/>Scenes - <a href="3-scn.html#SP1">§1</a><br/>Multimedia - <a href="3-mlt.html#SP1">§1</a><br/>Use Options - <a href="3-uo.html#SP1">§1</a><br/>Tests - <a href="3-tst.html#SP1">§1</a><br/>Contents Element - <a href="6-ce.html#SP1">§1</a><br/>Behaviour Element - <a href="6-be.html#SP1">§1</a><br/>Relations Element - <a href="6-re.html#SP1">§1</a><br/>Events Element - <a href="6-ee.html#SP1">§1</a><br/>Figures Element - <a href="6-fe.html#SP1">§1</a><br/>Values Element - <a href="6-ve.html#SP1">§1</a><br/>Rules for Scenes Element - <a href="6-rfse.html#SP1">§1</a><br/>Extras Element - <a href="6-ee2.html#SP1">§1</a><br/>Standards Element - <a href="6-se.html#SP1">§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::module_order</span><button class="popup" onclick="togglePopup('usagePopup3')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup3">Usage of <span class="code-font"><span class="function-syntax">Synoptic::module_order</span></span>:<br/>Rules - <a href="3-rls.html#SP1">§1</a><br/>Activities - <a href="3-act.html#SP1">§1</a><br/>Actions - <a href="3-act2.html#SP2">§2</a><br/>Instances - <a href="3-ins.html#SP1">§1</a><br/>Kinds - <a href="3-knd.html#SP1">§1</a><br/>Properties - <a href="3-prp.html#SP1">§1</a><br/>Relations - <a href="3-rlt.html#SP1">§1</a><br/>Tables - <a href="3-tbl.html#SP1">§1</a><br/>Chronology - <a href="3-chr.html#SP1">§1</a><br/>Scenes - <a href="3-scn.html#SP1">§1</a><br/>Multimedia - <a href="3-mlt.html#SP1">§1</a><br/>Use Options - <a href="3-uo.html#SP1">§1</a><br/>Tests - <a href="3-tst.html#SP1">§1</a><br/>Contents Element - <a href="6-ce.html#SP1">§1</a><br/>Behaviour Element - <a href="6-be.html#SP1">§1</a><br/>Relations Element - <a href="6-re.html#SP1">§1</a><br/>Events Element - <a href="6-ee.html#SP1">§1</a><br/>Figures Element - <a href="6-fe.html#SP1">§1</a><br/>Values Element - <a href="6-ve.html#SP1">§1</a><br/>Rules for Scenes Element - <a href="6-rfse.html#SP1">§1</a><br/>Extras Element - <a href="6-ee2.html#SP1">§1</a><br/>Standards Element - <a href="6-se.html#SP1">§1</a><br/>Innards Element - <a href="6-ie.html#SP1">§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>
|
||||
|
|
|
@ -115,7 +115,7 @@ function togglePopup(material_id) {
|
|||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="6-ce2.html">❮</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresschapter"><a href="3-sh.html">3</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progresscurrentchapter">6</li><li class="progresssection"><a href="6-ii.html">ii</a></li><li class="progresssection"><a href="6-ifs.html">ifs</a></li><li class="progresssection"><a href="6-ir.html">ir</a></li><li class="progresssection"><a href="6-ce.html">ce</a></li><li class="progresssection"><a href="6-ce2.html">ce2</a></li><li class="progresscurrent">be</li><li class="progresssection"><a href="6-re.html">re</a></li><li class="progresssection"><a href="6-ee.html">ee</a></li><li class="progresssection"><a href="6-fe.html">fe</a></li><li class="progresssection"><a href="6-te.html">te</a></li><li class="progresssection"><a href="6-ve.html">ve</a></li><li class="progresssection"><a href="6-rfse.html">rfse</a></li><li class="progresssection"><a href="6-ee2.html">ee2</a></li><li class="progresssection"><a href="6-se.html">se</a></li><li class="progressnext"><a href="6-re.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="6-ce2.html">❮</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresschapter"><a href="3-sh.html">3</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progresscurrentchapter">6</li><li class="progresssection"><a href="6-ii.html">ii</a></li><li class="progresssection"><a href="6-ifs.html">ifs</a></li><li class="progresssection"><a href="6-ir.html">ir</a></li><li class="progresssection"><a href="6-ce.html">ce</a></li><li class="progresssection"><a href="6-ce2.html">ce2</a></li><li class="progresscurrent">be</li><li class="progresssection"><a href="6-re.html">re</a></li><li class="progresssection"><a href="6-ee.html">ee</a></li><li class="progresssection"><a href="6-fe.html">fe</a></li><li class="progresssection"><a href="6-te.html">te</a></li><li class="progresssection"><a href="6-ve.html">ve</a></li><li class="progresssection"><a href="6-rfse.html">rfse</a></li><li class="progresssection"><a href="6-ee2.html">ee2</a></li><li class="progresssection"><a href="6-se.html">se</a></li><li class="progresssection"><a href="6-ie.html">ie</a></li><li class="progressnext"><a href="6-re.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -256,7 +256,7 @@ giving only minimal entries about them.
|
|||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="6-ce.html#SP2">§2</a>.</li></ul>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="6-ir.html">❮</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresschapter"><a href="3-sh.html">3</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progresscurrentchapter">6</li><li class="progresssection"><a href="6-ii.html">ii</a></li><li class="progresssection"><a href="6-ifs.html">ifs</a></li><li class="progresssection"><a href="6-ir.html">ir</a></li><li class="progresscurrent">ce</li><li class="progresssection"><a href="6-ce2.html">ce2</a></li><li class="progresssection"><a href="6-be.html">be</a></li><li class="progresssection"><a href="6-re.html">re</a></li><li class="progresssection"><a href="6-ee.html">ee</a></li><li class="progresssection"><a href="6-fe.html">fe</a></li><li class="progresssection"><a href="6-te.html">te</a></li><li class="progresssection"><a href="6-ve.html">ve</a></li><li class="progresssection"><a href="6-rfse.html">rfse</a></li><li class="progresssection"><a href="6-ee2.html">ee2</a></li><li class="progresssection"><a href="6-se.html">se</a></li><li class="progressnext"><a href="6-ce2.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="6-ir.html">❮</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresschapter"><a href="3-sh.html">3</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progresscurrentchapter">6</li><li class="progresssection"><a href="6-ii.html">ii</a></li><li class="progresssection"><a href="6-ifs.html">ifs</a></li><li class="progresssection"><a href="6-ir.html">ir</a></li><li class="progresscurrent">ce</li><li class="progresssection"><a href="6-ce2.html">ce2</a></li><li class="progresssection"><a href="6-be.html">be</a></li><li class="progresssection"><a href="6-re.html">re</a></li><li class="progresssection"><a href="6-ee.html">ee</a></li><li class="progresssection"><a href="6-fe.html">fe</a></li><li class="progresssection"><a href="6-te.html">te</a></li><li class="progresssection"><a href="6-ve.html">ve</a></li><li class="progresssection"><a href="6-rfse.html">rfse</a></li><li class="progresssection"><a href="6-ee2.html">ee2</a></li><li class="progresssection"><a href="6-se.html">se</a></li><li class="progresssection"><a href="6-ie.html">ie</a></li><li class="progressnext"><a href="6-ce2.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -150,7 +150,7 @@ simplified form of the iFiction record, without the XML overhead.
|
|||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="6-ce.html">❮</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresschapter"><a href="3-sh.html">3</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progresscurrentchapter">6</li><li class="progresssection"><a href="6-ii.html">ii</a></li><li class="progresssection"><a href="6-ifs.html">ifs</a></li><li class="progresssection"><a href="6-ir.html">ir</a></li><li class="progresssection"><a href="6-ce.html">ce</a></li><li class="progresscurrent">ce2</li><li class="progresssection"><a href="6-be.html">be</a></li><li class="progresssection"><a href="6-re.html">re</a></li><li class="progresssection"><a href="6-ee.html">ee</a></li><li class="progresssection"><a href="6-fe.html">fe</a></li><li class="progresssection"><a href="6-te.html">te</a></li><li class="progresssection"><a href="6-ve.html">ve</a></li><li class="progresssection"><a href="6-rfse.html">rfse</a></li><li class="progresssection"><a href="6-ee2.html">ee2</a></li><li class="progresssection"><a href="6-se.html">se</a></li><li class="progressnext"><a href="6-be.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="6-ce.html">❮</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresschapter"><a href="3-sh.html">3</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progresscurrentchapter">6</li><li class="progresssection"><a href="6-ii.html">ii</a></li><li class="progresssection"><a href="6-ifs.html">ifs</a></li><li class="progresssection"><a href="6-ir.html">ir</a></li><li class="progresssection"><a href="6-ce.html">ce</a></li><li class="progresscurrent">ce2</li><li class="progresssection"><a href="6-be.html">be</a></li><li class="progresssection"><a href="6-re.html">re</a></li><li class="progresssection"><a href="6-ee.html">ee</a></li><li class="progresssection"><a href="6-fe.html">fe</a></li><li class="progresssection"><a href="6-te.html">te</a></li><li class="progresssection"><a href="6-ve.html">ve</a></li><li class="progresssection"><a href="6-rfse.html">rfse</a></li><li class="progresssection"><a href="6-ee2.html">ee2</a></li><li class="progresssection"><a href="6-se.html">se</a></li><li class="progresssection"><a href="6-ie.html">ie</a></li><li class="progressnext"><a href="6-be.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -150,7 +150,7 @@ function togglePopup(material_id) {
|
|||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="6-ee.html#SP1">§1</a>.</li></ul>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="6-re.html">❮</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresschapter"><a href="3-sh.html">3</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progresscurrentchapter">6</li><li class="progresssection"><a href="6-ii.html">ii</a></li><li class="progresssection"><a href="6-ifs.html">ifs</a></li><li class="progresssection"><a href="6-ir.html">ir</a></li><li class="progresssection"><a href="6-ce.html">ce</a></li><li class="progresssection"><a href="6-ce2.html">ce2</a></li><li class="progresssection"><a href="6-be.html">be</a></li><li class="progresssection"><a href="6-re.html">re</a></li><li class="progresscurrent">ee</li><li class="progresssection"><a href="6-fe.html">fe</a></li><li class="progresssection"><a href="6-te.html">te</a></li><li class="progresssection"><a href="6-ve.html">ve</a></li><li class="progresssection"><a href="6-rfse.html">rfse</a></li><li class="progresssection"><a href="6-ee2.html">ee2</a></li><li class="progresssection"><a href="6-se.html">se</a></li><li class="progressnext"><a href="6-fe.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="6-re.html">❮</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresschapter"><a href="3-sh.html">3</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progresscurrentchapter">6</li><li class="progresssection"><a href="6-ii.html">ii</a></li><li class="progresssection"><a href="6-ifs.html">ifs</a></li><li class="progresssection"><a href="6-ir.html">ir</a></li><li class="progresssection"><a href="6-ce.html">ce</a></li><li class="progresssection"><a href="6-ce2.html">ce2</a></li><li class="progresssection"><a href="6-be.html">be</a></li><li class="progresssection"><a href="6-re.html">re</a></li><li class="progresscurrent">ee</li><li class="progresssection"><a href="6-fe.html">fe</a></li><li class="progresssection"><a href="6-te.html">te</a></li><li class="progresssection"><a href="6-ve.html">ve</a></li><li class="progresssection"><a href="6-rfse.html">rfse</a></li><li class="progresssection"><a href="6-ee2.html">ee2</a></li><li class="progresssection"><a href="6-se.html">se</a></li><li class="progresssection"><a href="6-ie.html">ie</a></li><li class="progressnext"><a href="6-fe.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -135,7 +135,7 @@ function togglePopup(material_id) {
|
|||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="6-ee2.html#SP1_1">§1.1</a> (twice).</li></ul>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="6-rfse.html">❮</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresschapter"><a href="3-sh.html">3</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progresscurrentchapter">6</li><li class="progresssection"><a href="6-ii.html">ii</a></li><li class="progresssection"><a href="6-ifs.html">ifs</a></li><li class="progresssection"><a href="6-ir.html">ir</a></li><li class="progresssection"><a href="6-ce.html">ce</a></li><li class="progresssection"><a href="6-ce2.html">ce2</a></li><li class="progresssection"><a href="6-be.html">be</a></li><li class="progresssection"><a href="6-re.html">re</a></li><li class="progresssection"><a href="6-ee.html">ee</a></li><li class="progresssection"><a href="6-fe.html">fe</a></li><li class="progresssection"><a href="6-te.html">te</a></li><li class="progresssection"><a href="6-ve.html">ve</a></li><li class="progresssection"><a href="6-rfse.html">rfse</a></li><li class="progresscurrent">ee2</li><li class="progresssection"><a href="6-se.html">se</a></li><li class="progressnext"><a href="6-se.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="6-rfse.html">❮</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresschapter"><a href="3-sh.html">3</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progresscurrentchapter">6</li><li class="progresssection"><a href="6-ii.html">ii</a></li><li class="progresssection"><a href="6-ifs.html">ifs</a></li><li class="progresssection"><a href="6-ir.html">ir</a></li><li class="progresssection"><a href="6-ce.html">ce</a></li><li class="progresssection"><a href="6-ce2.html">ce2</a></li><li class="progresssection"><a href="6-be.html">be</a></li><li class="progresssection"><a href="6-re.html">re</a></li><li class="progresssection"><a href="6-ee.html">ee</a></li><li class="progresssection"><a href="6-fe.html">fe</a></li><li class="progresssection"><a href="6-te.html">te</a></li><li class="progresssection"><a href="6-ve.html">ve</a></li><li class="progresssection"><a href="6-rfse.html">rfse</a></li><li class="progresscurrent">ee2</li><li class="progresssection"><a href="6-se.html">se</a></li><li class="progresssection"><a href="6-ie.html">ie</a></li><li class="progressnext"><a href="6-se.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -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">§1</a>.</li></ul>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="6-ee.html">❮</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresschapter"><a href="3-sh.html">3</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progresscurrentchapter">6</li><li class="progresssection"><a href="6-ii.html">ii</a></li><li class="progresssection"><a href="6-ifs.html">ifs</a></li><li class="progresssection"><a href="6-ir.html">ir</a></li><li class="progresssection"><a href="6-ce.html">ce</a></li><li class="progresssection"><a href="6-ce2.html">ce2</a></li><li class="progresssection"><a href="6-be.html">be</a></li><li class="progresssection"><a href="6-re.html">re</a></li><li class="progresssection"><a href="6-ee.html">ee</a></li><li class="progresscurrent">fe</li><li class="progresssection"><a href="6-te.html">te</a></li><li class="progresssection"><a href="6-ve.html">ve</a></li><li class="progresssection"><a href="6-rfse.html">rfse</a></li><li class="progresssection"><a href="6-ee2.html">ee2</a></li><li class="progresssection"><a href="6-se.html">se</a></li><li class="progressnext"><a href="6-te.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="6-ee.html">❮</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresschapter"><a href="3-sh.html">3</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progresscurrentchapter">6</li><li class="progresssection"><a href="6-ii.html">ii</a></li><li class="progresssection"><a href="6-ifs.html">ifs</a></li><li class="progresssection"><a href="6-ir.html">ir</a></li><li class="progresssection"><a href="6-ce.html">ce</a></li><li class="progresssection"><a href="6-ce2.html">ce2</a></li><li class="progresssection"><a href="6-be.html">be</a></li><li class="progresssection"><a href="6-re.html">re</a></li><li class="progresssection"><a href="6-ee.html">ee</a></li><li class="progresscurrent">fe</li><li class="progresssection"><a href="6-te.html">te</a></li><li class="progresssection"><a href="6-ve.html">ve</a></li><li class="progresssection"><a href="6-rfse.html">rfse</a></li><li class="progresssection"><a href="6-ee2.html">ee2</a></li><li class="progresssection"><a href="6-se.html">se</a></li><li class="progresssection"><a href="6-ie.html">ie</a></li><li class="progressnext"><a href="6-te.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
297
docs/codegen-module/6-ie.html
Normal file
297
docs/codegen-module/6-ie.html
Normal file
|
@ -0,0 +1,297 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<title>Innards 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 'Innards 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>Innards Element</b></li></ul></div>
|
||||
<p class="purpose">To write the Innards element (In) in the index.</p>
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP1" class="paragraph-anchor"></a><b>§1. </b>Describing the current VM.
|
||||
</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">InnardsElement::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">InnardsElement::render</span></span>:<br/>Index File Services - <a href="6-ifs.html#SP11">§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">-></span><span class="element-syntax">use_option_nodes</span><span class="plain-syntax">, </span><a href="3-su.html#SP2" class="function-link"><span class="function-syntax">Synoptic::module_order</span></a><span class="plain-syntax">);</span>
|
||||
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="6-ie.html#SP1_1" class="named-paragraph-link"><span class="named-paragraph">Show the virtual machine compiled for</span><span class="named-paragraph-number">1.1</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="6-ie.html#SP1_2" class="named-paragraph-link"><span class="named-paragraph">Show the use options</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">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">3</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">"See some technicalities for Inform maintainers only"</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><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">3</span><span class="plain-syntax">, </span><span class="constant-syntax">2</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><a href="6-ifs.html#SP16" class="function-link"><span class="function-syntax">Index::anchor</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"CONFIG"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="6-ie.html#SP1_3" class="named-paragraph-link"><span class="named-paragraph">Show the language elements used</span><span class="named-paragraph-number">1.3</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="6-ie.html#SP1_4" class="named-paragraph-link"><span class="named-paragraph">Add some paste buttons for the debugging log</span><span class="named-paragraph-number">1.4</span></a></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_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>
|
||||
<p class="commentary firstcommentary"><a id="SP1_1" class="paragraph-anchor"></a><b>§1.1. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Show the virtual machine compiled for</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><a href="6-ifs.html#SP16" class="function-link"><span class="function-syntax">Index::anchor</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"STORYFILE"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">); </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"Story file format: "</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Packages::by_url</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"/main/completion/basics"</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">VM</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">"^virtual_machine"</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">VM_icon</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">"^virtual_machine_icon"</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">VM_icon</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_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 src=inform:/doc_images/%S"</span><span class="plain-syntax">, </span><span class="identifier-syntax">VM_icon</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">"&nbsp;"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">VM</span><span class="plain-syntax">) > </span><span class="constant-syntax">0</span><span class="plain-syntax">) </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"%S"</span><span class="plain-syntax">, </span><span class="identifier-syntax">VM</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>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="6-ie.html#SP1">§1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_2" class="paragraph-anchor"></a><b>§1.2. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Show the use options</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="identifier-syntax">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">); </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"The following use options are in force:"</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><a href="6-ie.html#SP2" class="function-link"><span class="function-syntax">InnardsElement::index_options_in_force_from</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="constant-syntax">MAIN_TEXT_UO_ORIGIN</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="6-ie.html#SP2" class="function-link"><span class="function-syntax">InnardsElement::index_options_in_force_from</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="constant-syntax">OPTIONS_FILE_UO_ORIGIN</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">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"><TreeLists::len(inv-></span><span class="element-syntax">module_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">E</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">-></span><span class="element-syntax">module_nodes</span><span class="plain-syntax">-></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><a href="6-ie.html#SP2" class="function-link"><span class="function-syntax">InnardsElement::index_options_in_force_from</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="constant-syntax">EXTENSION_UO_ORIGIN</span><span class="plain-syntax">, </span><span class="identifier-syntax">E</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">c</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_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">); </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"Whereas these are not in force:"</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_indented_p</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="constant-syntax">2</span><span class="plain-syntax">, </span><span class="string-syntax">"tight"</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"><TreeLists::len(inv-></span><span class="element-syntax">use_option_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">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">-></span><span class="element-syntax">use_option_nodes</span><span class="plain-syntax">-></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="identifier-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">set</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">"^active"</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">sfs</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">"^source_file_scoped"</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">set</span><span class="plain-syntax"> == </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">) && (</span><span class="identifier-syntax">sfs</span><span class="plain-syntax"> == </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">)) {</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="6-ie.html#SP1_2_1" class="named-paragraph-link"><span class="named-paragraph">Write in the index line for a use option not taken</span><span class="named-paragraph-number">1.2.1</span></a></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">++ > </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="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"> == </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">"None."</span><span class="plain-syntax">); </span><span class="comment-syntax"> in practice, this will never happen</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>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="6-ie.html#SP1">§1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_2_1" class="paragraph-anchor"></a><b>§1.2.1. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Write in the index line for a use option not taken</span><span class="named-paragraph-number">1.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_OPEN_WITH</span><span class="plain-syntax">(</span><span class="string-syntax">"span"</span><span class="plain-syntax">, </span><span class="string-syntax">"style=\"white-space:nowrap\";"</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">"Use %S."</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">"^name"</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="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"&nbsp;%S"</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">"^name"</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>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="6-ie.html#SP1_2">§1.2</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_3" class="paragraph-anchor"></a><b>§1.3. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Show the language elements used</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">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"Inform language definition:\n"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Packages::by_url</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"/main/completion/basics"</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">used</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">"^language_elements_used"</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">not_used</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">"^language_elements_not_used"</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">used</span><span class="plain-syntax">) > </span><span class="constant-syntax">0</span><span class="plain-syntax">) </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"Included: %S"</span><span class="plain-syntax">, </span><span class="identifier-syntax">used</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">not_used</span><span class="plain-syntax">) > </span><span class="constant-syntax">0</span><span class="plain-syntax">) </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"<br>Excluded: %S"</span><span class="plain-syntax">, </span><span class="identifier-syntax">not_used</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>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="6-ie.html#SP1">§1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_4" class="paragraph-anchor"></a><b>§1.4. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Add some paste buttons for the debugging log</span><span class="named-paragraph-number">1.4</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_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">"Debugging log:"</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">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">wanted</span><span class="plain-syntax"> = </span><span class="identifier-syntax">PackageTypes::get</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"_debugging_aspect"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Packages::by_url</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"/main/completion/basics"</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">-></span><span class="identifier-syntax">W</span><span class="plain-syntax">.</span><span class="identifier-syntax">data</span><span class="plain-syntax">[</span><span class="identifier-syntax">ID_IFLD</span><span class="plain-syntax">] == </span><span class="identifier-syntax">PACKAGE_IST</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">entry</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Package::defined_by_frame</span><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Inter::Packages::type</span><span class="plain-syntax">(</span><span class="identifier-syntax">entry</span><span class="plain-syntax">) == </span><span class="identifier-syntax">wanted</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">is</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">is</span><span class="plain-syntax">, </span><span class="string-syntax">"Include %S in the debugging log."</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Metadata::read_textual</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">"^name"</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">is</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">"&nbsp;%S&nbsp;"</span><span class="plain-syntax">, </span><span class="identifier-syntax">is</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">is</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">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">"^used"</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 src=inform:/doc_images/tick.png"</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">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 src=inform:/doc_images/cross.png"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_TAG</span><span class="plain-syntax">(</span><span class="string-syntax">"br"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="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">"p"</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="6-ie.html#SP1">§1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP2" class="paragraph-anchor"></a><b>§2. </b>Now for indexing, where there's nothing much to see.
|
||||
</p>
|
||||
|
||||
<pre class="definitions code-font"><span class="definition-keyword">define</span> <span class="constant-syntax">MAIN_TEXT_UO_ORIGIN</span><span class="plain-syntax"> </span><span class="constant-syntax">1</span>
|
||||
<span class="definition-keyword">define</span> <span class="constant-syntax">OPTIONS_FILE_UO_ORIGIN</span><span class="plain-syntax"> </span><span class="constant-syntax">2</span>
|
||||
<span class="definition-keyword">define</span> <span class="constant-syntax">EXTENSION_UO_ORIGIN</span><span class="plain-syntax"> </span><span class="constant-syntax">3</span>
|
||||
</pre>
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">InnardsElement::index_options_in_force_from</span><button class="popup" onclick="togglePopup('usagePopup2')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup2">Usage of <span class="code-font"><span class="function-syntax">InnardsElement::index_options_in_force_from</span></span>:<br/><a href="6-ie.html#SP1_2">§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">tree_inventory</span><span class="plain-syntax"> *</span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">category</span><span class="plain-syntax">, </span><span class="identifier-syntax">inter_package</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">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">N</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="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"><TreeLists::len(inv-></span><span class="element-syntax">use_option_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">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">-></span><span class="element-syntax">use_option_nodes</span><span class="plain-syntax">-></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="identifier-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">set</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">"^active"</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">sfs</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">"^source_file_scoped"</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">set</span><span class="plain-syntax">) && (</span><span class="identifier-syntax">sfs</span><span class="plain-syntax"> == </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">)) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="6-ie.html#SP2_1" class="function-link"><span class="function-syntax">InnardsElement::uo_set_from</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">category</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">N</span><span class="plain-syntax">++ == </span><span class="constant-syntax">0</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="6-ie.html#SP2_2" class="named-paragraph-link"><span class="named-paragraph">Write in the use option subheading</span><span class="named-paragraph-number">2.2</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="6-ie.html#SP2_3" class="named-paragraph-link"><span class="named-paragraph">Write in the index line for a use option taken</span><span class="named-paragraph-number">2.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>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP2_1" class="paragraph-anchor"></a><b>§2.1. </b>And this is what the rest of Inform calls to find out whether a particular
|
||||
pragma is set:
|
||||
</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">InnardsElement::uo_set_from</span><button class="popup" onclick="togglePopup('usagePopup3')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup3">Usage of <span class="code-font"><span class="function-syntax">InnardsElement::uo_set_from</span></span>:<br/><a href="6-ie.html#SP2">§2</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="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">category</span><span class="plain-syntax">, </span><span class="identifier-syntax">inter_package</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">switch</span><span class="plain-syntax"> (</span><span class="identifier-syntax">category</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">MAIN_TEXT_UO_ORIGIN:</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</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">"^used_in_source_text"</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="reserved-syntax">break</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">OPTIONS_FILE_UO_ORIGIN:</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</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">"^used_in_options"</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="reserved-syntax">break</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">EXTENSION_UO_ORIGIN:</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</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Metadata::read_optional_symbol</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">"^used_in_extension"</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">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">used_in_E</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Packages::container</span><span class="plain-syntax">(</span><span class="identifier-syntax">id</span><span class="plain-syntax">-></span><span class="identifier-syntax">definition</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">used_in_E</span><span class="plain-syntax">) && (</span><span class="identifier-syntax">used_in_E</span><span class="plain-syntax"> == </span><span class="identifier-syntax">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="plain-syntax"> </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><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>
|
||||
<p class="commentary firstcommentary"><a id="SP2_2" class="paragraph-anchor"></a><b>§2.2. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Write in the use option subheading</span><span class="named-paragraph-number">2.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="identifier-syntax">HTML::open_indented_p</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="constant-syntax">2</span><span class="plain-syntax">, </span><span class="string-syntax">"tight"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::begin_colour</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"808080"</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">"Set from "</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">switch</span><span class="plain-syntax"> (</span><span class="identifier-syntax">category</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">MAIN_TEXT_UO_ORIGIN:</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"the source text"</span><span class="plain-syntax">); </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">OPTIONS_FILE_UO_ORIGIN:</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"the Options.txt configuration file, or automatically"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Index::DocReferences::link</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"OPTIONSFILE"</span><span class="plain-syntax">); </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">EXTENSION_UO_ORIGIN:</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">E</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^credit"</span><span class="plain-syntax">));</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="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">HTML::end_colour</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="6-ie.html#SP2">§2</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP2_3" class="paragraph-anchor"></a><b>§2.3. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Write in the index line for a use option taken</span><span class="named-paragraph-number">2.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::open_indented_p</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="constant-syntax">3</span><span class="plain-syntax">, </span><span class="string-syntax">"tight"</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">"Use %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">"^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">msv</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">"^minimum"</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">msv</span><span class="plain-syntax"> > </span><span class="constant-syntax">0</span><span class="plain-syntax">) </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">" of at least %d"</span><span class="plain-syntax">, </span><span class="identifier-syntax">msv</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">"^used_at"</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">at</span><span class="plain-syntax"> > </span><span class="constant-syntax">0</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">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">msv</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">"&nbsp;"</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">"Use %S of at least %d."</span><span class="plain-syntax">,</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">"^name"</span><span class="plain-syntax">), </span><span class="constant-syntax">2</span><span class="plain-syntax">*</span><span class="identifier-syntax">msv</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="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"&nbsp;<i>Double this</i>"</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">"p"</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="6-ie.html#SP2">§2</a>.</li></ul>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="6-se.html">❮</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresschapter"><a href="3-sh.html">3</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progresscurrentchapter">6</li><li class="progresssection"><a href="6-ii.html">ii</a></li><li class="progresssection"><a href="6-ifs.html">ifs</a></li><li class="progresssection"><a href="6-ir.html">ir</a></li><li class="progresssection"><a href="6-ce.html">ce</a></li><li class="progresssection"><a href="6-ce2.html">ce2</a></li><li class="progresssection"><a href="6-be.html">be</a></li><li class="progresssection"><a href="6-re.html">re</a></li><li class="progresssection"><a href="6-ee.html">ee</a></li><li class="progresssection"><a href="6-fe.html">fe</a></li><li class="progresssection"><a href="6-te.html">te</a></li><li class="progresssection"><a href="6-ve.html">ve</a></li><li class="progresssection"><a href="6-rfse.html">rfse</a></li><li class="progresssection"><a href="6-ee2.html">ee2</a></li><li class="progresssection"><a href="6-se.html">se</a></li><li class="progresscurrent">ie</li><li class="progressnextoff">❯</li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -83,7 +83,7 @@ function togglePopup(material_id) {
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">indexing_tree</span><span class="plain-syntax"> = </span><span class="identifier-syntax">I</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="identifier-syntax">inter_tree</span><span class="plain-syntax"> *</span><span class="function-syntax">Index::get_tree</span><button class="popup" onclick="togglePopup('usagePopup1')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup1">Usage of <span class="code-font"><span class="function-syntax">Index::get_tree</span></span>:<br/>Contents Element - <a href="6-ce.html#SP1">§1</a><br/>Card Element - <a href="6-ce2.html#SP1">§1</a><br/>Behaviour Element - <a href="6-be.html#SP1">§1</a><br/>Relations Element - <a href="6-re.html#SP1">§1</a><br/>Events Element - <a href="6-ee.html#SP1">§1</a><br/>Figures Element - <a href="6-fe.html#SP1">§1</a><br/>Tables Element - <a href="6-te.html#SP1">§1</a><br/>Values Element - <a href="6-ve.html#SP1">§1</a><br/>Rules for Scenes Element - <a href="6-rfse.html#SP1">§1</a><br/>Extras Element - <a href="6-ee2.html#SP1">§1</a><br/>Standards Element - <a href="6-se.html#SP1">§1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">void</span><span class="plain-syntax">) {</span>
|
||||
<span class="identifier-syntax">inter_tree</span><span class="plain-syntax"> *</span><span class="function-syntax">Index::get_tree</span><button class="popup" onclick="togglePopup('usagePopup1')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup1">Usage of <span class="code-font"><span class="function-syntax">Index::get_tree</span></span>:<br/>Contents Element - <a href="6-ce.html#SP1">§1</a><br/>Card Element - <a href="6-ce2.html#SP1">§1</a><br/>Behaviour Element - <a href="6-be.html#SP1">§1</a><br/>Relations Element - <a href="6-re.html#SP1">§1</a><br/>Events Element - <a href="6-ee.html#SP1">§1</a><br/>Figures Element - <a href="6-fe.html#SP1">§1</a><br/>Tables Element - <a href="6-te.html#SP1">§1</a><br/>Values Element - <a href="6-ve.html#SP1">§1</a><br/>Rules for Scenes Element - <a href="6-rfse.html#SP1">§1</a><br/>Extras Element - <a href="6-ee2.html#SP1">§1</a><br/>Standards Element - <a href="6-se.html#SP1">§1</a><br/>Innards Element - <a href="6-ie.html#SP1">§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>
|
||||
|
@ -857,12 +857,16 @@ to show, hide and colour things:
|
|||
<span class="plain-syntax"> </span><a href="6-se.html#SP1" class="function-link"><span class="function-syntax">StandardsElement::render</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">);</span>
|
||||
<span class="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">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::eq_wide_string</span><span class="plain-syntax">(</span><span class="identifier-syntax">elt</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"C"</span><span class="plain-syntax">)) {</span>
|
||||
<span class="plain-syntax"> </span><a href="6-ce.html#SP1" class="function-link"><span class="function-syntax">ContentsElement::render</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::eq_wide_string</span><span class="plain-syntax">(</span><span class="identifier-syntax">elt</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"In"</span><span class="plain-syntax">)) {</span>
|
||||
<span class="plain-syntax"> </span><a href="6-ie.html#SP1" class="function-link"><span class="function-syntax">InnardsElement::render</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">);</span>
|
||||
<span class="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">"Pl"</span><span class="plain-syntax">)) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">IXScenes::render</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax">;</span>
|
||||
|
@ -875,11 +879,6 @@ to show, hide and colour things:
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">IXPhysicalWorld::render</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::eq_wide_string</span><span class="plain-syntax">(</span><span class="identifier-syntax">elt</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"C"</span><span class="plain-syntax">)) {</span>
|
||||
<span class="plain-syntax"> </span><a href="6-ce.html#SP1" class="function-link"><span class="function-syntax">ContentsElement::render</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
|
||||
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::eq_wide_string</span><span class="plain-syntax">(</span><span class="identifier-syntax">elt</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"Ph"</span><span class="plain-syntax">)) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Phrases::Index::index_page_Phrasebook</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">);</span>
|
||||
|
@ -1021,7 +1020,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/>Index Rules - <a href="6-ir.html#SP1_1">§1.1</a>, <a href="6-ir.html#SP4_5">§4.5</a>, <a href="6-ir.html#SP4_7">§4.7</a>, <a href="6-ir.html#SP6">§6</a>, <a href="6-ir.html#SP8">§8</a>, <a href="6-ir.html#SP8_1">§8.1</a><br/>Contents Element - <a href="6-ce.html#SP1_1_1">§1.1.1</a>, <a href="6-ce.html#SP2_1">§2.1</a><br/>Behaviour Element - <a href="6-be.html#SP1">§1</a><br/>Relations Element - <a href="6-re.html#SP1">§1</a><br/>Events Element - <a href="6-ee.html#SP1_1">§1.1</a>, <a href="6-ee.html#SP1_2">§1.2</a><br/>Figures Element - <a href="6-fe.html#SP1_1">§1.1</a>, <a href="6-fe.html#SP1_2">§1.2</a>, <a href="6-fe.html#SP1_3">§1.3</a><br/>Tables Element - <a href="6-te.html#SP1_3">§1.3</a>, <a href="6-te.html#SP1_3_1">§1.3.1</a><br/>Values Element - <a href="6-ve.html#SP1_1_2">§1.1.2</a>, <a href="6-ve.html#SP1_2">§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">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/>Index Rules - <a href="6-ir.html#SP1_1">§1.1</a>, <a href="6-ir.html#SP4_5">§4.5</a>, <a href="6-ir.html#SP4_7">§4.7</a>, <a href="6-ir.html#SP6">§6</a>, <a href="6-ir.html#SP8">§8</a>, <a href="6-ir.html#SP8_1">§8.1</a><br/>Contents Element - <a href="6-ce.html#SP1_1_1">§1.1.1</a>, <a href="6-ce.html#SP2_1">§2.1</a><br/>Behaviour Element - <a href="6-be.html#SP1">§1</a><br/>Relations Element - <a href="6-re.html#SP1">§1</a><br/>Events Element - <a href="6-ee.html#SP1_1">§1.1</a>, <a href="6-ee.html#SP1_2">§1.2</a><br/>Figures Element - <a href="6-fe.html#SP1_1">§1.1</a>, <a href="6-fe.html#SP1_2">§1.2</a>, <a href="6-fe.html#SP1_3">§1.3</a><br/>Tables Element - <a href="6-te.html#SP1_3">§1.3</a>, <a href="6-te.html#SP1_3_1">§1.3.1</a><br/>Values Element - <a href="6-ve.html#SP1_1_2">§1.1.2</a>, <a href="6-ve.html#SP1_2">§1.2</a><br/>Innards Element - <a href="6-ie.html#SP2_3">§2.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="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>
|
||||
|
||||
|
@ -1076,7 +1075,7 @@ code.
|
|||
<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>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Index::anchor</span><button class="popup" onclick="togglePopup('usagePopup14')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup14">Usage of <span class="code-font"><span class="function-syntax">Index::anchor</span></span>:<br/>Card Element - <a href="6-ce2.html#SP1">§1</a><br/>Values Element - <a href="6-ve.html#SP1_1">§1.1</a><br/>Rules for Scenes Element - <a href="6-rfse.html#SP1">§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">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">p</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Index::anchor</span><button class="popup" onclick="togglePopup('usagePopup14')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup14">Usage of <span class="code-font"><span class="function-syntax">Index::anchor</span></span>:<br/>Card Element - <a href="6-ce2.html#SP1">§1</a><br/>Values Element - <a href="6-ve.html#SP1_1">§1.1</a><br/>Rules for Scenes Element - <a href="6-rfse.html#SP1">§1</a><br/>Innards Element - <a href="6-ie.html#SP1">§1</a>, <a href="6-ie.html#SP1_1">§1.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">text_stream</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">HTML_OPEN_WITH</span><span class="plain-syntax">(</span><span class="string-syntax">"a"</span><span class="plain-syntax">, </span><span class="string-syntax">"name=%S"</span><span class="plain-syntax">, </span><span class="identifier-syntax">p</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>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
|
@ -1094,7 +1093,7 @@ code.
|
|||
<p class="commentary firstcommentary"><a id="SP17" class="paragraph-anchor"></a><b>§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><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/>Index Rules - <a href="6-ir.html#SP1">§1</a>, <a href="6-ir.html#SP8">§8</a><br/>Tables Element - <a href="6-te.html#SP1_1">§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">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/>Index Rules - <a href="6-ir.html#SP1">§1</a>, <a href="6-ir.html#SP8">§8</a><br/>Tables Element - <a href="6-te.html#SP1_1">§1.1</a><br/>Innards Element - <a href="6-ie.html#SP1">§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>
|
||||
|
@ -1124,13 +1123,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><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_open</span></span>:<br/>Index Rules - <a href="6-ir.html#SP1">§1</a>, <a href="6-ir.html#SP8">§8</a><br/>Tables Element - <a href="6-te.html#SP1_1">§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="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Index::extra_div_open</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_open</span></span>:<br/>Index Rules - <a href="6-ir.html#SP1">§1</a>, <a href="6-ir.html#SP8">§8</a><br/>Tables Element - <a href="6-te.html#SP1_1">§1.1</a><br/>Innards Element - <a href="6-ie.html#SP1">§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><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">Index::extra_div_close</span></span>:<br/>Index Rules - <a href="6-ir.html#SP1">§1</a>, <a href="6-ir.html#SP8">§8</a><br/>Tables Element - <a href="6-te.html#SP1_2">§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="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Index::extra_div_close</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">Index::extra_div_close</span></span>:<br/>Index Rules - <a href="6-ir.html#SP1">§1</a>, <a href="6-ir.html#SP8">§8</a><br/>Tables Element - <a href="6-te.html#SP1_2">§1.2</a><br/>Innards Element - <a href="6-ie.html#SP1">§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">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>
|
||||
|
@ -1193,7 +1192,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">❮</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresschapter"><a href="3-sh.html">3</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progresscurrentchapter">6</li><li class="progresssection"><a href="6-ii.html">ii</a></li><li class="progresscurrent">ifs</li><li class="progresssection"><a href="6-ir.html">ir</a></li><li class="progresssection"><a href="6-ce.html">ce</a></li><li class="progresssection"><a href="6-ce2.html">ce2</a></li><li class="progresssection"><a href="6-be.html">be</a></li><li class="progresssection"><a href="6-re.html">re</a></li><li class="progresssection"><a href="6-ee.html">ee</a></li><li class="progresssection"><a href="6-fe.html">fe</a></li><li class="progresssection"><a href="6-te.html">te</a></li><li class="progresssection"><a href="6-ve.html">ve</a></li><li class="progresssection"><a href="6-rfse.html">rfse</a></li><li class="progresssection"><a href="6-ee2.html">ee2</a></li><li class="progresssection"><a href="6-se.html">se</a></li><li class="progressnext"><a href="6-ir.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="6-ii.html">❮</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresschapter"><a href="3-sh.html">3</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progresscurrentchapter">6</li><li class="progresssection"><a href="6-ii.html">ii</a></li><li class="progresscurrent">ifs</li><li class="progresssection"><a href="6-ir.html">ir</a></li><li class="progresssection"><a href="6-ce.html">ce</a></li><li class="progresssection"><a href="6-ce2.html">ce2</a></li><li class="progresssection"><a href="6-be.html">be</a></li><li class="progresssection"><a href="6-re.html">re</a></li><li class="progresssection"><a href="6-ee.html">ee</a></li><li class="progresssection"><a href="6-fe.html">fe</a></li><li class="progresssection"><a href="6-te.html">te</a></li><li class="progresssection"><a href="6-ve.html">ve</a></li><li class="progresssection"><a href="6-rfse.html">rfse</a></li><li class="progresssection"><a href="6-ee2.html">ee2</a></li><li class="progresssection"><a href="6-se.html">se</a></li><li class="progresssection"><a href="6-ie.html">ie</a></li><li class="progressnext"><a href="6-ir.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -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">§3</a>.</li></ul>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="5-fi6.html">❮</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresschapter"><a href="3-sh.html">3</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progresscurrentchapter">6</li><li class="progresscurrent">ii</li><li class="progresssection"><a href="6-ifs.html">ifs</a></li><li class="progresssection"><a href="6-ir.html">ir</a></li><li class="progresssection"><a href="6-ce.html">ce</a></li><li class="progresssection"><a href="6-ce2.html">ce2</a></li><li class="progresssection"><a href="6-be.html">be</a></li><li class="progresssection"><a href="6-re.html">re</a></li><li class="progresssection"><a href="6-ee.html">ee</a></li><li class="progresssection"><a href="6-fe.html">fe</a></li><li class="progresssection"><a href="6-te.html">te</a></li><li class="progresssection"><a href="6-ve.html">ve</a></li><li class="progresssection"><a href="6-rfse.html">rfse</a></li><li class="progresssection"><a href="6-ee2.html">ee2</a></li><li class="progresssection"><a href="6-se.html">se</a></li><li class="progressnext"><a href="6-ifs.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="5-fi6.html">❮</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresschapter"><a href="3-sh.html">3</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progresscurrentchapter">6</li><li class="progresscurrent">ii</li><li class="progresssection"><a href="6-ifs.html">ifs</a></li><li class="progresssection"><a href="6-ir.html">ir</a></li><li class="progresssection"><a href="6-ce.html">ce</a></li><li class="progresssection"><a href="6-ce2.html">ce2</a></li><li class="progresssection"><a href="6-be.html">be</a></li><li class="progresssection"><a href="6-re.html">re</a></li><li class="progresssection"><a href="6-ee.html">ee</a></li><li class="progresssection"><a href="6-fe.html">fe</a></li><li class="progresssection"><a href="6-te.html">te</a></li><li class="progresssection"><a href="6-ve.html">ve</a></li><li class="progresssection"><a href="6-rfse.html">rfse</a></li><li class="progresssection"><a href="6-ee2.html">ee2</a></li><li class="progresssection"><a href="6-se.html">se</a></li><li class="progresssection"><a href="6-ie.html">ie</a></li><li class="progressnext"><a href="6-ifs.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -698,7 +698,7 @@ text to assert a change:
|
|||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="6-ir.html#SP8">§8</a> (twice).</li></ul>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="6-ifs.html">❮</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresschapter"><a href="3-sh.html">3</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progresscurrentchapter">6</li><li class="progresssection"><a href="6-ii.html">ii</a></li><li class="progresssection"><a href="6-ifs.html">ifs</a></li><li class="progresscurrent">ir</li><li class="progresssection"><a href="6-ce.html">ce</a></li><li class="progresssection"><a href="6-ce2.html">ce2</a></li><li class="progresssection"><a href="6-be.html">be</a></li><li class="progresssection"><a href="6-re.html">re</a></li><li class="progresssection"><a href="6-ee.html">ee</a></li><li class="progresssection"><a href="6-fe.html">fe</a></li><li class="progresssection"><a href="6-te.html">te</a></li><li class="progresssection"><a href="6-ve.html">ve</a></li><li class="progresssection"><a href="6-rfse.html">rfse</a></li><li class="progresssection"><a href="6-ee2.html">ee2</a></li><li class="progresssection"><a href="6-se.html">se</a></li><li class="progressnext"><a href="6-ce.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="6-ifs.html">❮</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresschapter"><a href="3-sh.html">3</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progresscurrentchapter">6</li><li class="progresssection"><a href="6-ii.html">ii</a></li><li class="progresssection"><a href="6-ifs.html">ifs</a></li><li class="progresscurrent">ir</li><li class="progresssection"><a href="6-ce.html">ce</a></li><li class="progresssection"><a href="6-ce2.html">ce2</a></li><li class="progresssection"><a href="6-be.html">be</a></li><li class="progresssection"><a href="6-re.html">re</a></li><li class="progresssection"><a href="6-ee.html">ee</a></li><li class="progresssection"><a href="6-fe.html">fe</a></li><li class="progresssection"><a href="6-te.html">te</a></li><li class="progresssection"><a href="6-ve.html">ve</a></li><li class="progresssection"><a href="6-rfse.html">rfse</a></li><li class="progresssection"><a href="6-ee2.html">ee2</a></li><li class="progresssection"><a href="6-se.html">se</a></li><li class="progresssection"><a href="6-ie.html">ie</a></li><li class="progressnext"><a href="6-ce.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -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">❮</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresschapter"><a href="3-sh.html">3</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progresscurrentchapter">6</li><li class="progresssection"><a href="6-ii.html">ii</a></li><li class="progresssection"><a href="6-ifs.html">ifs</a></li><li class="progresssection"><a href="6-ir.html">ir</a></li><li class="progresssection"><a href="6-ce.html">ce</a></li><li class="progresssection"><a href="6-ce2.html">ce2</a></li><li class="progresssection"><a href="6-be.html">be</a></li><li class="progresscurrent">re</li><li class="progresssection"><a href="6-ee.html">ee</a></li><li class="progresssection"><a href="6-fe.html">fe</a></li><li class="progresssection"><a href="6-te.html">te</a></li><li class="progresssection"><a href="6-ve.html">ve</a></li><li class="progresssection"><a href="6-rfse.html">rfse</a></li><li class="progresssection"><a href="6-ee2.html">ee2</a></li><li class="progresssection"><a href="6-se.html">se</a></li><li class="progressnext"><a href="6-ee.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="6-be.html">❮</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresschapter"><a href="3-sh.html">3</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progresscurrentchapter">6</li><li class="progresssection"><a href="6-ii.html">ii</a></li><li class="progresssection"><a href="6-ifs.html">ifs</a></li><li class="progresssection"><a href="6-ir.html">ir</a></li><li class="progresssection"><a href="6-ce.html">ce</a></li><li class="progresssection"><a href="6-ce2.html">ce2</a></li><li class="progresssection"><a href="6-be.html">be</a></li><li class="progresscurrent">re</li><li class="progresssection"><a href="6-ee.html">ee</a></li><li class="progresssection"><a href="6-fe.html">fe</a></li><li class="progresssection"><a href="6-te.html">te</a></li><li class="progresssection"><a href="6-ve.html">ve</a></li><li class="progresssection"><a href="6-rfse.html">rfse</a></li><li class="progresssection"><a href="6-ee2.html">ee2</a></li><li class="progresssection"><a href="6-se.html">se</a></li><li class="progresssection"><a href="6-ie.html">ie</a></li><li class="progressnext"><a href="6-ee.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -94,7 +94,7 @@ function togglePopup(material_id) {
|
|||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="6-ve.html">❮</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresschapter"><a href="3-sh.html">3</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progresscurrentchapter">6</li><li class="progresssection"><a href="6-ii.html">ii</a></li><li class="progresssection"><a href="6-ifs.html">ifs</a></li><li class="progresssection"><a href="6-ir.html">ir</a></li><li class="progresssection"><a href="6-ce.html">ce</a></li><li class="progresssection"><a href="6-ce2.html">ce2</a></li><li class="progresssection"><a href="6-be.html">be</a></li><li class="progresssection"><a href="6-re.html">re</a></li><li class="progresssection"><a href="6-ee.html">ee</a></li><li class="progresssection"><a href="6-fe.html">fe</a></li><li class="progresssection"><a href="6-te.html">te</a></li><li class="progresssection"><a href="6-ve.html">ve</a></li><li class="progresscurrent">rfse</li><li class="progresssection"><a href="6-ee2.html">ee2</a></li><li class="progresssection"><a href="6-se.html">se</a></li><li class="progressnext"><a href="6-ee2.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="6-ve.html">❮</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresschapter"><a href="3-sh.html">3</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progresscurrentchapter">6</li><li class="progresssection"><a href="6-ii.html">ii</a></li><li class="progresssection"><a href="6-ifs.html">ifs</a></li><li class="progresssection"><a href="6-ir.html">ir</a></li><li class="progresssection"><a href="6-ce.html">ce</a></li><li class="progresssection"><a href="6-ce2.html">ce2</a></li><li class="progresssection"><a href="6-be.html">be</a></li><li class="progresssection"><a href="6-re.html">re</a></li><li class="progresssection"><a href="6-ee.html">ee</a></li><li class="progresssection"><a href="6-fe.html">fe</a></li><li class="progresssection"><a href="6-te.html">te</a></li><li class="progresssection"><a href="6-ve.html">ve</a></li><li class="progresscurrent">rfse</li><li class="progresssection"><a href="6-ee2.html">ee2</a></li><li class="progresssection"><a href="6-se.html">se</a></li><li class="progresssection"><a href="6-ie.html">ie</a></li><li class="progressnext"><a href="6-ee2.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -275,7 +275,7 @@ their contents in logical order.
|
|||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="6-ee2.html">❮</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresschapter"><a href="3-sh.html">3</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progresscurrentchapter">6</li><li class="progresssection"><a href="6-ii.html">ii</a></li><li class="progresssection"><a href="6-ifs.html">ifs</a></li><li class="progresssection"><a href="6-ir.html">ir</a></li><li class="progresssection"><a href="6-ce.html">ce</a></li><li class="progresssection"><a href="6-ce2.html">ce2</a></li><li class="progresssection"><a href="6-be.html">be</a></li><li class="progresssection"><a href="6-re.html">re</a></li><li class="progresssection"><a href="6-ee.html">ee</a></li><li class="progresssection"><a href="6-fe.html">fe</a></li><li class="progresssection"><a href="6-te.html">te</a></li><li class="progresssection"><a href="6-ve.html">ve</a></li><li class="progresssection"><a href="6-rfse.html">rfse</a></li><li class="progresssection"><a href="6-ee2.html">ee2</a></li><li class="progresscurrent">se</li><li class="progressnextoff">❯</li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="6-ee2.html">❮</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresschapter"><a href="3-sh.html">3</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progresscurrentchapter">6</li><li class="progresssection"><a href="6-ii.html">ii</a></li><li class="progresssection"><a href="6-ifs.html">ifs</a></li><li class="progresssection"><a href="6-ir.html">ir</a></li><li class="progresssection"><a href="6-ce.html">ce</a></li><li class="progresssection"><a href="6-ce2.html">ce2</a></li><li class="progresssection"><a href="6-be.html">be</a></li><li class="progresssection"><a href="6-re.html">re</a></li><li class="progresssection"><a href="6-ee.html">ee</a></li><li class="progresssection"><a href="6-fe.html">fe</a></li><li class="progresssection"><a href="6-te.html">te</a></li><li class="progresssection"><a href="6-ve.html">ve</a></li><li class="progresssection"><a href="6-rfse.html">rfse</a></li><li class="progresssection"><a href="6-ee2.html">ee2</a></li><li class="progresscurrent">se</li><li class="progresssection"><a href="6-ie.html">ie</a></li><li class="progressnext"><a href="6-ie.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -250,7 +250,7 @@ Helvetica-style lower case "x", but life is full of compromises.
|
|||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="6-te.html#SP1_3">§1.3</a>.</li></ul>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="6-fe.html">❮</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresschapter"><a href="3-sh.html">3</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progresscurrentchapter">6</li><li class="progresssection"><a href="6-ii.html">ii</a></li><li class="progresssection"><a href="6-ifs.html">ifs</a></li><li class="progresssection"><a href="6-ir.html">ir</a></li><li class="progresssection"><a href="6-ce.html">ce</a></li><li class="progresssection"><a href="6-ce2.html">ce2</a></li><li class="progresssection"><a href="6-be.html">be</a></li><li class="progresssection"><a href="6-re.html">re</a></li><li class="progresssection"><a href="6-ee.html">ee</a></li><li class="progresssection"><a href="6-fe.html">fe</a></li><li class="progresscurrent">te</li><li class="progresssection"><a href="6-ve.html">ve</a></li><li class="progresssection"><a href="6-rfse.html">rfse</a></li><li class="progresssection"><a href="6-ee2.html">ee2</a></li><li class="progresssection"><a href="6-se.html">se</a></li><li class="progressnext"><a href="6-ve.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="6-fe.html">❮</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresschapter"><a href="3-sh.html">3</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progresscurrentchapter">6</li><li class="progresssection"><a href="6-ii.html">ii</a></li><li class="progresssection"><a href="6-ifs.html">ifs</a></li><li class="progresssection"><a href="6-ir.html">ir</a></li><li class="progresssection"><a href="6-ce.html">ce</a></li><li class="progresssection"><a href="6-ce2.html">ce2</a></li><li class="progresssection"><a href="6-be.html">be</a></li><li class="progresssection"><a href="6-re.html">re</a></li><li class="progresssection"><a href="6-ee.html">ee</a></li><li class="progresssection"><a href="6-fe.html">fe</a></li><li class="progresscurrent">te</li><li class="progresssection"><a href="6-ve.html">ve</a></li><li class="progresssection"><a href="6-rfse.html">rfse</a></li><li class="progresssection"><a href="6-ee2.html">ee2</a></li><li class="progresssection"><a href="6-se.html">se</a></li><li class="progresssection"><a href="6-ie.html">ie</a></li><li class="progressnext"><a href="6-ve.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -168,7 +168,7 @@ function togglePopup(material_id) {
|
|||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="6-ve.html#SP1">§1</a>.</li></ul>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="6-te.html">❮</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresschapter"><a href="3-sh.html">3</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progresscurrentchapter">6</li><li class="progresssection"><a href="6-ii.html">ii</a></li><li class="progresssection"><a href="6-ifs.html">ifs</a></li><li class="progresssection"><a href="6-ir.html">ir</a></li><li class="progresssection"><a href="6-ce.html">ce</a></li><li class="progresssection"><a href="6-ce2.html">ce2</a></li><li class="progresssection"><a href="6-be.html">be</a></li><li class="progresssection"><a href="6-re.html">re</a></li><li class="progresssection"><a href="6-ee.html">ee</a></li><li class="progresssection"><a href="6-fe.html">fe</a></li><li class="progresssection"><a href="6-te.html">te</a></li><li class="progresscurrent">ve</li><li class="progresssection"><a href="6-rfse.html">rfse</a></li><li class="progresssection"><a href="6-ee2.html">ee2</a></li><li class="progresssection"><a href="6-se.html">se</a></li><li class="progressnext"><a href="6-rfse.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="6-te.html">❮</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresschapter"><a href="3-sh.html">3</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progresscurrentchapter">6</li><li class="progresssection"><a href="6-ii.html">ii</a></li><li class="progresssection"><a href="6-ifs.html">ifs</a></li><li class="progresssection"><a href="6-ir.html">ir</a></li><li class="progresssection"><a href="6-ce.html">ce</a></li><li class="progresssection"><a href="6-ce2.html">ce2</a></li><li class="progresssection"><a href="6-be.html">be</a></li><li class="progresssection"><a href="6-re.html">re</a></li><li class="progresssection"><a href="6-ee.html">ee</a></li><li class="progresssection"><a href="6-fe.html">fe</a></li><li class="progresssection"><a href="6-te.html">te</a></li><li class="progresscurrent">ve</li><li class="progresssection"><a href="6-rfse.html">rfse</a></li><li class="progresssection"><a href="6-ee2.html">ee2</a></li><li class="progresssection"><a href="6-se.html">se</a></li><li class="progresssection"><a href="6-ie.html">ie</a></li><li class="progressnext"><a href="6-rfse.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -396,6 +396,11 @@
|
|||
<spon class="sectiontitle">Standards Element</span></a> -
|
||||
<span class="sectionpurpose">To write the Standards element (St) in the index.</span></p>
|
||||
</li>
|
||||
<li>
|
||||
<p class="sectionentry"><a href="6-ie.html">
|
||||
<spon class="sectiontitle">Innards Element</span></a> -
|
||||
<span class="sectionpurpose">To write the Innards element (In) in the index.</span></p>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
|
|
@ -122,17 +122,14 @@ the compiler at all.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">P</span><span class="plain-syntax">-></span><span class="element-syntax">active</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">PluginManager::list_plugins</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">label</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">state</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">PluginManager::list_plugins</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">state</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">plugin</span><span class="plain-syntax"> *</span><span class="identifier-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">c</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">label</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">P</span><span class="plain-syntax">, </span><span class="reserved-syntax">plugin</span><span class="plain-syntax">) </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">P</span><span class="plain-syntax">-></span><span class="element-syntax">active</span><span class="plain-syntax"> == </span><span class="identifier-syntax">state</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"> > </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">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"%S"</span><span class="plain-syntax">, </span><span class="identifier-syntax">P</span><span class="plain-syntax">-></span><span class="element-syntax">textual_name</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">c</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">c</span><span class="plain-syntax"> == </span><span class="constant-syntax">0</span><span class="plain-syntax">) </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"<i>none</i>"</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">".\n"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP3" class="paragraph-anchor"></a><b>§3. </b>In the code above, plugins are set up as inactive by default — even "core",
|
||||
|
|
|
@ -102,7 +102,7 @@
|
|||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="2-rls.html">❮</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-ins.html">ins</a></li><li class="progresssection"><a href="2-adj.html">adj</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-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">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="2-rls.html">❮</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-ins.html">ins</a></li><li class="progresssection"><a href="2-adj.html">adj</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-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">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -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">§1</a>.</li></ul>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="2-ins.html">❮</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-ins.html">ins</a></li><li class="progresscurrent">adj</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-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">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="2-ins.html">❮</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-ins.html">ins</a></li><li class="progresscurrent">adj</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-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">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -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">§1</a>.</li></ul>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="2-ie2.html">❮</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-ins.html">ins</a></li><li class="progresssection"><a href="2-adj.html">adj</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">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">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="2-pi.html">❮</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-ins.html">ins</a></li><li class="progresssection"><a href="2-adj.html">adj</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">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">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -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">❮</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-ins.html">ins</a></li><li class="progresssection"><a href="2-adj.html">adj</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-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">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="2-ki.html">❮</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-ins.html">ins</a></li><li class="progresssection"><a href="2-adj.html">adj</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-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">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -1,264 +0,0 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<title>Innards 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 'Innards 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>Innards Element</b></li></ul></div>
|
||||
<p class="purpose">To index tables.</p>
|
||||
|
||||
<ul class="toc"><li><a href="2-ie2.html#SP1">§1. Describing the current VM</a></li></ul><hr class="tocbar">
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP1" class="paragraph-anchor"></a><b>§1. Describing the current VM. </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">IXInnards::render</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="identifier-syntax">target_vm</span><span class="plain-syntax"> *</span><span class="identifier-syntax">VM</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><a href="2-ie2.html#SP2" class="function-link"><span class="function-syntax">IXInnards::index_VM</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">VM</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-ie2.html#SP4" class="function-link"><span class="function-syntax">IXInnards::index_use_options</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">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">3</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">"See some technicalities for Inform maintainers only"</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">3</span><span class="plain-syntax">, </span><span class="constant-syntax">2</span><span class="plain-syntax">, </span><span class="string-syntax">"e0e0e0"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-ie2.html#SP3" class="function-link"><span class="function-syntax">IXInnards::show_configuration</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="named-paragraph-container code-font"><a href="2-ie2.html#SP1_1" class="named-paragraph-link"><span class="named-paragraph">Add some paste buttons for the debugging log</span><span class="named-paragraph-number">1.1</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">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="SP1_1" class="paragraph-anchor"></a><b>§1.1. </b>The index provides some hidden paste icons for these:
|
||||
</p>
|
||||
|
||||
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Add some paste buttons for the debugging log</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="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">"Debugging log:"</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="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="plain-syntax"><</span><span class="identifier-syntax">NO_DEFINED_DA_VALUES</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">debugging_aspect</span><span class="plain-syntax"> *</span><span class="identifier-syntax">da</span><span class="plain-syntax"> = &(</span><span class="identifier-syntax">the_debugging_aspects</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">Str::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">da</span><span class="plain-syntax">-></span><span class="identifier-syntax">unhyphenated_name</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">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">is</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">is</span><span class="plain-syntax">, </span><span class="string-syntax">"Include %S in the debugging log."</span><span class="plain-syntax">, </span><span class="identifier-syntax">da</span><span class="plain-syntax">-></span><span class="identifier-syntax">unhyphenated_name</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">is</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">"&nbsp;%S"</span><span class="plain-syntax">, </span><span class="identifier-syntax">is</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">is</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_TAG</span><span class="plain-syntax">(</span><span class="string-syntax">"br"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="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>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="2-ie2.html#SP1">§1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP2" class="paragraph-anchor"></a><b>§2. </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">IXInnards::index_VM</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">IXInnards::index_VM</span></span>:<br/><a href="2-ie2.html#SP1">§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">target_vm</span><span class="plain-syntax"> *</span><span class="identifier-syntax">VM</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">VM</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">"target VM not set yet"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Index::anchor</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"STORYFILE"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">); </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"Story file format: "</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">ExtensionIndex::plot_icon</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">VM</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TargetVMs::write</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">VM</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>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP3" class="paragraph-anchor"></a><b>§3. </b></p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">IXInnards::show_configuration</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">IXInnards::show_configuration</span></span>:<br/><a href="2-ie2.html#SP1">§1</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">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::anchor</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"CONFIG"</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">"Inform language definition:\n"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">PluginManager::list_plugins</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="string-syntax">"Included"</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">PluginManager::list_plugins</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="string-syntax">"Excluded"</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">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP4" class="paragraph-anchor"></a><b>§4. </b>Now for indexing, where there's nothing much to see.
|
||||
</p>
|
||||
|
||||
<pre class="definitions code-font"><span class="definition-keyword">define</span> <span class="constant-syntax">MAIN_TEXT_UO_ORIGIN</span><span class="plain-syntax"> </span><span class="constant-syntax">1</span>
|
||||
<span class="definition-keyword">define</span> <span class="constant-syntax">OPTIONS_FILE_UO_ORIGIN</span><span class="plain-syntax"> </span><span class="constant-syntax">2</span>
|
||||
<span class="definition-keyword">define</span> <span class="constant-syntax">EXTENSION_UO_ORIGIN</span><span class="plain-syntax"> </span><span class="constant-syntax">3</span>
|
||||
</pre>
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">IXInnards::index_use_options</span><button class="popup" onclick="togglePopup('usagePopup3')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup3">Usage of <span class="code-font"><span class="function-syntax">IXInnards::index_use_options</span></span>:<br/><a href="2-ie2.html#SP1">§1</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">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">); </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"The following use options are in force:"</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><a href="2-ie2.html#SP5" class="function-link"><span class="function-syntax">IXInnards::index_options_in_force_from</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="constant-syntax">MAIN_TEXT_UO_ORIGIN</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-ie2.html#SP5" class="function-link"><span class="function-syntax">IXInnards::index_options_in_force_from</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="constant-syntax">OPTIONS_FILE_UO_ORIGIN</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">inform_extension</span><span class="plain-syntax"> *</span><span class="identifier-syntax">E</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">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>
|
||||
<span class="plain-syntax"> </span><a href="2-ie2.html#SP5" class="function-link"><span class="function-syntax">IXInnards::index_options_in_force_from</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="constant-syntax">EXTENSION_UO_ORIGIN</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">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">nt</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">use_option</span><span class="plain-syntax"> *</span><span class="identifier-syntax">uo</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">uo</span><span class="plain-syntax">, </span><span class="identifier-syntax">use_option</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">uo</span><span class="plain-syntax">-></span><span class="identifier-syntax">source_file_scoped</span><span class="plain-syntax">) </span><span class="reserved-syntax">continue</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">uo</span><span class="plain-syntax">-></span><span class="identifier-syntax">option_used</span><span class="plain-syntax"> == </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">) && (</span><span class="identifier-syntax">uo</span><span class="plain-syntax">-></span><span class="identifier-syntax">minimum_setting_value</span><span class="plain-syntax"> < </span><span class="constant-syntax">0</span><span class="plain-syntax">)) </span><span class="identifier-syntax">nt</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">nt</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_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">); </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"Whereas these are not in force:"</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_indented_p</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="constant-syntax">2</span><span class="plain-syntax">, </span><span class="string-syntax">"tight"</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">uo</span><span class="plain-syntax">, </span><span class="identifier-syntax">use_option</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">uo</span><span class="plain-syntax">-></span><span class="identifier-syntax">source_file_scoped</span><span class="plain-syntax">) </span><span class="reserved-syntax">continue</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">uo</span><span class="plain-syntax">-></span><span class="identifier-syntax">option_used</span><span class="plain-syntax"> == </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">) && (</span><span class="identifier-syntax">uo</span><span class="plain-syntax">-></span><span class="identifier-syntax">minimum_setting_value</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="2-ie2.html#SP4_1" class="named-paragraph-link"><span class="named-paragraph">Write in the index line for a use option not taken</span><span class="named-paragraph-number">4.1</span></a></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">nt</span><span class="plain-syntax"> > </span><span class="constant-syntax">0</span><span class="plain-syntax">) </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">", "</span><span class="plain-syntax">);</span>
|
||||
<span class="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">"p"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP4_1" class="paragraph-anchor"></a><b>§4.1. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Write in the index line for a use option not taken</span><span class="named-paragraph-number">4.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_OPEN_WITH</span><span class="plain-syntax">(</span><span class="string-syntax">"span"</span><span class="plain-syntax">, </span><span class="string-syntax">"style=\"white-space:nowrap\";"</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">"Use %+W."</span><span class="plain-syntax">, </span><span class="identifier-syntax">uo</span><span class="plain-syntax">-></span><span class="element-syntax">name</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="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"&nbsp;%+W"</span><span class="plain-syntax">, </span><span class="identifier-syntax">uo</span><span class="plain-syntax">-></span><span class="element-syntax">name</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>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="2-ie2.html#SP4">§4</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP5" class="paragraph-anchor"></a><b>§5. </b></p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">IXInnards::index_options_in_force_from</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">IXInnards::index_options_in_force_from</span></span>:<br/><a href="2-ie2.html#SP4">§4</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">category</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">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">N</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">use_option</span><span class="plain-syntax"> *</span><span class="identifier-syntax">uo</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">uo</span><span class="plain-syntax">, </span><span class="identifier-syntax">use_option</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">uo</span><span class="plain-syntax">-></span><span class="identifier-syntax">source_file_scoped</span><span class="plain-syntax">) </span><span class="reserved-syntax">continue</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">uo</span><span class="plain-syntax">-></span><span class="identifier-syntax">option_used</span><span class="plain-syntax">) && (</span><span class="identifier-syntax">uo</span><span class="plain-syntax">-></span><span class="identifier-syntax">minimum_setting_value</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">NewUseOptions::uo_set_from</span><span class="plain-syntax">(</span><span class="identifier-syntax">uo</span><span class="plain-syntax">, </span><span class="identifier-syntax">category</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">N</span><span class="plain-syntax">++ == </span><span class="constant-syntax">0</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="2-ie2.html#SP5_1" class="named-paragraph-link"><span class="named-paragraph">Write in the use option subheading</span><span class="named-paragraph-number">5.1</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="2-ie2.html#SP5_2" class="named-paragraph-link"><span class="named-paragraph">Write in the index line for a use option taken</span><span class="named-paragraph-number">5.2</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="identifier-syntax">LOOP_OVER</span><span class="plain-syntax">(</span><span class="identifier-syntax">uo</span><span class="plain-syntax">, </span><span class="identifier-syntax">use_option</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">uo</span><span class="plain-syntax">-></span><span class="identifier-syntax">source_file_scoped</span><span class="plain-syntax">) </span><span class="reserved-syntax">continue</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">uo</span><span class="plain-syntax">-></span><span class="identifier-syntax">option_used</span><span class="plain-syntax">) && (</span><span class="identifier-syntax">uo</span><span class="plain-syntax">-></span><span class="identifier-syntax">minimum_setting_value</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">NewUseOptions::uo_set_from</span><span class="plain-syntax">(</span><span class="identifier-syntax">uo</span><span class="plain-syntax">, </span><span class="identifier-syntax">category</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">N</span><span class="plain-syntax">++ == </span><span class="constant-syntax">0</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="2-ie2.html#SP5_1" class="named-paragraph-link"><span class="named-paragraph">Write in the use option subheading</span><span class="named-paragraph-number">5.1</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="2-ie2.html#SP5_2" class="named-paragraph-link"><span class="named-paragraph">Write in the index line for a use option taken</span><span class="named-paragraph-number">5.2</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP5_1" class="paragraph-anchor"></a><b>§5.1. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Write in the use option subheading</span><span class="named-paragraph-number">5.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::open_indented_p</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="constant-syntax">2</span><span class="plain-syntax">, </span><span class="string-syntax">"tight"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::begin_colour</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"808080"</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">"Set from "</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">switch</span><span class="plain-syntax"> (</span><span class="identifier-syntax">category</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">MAIN_TEXT_UO_ORIGIN:</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"the source text"</span><span class="plain-syntax">); </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">OPTIONS_FILE_UO_ORIGIN:</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"the Options.txt configuration file"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Index::DocReferences::link</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"OPTIONSFILE"</span><span class="plain-syntax">); </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">EXTENSION_UO_ORIGIN:</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Extensions::is_standard</span><span class="plain-syntax">(</span><span class="identifier-syntax">E</span><span class="plain-syntax">)) </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"the "</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">"the extension "</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">E</span><span class="plain-syntax">-></span><span class="identifier-syntax">as_copy</span><span class="plain-syntax">-></span><span class="identifier-syntax">edition</span><span class="plain-syntax">-></span><span class="identifier-syntax">work</span><span class="plain-syntax">-></span><span class="identifier-syntax">title</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="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">HTML::end_colour</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="2-ie2.html#SP5">§5</a> (twice).</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP5_2" class="paragraph-anchor"></a><b>§5.2. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Write in the index line for a use option taken</span><span class="named-paragraph-number">5.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="identifier-syntax">HTML::open_indented_p</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="constant-syntax">3</span><span class="plain-syntax">, </span><span class="string-syntax">"tight"</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">"Use %+W"</span><span class="plain-syntax">, </span><span class="identifier-syntax">uo</span><span class="plain-syntax">-></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">uo</span><span class="plain-syntax">-></span><span class="identifier-syntax">minimum_setting_value</span><span class="plain-syntax"> >= </span><span class="constant-syntax">0</span><span class="plain-syntax">) </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">" of at least %d"</span><span class="plain-syntax">, </span><span class="identifier-syntax">uo</span><span class="plain-syntax">-></span><span class="identifier-syntax">minimum_setting_value</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">uo</span><span class="plain-syntax">-></span><span class="identifier-syntax">where_used</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">uo</span><span class="plain-syntax">-></span><span class="identifier-syntax">where_used</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">uo</span><span class="plain-syntax">-></span><span class="identifier-syntax">minimum_setting_value</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">"&nbsp;"</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">"Use %+W of at least %d."</span><span class="plain-syntax">, </span><span class="identifier-syntax">uo</span><span class="plain-syntax">-></span><span class="element-syntax">name</span><span class="plain-syntax">, </span><span class="constant-syntax">2</span><span class="plain-syntax">*(</span><span class="identifier-syntax">uo</span><span class="plain-syntax">-></span><span class="identifier-syntax">minimum_setting_value</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="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"&nbsp;<i>Double this</i>"</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">"p"</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="2-ie2.html#SP5">§5</a> (twice).</li></ul>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="2-pi.html">❮</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-ins.html">ins</a></li><li class="progresssection"><a href="2-adj.html">adj</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-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">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -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">❮</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-ins.html">ins</a></li><li class="progresssection"><a href="2-adj.html">adj</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-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">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="2-prp.html">❮</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-ins.html">ins</a></li><li class="progresssection"><a href="2-adj.html">adj</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-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">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -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-ie.html">❮</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">ins</li><li class="progresssection"><a href="2-adj.html">adj</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-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">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="2-ie.html">❮</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">ins</li><li class="progresssection"><a href="2-adj.html">adj</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-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">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -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">§6</a>.</li></ul>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="2-me.html">❮</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-ins.html">ins</a></li><li class="progresssection"><a href="2-adj.html">adj</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-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">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="2-me.html">❮</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-ins.html">ins</a></li><li class="progresssection"><a href="2-adj.html">adj</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-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">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -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">❮</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-ins.html">ins</a></li><li class="progresssection"><a href="2-adj.html">adj</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-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">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="1-im.html">❮</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-ins.html">ins</a></li><li class="progresssection"><a href="2-adj.html">adj</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-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">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -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">❮</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-ins.html">ins</a></li><li class="progresssection"><a href="2-adj.html">adj</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-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">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="2-li.html">❮</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-ins.html">ins</a></li><li class="progresssection"><a href="2-adj.html">adj</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-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">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -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">❮</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-ins.html">ins</a></li><li class="progresssection"><a href="2-adj.html">adj</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-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">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="2-act.html">❮</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-ins.html">ins</a></li><li class="progresssection"><a href="2-adj.html">adj</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-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">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -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-adj.html">❮</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-ins.html">ins</a></li><li class="progresssection"><a href="2-adj.html">adj</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-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">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="2-adj.html">❮</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-ins.html">ins</a></li><li class="progresssection"><a href="2-adj.html">adj</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-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">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -494,7 +494,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">❮</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-ins.html">ins</a></li><li class="progresssection"><a href="2-adj.html">adj</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-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">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="2-inf.html">❮</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-ins.html">ins</a></li><li class="progresssection"><a href="2-adj.html">adj</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-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">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -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/prp, 2/inf, 2/rls, 2/pi, 2/ie2, 3/act and here.</li></ul>
|
||||
<ul class="endnotetexts"><li>The structure plotting_parameter is accessed in 2/ie, 2/ins, 2/prp, 2/inf, 2/rls, 2/pi, 3/act and here.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP3" class="paragraph-anchor"></a><b>§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.
|
||||
|
|
|
@ -133,11 +133,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-ie2.html">
|
||||
<spon class="sectiontitle">Innards Element</span></a> -
|
||||
<span class="sectionpurpose">To index tables.</span></p>
|
||||
</li>
|
||||
<li>
|
||||
<p class="sectionentry"><a href="2-ae.html">
|
||||
<spon class="sectiontitle">Arithmetic Element</span></a> -
|
||||
|
|
|
@ -72,7 +72,7 @@ function togglePopup(material_id) {
|
|||
<ul class="crumbs"><li><a href="../index.html">Home</a></li><li><a href="../compiler.html">Inform7</a></li><li><a href="index.html">runtime</a></li><li><a href="index.html#2">Chapter 2: Emission</a></li><li><b>Compilation Units</b></li></ul></div>
|
||||
<p class="purpose">The source text is divided into compilation units, and the material they lead to is similarly divided up.</p>
|
||||
|
||||
<ul class="toc"><li><a href="2-cu.html#SP1">§1. Units</a></li><li><a href="2-cu.html#SP4">§4. What unit a node belongs to</a></li></ul><hr class="tocbar">
|
||||
<ul class="toc"><li><a href="2-cu.html#SP1">§1. Units</a></li><li><a href="2-cu.html#SP5">§5. What unit a node belongs to</a></li></ul><hr class="tocbar">
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP1" class="paragraph-anchor"></a><b>§1. Units. </b>The source text is divided up into "compilation units". Each extension is its
|
||||
own compilation unit, and so is the main source text. This demarcation is also
|
||||
|
@ -141,7 +141,7 @@ can find them easily enough. This is done very early in compilation: see
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">C</span><span class="plain-syntax">-></span><span class="element-syntax">to_module</span><span class="plain-syntax"> = </span><span class="identifier-syntax">M</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">C</span><span class="plain-syntax">-></span><span class="element-syntax">extension</span><span class="plain-syntax"> = </span><span class="identifier-syntax">ext</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">C</span><span class="plain-syntax">-></span><span class="element-syntax">extension_id</span><span class="plain-syntax"> = </span><span class="identifier-syntax">id_iname</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><a href="2-cu.html#SP4" class="function-link"><span class="function-syntax">CompilationUnits::join</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">p</span><span class="plain-syntax">, </span><span class="identifier-syntax">C</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-cu.html#SP5" class="function-link"><span class="function-syntax">CompilationUnits::join</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">p</span><span class="plain-syntax">, </span><span class="identifier-syntax">C</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="2-cu.html#SP2">§2</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP2_1_1" class="paragraph-anchor"></a><b>§2.1.1. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Give M a category</span><span class="named-paragraph-number">2.1.1</span></span><span class="comment-syntax"> =</span>
|
||||
|
@ -244,11 +244,10 @@ used only for indexing.)
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="identifier-syntax">owner</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Extensions::corresponding_to</span><span class="plain-syntax">(</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Lexer::file_of_origin</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">inc</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">owner</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">compilation_unit</span><span class="plain-syntax"> *</span><span class="identifier-syntax">owner_C</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">owner_C</span><span class="plain-syntax">, </span><span class="reserved-syntax">compilation_unit</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">owner_C</span><span class="plain-syntax">-></span><span class="element-syntax">extension</span><span class="plain-syntax"> == </span><span class="identifier-syntax">owner</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_iname</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">EXT_INCLUDED_BY_MD_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">owner_C</span><span class="plain-syntax">-></span><span class="element-syntax">extension_id</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">owner_id</span><span class="plain-syntax"> = </span><a href="2-cu.html#SP4" class="function-link"><span class="function-syntax">CompilationUnits::extension_id</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">owner</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">owner_id</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_iname</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">EXT_INCLUDED_BY_MD_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">owner_id</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">Lexer::word_location</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">inc</span><span class="plain-syntax">))).</span><span class="identifier-syntax">file_of_origin</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</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">pack</span><span class="plain-syntax">, </span><span class="constant-syntax">EXT_AUTO_INCLUDED_MD_HL</span><span class="plain-syntax">, </span><span class="constant-syntax">1</span><span class="plain-syntax">);</span>
|
||||
|
@ -260,7 +259,19 @@ used only for indexing.)
|
|||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP4" class="paragraph-anchor"></a><b>§4. What unit a node belongs to. </b>We are going to need to determine, for any node <span class="extract"><span class="extract-syntax">p</span></span>, which compilation unit it
|
||||
<p class="commentary firstcommentary"><a id="SP4" class="paragraph-anchor"></a><b>§4. </b>This is in principle slow, and in practice fast, and anyway little used.
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="function-syntax">CompilationUnits::extension_id</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">CompilationUnits::extension_id</span></span>:<br/><a href="2-cu.html#SP3">§3</a><br/>Use Options - <a href="3-uo.html#SP1">§1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inform_extension</span><span class="plain-syntax"> *</span><span class="identifier-syntax">owner</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">compilation_unit</span><span class="plain-syntax"> *</span><span class="identifier-syntax">owner_C</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">owner_C</span><span class="plain-syntax">, </span><span class="reserved-syntax">compilation_unit</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">owner_C</span><span class="plain-syntax">-></span><span class="element-syntax">extension</span><span class="plain-syntax"> == </span><span class="identifier-syntax">owner</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">owner_C</span><span class="plain-syntax">-></span><span class="element-syntax">extension_id</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">NULL</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP5" class="paragraph-anchor"></a><b>§5. What unit a node belongs to. </b>We are going to need to determine, for any node <span class="extract"><span class="extract-syntax">p</span></span>, which compilation unit it
|
||||
belongs to. If there were a fast way to go up in the syntax tree, that would be
|
||||
easy — we could simply run upward until we reach a level-0 heading. But the
|
||||
node links all run downwards. Instead, we'll annotate the nodes in a given unit.
|
||||
|
@ -268,29 +279,29 @@ The annotations propagates downwards thus:
|
|||
</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">CompilationUnits::join</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">CompilationUnits::join</span></span>:<br/><a href="2-cu.html#SP2_1">§2.1</a>, <a href="2-cu.html#SP5">§5</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">p</span><span class="plain-syntax">, </span><span class="reserved-syntax">compilation_unit</span><span class="plain-syntax"> *</span><span class="identifier-syntax">C</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">CompilationUnits::join</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">CompilationUnits::join</span></span>:<br/><a href="2-cu.html#SP2_1">§2.1</a>, <a href="2-cu.html#SP6">§6</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">p</span><span class="plain-syntax">, </span><span class="reserved-syntax">compilation_unit</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">Node::get_unit</span><span class="plain-syntax">(</span><span class="identifier-syntax">p</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">Node::set_unit</span><span class="plain-syntax">(</span><span class="identifier-syntax">p</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">for</span><span class="plain-syntax"> (</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">d</span><span class="plain-syntax"> = </span><span class="identifier-syntax">p</span><span class="plain-syntax">-></span><span class="identifier-syntax">down</span><span class="plain-syntax">; </span><span class="identifier-syntax">d</span><span class="plain-syntax">; </span><span class="identifier-syntax">d</span><span class="plain-syntax"> = </span><span class="identifier-syntax">d</span><span class="plain-syntax">-></span><span class="element-syntax">next</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><a href="2-cu.html#SP4" class="function-link"><span class="function-syntax">CompilationUnits::join</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">d</span><span class="plain-syntax">, </span><span class="identifier-syntax">C</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-cu.html#SP5" class="function-link"><span class="function-syntax">CompilationUnits::join</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">d</span><span class="plain-syntax">, </span><span class="identifier-syntax">C</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP5" class="paragraph-anchor"></a><b>§5. </b>Nodes are sometimes added later, so that it may be necessary to mark them
|
||||
<p class="commentary firstcommentary"><a id="SP6" class="paragraph-anchor"></a><b>§6. </b>Nodes are sometimes added later, so that it may be necessary to mark them
|
||||
by hand as belonging to the same nodes as their progenitors:
|
||||
</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">CompilationUnits::assign_to_same_unit</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">CompilationUnits::assign_to_same_unit</span></span>:<br/>Text Substitutions - <a href="4-ts.html#SP7_3">§7.3</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">to</span><span class="plain-syntax">, </span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">from</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><a href="2-cu.html#SP4" class="function-link"><span class="function-syntax">CompilationUnits::join</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">to</span><span class="plain-syntax">, </span><span class="identifier-syntax">Node::get_unit</span><span class="plain-syntax">(</span><span class="identifier-syntax">from</span><span class="plain-syntax">));</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">CompilationUnits::assign_to_same_unit</span><button class="popup" onclick="togglePopup('usagePopup3')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup3">Usage of <span class="code-font"><span class="function-syntax">CompilationUnits::assign_to_same_unit</span></span>:<br/>Text Substitutions - <a href="4-ts.html#SP7_3">§7.3</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">to</span><span class="plain-syntax">, </span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">from</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><a href="2-cu.html#SP5" class="function-link"><span class="function-syntax">CompilationUnits::join</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">to</span><span class="plain-syntax">, </span><span class="identifier-syntax">Node::get_unit</span><span class="plain-syntax">(</span><span class="identifier-syntax">from</span><span class="plain-syntax">));</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP6" class="paragraph-anchor"></a><b>§6. </b>As promised, then, given a parse node, we have to return its compilation unit:
|
||||
<p class="commentary firstcommentary"><a id="SP7" class="paragraph-anchor"></a><b>§7. </b>As promised, then, given a parse node, we have to return its compilation unit:
|
||||
but that's now easy.
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">compilation_unit</span><span class="plain-syntax"> *</span><span class="function-syntax">CompilationUnits::find</span><button class="popup" onclick="togglePopup('usagePopup3')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup3">Usage of <span class="code-font"><span class="function-syntax">CompilationUnits::find</span></span>:<br/>Hierarchy - <a href="2-hrr.html#SP19">§19</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">from</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">compilation_unit</span><span class="plain-syntax"> *</span><span class="function-syntax">CompilationUnits::find</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">CompilationUnits::find</span></span>:<br/>Hierarchy - <a href="2-hrr.html#SP19">§19</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">from</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">from</span><span class="plain-syntax">) </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">Node::get_unit</span><span class="plain-syntax">(</span><span class="identifier-syntax">from</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">NULL</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
|
|
@ -330,7 +330,7 @@ it represents an actual number at run-time, the second if not:
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="function-syntax">Emit::numeric_constant</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">Emit::numeric_constant</span></span>:<br/>Hierarchy - <a href="2-hrr.html#SP23">§23</a><br/>Compilation Units - <a href="2-cu.html#SP2_1_2">§2.1.2</a><br/>The Heap - <a href="2-th.html#SP2">§2</a><br/>Generic Module - <a href="3-gm.html#SP3">§3</a><br/>Completion Module - <a href="3-cm.html#SP1_3">§1.3</a>, <a href="3-cm.html#SP1_4">§1.4</a>, <a href="3-cm.html#SP1_5">§1.5</a>, <a href="3-cm.html#SP1_6">§1.6</a>, <a href="3-cm.html#SP1_8_1">§1.8.1</a><br/>Use Options - <a href="3-uo.html#SP1">§1</a>, <a href="3-uo.html#SP1_2">§1.2</a><br/>Responses - <a href="4-rsp.html#SP6">§6</a><br/>Activities - <a href="5-act.html#SP6">§6</a><br/>Chronology - <a href="5-chr.html#SP3_3">§3.3</a>, <a href="5-chr.html#SP7_1">§7.1</a><br/>Conjugations - <a href="5-cnj.html#SP12">§12</a><br/>Tables - <a href="5-tbl.html#SP2_1_1_1_3">§2.1.1.1.3</a>, <a href="5-tbl.html#SP2_3">§2.3</a><br/>Table Columns - <a href="5-tc.html#SP2">§2</a><br/>Rules - <a href="5-rls.html#SP11_2">§11.2</a><br/>Rulebooks - <a href="5-rlb.html#SP6_2">§6.2</a><br/>Variables - <a href="5-vrb.html#SP14">§14</a><br/>Properties - <a href="5-prp.html#SP6_3">§6.3</a><br/>Relations - <a href="5-rlt.html#SP6">§6</a>, <a href="5-rlt.html#SP11_3">§11.3</a><br/>Kind Constructors - <a href="5-kc.html#SP10">§10</a><br/>Kind IDs - <a href="5-ki.html#SP9_2">§9.2</a><br/>Actions - <a href="5-act2.html#SP8_1">§8.1</a>, <a href="5-act2.html#SP8_3">§8.3</a><br/>Bibliographic Data - <a href="6-bd.html#SP1_6">§1.6</a><br/>The Player - <a href="6-tp.html#SP1">§1</a><br/>The Map - <a href="6-tm.html#SP1">§1</a><br/>Command Grammars - <a href="7-cg.html#SP1">§1</a>, <a href="7-cg.html#SP9">§9</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">con_iname</span><span class="plain-syntax">, </span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">val</span><span class="plain-syntax">) {</span>
|
||||
<span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="function-syntax">Emit::numeric_constant</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">Emit::numeric_constant</span></span>:<br/>Hierarchy - <a href="2-hrr.html#SP23">§23</a><br/>Compilation Units - <a href="2-cu.html#SP2_1_2">§2.1.2</a><br/>The Heap - <a href="2-th.html#SP2">§2</a><br/>Generic Module - <a href="3-gm.html#SP3">§3</a><br/>Completion Module - <a href="3-cm.html#SP1_5">§1.5</a>, <a href="3-cm.html#SP1_6">§1.6</a>, <a href="3-cm.html#SP1_7">§1.7</a>, <a href="3-cm.html#SP1_8">§1.8</a>, <a href="3-cm.html#SP1_11_1">§1.11.1</a><br/>Use Options - <a href="3-uo.html#SP1">§1</a>, <a href="3-uo.html#SP1_2">§1.2</a><br/>Responses - <a href="4-rsp.html#SP6">§6</a><br/>Activities - <a href="5-act.html#SP6">§6</a><br/>Chronology - <a href="5-chr.html#SP3_3">§3.3</a>, <a href="5-chr.html#SP7_1">§7.1</a><br/>Conjugations - <a href="5-cnj.html#SP12">§12</a><br/>Tables - <a href="5-tbl.html#SP2_1_1_1_3">§2.1.1.1.3</a>, <a href="5-tbl.html#SP2_3">§2.3</a><br/>Table Columns - <a href="5-tc.html#SP2">§2</a><br/>Rules - <a href="5-rls.html#SP11_2">§11.2</a><br/>Rulebooks - <a href="5-rlb.html#SP6_2">§6.2</a><br/>Variables - <a href="5-vrb.html#SP14">§14</a><br/>Properties - <a href="5-prp.html#SP6_3">§6.3</a><br/>Relations - <a href="5-rlt.html#SP6">§6</a>, <a href="5-rlt.html#SP11_3">§11.3</a><br/>Kind Constructors - <a href="5-kc.html#SP10">§10</a><br/>Kind IDs - <a href="5-ki.html#SP9_2">§9.2</a><br/>Actions - <a href="5-act2.html#SP8_1">§8.1</a>, <a href="5-act2.html#SP8_3">§8.3</a><br/>Bibliographic Data - <a href="6-bd.html#SP1_6">§1.6</a><br/>The Player - <a href="6-tp.html#SP1">§1</a><br/>The Map - <a href="6-tm.html#SP1">§1</a><br/>Command Grammars - <a href="7-cg.html#SP1">§1</a>, <a href="7-cg.html#SP9">§9</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">con_iname</span><span class="plain-syntax">, </span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">val</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><a href="2-emt.html#SP9" class="function-link"><span class="function-syntax">Emit::numeric_constant_inner</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">con_iname</span><span class="plain-syntax">, </span><span class="identifier-syntax">val</span><span class="plain-syntax">, </span><span class="identifier-syntax">int_interk</span><span class="plain-syntax">, </span><span class="identifier-syntax">INVALID_IANN</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
|
@ -365,7 +365,7 @@ it represents an actual number at run-time, the second if not:
|
|||
</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">Emit::text_constant</span><button class="popup" onclick="togglePopup('usagePopup24')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup24">Usage of <span class="code-font"><span class="function-syntax">Emit::text_constant</span></span>:<br/><a href="2-emt.html#SP13">§13</a><br/>Hierarchy - <a href="2-hrr.html#SP23">§23</a><br/>Completion Module - <a href="3-cm.html#SP1_1">§1.1</a>, <a href="3-cm.html#SP1_2">§1.2</a><br/>Text Literals - <a href="4-tl.html#SP4">§4</a><br/>Responses - <a href="4-rsp.html#SP6">§6</a><br/>Rulebooks - <a href="5-rlb.html#SP13_2">§13.2</a><br/>Bibliographic Data - <a href="6-bd.html#SP1_1">§1.1</a>, <a href="6-bd.html#SP1_2">§1.2</a>, <a href="6-bd.html#SP1_3">§1.3</a>, <a href="6-bd.html#SP1_5">§1.5</a>, <a href="6-bd.html#SP1_6">§1.6</a>, <a href="6-bd.html#SP2">§2</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">con_iname</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">contents</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Emit::text_constant</span><button class="popup" onclick="togglePopup('usagePopup24')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup24">Usage of <span class="code-font"><span class="function-syntax">Emit::text_constant</span></span>:<br/><a href="2-emt.html#SP13">§13</a><br/>Hierarchy - <a href="2-hrr.html#SP23">§23</a><br/>Completion Module - <a href="3-cm.html#SP1_1">§1.1</a>, <a href="3-cm.html#SP1_2">§1.2</a>, <a href="3-cm.html#SP1_3">§1.3</a>, <a href="3-cm.html#SP1_4">§1.4</a><br/>Text Literals - <a href="4-tl.html#SP4">§4</a><br/>Responses - <a href="4-rsp.html#SP6">§6</a><br/>Rulebooks - <a href="5-rlb.html#SP13_2">§13.2</a><br/>Bibliographic Data - <a href="6-bd.html#SP1_1">§1.1</a>, <a href="6-bd.html#SP1_2">§1.2</a>, <a href="6-bd.html#SP1_3">§1.3</a>, <a href="6-bd.html#SP1_5">§1.5</a>, <a href="6-bd.html#SP1_6">§1.6</a>, <a href="6-bd.html#SP2">§2</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">con_iname</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">contents</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">packaging_state</span><span class="plain-syntax"> </span><span class="identifier-syntax">save</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Packaging::enter_home_of</span><span class="plain-syntax">(</span><span class="identifier-syntax">con_iname</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">ID</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Warehouse::create_text</span><span class="plain-syntax">(</span><a href="2-emt.html#SP1" class="function-link"><span class="function-syntax">Emit::warehouse</span></a><span class="plain-syntax">(),</span>
|
||||
<span class="plain-syntax"> </span><a href="2-emt.html#SP1" class="function-link"><span class="function-syntax">Emit::package</span></a><span class="plain-syntax">());</span>
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -78,11 +78,14 @@ function togglePopup(material_id) {
|
|||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">CompletionModule::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="named-paragraph-container code-font"><a href="3-cm.html#SP1_1" class="named-paragraph-link"><span class="named-paragraph">Version number constant</span><span class="named-paragraph-number">1.1</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-cm.html#SP1_2" class="named-paragraph-link"><span class="named-paragraph">Semantic version number constant</span><span class="named-paragraph-number">1.2</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-cm.html#SP1_3" class="named-paragraph-link"><span class="named-paragraph">Memory economy metadata</span><span class="named-paragraph-number">1.3</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-cm.html#SP1_4" class="named-paragraph-link"><span class="named-paragraph">Frame size</span><span class="named-paragraph-number">1.4</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-cm.html#SP1_5" class="named-paragraph-link"><span class="named-paragraph">RNG seed</span><span class="named-paragraph-number">1.5</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-cm.html#SP1_6" class="named-paragraph-link"><span class="named-paragraph">Max indexed thumbnails</span><span class="named-paragraph-number">1.6</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-cm.html#SP1_8" class="named-paragraph-link"><span class="named-paragraph">Headings</span><span class="named-paragraph-number">1.8</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-cm.html#SP1_3" class="named-paragraph-link"><span class="named-paragraph">Virtual machine metadata</span><span class="named-paragraph-number">1.3</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-cm.html#SP1_4" class="named-paragraph-link"><span class="named-paragraph">Plugin usage</span><span class="named-paragraph-number">1.4</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-cm.html#SP1_5" class="named-paragraph-link"><span class="named-paragraph">Memory economy metadata</span><span class="named-paragraph-number">1.5</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-cm.html#SP1_6" class="named-paragraph-link"><span class="named-paragraph">Frame size</span><span class="named-paragraph-number">1.6</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-cm.html#SP1_7" class="named-paragraph-link"><span class="named-paragraph">RNG seed</span><span class="named-paragraph-number">1.7</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-cm.html#SP1_8" class="named-paragraph-link"><span class="named-paragraph">Max indexed thumbnails</span><span class="named-paragraph-number">1.8</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-cm.html#SP1_11" class="named-paragraph-link"><span class="named-paragraph">Headings</span><span class="named-paragraph-number">1.11</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-cm.html#SP1_9" class="named-paragraph-link"><span class="named-paragraph">Debugging log aspects</span><span class="named-paragraph-number">1.9</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>§1.1. </b>So, for example, these might be <span class="extract"><span class="extract-syntax">10.1.0</span></span> and <span class="extract"><span class="extract-syntax">10.1.0-alpha.1+6R84</span></span> respectively.
|
||||
|
@ -112,7 +115,45 @@ function togglePopup(material_id) {
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">DISCARD_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">svn</span><span class="plain-syntax">)</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="3-cm.html#SP1">§1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_3" class="paragraph-anchor"></a><b>§1.3. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Memory economy metadata</span><span class="named-paragraph-number">1.3</span></span><span class="comment-syntax"> =</span>
|
||||
<p class="commentary firstcommentary"><a id="SP1_3" class="paragraph-anchor"></a><b>§1.3. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Virtual machine metadata</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">target_vm</span><span class="plain-syntax"> *</span><span class="identifier-syntax">VM</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">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">VM</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">"target VM not set yet"</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">vm</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">icon</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">ExtensionIndex::plot_icon</span><span class="plain-syntax">(</span><span class="identifier-syntax">icon</span><span class="plain-syntax">, </span><span class="identifier-syntax">VM</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TargetVMs::write</span><span class="plain-syntax">(</span><span class="identifier-syntax">vm</span><span class="plain-syntax">, </span><span class="identifier-syntax">VM</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#SP11" class="function-link"><span class="function-syntax">Hierarchy::find</span></a><span class="plain-syntax">(</span><span class="constant-syntax">VM_MD_HL</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">vm</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">VM</span><span class="plain-syntax">-></span><span class="identifier-syntax">VM_image</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_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">iname</span><span class="plain-syntax"> = </span><a href="2-hrr.html#SP11" class="function-link"><span class="function-syntax">Hierarchy::find</span></a><span class="plain-syntax">(</span><span class="constant-syntax">VM_ICON_MD_HL</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">VM</span><span class="plain-syntax">-></span><span class="identifier-syntax">VM_image</span><span class="plain-syntax">);</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">vm</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">icon</span><span class="plain-syntax">)</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="3-cm.html#SP1">§1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_4" class="paragraph-anchor"></a><b>§1.4. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Plugin usage</span><span class="named-paragraph-number">1.4</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">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">inc</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">exc</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">PluginManager::list_plugins</span><span class="plain-syntax">(</span><span class="identifier-syntax">inc</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">PluginManager::list_plugins</span><span class="plain-syntax">(</span><span class="identifier-syntax">exc</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">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">iname</span><span class="plain-syntax"> = </span><a href="2-hrr.html#SP11" class="function-link"><span class="function-syntax">Hierarchy::find</span></a><span class="plain-syntax">(</span><span class="constant-syntax">LANGUAGE_ELEMENTS_USED_MD_HL</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">inc</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">exc</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_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">iname</span><span class="plain-syntax"> = </span><a href="2-hrr.html#SP11" class="function-link"><span class="function-syntax">Hierarchy::find</span></a><span class="plain-syntax">(</span><span class="constant-syntax">LANGUAGE_ELEMENTS_NOT_USED_MD_HL</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">exc</span><span class="plain-syntax">);</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">inc</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">exc</span><span class="plain-syntax">)</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="3-cm.html#SP1">§1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_5" class="paragraph-anchor"></a><b>§1.5. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Memory economy metadata</span><span class="named-paragraph-number">1.5</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
|
@ -123,7 +164,7 @@ function togglePopup(material_id) {
|
|||
<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="constant-syntax">0</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="3-cm.html#SP1">§1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_4" class="paragraph-anchor"></a><b>§1.4. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Frame size</span><span class="named-paragraph-number">1.4</span></span><span class="comment-syntax"> =</span>
|
||||
<p class="commentary firstcommentary"><a id="SP1_6" class="paragraph-anchor"></a><b>§1.6. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Frame size</span><span class="named-paragraph-number">1.6</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
|
@ -132,7 +173,7 @@ function togglePopup(material_id) {
|
|||
<span class="plain-syntax"> </span><a href="2-hrr.html#SP17" class="function-link"><span class="function-syntax">Hierarchy::make_available</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="3-cm.html#SP1">§1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_5" class="paragraph-anchor"></a><b>§1.5. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">RNG seed</span><span class="named-paragraph-number">1.5</span></span><span class="comment-syntax"> =</span>
|
||||
<p class="commentary firstcommentary"><a id="SP1_7" class="paragraph-anchor"></a><b>§1.7. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">RNG seed</span><span class="named-paragraph-number">1.7</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
|
@ -141,7 +182,7 @@ function togglePopup(material_id) {
|
|||
<span class="plain-syntax"> </span><a href="2-hrr.html#SP17" class="function-link"><span class="function-syntax">Hierarchy::make_available</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="3-cm.html#SP1">§1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_6" class="paragraph-anchor"></a><b>§1.6. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Max indexed thumbnails</span><span class="named-paragraph-number">1.6</span></span><span class="comment-syntax"> =</span>
|
||||
<p class="commentary firstcommentary"><a id="SP1_8" class="paragraph-anchor"></a><b>§1.8. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Max indexed thumbnails</span><span class="named-paragraph-number">1.8</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
|
@ -150,7 +191,23 @@ function togglePopup(material_id) {
|
|||
<span class="plain-syntax"> (</span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax">) </span><span class="identifier-syntax">global_compilation_settings</span><span class="plain-syntax">.</span><span class="identifier-syntax">index_figure_thumbnails</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="3-cm.html#SP1">§1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_7" class="paragraph-anchor"></a><b>§1.7. </b></p>
|
||||
<p class="commentary firstcommentary"><a id="SP1_9" class="paragraph-anchor"></a><b>§1.9. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Debugging log aspects</span><span class="named-paragraph-number">1.9</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">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="plain-syntax"><</span><span class="identifier-syntax">NO_DEFINED_DA_VALUES</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">debugging_aspect</span><span class="plain-syntax"> *</span><span class="identifier-syntax">da</span><span class="plain-syntax"> = &(</span><span class="identifier-syntax">the_debugging_aspects</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">Str::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">da</span><span class="plain-syntax">-></span><span class="identifier-syntax">unhyphenated_name</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">package_request</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax"> = </span><a href="2-hrr.html#SP20" class="function-link"><span class="function-syntax">Hierarchy::completion_package</span></a><span class="plain-syntax">(</span><span class="constant-syntax">DEBUGGING_ASPECTS_HAP</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">DEBUGGING_ASPECT_NAME_MD_HL</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">da</span><span class="plain-syntax">-></span><span class="identifier-syntax">unhyphenated_name</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">pack</span><span class="plain-syntax">, </span><span class="constant-syntax">DEBUGGING_ASPECT_USED_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">Log::aspect_switched_on</span><span class="plain-syntax">(</span><span class="identifier-syntax">i</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="3-cm.html#SP1">§1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_10" class="paragraph-anchor"></a><b>§1.10. </b></p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">typedef</span><span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="reserved-syntax">heading_compilation_data</span><span class="plain-syntax"> {</span>
|
||||
|
@ -184,7 +241,7 @@ function togglePopup(material_id) {
|
|||
<span class="plain-syntax">} </span><span class="reserved-syntax">contents_entry</span><span class="plain-syntax">;</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>The structure heading_compilation_data is private to this section.</li><li>The structure contents_entry is accessed in 2/cu, 4/ts, 5/act, 5/si, 5/tbl, 5/rls, 5/rlb, 5/lp and here.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_8" class="paragraph-anchor"></a><b>§1.8. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Headings</span><span class="named-paragraph-number">1.8</span></span><span class="comment-syntax"> =</span>
|
||||
<p class="commentary firstcommentary"><a id="SP1_11" class="paragraph-anchor"></a><b>§1.11. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Headings</span><span class="named-paragraph-number">1.11</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
|
@ -200,7 +257,7 @@ function togglePopup(material_id) {
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER</span><span class="plain-syntax">(</span><span class="identifier-syntax">ce</span><span class="plain-syntax">, </span><span class="reserved-syntax">contents_entry</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">h</span><span class="plain-syntax"> = </span><span class="identifier-syntax">ce</span><span class="plain-syntax">-></span><span class="element-syntax">heading_entered</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="2-hrr.html#SP20" class="function-link"><span class="function-syntax">Hierarchy::completion_package</span></a><span class="plain-syntax">(</span><span class="constant-syntax">HEADINGS_HAP</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-cm.html#SP1_8_1" class="named-paragraph-link"><span class="named-paragraph">Write the details</span><span class="named-paragraph-number">1.8.1</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-cm.html#SP1_11_1" class="named-paragraph-link"><span class="named-paragraph">Write the details</span><span class="named-paragraph-number">1.11.1</span></a></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">pack</span><span class="plain-syntax">, </span><span class="constant-syntax">HEADING_INDEXABLE_MD_HL</span><span class="plain-syntax">, </span><span class="constant-syntax">1</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">contents_entry</span><span class="plain-syntax"> *</span><span class="identifier-syntax">next_ce</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NEXT_OBJECT</span><span class="plain-syntax">(</span><span class="identifier-syntax">ce</span><span class="plain-syntax">, </span><span class="reserved-syntax">contents_entry</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">h</span><span class="plain-syntax">-></span><span class="identifier-syntax">level</span><span class="plain-syntax"> != </span><span class="constant-syntax">0</span><span class="plain-syntax">)</span>
|
||||
|
@ -216,7 +273,7 @@ function togglePopup(material_id) {
|
|||
<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">pack</span><span class="plain-syntax">, </span><span class="constant-syntax">HEADING_WORD_COUNT_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">N</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">OUT</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-cm.html#SP1_8_2" class="named-paragraph-link"><span class="named-paragraph">Summarise all the objects and kinds created under the given heading</span><span class="named-paragraph-number">1.8.2</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-cm.html#SP1_11_2" class="named-paragraph-link"><span class="named-paragraph">Summarise all the objects and kinds created under the given heading</span><span class="named-paragraph-number">1.11.2</span></a></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">OUT</span><span class="plain-syntax">) > </span><span class="constant-syntax">0</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">HEADING_SUMMARY_MD_HL</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">DISCARD_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">)</span>
|
||||
|
@ -225,13 +282,13 @@ function togglePopup(material_id) {
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER</span><span class="plain-syntax">(</span><span class="identifier-syntax">h</span><span class="plain-syntax">, </span><span class="identifier-syntax">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">h</span><span class="plain-syntax">-></span><span class="identifier-syntax">compilation_data</span><span class="plain-syntax">.</span><span class="element-syntax">heading_package</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">package_request</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax"> = </span><a href="2-hrr.html#SP20" class="function-link"><span class="function-syntax">Hierarchy::completion_package</span></a><span class="plain-syntax">(</span><span class="constant-syntax">HEADINGS_HAP</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-cm.html#SP1_8_1" class="named-paragraph-link"><span class="named-paragraph">Write the details</span><span class="named-paragraph-number">1.8.1</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-cm.html#SP1_11_1" class="named-paragraph-link"><span class="named-paragraph">Write the details</span><span class="named-paragraph-number">1.11.1</span></a></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">pack</span><span class="plain-syntax">, </span><span class="constant-syntax">HEADING_INDEXABLE_MD_HL</span><span class="plain-syntax">, </span><span class="constant-syntax">0</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="3-cm.html#SP1">§1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_8_1" class="paragraph-anchor"></a><b>§1.8.1. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Write the details</span><span class="named-paragraph-number">1.8.1</span></span><span class="comment-syntax"> =</span>
|
||||
<p class="commentary firstcommentary"><a id="SP1_11_1" class="paragraph-anchor"></a><b>§1.11.1. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Write the details</span><span class="named-paragraph-number">1.11.1</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
|
@ -280,8 +337,8 @@ function togglePopup(material_id) {
|
|||
<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">pack</span><span class="plain-syntax">, </span><span class="constant-syntax">HEADING_INDENTATION_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">h</span><span class="plain-syntax">-></span><span class="identifier-syntax">indentation</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="3-cm.html#SP1_8">§1.8</a> (twice).</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_8_2" class="paragraph-anchor"></a><b>§1.8.2. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Summarise all the objects and kinds created under the given heading</span><span class="named-paragraph-number">1.8.2</span></span><span class="comment-syntax"> =</span>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="3-cm.html#SP1_11">§1.11</a> (twice).</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_11_2" class="paragraph-anchor"></a><b>§1.11.2. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Summarise all the objects and kinds created under the given heading</span><span class="named-paragraph-number">1.11.2</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
|
@ -295,14 +352,14 @@ function togglePopup(material_id) {
|
|||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="3-cm.html#SP1_8">§1.8</a>.</li></ul>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="3-cm.html#SP1_11">§1.11</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP2" class="paragraph-anchor"></a><b>§2. </b>We index only headings of level 1 and up — so, not the pseudo-heading or the
|
||||
File (0) ones — and which are not within any extensions — so, are in the
|
||||
primary source text written by the user.
|
||||
</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">CompletionModule::index_heading_recursively</span><button class="popup" onclick="togglePopup('usagePopup3')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup3">Usage of <span class="code-font"><span class="function-syntax">CompletionModule::index_heading_recursively</span></span>:<br/><a href="3-cm.html#SP1_8">§1.8</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">heading</span><span class="plain-syntax"> *</span><span class="identifier-syntax">h</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">CompletionModule::index_heading_recursively</span><button class="popup" onclick="togglePopup('usagePopup3')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup3">Usage of <span class="code-font"><span class="function-syntax">CompletionModule::index_heading_recursively</span></span>:<br/><a href="3-cm.html#SP1_11">§1.11</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">heading</span><span class="plain-syntax"> *</span><span class="identifier-syntax">h</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">h</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) </span><span class="reserved-syntax">return</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">show_heading</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">heading</span><span class="plain-syntax"> *</span><span class="identifier-syntax">next</span><span class="plain-syntax"> = </span><span class="identifier-syntax">h</span><span class="plain-syntax">-></span><span class="identifier-syntax">child_heading</span><span class="plain-syntax">;</span>
|
||||
|
|
|
@ -94,12 +94,31 @@ work at runtime:
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">set_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">USE_OPTION_ON_MD_HL</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-emt.html#SP9" class="function-link"><span class="function-syntax">Emit::numeric_constant</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">set_iname</span><span class="plain-syntax">, </span><span class="identifier-syntax">set</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">uo</span><span class="plain-syntax">-></span><span class="identifier-syntax">compilation_data</span><span class="plain-syntax">.</span><span class="element-syntax">uo_value</span><span class="plain-syntax">, (</span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax">) </span><span class="constant-syntax">0</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">R</span><span class="plain-syntax">, </span><span class="constant-syntax">USE_OPTION_MD_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">uo</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">TEMPORARY_TEXT</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">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">N</span><span class="plain-syntax">, </span><span class="string-syntax">"%W option"</span><span class="plain-syntax">, </span><span class="identifier-syntax">uo</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">uo</span><span class="plain-syntax">-></span><span class="identifier-syntax">minimum_setting_value</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_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">N</span><span class="plain-syntax">, </span><span class="string-syntax">" [%d]"</span><span class="plain-syntax">, </span><span class="identifier-syntax">uo</span><span class="plain-syntax">-></span><span class="identifier-syntax">minimum_setting_value</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">R</span><span class="plain-syntax">, </span><span class="constant-syntax">USE_OPTION_PNAME_MD_HL</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">DISCARD_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">N</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">SOURCE_FILE_SCOPED_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">uo</span><span class="plain-syntax">-></span><span class="identifier-syntax">source_file_scoped</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">uo</span><span class="plain-syntax">-></span><span class="identifier-syntax">where_used</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">USE_OPTION_USED_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">uo</span><span class="plain-syntax">-></span><span class="identifier-syntax">where_used</span><span class="plain-syntax">)));</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">source_file</span><span class="plain-syntax"> *</span><span class="identifier-syntax">sf</span><span class="plain-syntax"> = (</span><span class="identifier-syntax">uo</span><span class="plain-syntax">-></span><span class="identifier-syntax">where_used</span><span class="plain-syntax">)?</span>
|
||||
<span class="plain-syntax"> (</span><span class="identifier-syntax">Lexer::file_of_origin</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">uo</span><span class="plain-syntax">-></span><span class="identifier-syntax">where_used</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">inform_extension</span><span class="plain-syntax"> *</span><span class="identifier-syntax">efo</span><span class="plain-syntax"> = (</span><span class="identifier-syntax">sf</span><span class="plain-syntax">)?(</span><span class="identifier-syntax">Extensions::corresponding_to</span><span class="plain-syntax">(</span><span class="identifier-syntax">sf</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">sf</span><span class="plain-syntax">) && (</span><span class="identifier-syntax">efo</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</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">USED_IN_SOURCE_TEXT_MD_HL</span><span class="plain-syntax">, </span><span class="constant-syntax">1</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">sf</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</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">USED_IN_OPTIONS_MD_HL</span><span class="plain-syntax">, </span><span class="constant-syntax">1</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">efo</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_iname</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">R</span><span class="plain-syntax">, </span><span class="constant-syntax">USED_IN_EXTENSION_MD_HL</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><a href="2-cu.html#SP4" class="function-link"><span class="function-syntax">CompilationUnits::extension_id</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">efo</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">uo</span><span class="plain-syntax">-></span><span class="identifier-syntax">minimum_setting_value</span><span class="plain-syntax"> >= </span><span class="constant-syntax">0</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">USE_OPTION_MINIMUM_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">uo</span><span class="plain-syntax">-></span><span class="identifier-syntax">minimum_setting_value</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="3-uo.html#SP1_1" class="named-paragraph-link"><span class="named-paragraph">Compile pragmas from use options which set these</span><span class="named-paragraph-number">1.1</span></a></span><span class="plain-syntax">;</span>
|
||||
|
|
|
@ -401,7 +401,7 @@ a request for a new text substitution to be compiled later...
|
|||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">ts_code_block</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Node::new</span><span class="plain-syntax">(</span><span class="identifier-syntax">IMPERATIVE_NT</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-cu.html#SP5" class="function-link"><span class="function-syntax">CompilationUnits::assign_to_same_unit</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">ts_code_block</span><span class="plain-syntax">, </span><span class="identifier-syntax">ts</span><span class="plain-syntax">-></span><span class="element-syntax">owning_point</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-cu.html#SP6" class="function-link"><span class="function-syntax">CompilationUnits::assign_to_same_unit</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">ts_code_block</span><span class="plain-syntax">, </span><span class="identifier-syntax">ts</span><span class="plain-syntax">-></span><span class="element-syntax">owning_point</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">ts_code_block</span><span class="plain-syntax">-></span><span class="element-syntax">next</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Node::new</span><span class="plain-syntax">(</span><span class="identifier-syntax">UNKNOWN_NT</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Node::set_text</span><span class="plain-syntax">(</span><span class="identifier-syntax">ts_code_block</span><span class="plain-syntax">-></span><span class="element-syntax">next</span><span class="plain-syntax">, </span><span class="identifier-syntax">ts</span><span class="plain-syntax">-></span><span class="element-syntax">unsubstituted_text</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Annotations::write_int</span><span class="plain-syntax">(</span><span class="identifier-syntax">ts_code_block</span><span class="plain-syntax">-></span><span class="element-syntax">next</span><span class="plain-syntax">, </span><span class="identifier-syntax">from_text_substitution_ANNOT</span><span class="plain-syntax">, </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">);</span>
|
||||
|
|
|
@ -404,7 +404,7 @@ compiled code, of course.
|
|||
<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">pack</span><span class="plain-syntax">, </span><span class="constant-syntax">VARIABLE_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">nlv</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">heading</span><span class="plain-syntax"> *</span><span class="identifier-syntax">h</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Headings::of_wording</span><span class="plain-syntax">(</span><span class="identifier-syntax">nlv</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><a href="3-cm.html#SP1_7" class="function-link"><span class="function-syntax">CompletionModule::has_heading_id</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">h</span><span class="plain-syntax">))</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="3-cm.html#SP1_10" class="function-link"><span class="function-syntax">CompletionModule::has_heading_id</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">h</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_heading</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="constant-syntax">VARIABLE_HEADING_MD_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">h</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">pack</span><span class="plain-syntax">, </span><span class="constant-syntax">VARIABLE_INDEXABLE_MD_HL</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> ((</span><span class="identifier-syntax">h</span><span class="plain-syntax">) && (</span><span class="identifier-syntax">h</span><span class="plain-syntax">-></span><span class="identifier-syntax">index_definitions_made_under_this</span><span class="plain-syntax">))?1:0);</span>
|
||||
|
|
|
@ -550,8 +550,10 @@ reads them in for every kit which is included in the project.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">kit_dependency</span><span class="plain-syntax"> *</span><span class="identifier-syntax">kd</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER_LINKED_LIST</span><span class="plain-syntax">(</span><span class="identifier-syntax">kd</span><span class="plain-syntax">, </span><span class="reserved-syntax">kit_dependency</span><span class="plain-syntax">, </span><span class="identifier-syntax">project</span><span class="plain-syntax">-></span><span class="element-syntax">kits_to_include</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><a href="5-ks.html#SP12" class="function-link"><span class="function-syntax">Kits::activate_elements</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">kd</span><span class="plain-syntax">-></span><span class="element-syntax">kit</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">PluginManager::list_plugins</span><span class="plain-syntax">(</span><span class="identifier-syntax">DL</span><span class="plain-syntax">, </span><span class="string-syntax">"Included"</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">PluginManager::list_plugins</span><span class="plain-syntax">(</span><span class="identifier-syntax">DL</span><span class="plain-syntax">, </span><span class="string-syntax">"Excluded"</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">LOG</span><span class="plain-syntax">(</span><span class="string-syntax">"Included: "</span><span class="plain-syntax">); </span><span class="identifier-syntax">PluginManager::list_plugins</span><span class="plain-syntax">(</span><span class="identifier-syntax">DL</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">LOG</span><span class="plain-syntax">(</span><span class="string-syntax">"\n"</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">"Excluded: "</span><span class="plain-syntax">); </span><span class="identifier-syntax">PluginManager::list_plugins</span><span class="plain-syntax">(</span><span class="identifier-syntax">DL</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">LOG</span><span class="plain-syntax">(</span><span class="string-syntax">"\n"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
<span class="plain-syntax">#</span><span class="identifier-syntax">endif</span>
|
||||
</pre>
|
||||
|
|
|
@ -425,8 +425,10 @@ void Projects::activate_elements(inform_project *project) {
|
|||
kit_dependency *kd;
|
||||
LOOP_OVER_LINKED_LIST(kd, kit_dependency, project->kits_to_include)
|
||||
Kits::activate_elements(kd->kit);
|
||||
PluginManager::list_plugins(DL, "Included", TRUE);
|
||||
PluginManager::list_plugins(DL, "Excluded", FALSE);
|
||||
LOG("Included: "); PluginManager::list_plugins(DL, TRUE);
|
||||
LOG("\n");
|
||||
LOG("Excluded: "); PluginManager::list_plugins(DL, FALSE);
|
||||
LOG("\n");
|
||||
}
|
||||
#endif
|
||||
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
Total memory consumption was 320600K = 313 MB
|
||||
Total memory consumption was 320799K = 313 MB
|
||||
|
||||
63.6% was used for 1630752 objects, in 325990 frames in 255 x 800K = 204000K = 199 MB:
|
||||
63.5% was used for 1633792 objects, in 326324 frames in 255 x 800K = 204000K = 199 MB:
|
||||
|
||||
9.8% inter_tree_node_array 45 x 8192 = 368640 objects, 32441760 bytes
|
||||
6.7% text_stream_array 3912 x 100 = 391200 objects, 22032384 bytes
|
||||
6.7% text_stream_array 3928 x 100 = 392800 objects, 22122496 bytes
|
||||
5.0% linked_list 29550 objects, 16548000 bytes
|
||||
3.1% parse_node 129396 objects, 10351680 bytes
|
||||
3.0% inter_symbol_array 101 x 1024 = 103424 objects, 9931936 bytes
|
||||
3.0% inter_symbol_array 102 x 1024 = 104448 objects, 10030272 bytes
|
||||
2.2% verb_conjugation 160 objects, 7425280 bytes
|
||||
1.6% parse_node_annotation_array 345 x 500 = 172500 objects, 5531040 bytes
|
||||
1.0% pcalc_prop_array 25 x 1000 = 25000 objects, 3400800 bytes
|
||||
|
@ -18,14 +18,14 @@ Total memory consumption was 320600K = 313 MB
|
|||
0.4% match_trie_array 11 x 1000 = 11000 objects, 1496352 bytes
|
||||
0.4% inter_name_generator_array 36 x 1000 = 36000 objects, 1441152 bytes
|
||||
0.4% i6_schema_array 23 x 100 = 2300 objects, 1380736 bytes
|
||||
0.3% inter_package 16237 objects, 1169064 bytes
|
||||
0.3% inter_package 16311 objects, 1174392 bytes
|
||||
0.3% id_body 940 objects, 1075360 bytes
|
||||
0.3% dictionary 22164 objects, 1063872 bytes
|
||||
0.3% inter_symbols_table 16237 objects, 1039168 bytes
|
||||
0.3% dict_entry_array 310 x 100 = 31000 objects, 1001920 bytes
|
||||
0.3% dictionary 22239 objects, 1067472 bytes
|
||||
0.3% inter_symbols_table 16311 objects, 1043904 bytes
|
||||
0.3% dict_entry_array 311 x 100 = 31100 objects, 1005152 bytes
|
||||
0.3% adjective_meaning 202 objects, 1000304 bytes
|
||||
0.2% excerpt_meaning 3098 objects, 966576 bytes
|
||||
0.2% package_request 10813 objects, 951544 bytes
|
||||
0.2% package_request 10887 objects, 958056 bytes
|
||||
0.2% production 3871 objects, 898072 bytes
|
||||
0.2% ptoken 8379 objects, 871416 bytes
|
||||
0.2% grammatical_usage 3610 objects, 866400 bytes
|
||||
|
@ -44,7 +44,7 @@ Total memory consumption was 320600K = 313 MB
|
|||
---- binary_predicate 321 objects, 169488 bytes
|
||||
---- linguistic_stock_item 3315 objects, 159120 bytes
|
||||
---- rule_family_data 400 objects, 147200 bytes
|
||||
---- hierarchy_location 951 objects, 144552 bytes
|
||||
---- hierarchy_location 963 objects, 146376 bytes
|
||||
---- index_lexicon_entry 395 objects, 142200 bytes
|
||||
---- nonterminal 759 objects, 139656 bytes
|
||||
---- nascent_array 1948 objects, 124672 bytes
|
||||
|
@ -53,7 +53,7 @@ Total memory consumption was 320600K = 313 MB
|
|||
---- imperative_defn 1376 objects, 99072 bytes
|
||||
---- anl_entry_array 2 x 1000 = 2000 objects, 96064 bytes
|
||||
---- noun_usage 2401 objects, 96040 bytes
|
||||
---- inter_tree 6 objects, 89808 bytes
|
||||
---- inter_tree 6 objects, 90432 bytes
|
||||
---- preposition 273 objects, 87360 bytes
|
||||
---- lexical_cluster 2516 objects, 80512 bytes
|
||||
---- pcalc_term_array 2 x 1000 = 2000 objects, 80064 bytes
|
||||
|
@ -110,7 +110,7 @@ Total memory consumption was 320600K = 313 MB
|
|||
---- booking_list 407 objects, 13024 bytes
|
||||
---- adjective_iname_holder 320 objects, 12800 bytes
|
||||
---- pathname 292 objects, 11680 bytes
|
||||
---- uniqueness_count 369 objects, 8856 bytes
|
||||
---- uniqueness_count 375 objects, 9000 bytes
|
||||
---- stopwatch_timer 109 objects, 8720 bytes
|
||||
---- filename 208 objects, 8320 bytes
|
||||
---- equation_node 68 objects, 7616 bytes
|
||||
|
@ -118,7 +118,7 @@ Total memory consumption was 320600K = 313 MB
|
|||
---- shared_variable_array 1 x 100 objects, 7232 bytes
|
||||
---- determiner 22 objects, 7216 bytes
|
||||
---- verb 108 objects, 6048 bytes
|
||||
---- hierarchy_attachment_point 62 objects, 5952 bytes
|
||||
---- hierarchy_attachment_point 63 objects, 6048 bytes
|
||||
---- text_literal_holder 144 objects, 5760 bytes
|
||||
---- heading_tree 20 objects, 5440 bytes
|
||||
---- inbuild_work 78 objects, 4992 bytes
|
||||
|
@ -237,18 +237,18 @@ Total memory consumption was 320600K = 313 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.4% was used for memory not allocated for objects:
|
||||
|
||||
17.7% text stream storage 58431656 bytes in 404644 claims
|
||||
3.7% dictionary storage 12241408 bytes in 22164 claims
|
||||
17.8% text stream storage 58579968 bytes in 406210 claims
|
||||
3.7% dictionary storage 12287488 bytes in 22239 claims
|
||||
---- sorting 720 bytes in 3 claims
|
||||
2.1% source text 7200000 bytes in 3 claims
|
||||
3.2% 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 2795552 bytes in 17251 claims
|
||||
0.8% inter symbols storage 2805024 bytes in 17325 claims
|
||||
5.1% inter bytecode storage 16802796 bytes in 14 claims
|
||||
2.7% inter links storage 8866944 bytes in 265 claims
|
||||
2.6% inter links storage 8866944 bytes in 265 claims
|
||||
---- inter tree location list storage 174848 bytes in 28 claims
|
||||
0.5% instance-of-kind counting 1695204 bytes in 1 claim
|
||||
---- compilation workspace for objects 21856 bytes in 25 claims
|
||||
|
@ -256,5 +256,5 @@ Total memory consumption was 320600K = 313 MB
|
|||
---- code generation workspace for objects 9648 bytes in 9 claims
|
||||
---- emitter array storage 154432 bytes in 2037 claims
|
||||
|
||||
19.8% was overhead - 65081600 bytes = 63556K = 62 MB
|
||||
19.7% was overhead - 64867056 bytes = 63346K = 61 MB
|
||||
|
||||
|
|
|
@ -1,35 +1,35 @@
|
|||
100.0% in inform7 run
|
||||
53.6% in compilation to Inter
|
||||
39.4% in //Sequence::undertake_queued_tasks//
|
||||
4.1% in //MajorNodes::pre_pass//
|
||||
53.8% in compilation to Inter
|
||||
39.6% in //Sequence::undertake_queued_tasks//
|
||||
3.9% in //MajorNodes::pre_pass//
|
||||
2.9% in //MajorNodes::pass_1//
|
||||
1.5% in //ImperativeDefinitions::assess_all//
|
||||
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 //ImperativeDefinitions::compile_first_block//
|
||||
0.1% in //CompletionModule::compile//
|
||||
0.4% in //ImperativeDefinitions::compile_first_block//
|
||||
0.4% in //MajorNodes::pass_2//
|
||||
0.4% in //RTKindConstructors::compile//
|
||||
0.4% in //Sequence::undertake_queued_tasks//
|
||||
0.4% in //World::stage_V//
|
||||
0.3% in //CompletionModule::compile//
|
||||
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//
|
||||
2.1% not specifically accounted for
|
||||
44.1% in running Inter pipeline
|
||||
11.2% in inter step 7/14: consolidate-text
|
||||
10.8% in step preparation
|
||||
2.2% not specifically accounted for
|
||||
43.9% in running Inter pipeline
|
||||
11.8% in step preparation
|
||||
11.0% in inter step 7/14: consolidate-text
|
||||
9.1% in inter step 2/14: link
|
||||
7.2% in inter step 14/14: generate inform6 -> auto.inf
|
||||
1.0% in inter step 10/14: make-identifiers-unique
|
||||
7.4% in inter step 14/14: generate inform6 -> auto.inf
|
||||
1.1% in inter step 10/14: make-identifiers-unique
|
||||
0.3% in inter step 11/14: reconcile-verbs
|
||||
0.3% in inter step 13/14: eliminate-redundant-operations
|
||||
0.3% in inter step 6/14: assimilate
|
||||
0.3% in inter step 8/14: resolve-external-symbols
|
||||
0.1% in inter step 12/14: eliminate-redundant-labels
|
||||
0.1% in inter step 4/14: parse-linked-matter
|
||||
0.1% in inter step 5/14: resolve-conditional-compilation
|
||||
0.1% in inter step 8/14: resolve-external-symbols
|
||||
0.1% in inter step 9/14: inspect-plugs
|
||||
2.6% not specifically accounted for
|
||||
1.9% in supervisor
|
||||
1.6% not specifically accounted for
|
||||
1.8% in supervisor
|
||||
0.4% not specifically accounted for
|
||||
|
|
|
@ -133,22 +133,6 @@ void NewUseOptions::set(use_option *uo, int min_setting, source_file *from) {
|
|||
uo->minimum_setting_value, from);
|
||||
}
|
||||
|
||||
@ And this is what the rest of Inform calls to find out whether a particular
|
||||
pragma is set:
|
||||
|
||||
=
|
||||
int NewUseOptions::uo_set_from(use_option *uo, int category, inform_extension *E) {
|
||||
source_file *sf = (uo->where_used)?
|
||||
(Lexer::file_of_origin(Wordings::first_wn(Node::get_text(uo->where_used)))):NULL;
|
||||
inform_extension *efo = (sf)?(Extensions::corresponding_to(sf)):NULL;
|
||||
switch (category) {
|
||||
case 1: if ((sf) && (efo == NULL)) return TRUE; break;
|
||||
case 2: if (sf == NULL) return TRUE; break;
|
||||
case 3: if ((sf) && (efo == E)) return TRUE; break;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@ We can also meddle with the I6 memory settings which will be used to finish
|
||||
compiling the story file. We need this because we have no practical way to
|
||||
predict when our code will break I6's limits: the only reasonable way it can
|
||||
|
|
|
@ -46,17 +46,14 @@ int PluginManager::active(plugin *P) {
|
|||
return P->active;
|
||||
}
|
||||
|
||||
void PluginManager::list_plugins(OUTPUT_STREAM, char *label, int state) {
|
||||
void PluginManager::list_plugins(OUTPUT_STREAM, int state) {
|
||||
plugin *P;
|
||||
int c = 0;
|
||||
WRITE("%s: ", label);
|
||||
LOOP_OVER(P, plugin) if (P->active == state) {
|
||||
if (c > 0) WRITE(", ");
|
||||
WRITE("%S", P->textual_name);
|
||||
c++;
|
||||
}
|
||||
if (c == 0) WRITE("<i>none</i>");
|
||||
WRITE(".\n");
|
||||
}
|
||||
|
||||
@ In the code above, plugins are set up as inactive by default -- even "core",
|
||||
|
|
|
@ -1,159 +0,0 @@
|
|||
[IXInnards::] Innards Element.
|
||||
|
||||
To index tables.
|
||||
|
||||
@h Describing the current VM.
|
||||
|
||||
=
|
||||
void IXInnards::render(OUTPUT_STREAM, target_vm *VM) {
|
||||
IXInnards::index_VM(OUT, VM);
|
||||
IXInnards::index_use_options(OUT);
|
||||
HTML_OPEN("p");
|
||||
Index::extra_link(OUT, 3);
|
||||
WRITE("See some technicalities for Inform maintainers only");
|
||||
HTML_CLOSE("p");
|
||||
Index::extra_div_open(OUT, 3, 2, "e0e0e0");
|
||||
IXInnards::show_configuration(OUT);
|
||||
@<Add some paste buttons for the debugging log@>;
|
||||
Index::extra_div_close(OUT, "e0e0e0");
|
||||
}
|
||||
|
||||
@ The index provides some hidden paste icons for these:
|
||||
|
||||
@<Add some paste buttons for the debugging log@> =
|
||||
HTML_OPEN("p");
|
||||
WRITE("Debugging log:");
|
||||
HTML_CLOSE("p");
|
||||
HTML_OPEN("p");
|
||||
for (int i=0; i<NO_DEFINED_DA_VALUES; i++) {
|
||||
debugging_aspect *da = &(the_debugging_aspects[i]);
|
||||
if (Str::len(da->unhyphenated_name) > 0) {
|
||||
TEMPORARY_TEXT(is)
|
||||
WRITE_TO(is, "Include %S in the debugging log.", da->unhyphenated_name);
|
||||
PasteButtons::paste_text(OUT, is);
|
||||
WRITE(" %S", is);
|
||||
DISCARD_TEXT(is)
|
||||
HTML_TAG("br");
|
||||
}
|
||||
}
|
||||
HTML_CLOSE("p");
|
||||
|
||||
@ =
|
||||
void IXInnards::index_VM(OUTPUT_STREAM, target_vm *VM) {
|
||||
if (VM == NULL) internal_error("target VM not set yet");
|
||||
Index::anchor(OUT, I"STORYFILE");
|
||||
HTML_OPEN("p"); WRITE("Story file format: ");
|
||||
ExtensionIndex::plot_icon(OUT, VM);
|
||||
TargetVMs::write(OUT, VM);
|
||||
HTML_CLOSE("p");
|
||||
}
|
||||
|
||||
@ =
|
||||
void IXInnards::show_configuration(OUTPUT_STREAM) {
|
||||
HTML_OPEN("p");
|
||||
Index::anchor(OUT, I"CONFIG");
|
||||
WRITE("Inform language definition:\n");
|
||||
PluginManager::list_plugins(OUT, "Included", TRUE);
|
||||
PluginManager::list_plugins(OUT, "Excluded", FALSE);
|
||||
HTML_CLOSE("p");
|
||||
}
|
||||
|
||||
@ Now for indexing, where there's nothing much to see.
|
||||
|
||||
@d MAIN_TEXT_UO_ORIGIN 1
|
||||
@d OPTIONS_FILE_UO_ORIGIN 2
|
||||
@d EXTENSION_UO_ORIGIN 3
|
||||
|
||||
=
|
||||
void IXInnards::index_use_options(OUTPUT_STREAM) {
|
||||
HTML_OPEN("p"); WRITE("The following use options are in force:"); HTML_CLOSE("p");
|
||||
IXInnards::index_options_in_force_from(OUT, MAIN_TEXT_UO_ORIGIN, NULL);
|
||||
IXInnards::index_options_in_force_from(OUT, OPTIONS_FILE_UO_ORIGIN, NULL);
|
||||
inform_extension *E;
|
||||
LOOP_OVER(E, inform_extension)
|
||||
IXInnards::index_options_in_force_from(OUT, EXTENSION_UO_ORIGIN, E);
|
||||
int nt = 0;
|
||||
use_option *uo;
|
||||
LOOP_OVER(uo, use_option) {
|
||||
if (uo->source_file_scoped) continue;
|
||||
if ((uo->option_used == FALSE) && (uo->minimum_setting_value < 0)) nt++;
|
||||
}
|
||||
if (nt > 0) {
|
||||
HTML_OPEN("p"); WRITE("Whereas these are not in force:"); HTML_CLOSE("p");
|
||||
HTML::open_indented_p(OUT, 2, "tight");
|
||||
LOOP_OVER(uo, use_option) {
|
||||
if (uo->source_file_scoped) continue;
|
||||
if ((uo->option_used == FALSE) && (uo->minimum_setting_value < 0)) {
|
||||
@<Write in the index line for a use option not taken@>;
|
||||
if (--nt > 0) WRITE(", ");
|
||||
}
|
||||
}
|
||||
HTML_CLOSE("p");
|
||||
}
|
||||
}
|
||||
|
||||
@<Write in the index line for a use option not taken@> =
|
||||
HTML_OPEN_WITH("span", "style=\"white-space:nowrap\";");
|
||||
TEMPORARY_TEXT(TEMP)
|
||||
WRITE_TO(TEMP, "Use %+W.", uo->name);
|
||||
PasteButtons::paste_text(OUT, TEMP);
|
||||
DISCARD_TEXT(TEMP)
|
||||
WRITE(" %+W", uo->name);
|
||||
HTML_CLOSE("span");
|
||||
|
||||
@ =
|
||||
void IXInnards::index_options_in_force_from(OUTPUT_STREAM, int category, inform_extension *E) {
|
||||
int N = 0;
|
||||
use_option *uo;
|
||||
LOOP_OVER(uo, use_option) {
|
||||
if (uo->source_file_scoped) continue;
|
||||
if ((uo->option_used) && (uo->minimum_setting_value < 0) &&
|
||||
(NewUseOptions::uo_set_from(uo, category, E))) {
|
||||
if (N++ == 0) @<Write in the use option subheading@>;
|
||||
@<Write in the index line for a use option taken@>;
|
||||
}
|
||||
}
|
||||
LOOP_OVER(uo, use_option) {
|
||||
if (uo->source_file_scoped) continue;
|
||||
if (((uo->option_used) && (uo->minimum_setting_value >= 0)) &&
|
||||
(NewUseOptions::uo_set_from(uo, category, E))) {
|
||||
if (N++ == 0) @<Write in the use option subheading@>;
|
||||
@<Write in the index line for a use option taken@>;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@<Write in the use option subheading@> =
|
||||
HTML::open_indented_p(OUT, 2, "tight");
|
||||
HTML::begin_colour(OUT, I"808080");
|
||||
WRITE("Set from ");
|
||||
switch (category) {
|
||||
case MAIN_TEXT_UO_ORIGIN:
|
||||
WRITE("the source text"); break;
|
||||
case OPTIONS_FILE_UO_ORIGIN:
|
||||
WRITE("the Options.txt configuration file");
|
||||
Index::DocReferences::link(OUT, I"OPTIONSFILE"); break;
|
||||
case EXTENSION_UO_ORIGIN:
|
||||
if (Extensions::is_standard(E)) WRITE("the ");
|
||||
else WRITE("the extension ");
|
||||
WRITE("%S", E->as_copy->edition->work->title);
|
||||
break;
|
||||
}
|
||||
WRITE(":");
|
||||
HTML::end_colour(OUT);
|
||||
HTML_CLOSE("p");
|
||||
|
||||
@<Write in the index line for a use option taken@> =
|
||||
HTML::open_indented_p(OUT, 3, "tight");
|
||||
WRITE("Use %+W", uo->name);
|
||||
if (uo->minimum_setting_value >= 0) WRITE(" of at least %d", uo->minimum_setting_value);
|
||||
if (uo->where_used) Index::link(OUT, Wordings::first_wn(Node::get_text(uo->where_used)));
|
||||
if (uo->minimum_setting_value >= 0) {
|
||||
WRITE(" ");
|
||||
TEMPORARY_TEXT(TEMP)
|
||||
WRITE_TO(TEMP, "Use %+W of at least %d.", uo->name, 2*(uo->minimum_setting_value));
|
||||
PasteButtons::paste_text(OUT, TEMP);
|
||||
DISCARD_TEXT(TEMP)
|
||||
WRITE(" <i>Double this</i>");
|
||||
}
|
||||
HTML_CLOSE("p");
|
|
@ -20,7 +20,6 @@ Chapter 2: Indexing
|
|||
Rules
|
||||
Activities
|
||||
Phrasebook Index
|
||||
Innards Element
|
||||
Arithmetic Element
|
||||
|
||||
Chapter 3: Indexing for Plugins
|
||||
|
|
|
@ -152,11 +152,10 @@ void CompilationUnits::complete_metadata(void) {
|
|||
else owner = Extensions::corresponding_to(
|
||||
Lexer::file_of_origin(Wordings::first_wn(Node::get_text(inc))));
|
||||
if (owner) {
|
||||
compilation_unit *owner_C;
|
||||
LOOP_OVER(owner_C, compilation_unit)
|
||||
if (owner_C->extension == owner)
|
||||
Hierarchy::apply_metadata_from_iname(pack,
|
||||
EXT_INCLUDED_BY_MD_HL, owner_C->extension_id);
|
||||
inter_name *owner_id = CompilationUnits::extension_id(owner);
|
||||
if (owner_id)
|
||||
Hierarchy::apply_metadata_from_iname(pack,
|
||||
EXT_INCLUDED_BY_MD_HL, owner_id);
|
||||
} else {
|
||||
if (Lexer::word_location(Wordings::first_wn(Node::get_text(inc))).file_of_origin == NULL)
|
||||
Hierarchy::apply_metadata_from_number(pack, EXT_AUTO_INCLUDED_MD_HL, 1);
|
||||
|
@ -168,6 +167,17 @@ void CompilationUnits::complete_metadata(void) {
|
|||
}
|
||||
}
|
||||
|
||||
@ This is in principle slow, and in practice fast, and anyway little used.
|
||||
|
||||
=
|
||||
inter_name *CompilationUnits::extension_id(inform_extension *owner) {
|
||||
compilation_unit *owner_C;
|
||||
LOOP_OVER(owner_C, compilation_unit)
|
||||
if (owner_C->extension == owner)
|
||||
return owner_C->extension_id;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@h What unit a node belongs to.
|
||||
We are going to need to determine, for any node |p|, which compilation unit it
|
||||
belongs to. If there were a fast way to go up in the syntax tree, that would be
|
||||
|
|
|
@ -214,6 +214,10 @@ void Hierarchy::establish(void) {
|
|||
@e MIN_NEGATIVE_NUMBER_HL
|
||||
@e I7_VERSION_NUMBER_HL
|
||||
@e I7_FULL_VERSION_NUMBER_HL
|
||||
@e VM_MD_HL
|
||||
@e VM_ICON_MD_HL
|
||||
@e LANGUAGE_ELEMENTS_USED_MD_HL
|
||||
@e LANGUAGE_ELEMENTS_NOT_USED_MD_HL
|
||||
@e MEMORY_ECONOMY_MD_HL
|
||||
@e MAX_INDEXED_FIGURES_HL
|
||||
@e NO_TEST_SCENARIOS_HL
|
||||
|
@ -243,6 +247,9 @@ void Hierarchy::establish(void) {
|
|||
@e HEADING_WORD_COUNT_MD_HL
|
||||
@e HEADING_SUMMARY_MD_HL
|
||||
@e HEADING_ID_HL
|
||||
@e DEBUGGING_ASPECTS_HAP
|
||||
@e DEBUGGING_ASPECT_NAME_MD_HL
|
||||
@e DEBUGGING_ASPECT_USED_MD_HL
|
||||
|
||||
@<Establish basics@> =
|
||||
submodule_identity *basics = Packaging::register_submodule(I"basics");
|
||||
|
@ -266,6 +273,10 @@ void Hierarchy::establish(void) {
|
|||
H_BEGIN(HierarchyLocations::completion_submodule(I, basics))
|
||||
H_C_T(I7_VERSION_NUMBER_HL, I"I7_VERSION_NUMBER")
|
||||
H_C_T(I7_FULL_VERSION_NUMBER_HL, I"I7_FULL_VERSION_NUMBER")
|
||||
H_C_T(VM_MD_HL, I"^virtual_machine")
|
||||
H_C_T(VM_ICON_MD_HL, I"^virtual_machine_icon")
|
||||
H_C_T(LANGUAGE_ELEMENTS_USED_MD_HL, I"^language_elements_used")
|
||||
H_C_T(LANGUAGE_ELEMENTS_NOT_USED_MD_HL, I"^language_elements_not_used")
|
||||
H_C_T(MEMORY_ECONOMY_MD_HL, I"^memory_economy")
|
||||
H_C_T(MEMORY_HEAP_SIZE_HL, I"MEMORY_HEAP_SIZE")
|
||||
H_C_T(KIT_CONFIGURATION_BITMAP_HL, I"KIT_CONFIGURATION_BITMAP")
|
||||
|
@ -289,6 +300,10 @@ void Hierarchy::establish(void) {
|
|||
H_C_U(HEADING_SUMMARY_MD_HL, I"^summary")
|
||||
H_C_U(HEADING_ID_HL, I"id")
|
||||
H_END
|
||||
H_BEGIN_AP(DEBUGGING_ASPECTS_HAP, I"debugging_aspect", I"_debugging_aspect")
|
||||
H_C_U(DEBUGGING_ASPECT_NAME_MD_HL, I"^name")
|
||||
H_C_U(DEBUGGING_ASPECT_USED_MD_HL, I"^used")
|
||||
H_END
|
||||
H_END
|
||||
|
||||
@h Modules.
|
||||
|
@ -1409,6 +1424,12 @@ void Hierarchy::establish(void) {
|
|||
@e USE_OPTION_MD_HL
|
||||
@e USE_OPTION_PNAME_MD_HL
|
||||
@e USE_OPTION_ON_MD_HL
|
||||
@e USE_OPTION_USED_AT_MD_HL
|
||||
@e SOURCE_FILE_SCOPED_MD_HL
|
||||
@e USED_IN_SOURCE_TEXT_MD_HL
|
||||
@e USED_IN_OPTIONS_MD_HL
|
||||
@e USED_IN_EXTENSION_MD_HL
|
||||
@e USE_OPTION_MINIMUM_MD_HL
|
||||
@e USE_OPTION_ID_HL
|
||||
|
||||
@<Establish use options@> =
|
||||
|
@ -1416,9 +1437,15 @@ void Hierarchy::establish(void) {
|
|||
|
||||
H_BEGIN(HierarchyLocations::local_submodule(use_options))
|
||||
H_BEGIN_AP(USE_OPTIONS_HAP, I"use_option", I"_use_option")
|
||||
H_C_U(USE_OPTION_MD_HL, I"^name")
|
||||
H_C_U(USE_OPTION_PNAME_MD_HL, I"^printed_name")
|
||||
H_C_U(USE_OPTION_ON_MD_HL, I"^active")
|
||||
H_C_U(USE_OPTION_MD_HL, I"^name")
|
||||
H_C_U(USE_OPTION_USED_AT_MD_HL, I"^at")
|
||||
H_C_U(USE_OPTION_PNAME_MD_HL, I"^printed_name")
|
||||
H_C_U(USE_OPTION_ON_MD_HL, I"^active")
|
||||
H_C_U(SOURCE_FILE_SCOPED_MD_HL, I"^source_file_scoped")
|
||||
H_C_U(USED_IN_SOURCE_TEXT_MD_HL, I"^used_in_source_text")
|
||||
H_C_U(USED_IN_OPTIONS_MD_HL, I"^used_in_options")
|
||||
H_C_U(USED_IN_EXTENSION_MD_HL, I"^used_in_extension")
|
||||
H_C_U(USE_OPTION_MINIMUM_MD_HL, I"^minimum")
|
||||
H_C_U(USE_OPTION_ID_HL, I"use_option_id")
|
||||
H_END
|
||||
H_END
|
||||
|
|
|
@ -7,11 +7,14 @@ into a playable work.
|
|||
void CompletionModule::compile(void) {
|
||||
@<Version number constant@>;
|
||||
@<Semantic version number constant@>;
|
||||
@<Virtual machine metadata@>;
|
||||
@<Plugin usage@>;
|
||||
@<Memory economy metadata@>;
|
||||
@<Frame size@>;
|
||||
@<RNG seed@>;
|
||||
@<Max indexed thumbnails@>;
|
||||
@<Headings@>;
|
||||
@<Debugging log aspects@>;
|
||||
}
|
||||
|
||||
@ So, for example, these might be |10.1.0| and |10.1.0-alpha.1+6R84| respectively.
|
||||
|
@ -32,6 +35,36 @@ void CompletionModule::compile(void) {
|
|||
Hierarchy::make_available(iname);
|
||||
DISCARD_TEXT(svn)
|
||||
|
||||
@<Virtual machine metadata@> =
|
||||
target_vm *VM = Supervisor::current_vm();
|
||||
if (VM == NULL) internal_error("target VM not set yet");
|
||||
TEMPORARY_TEXT(vm)
|
||||
TEMPORARY_TEXT(icon)
|
||||
ExtensionIndex::plot_icon(icon, VM);
|
||||
TargetVMs::write(vm, VM);
|
||||
inter_name *iname = Hierarchy::find(VM_MD_HL);
|
||||
Emit::text_constant(iname, vm);
|
||||
if (Str::len(VM->VM_image) > 0) {
|
||||
inter_name *iname = Hierarchy::find(VM_ICON_MD_HL);
|
||||
Emit::text_constant(iname, VM->VM_image);
|
||||
}
|
||||
DISCARD_TEXT(vm)
|
||||
DISCARD_TEXT(icon)
|
||||
|
||||
@<Plugin usage@> =
|
||||
TEMPORARY_TEXT(inc)
|
||||
TEMPORARY_TEXT(exc)
|
||||
PluginManager::list_plugins(inc, TRUE);
|
||||
PluginManager::list_plugins(exc, FALSE);
|
||||
inter_name *iname = Hierarchy::find(LANGUAGE_ELEMENTS_USED_MD_HL);
|
||||
Emit::text_constant(iname, inc);
|
||||
if (Str::len(exc) > 0) {
|
||||
inter_name *iname = Hierarchy::find(LANGUAGE_ELEMENTS_NOT_USED_MD_HL);
|
||||
Emit::text_constant(iname, exc);
|
||||
}
|
||||
DISCARD_TEXT(inc)
|
||||
DISCARD_TEXT(exc)
|
||||
|
||||
@<Memory economy metadata@> =
|
||||
inter_name *iname = Hierarchy::find(MEMORY_ECONOMY_MD_HL);
|
||||
if (global_compilation_settings.memory_economy_in_force)
|
||||
|
@ -54,6 +87,18 @@ void CompletionModule::compile(void) {
|
|||
Emit::numeric_constant(iname,
|
||||
(inter_ti) global_compilation_settings.index_figure_thumbnails);
|
||||
|
||||
@<Debugging log aspects@> =
|
||||
for (int i=0; i<NO_DEFINED_DA_VALUES; i++) {
|
||||
debugging_aspect *da = &(the_debugging_aspects[i]);
|
||||
if (Str::len(da->unhyphenated_name) > 0) {
|
||||
package_request *pack = Hierarchy::completion_package(DEBUGGING_ASPECTS_HAP);
|
||||
Hierarchy::apply_metadata(pack, DEBUGGING_ASPECT_NAME_MD_HL,
|
||||
da->unhyphenated_name);
|
||||
Hierarchy::apply_metadata_from_number(pack, DEBUGGING_ASPECT_USED_MD_HL,
|
||||
(inter_ti) Log::aspect_switched_on(i));
|
||||
}
|
||||
}
|
||||
|
||||
@ =
|
||||
typedef struct heading_compilation_data {
|
||||
struct package_request *heading_package;
|
||||
|
|
|
@ -31,12 +31,31 @@ void RTUseOptions::compile(void) {
|
|||
inter_name *set_iname = Hierarchy::make_iname_in(USE_OPTION_ON_MD_HL, R);
|
||||
Emit::numeric_constant(set_iname, set);
|
||||
Emit::numeric_constant(uo->compilation_data.uo_value, (inter_ti) 0);
|
||||
Hierarchy::apply_metadata_from_raw_wording(R, USE_OPTION_MD_HL, uo->name);
|
||||
TEMPORARY_TEXT(N)
|
||||
WRITE_TO(N, "%W option", uo->name);
|
||||
if (uo->minimum_setting_value > 0)
|
||||
WRITE_TO(N, " [%d]", uo->minimum_setting_value);
|
||||
Hierarchy::apply_metadata(R, USE_OPTION_PNAME_MD_HL, N);
|
||||
DISCARD_TEXT(N)
|
||||
Hierarchy::apply_metadata_from_number(R, SOURCE_FILE_SCOPED_MD_HL,
|
||||
(inter_ti) uo->source_file_scoped);
|
||||
if (uo->where_used)
|
||||
Hierarchy::apply_metadata_from_number(R, USE_OPTION_USED_AT_MD_HL,
|
||||
(inter_ti) Wordings::first_wn(Node::get_text(uo->where_used)));
|
||||
source_file *sf = (uo->where_used)?
|
||||
(Lexer::file_of_origin(Wordings::first_wn(Node::get_text(uo->where_used)))):NULL;
|
||||
inform_extension *efo = (sf)?(Extensions::corresponding_to(sf)):NULL;
|
||||
if ((sf) && (efo == NULL))
|
||||
Hierarchy::apply_metadata_from_number(R, USED_IN_SOURCE_TEXT_MD_HL, 1);
|
||||
else if (sf == NULL)
|
||||
Hierarchy::apply_metadata_from_number(R, USED_IN_OPTIONS_MD_HL, 1);
|
||||
else if (efo)
|
||||
Hierarchy::apply_metadata_from_iname(R, USED_IN_EXTENSION_MD_HL,
|
||||
CompilationUnits::extension_id(efo));
|
||||
if (uo->minimum_setting_value >= 0)
|
||||
Hierarchy::apply_metadata_from_number(R, USE_OPTION_MINIMUM_MD_HL,
|
||||
(inter_ti) uo->minimum_setting_value);
|
||||
}
|
||||
|
||||
@<Compile pragmas from use options which set these@>;
|
||||
|
|
|
@ -684,12 +684,16 @@ void Index::index_actual_element(OUTPUT_STREAM, text_stream *elt) {
|
|||
StandardsElement::render(OUT);
|
||||
return;
|
||||
}
|
||||
|
||||
#ifdef CORE_MODULE
|
||||
if (Str::eq_wide_string(elt, L"In")) {
|
||||
IXInnards::render(OUT, Supervisor::current_vm());
|
||||
if (Str::eq_wide_string(elt, L"C")) {
|
||||
ContentsElement::render(OUT);
|
||||
return;
|
||||
}
|
||||
if (Str::eq_wide_string(elt, L"In")) {
|
||||
InnardsElement::render(OUT);
|
||||
return;
|
||||
}
|
||||
|
||||
#ifdef CORE_MODULE
|
||||
if (Str::eq_wide_string(elt, L"Pl")) {
|
||||
IXScenes::render(OUT);
|
||||
return;
|
||||
|
@ -702,11 +706,6 @@ void Index::index_actual_element(OUTPUT_STREAM, text_stream *elt) {
|
|||
IXPhysicalWorld::render(OUT);
|
||||
return;
|
||||
}
|
||||
if (Str::eq_wide_string(elt, L"C")) {
|
||||
ContentsElement::render(OUT);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if (Str::eq_wide_string(elt, L"Ph")) {
|
||||
Phrases::Index::index_page_Phrasebook(OUT);
|
||||
|
|
187
inter/codegen-module/Chapter 6/Innards Element.w
Normal file
187
inter/codegen-module/Chapter 6/Innards Element.w
Normal file
|
@ -0,0 +1,187 @@
|
|||
[InnardsElement::] Innards Element.
|
||||
|
||||
To write the Innards element (In) in the index.
|
||||
|
||||
@ Describing the current VM.
|
||||
|
||||
=
|
||||
void InnardsElement::render(OUTPUT_STREAM) {
|
||||
inter_tree *I = Index::get_tree();
|
||||
tree_inventory *inv = Synoptic::inv(I);
|
||||
TreeLists::sort(inv->use_option_nodes, Synoptic::module_order);
|
||||
|
||||
@<Show the virtual machine compiled for@>;
|
||||
@<Show the use options@>;
|
||||
|
||||
HTML_OPEN("p");
|
||||
Index::extra_link(OUT, 3);
|
||||
WRITE("See some technicalities for Inform maintainers only");
|
||||
HTML_CLOSE("p");
|
||||
Index::extra_div_open(OUT, 3, 2, "e0e0e0");
|
||||
HTML_OPEN("p");
|
||||
Index::anchor(OUT, I"CONFIG");
|
||||
@<Show the language elements used@>;
|
||||
@<Add some paste buttons for the debugging log@>;
|
||||
Index::extra_div_close(OUT, "e0e0e0");
|
||||
}
|
||||
|
||||
@<Show the virtual machine compiled for@> =
|
||||
Index::anchor(OUT, I"STORYFILE");
|
||||
HTML_OPEN("p"); WRITE("Story file format: ");
|
||||
inter_package *pack = Inter::Packages::by_url(I, I"/main/completion/basics");
|
||||
text_stream *VM = Metadata::read_optional_textual(pack, I"^virtual_machine");
|
||||
text_stream *VM_icon = Metadata::read_optional_textual(pack, I"^virtual_machine_icon");
|
||||
if (Str::len(VM_icon) > 0) {
|
||||
HTML_TAG_WITH("img", "border=0 src=inform:/doc_images/%S", VM_icon);
|
||||
WRITE(" ");
|
||||
}
|
||||
if (Str::len(VM) > 0) WRITE("%S", VM);
|
||||
HTML_CLOSE("p");
|
||||
|
||||
@<Show the use options@> =
|
||||
HTML_OPEN("p"); WRITE("The following use options are in force:"); HTML_CLOSE("p");
|
||||
InnardsElement::index_options_in_force_from(OUT, inv, MAIN_TEXT_UO_ORIGIN, NULL);
|
||||
InnardsElement::index_options_in_force_from(OUT, inv, OPTIONS_FILE_UO_ORIGIN, NULL);
|
||||
for (int i=0; i<TreeLists::len(inv->module_nodes); i++) {
|
||||
inter_package *E = Inter::Package::defined_by_frame(inv->module_nodes->list[i].node);
|
||||
InnardsElement::index_options_in_force_from(OUT, inv, EXTENSION_UO_ORIGIN, E);
|
||||
}
|
||||
int c = 0;
|
||||
HTML_OPEN("p"); WRITE("Whereas these are not in force:"); HTML_CLOSE("p");
|
||||
HTML::open_indented_p(OUT, 2, "tight");
|
||||
for (int i=0; i<TreeLists::len(inv->use_option_nodes); i++) {
|
||||
inter_package *pack = Inter::Package::defined_by_frame(inv->use_option_nodes->list[i].node);
|
||||
inter_ti set = Metadata::read_numeric(pack, I"^active");
|
||||
inter_ti sfs = Metadata::read_numeric(pack, I"^source_file_scoped");
|
||||
if ((set == FALSE) && (sfs == FALSE)) {
|
||||
@<Write in the index line for a use option not taken@>;
|
||||
if (c++ > 0) WRITE(", ");
|
||||
}
|
||||
}
|
||||
if (c == 0) WRITE("None."); /* in practice, this will never happen */
|
||||
HTML_CLOSE("p");
|
||||
|
||||
@<Write in the index line for a use option not taken@> =
|
||||
HTML_OPEN_WITH("span", "style=\"white-space:nowrap\";");
|
||||
TEMPORARY_TEXT(TEMP)
|
||||
WRITE_TO(TEMP, "Use %S.", Metadata::read_textual(pack, I"^name"));
|
||||
PasteButtons::paste_text(OUT, TEMP);
|
||||
DISCARD_TEXT(TEMP)
|
||||
WRITE(" %S", Metadata::read_textual(pack, I"^name"));
|
||||
HTML_CLOSE("span");
|
||||
|
||||
@<Show the language elements used@> =
|
||||
WRITE("Inform language definition:\n");
|
||||
inter_package *pack = Inter::Packages::by_url(I, I"/main/completion/basics");
|
||||
text_stream *used = Metadata::read_optional_textual(pack, I"^language_elements_used");
|
||||
text_stream *not_used = Metadata::read_optional_textual(pack, I"^language_elements_not_used");
|
||||
if (Str::len(used) > 0) WRITE("Included: %S", used);
|
||||
if (Str::len(not_used) > 0) WRITE("<br>Excluded: %S", not_used);
|
||||
HTML_CLOSE("p");
|
||||
|
||||
@<Add some paste buttons for the debugging log@> =
|
||||
HTML_OPEN("p");
|
||||
WRITE("Debugging log:");
|
||||
HTML_CLOSE("p");
|
||||
HTML_OPEN("p");
|
||||
inter_symbol *wanted = PackageTypes::get(I, I"_debugging_aspect");
|
||||
inter_package *pack = Inter::Packages::by_url(I, I"/main/completion/basics");
|
||||
inter_tree_node *D = Inter::Packages::definition(pack);
|
||||
LOOP_THROUGH_INTER_CHILDREN(C, D) {
|
||||
if (C->W.data[ID_IFLD] == PACKAGE_IST) {
|
||||
inter_package *entry = Inter::Package::defined_by_frame(C);
|
||||
if (Inter::Packages::type(entry) == wanted) {
|
||||
TEMPORARY_TEXT(is)
|
||||
WRITE_TO(is, "Include %S in the debugging log.",
|
||||
Metadata::read_textual(entry, I"^name"));
|
||||
PasteButtons::paste_text(OUT, is);
|
||||
WRITE(" %S ", is);
|
||||
DISCARD_TEXT(is)
|
||||
if (Metadata::read_optional_numeric(entry, I"^used")) {
|
||||
HTML_TAG_WITH("img", "border=0 src=inform:/doc_images/tick.png");
|
||||
} else {
|
||||
HTML_TAG_WITH("img", "border=0 src=inform:/doc_images/cross.png");
|
||||
}
|
||||
HTML_TAG("br");
|
||||
}
|
||||
}
|
||||
}
|
||||
HTML_CLOSE("p");
|
||||
|
||||
@ Now for indexing, where there's nothing much to see.
|
||||
|
||||
@d MAIN_TEXT_UO_ORIGIN 1
|
||||
@d OPTIONS_FILE_UO_ORIGIN 2
|
||||
@d EXTENSION_UO_ORIGIN 3
|
||||
|
||||
=
|
||||
void InnardsElement::index_options_in_force_from(OUTPUT_STREAM, tree_inventory *inv, int category, inter_package *E) {
|
||||
int N = 0;
|
||||
for (int i=0; i<TreeLists::len(inv->use_option_nodes); i++) {
|
||||
inter_package *pack = Inter::Package::defined_by_frame(inv->use_option_nodes->list[i].node);
|
||||
inter_ti set = Metadata::read_numeric(pack, I"^active");
|
||||
inter_ti sfs = Metadata::read_numeric(pack, I"^source_file_scoped");
|
||||
if ((set) && (sfs == FALSE)) {
|
||||
if (InnardsElement::uo_set_from(pack, category, E)) {
|
||||
if (N++ == 0) @<Write in the use option subheading@>;
|
||||
@<Write in the index line for a use option taken@>;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ And this is what the rest of Inform calls to find out whether a particular
|
||||
pragma is set:
|
||||
|
||||
=
|
||||
int InnardsElement::uo_set_from(inter_package *pack, int category, inter_package *E) {
|
||||
switch (category) {
|
||||
case MAIN_TEXT_UO_ORIGIN: if (Metadata::read_optional_numeric(pack, I"^used_in_source_text")) return TRUE; break;
|
||||
case OPTIONS_FILE_UO_ORIGIN: if (Metadata::read_optional_numeric(pack, I"^used_in_options")) return TRUE; break;
|
||||
case EXTENSION_UO_ORIGIN: {
|
||||
inter_symbol *id = Metadata::read_optional_symbol(pack, I"^used_in_extension");
|
||||
if (id) {
|
||||
inter_package *used_in_E = Inter::Packages::container(id->definition);
|
||||
if ((used_in_E) && (used_in_E == E)) return TRUE;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@<Write in the use option subheading@> =
|
||||
HTML::open_indented_p(OUT, 2, "tight");
|
||||
HTML::begin_colour(OUT, I"808080");
|
||||
WRITE("Set from ");
|
||||
switch (category) {
|
||||
case MAIN_TEXT_UO_ORIGIN:
|
||||
WRITE("the source text"); break;
|
||||
case OPTIONS_FILE_UO_ORIGIN:
|
||||
WRITE("the Options.txt configuration file, or automatically");
|
||||
Index::DocReferences::link(OUT, I"OPTIONSFILE"); break;
|
||||
case EXTENSION_UO_ORIGIN:
|
||||
WRITE("%S", Metadata::read_optional_textual(E, I"^credit"));
|
||||
break;
|
||||
}
|
||||
WRITE(":");
|
||||
HTML::end_colour(OUT);
|
||||
HTML_CLOSE("p");
|
||||
|
||||
@<Write in the index line for a use option taken@> =
|
||||
HTML::open_indented_p(OUT, 3, "tight");
|
||||
WRITE("Use %S", Metadata::read_optional_textual(pack, I"^name"));
|
||||
int msv = (int) Metadata::read_optional_numeric(pack, I"^minimum");
|
||||
if (msv > 0) WRITE(" of at least %d", msv);
|
||||
int at = (int) Metadata::read_optional_numeric(pack, I"^used_at");
|
||||
if (at > 0) Index::link(OUT, at);
|
||||
if (msv > 0) {
|
||||
WRITE(" ");
|
||||
TEMPORARY_TEXT(TEMP)
|
||||
WRITE_TO(TEMP, "Use %S of at least %d.",
|
||||
Metadata::read_optional_textual(pack, I"^name"), 2*msv);
|
||||
PasteButtons::paste_text(OUT, TEMP);
|
||||
DISCARD_TEXT(TEMP)
|
||||
WRITE(" <i>Double this</i>");
|
||||
}
|
||||
HTML_CLOSE("p");
|
|
@ -75,3 +75,4 @@ Chapter 6: Index
|
|||
Rules for Scenes Element
|
||||
Extras Element
|
||||
Standards Element
|
||||
Innards Element
|
||||
|
|
Loading…
Reference in a new issue