1
0
Fork 0
mirror of https://github.com/ganelson/inform.git synced 2024-07-02 23:14:57 +03:00

Deprecation of old use option syntax

This commit is contained in:
Graham Nelson 2023-05-03 22:41:04 +01:00
parent 326dacf96b
commit 3c9a25a58a
34 changed files with 676 additions and 526 deletions

View file

@ -226,7 +226,7 @@ OP match the following:
<span class="plain-syntax"> </span><span class="identifier-syntax">uo</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">name</span><span class="plain-syntax"> = </span><span class="identifier-syntax">UOW</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">uo</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">expansion</span><span class="plain-syntax"> = </span><span class="identifier-syntax">EMPTY_WORDING</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">uo</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">definition_form</span><span class="plain-syntax"> = </span><span class="identifier-syntax">form</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">-&gt;</span><span class="element-syntax">definition_form</span><span class="plain-syntax"> == </span><span class="constant-syntax">INLINE_UTAS</span><span class="plain-syntax">) </span><span class="identifier-syntax">uo</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">expansion</span><span class="plain-syntax"> = </span><span class="identifier-syntax">OP</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">-&gt;</span><span class="element-syntax">definition_form</span><span class="plain-syntax"> == </span><span class="constant-syntax">INLINE_UTAS</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="3-nuor.html#SP3_2_2_1" class="named-paragraph-link"><span class="named-paragraph">Handle the deprecated inline case</span><span class="named-paragraph-number">3.2.2.1</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">uo</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">symbol_name</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">uo</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">kit_name</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">uo</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">is_explicitly_numerical</span><span class="plain-syntax"> = </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">;</span>
@ -238,8 +238,8 @@ OP match the following:
<span class="plain-syntax"> }</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">uo</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">default_value</span><span class="plain-syntax"> = </span><span class="identifier-syntax">puos</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">M</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">, </span><span class="identifier-syntax">M_set</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="3-nuor.html#SP3_2_2_1" class="named-paragraph-link"><span class="named-paragraph">See if this option sets a value to some specified number M</span><span class="named-paragraph-number">3.2.2.1</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-nuor.html#SP3_2_2_2" class="named-paragraph-link"><span class="named-paragraph">Make sure the flag or value name is valid</span><span class="named-paragraph-number">3.2.2.2</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-nuor.html#SP3_2_2_2" class="named-paragraph-link"><span class="named-paragraph">See if this option sets a value to some specified number M</span><span class="named-paragraph-number">3.2.2.2</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-nuor.html#SP3_2_2_3" class="named-paragraph-link"><span class="named-paragraph">Make sure the flag or value name is valid</span><span class="named-paragraph-number">3.2.2.3</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">uo</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">no_Inter_presence</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><span class="identifier-syntax">uo</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">definition_form</span><span class="plain-syntax"> == </span><span class="constant-syntax">CONFIG_NAMELESS_FLAG_UTAS</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">uo</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">definition_form</span><span class="plain-syntax"> = </span><span class="constant-syntax">CONFIG_FLAG_UTAS</span><span class="plain-syntax">;</span>
@ -252,7 +252,7 @@ OP match the following:
<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">-&gt;</span><span class="element-syntax">definition_form</span><span class="plain-syntax"> == </span><span class="constant-syntax">COMPILER_UTAS</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">uo</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">no_Inter_presence</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="named-paragraph-container code-font"><a href="3-nuor.html#SP3_2_2_3" class="named-paragraph-link"><span class="named-paragraph">Make sure the kit name is valid</span><span class="named-paragraph-number">3.2.2.3</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-nuor.html#SP3_2_2_4" class="named-paragraph-link"><span class="named-paragraph">Make sure the kit name is valid</span><span class="named-paragraph-number">3.2.2.4</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">uo</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">settings_made</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NEW_LINKED_LIST</span><span class="plain-syntax">(</span><span class="reserved-syntax">parsed_use_option_setting</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">uo</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">source_file_scoped</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">uo</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">notable_option_code</span><span class="plain-syntax"> = -1;</span>
@ -264,6 +264,34 @@ OP match the following:
<span class="plain-syntax"> </span><span class="identifier-syntax">MISCELLANEOUS_MC</span><span class="plain-syntax">, </span><span class="identifier-syntax">Rvalues::from_use_option</span><span class="plain-syntax">(</span><span class="identifier-syntax">uo</span><span class="plain-syntax">), </span><span class="identifier-syntax">Task::language_of_syntax</span><span class="plain-syntax">());</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="3-nuor.html#SP3_2">&#167;3.2</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP3_2_2_1" class="paragraph-anchor"></a><b>&#167;3.2.2.1. </b>At some point this will cease to be allowed, but simple inline definitions
are still supported, and the call to <span class="extract"><span class="extract-syntax">RTUseOptions::check_deprecated_definition</span></span>
checks that the one here is simple enough to deal with. If it isn't, a problem
message is thrown.
</p>
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Handle the deprecated inline case</span><span class="named-paragraph-number">3.2.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">uo</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">expansion</span><span class="plain-syntax"> = </span><span class="identifier-syntax">OP</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">UO</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Str::new</span><span class="plain-syntax">();</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">UO</span><span class="plain-syntax">, </span><span class="string-syntax">"%W"</span><span class="plain-syntax">, </span><span class="identifier-syntax">Wordings::from</span><span class="plain-syntax">(</span><span class="identifier-syntax">OP</span><span class="plain-syntax">, </span><span class="identifier-syntax">Wordings::first_wn</span><span class="plain-syntax">(</span><span class="identifier-syntax">OP</span><span class="plain-syntax">) + </span><span class="constant-syntax">1</span><span class="plain-syntax">));</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">RTUseOptions::check_deprecated_definition</span><span class="plain-syntax">(</span><span class="identifier-syntax">UO</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">StandardProblems::handmade_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(),</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_UONotationWithdrawn</span><span class="plain-syntax">));</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::quote_source</span><span class="plain-syntax">(1, </span><span class="identifier-syntax">current_sentence</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::quote_stream</span><span class="plain-syntax">(2, </span><span class="identifier-syntax">UO</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::issue_problem_segment</span><span class="plain-syntax">(</span>
<span class="plain-syntax"> </span><span class="string-syntax">"In %1, you set up a use option, but you use the deprecated notation "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"'(- %2 -)' to say what to do if this option is set. For now, that "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"still works if a simple form is used, such as '(- Constant X; -)' or "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"'(- Constant Y = {N}; -)' or even '(- Constant Z = 2*{N}; -)', but the "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"ability to write arbitrary Inform 6-syntax code here has been withdrawn."</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::issue_problem_end</span><span class="plain-syntax">();</span>
<span class="plain-syntax"> }</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="3-nuor.html#SP3_2_2">&#167;3.2.2</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP3_2_3" class="paragraph-anchor"></a><b>&#167;3.2.3. </b>The ambiguity alluded to here is with Inform 6 ICL settings: see below.
</p>
@ -290,7 +318,7 @@ OP match the following:
<span class="plain-syntax"> </span><span class="string-syntax">"so it cannot be 'at least' some minimum number."</span><span class="plain-syntax">);</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="3-nuor.html#SP3_2">&#167;3.2</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP3_2_2_1" class="paragraph-anchor"></a><b>&#167;3.2.2.1. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">See if this option sets a value to some specified number M</span><span class="named-paragraph-number">3.2.2.1</span></span><span class="comment-syntax"> =</span>
<p class="commentary firstcommentary"><a id="SP3_2_2_2" class="paragraph-anchor"></a><b>&#167;3.2.2.2. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">See if this option sets a value to some specified number M</span><span class="named-paragraph-number">3.2.2.2</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">
@ -312,7 +340,7 @@ OP match the following:
<span class="plain-syntax"> }</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="3-nuor.html#SP3_2_2">&#167;3.2.2</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP3_2_2_2" class="paragraph-anchor"></a><b>&#167;3.2.2.2. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Make sure the flag or value name is valid</span><span class="named-paragraph-number">3.2.2.2</span></span><span class="comment-syntax"> =</span>
<p class="commentary firstcommentary"><a id="SP3_2_2_3" class="paragraph-anchor"></a><b>&#167;3.2.2.3. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Make sure the flag or value name is valid</span><span class="named-paragraph-number">3.2.2.3</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">
@ -346,7 +374,7 @@ OP match the following:
<span class="plain-syntax"> }</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="3-nuor.html#SP3_2_2">&#167;3.2.2</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP3_2_2_3" class="paragraph-anchor"></a><b>&#167;3.2.2.3. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Make sure the kit name is valid</span><span class="named-paragraph-number">3.2.2.3</span></span><span class="comment-syntax"> =</span>
<p class="commentary firstcommentary"><a id="SP3_2_2_4" class="paragraph-anchor"></a><b>&#167;3.2.2.4. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Make sure the kit name is valid</span><span class="named-paragraph-number">3.2.2.4</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">

View file

@ -1912,15 +1912,7 @@ simultaneously trying to access the same file.
<pre class="displayed-code all-displayed-code code-font">
<span class="identifier-syntax">Chapter</span><span class="plain-syntax"> </span><span class="constant-syntax">10</span><span class="plain-syntax"> - </span><span class="identifier-syntax">Use</span><span class="plain-syntax"> </span><span class="identifier-syntax">Options</span>
<span class="identifier-syntax">Section</span><span class="plain-syntax"> </span><span class="constant-syntax">1</span><span class="plain-syntax"> - </span><span class="identifier-syntax">Being</span><span class="plain-syntax"> </span><span class="identifier-syntax">Chosen</span>
<span class="identifier-syntax">Definition</span><span class="plain-syntax">: </span><span class="identifier-syntax">a</span><span class="plain-syntax"> </span><span class="identifier-syntax">use</span><span class="plain-syntax"> </span><span class="identifier-syntax">option</span><span class="plain-syntax"> </span><span class="identifier-syntax">is</span><span class="plain-syntax"> </span><span class="identifier-syntax">chosen</span><span class="plain-syntax"> </span><span class="identifier-syntax">if</span><span class="plain-syntax"> </span><span class="identifier-syntax">I6</span><span class="plain-syntax"> </span><span class="identifier-syntax">condition</span><span class="plain-syntax"> </span><span class="string-syntax">"(USE_OPTION_CHOSEN--&gt;(*1))"</span>
<span class="identifier-syntax">says</span><span class="plain-syntax"> </span><span class="identifier-syntax">so</span><span class="plain-syntax"> (</span><span class="identifier-syntax">it</span><span class="plain-syntax"> </span><span class="identifier-syntax">has</span><span class="plain-syntax"> </span><span class="identifier-syntax">been</span><span class="plain-syntax"> </span><span class="identifier-syntax">explicitly</span><span class="plain-syntax"> </span><span class="identifier-syntax">selected</span><span class="plain-syntax">).</span>
<span class="identifier-syntax">Definition</span><span class="plain-syntax">: </span><span class="identifier-syntax">a</span><span class="plain-syntax"> </span><span class="identifier-syntax">use</span><span class="plain-syntax"> </span><span class="identifier-syntax">option</span><span class="plain-syntax"> </span><span class="identifier-syntax">is</span><span class="plain-syntax"> </span><span class="identifier-syntax">unchosen</span><span class="plain-syntax"> </span><span class="identifier-syntax">if</span><span class="plain-syntax"> </span><span class="identifier-syntax">I6</span><span class="plain-syntax"> </span><span class="identifier-syntax">condition</span><span class="plain-syntax"> </span><span class="string-syntax">"(USE_OPTION_CHOSEN--&gt;(*1) == 0)"</span>
<span class="identifier-syntax">says</span><span class="plain-syntax"> </span><span class="identifier-syntax">so</span><span class="plain-syntax"> (</span><span class="identifier-syntax">it</span><span class="plain-syntax"> </span><span class="identifier-syntax">remains</span><span class="plain-syntax"> </span><span class="identifier-syntax">in</span><span class="plain-syntax"> </span><span class="identifier-syntax">its</span><span class="plain-syntax"> </span><span class="identifier-syntax">default</span><span class="plain-syntax"> </span><span class="identifier-syntax">state</span><span class="plain-syntax"> </span><span class="identifier-syntax">not</span><span class="plain-syntax"> </span><span class="identifier-syntax">having</span><span class="plain-syntax"> </span><span class="identifier-syntax">been</span><span class="plain-syntax"> </span><span class="identifier-syntax">explicitly</span><span class="plain-syntax"> </span><span class="identifier-syntax">selected</span><span class="plain-syntax">).</span>
<span class="identifier-syntax">Section</span><span class="plain-syntax"> </span><span class="constant-syntax">2</span><span class="plain-syntax"> - </span><span class="identifier-syntax">Numerical</span><span class="plain-syntax"> </span><span class="identifier-syntax">Value</span>
<span class="identifier-syntax">Section</span><span class="plain-syntax"> </span><span class="constant-syntax">1</span><span class="plain-syntax"> - </span><span class="identifier-syntax">Numerical</span><span class="plain-syntax"> </span><span class="identifier-syntax">Value</span>
<span class="identifier-syntax">To</span><span class="plain-syntax"> </span><span class="identifier-syntax">decide</span><span class="plain-syntax"> </span><span class="identifier-syntax">what</span><span class="plain-syntax"> </span><span class="identifier-syntax">number</span><span class="plain-syntax"> </span><span class="identifier-syntax">is</span><span class="plain-syntax"> </span><span class="identifier-syntax">the</span><span class="plain-syntax"> </span><span class="identifier-syntax">numerical</span><span class="plain-syntax"> </span><span class="identifier-syntax">value</span><span class="plain-syntax"> </span><span class="identifier-syntax">of</span><span class="plain-syntax"> (</span><span class="identifier-syntax">U</span><span class="plain-syntax"> - </span><span class="identifier-syntax">a</span><span class="plain-syntax"> </span><span class="identifier-syntax">use</span><span class="plain-syntax"> </span><span class="identifier-syntax">option</span><span class="plain-syntax">):</span>
<span class="plain-syntax"> (- </span><span class="identifier-syntax">USE_OPTION_VALUES</span><span class="plain-syntax">--&gt;({</span><span class="identifier-syntax">U</span><span class="plain-syntax">}) -).</span>

View file

@ -181,21 +181,21 @@ than the number with correct ones
number of successes.
</li></ul>
<pre class="undisplayed-code all-displayed-code code-font">
<span class="plain-syntax">Size of lexicon: 3121 excerpt meanings</span>
<span class="plain-syntax"> Stored among 843 words out of total vocabulary of 10731</span>
<span class="plain-syntax"> 713 words have a start list: longest belongs to report (with 293 meanings)</span>
<span class="plain-syntax">Size of lexicon: 3119 excerpt meanings</span>
<span class="plain-syntax"> Stored among 841 words out of total vocabulary of 10724</span>
<span class="plain-syntax"> 711 words have a start list: longest belongs to report (with 293 meanings)</span>
<span class="plain-syntax"> 15 words have an end list: longest belongs to case (with 6 meanings)</span>
<span class="plain-syntax"> 29 words have a middle list: longest belongs to to (with 4 meanings)</span>
<span class="plain-syntax"> 108 words have a subset list: longest belongs to street (with 4 meanings)</span>
<span class="plain-syntax">Number of attempts to retrieve: 106600</span>
<span class="plain-syntax"> of which unsuccessful: 88874</span>
<span class="plain-syntax"> of which successful: 17726</span>
<span class="plain-syntax">Number of attempts to retrieve: 106596</span>
<span class="plain-syntax"> of which unsuccessful: 88872</span>
<span class="plain-syntax"> of which successful: 17724</span>
<span class="plain-syntax">Total attempts to match against excerpt meanings: 264786</span>
<span class="plain-syntax"> of which, total with incorrect hash codes: 242589</span>
<span class="plain-syntax"> of which, total with correct hash codes: 22197</span>
<span class="plain-syntax"> of which, total which matched: 19431</span>
<span class="plain-syntax">Total attempts to match against excerpt meanings: 264782</span>
<span class="plain-syntax"> of which, total with incorrect hash codes: 242587</span>
<span class="plain-syntax"> of which, total with correct hash codes: 22195</span>
<span class="plain-syntax"> of which, total which matched: 19429</span>
</pre>
<nav role="progress"><div class="progresscontainer">
<ul class="progressbar"><li class="progressprevoff">&#10094;</li><li class="progresscurrentchapter">P</li><li class="progresscurrent">wtmd</li><li class="progresssection"><a href="P-htitm.html">htitm</a></li><li class="progresschapter"><a href="1-lm.html">1</a></li><li class="progresschapter"><a href="2-em.html">2</a></li><li class="progressnext"><a href="P-htitm.html">&#10095;</a></li></ul></div>

View file

@ -291,7 +291,7 @@ Within each category, items are listed in order of creation.
</p>
<pre class="undisplayed-code all-displayed-code code-font">
<span class="plain-syntax">adjective: 139 items</span>
<span class="plain-syntax">adjective: 137 items</span>
<span class="plain-syntax">article: 2 items</span>
<span class="plain-syntax">noun: 2385 items</span>
<span class="plain-syntax">pronoun: 8 items</span>
@ -299,10 +299,8 @@ Within each category, items are listed in order of creation.
<span class="plain-syntax">determiner: 22 items</span>
<span class="plain-syntax">verb: 109 items</span>
<span class="plain-syntax">verb_form: 388 items</span>
<span class="plain-syntax">total in all categories: 3327</span>
<span class="plain-syntax">total in all categories: 3325</span>
<span class="plain-syntax">adjective: 'chosen'</span>
<span class="plain-syntax">adjective: 'unchosen'</span>
<span class="plain-syntax">adjective: 'even'</span>
<span class="plain-syntax">adjective: 'odd'</span>
<span class="plain-syntax">adjective: 'positive'</span>

View file

@ -441,7 +441,6 @@ fuller explanation.
<span class="definition-keyword">enum</span> <span class="constant-syntax">TESTUSEOPTION_HL</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">PRINT_USE_OPTION_HL</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">USE_OPTION_VALUES_HL</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">USE_OPTION_CHOSEN_HL</span>
</pre>
<p class="commentary firstcommentary"><a id="SP1_34" class="paragraph-anchor"></a><b>&#167;1.34. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Resources for use options</span><span class="named-paragraph-number">1.34</span></span><span class="comment-syntax"> =</span>
</p>
@ -452,7 +451,6 @@ fuller explanation.
<span class="plain-syntax"> </span><span class="identifier-syntax">SYN_FUNCT</span><span class="plain-syntax">(</span><span class="constant-syntax">TESTUSEOPTION_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"test_fn"</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"TestUseOption"</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">SYN_FUNCT</span><span class="plain-syntax">(</span><span class="constant-syntax">PRINT_USE_OPTION_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"print_fn"</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"PrintUseOption"</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">SYN_CONST</span><span class="plain-syntax">(</span><span class="constant-syntax">USE_OPTION_VALUES_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"USE_OPTION_VALUES"</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">SYN_CONST</span><span class="plain-syntax">(</span><span class="constant-syntax">USE_OPTION_CHOSEN_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"USE_OPTION_CHOSEN"</span><span class="plain-syntax">)</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="5-sh.html#SP1">&#167;1</a>.</li></ul>
<nav role="progress"><div class="progresscontainer">

View file

@ -144,7 +144,7 @@ does exist, it must have a definition, and we return that.
<span class="identifier-syntax">inter_tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">synoptic_array_node</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
<span class="identifier-syntax">packaging_state</span><span class="plain-syntax"> </span><span class="identifier-syntax">synoptic_array_ps</span><span class="plain-syntax">;</span>
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Synoptic::begin_array</span><button class="popup" onclick="togglePopup('usagePopup9')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup9">Usage of <span class="code-font"><span class="function-syntax">Synoptic::begin_array</span></span>:<br/>Responses - <a href="5-rsp.html#SP1_3">&#167;1.3</a>, <a href="5-rsp.html#SP1_4">&#167;1.4</a><br/>Rules - <a href="5-rls.html#SP1_3">&#167;1.3</a>, <a href="5-rls.html#SP1_4">&#167;1.4</a>, <a href="5-rls.html#SP1_5">&#167;1.5</a><br/>Activities - <a href="5-act.html#SP1_2">&#167;1.2</a>, <a href="5-act.html#SP1_4">&#167;1.4</a>, <a href="5-act.html#SP1_5">&#167;1.5</a>, <a href="5-act.html#SP1_6">&#167;1.6</a><br/>Actions - <a href="5-act2.html#SP1_4">&#167;1.4</a>, <a href="5-act2.html#SP1_5">&#167;1.5</a><br/>Dialogue - <a href="5-dlg.html#SP1_1">&#167;1.1</a>, <a href="5-dlg.html#SP1_2">&#167;1.2</a>, <a href="5-dlg.html#SP1_3">&#167;1.3</a><br/>Kinds - <a href="5-knd.html#SP1_13">&#167;1.13</a><br/>Tables - <a href="5-tbl.html#SP1_3">&#167;1.3</a><br/>Chronology - <a href="5-chr.html#SP1_7">&#167;1.7</a><br/>Multimedia - <a href="5-mlt.html#SP1_1">&#167;1.1</a>, <a href="5-mlt.html#SP1_2">&#167;1.2</a>, <a href="5-mlt.html#SP1_4">&#167;1.4</a>, <a href="5-mlt.html#SP1_6">&#167;1.6</a><br/>Use Options - <a href="5-uo.html#SP1_5">&#167;1.5</a>, <a href="5-uo.html#SP1_6">&#167;1.6</a><br/>Verbs - <a href="5-vrb.html#SP1_2">&#167;1.2</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">pipeline_step</span><span class="plain-syntax"> *</span><span class="identifier-syntax">step</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>
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Synoptic::begin_array</span><button class="popup" onclick="togglePopup('usagePopup9')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup9">Usage of <span class="code-font"><span class="function-syntax">Synoptic::begin_array</span></span>:<br/>Responses - <a href="5-rsp.html#SP1_3">&#167;1.3</a>, <a href="5-rsp.html#SP1_4">&#167;1.4</a><br/>Rules - <a href="5-rls.html#SP1_3">&#167;1.3</a>, <a href="5-rls.html#SP1_4">&#167;1.4</a>, <a href="5-rls.html#SP1_5">&#167;1.5</a><br/>Activities - <a href="5-act.html#SP1_2">&#167;1.2</a>, <a href="5-act.html#SP1_4">&#167;1.4</a>, <a href="5-act.html#SP1_5">&#167;1.5</a>, <a href="5-act.html#SP1_6">&#167;1.6</a><br/>Actions - <a href="5-act2.html#SP1_4">&#167;1.4</a>, <a href="5-act2.html#SP1_5">&#167;1.5</a><br/>Dialogue - <a href="5-dlg.html#SP1_1">&#167;1.1</a>, <a href="5-dlg.html#SP1_2">&#167;1.2</a>, <a href="5-dlg.html#SP1_3">&#167;1.3</a><br/>Kinds - <a href="5-knd.html#SP1_13">&#167;1.13</a><br/>Tables - <a href="5-tbl.html#SP1_3">&#167;1.3</a><br/>Chronology - <a href="5-chr.html#SP1_7">&#167;1.7</a><br/>Multimedia - <a href="5-mlt.html#SP1_1">&#167;1.1</a>, <a href="5-mlt.html#SP1_2">&#167;1.2</a>, <a href="5-mlt.html#SP1_4">&#167;1.4</a>, <a href="5-mlt.html#SP1_6">&#167;1.6</a><br/>Use Options - <a href="5-uo.html#SP1_5">&#167;1.5</a><br/>Verbs - <a href="5-vrb.html#SP1_2">&#167;1.2</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">pipeline_step</span><span class="plain-syntax"> *</span><span class="identifier-syntax">step</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>
<span class="plain-syntax"> </span><a href="5-su.html#SP7" class="function-link"><span class="function-syntax">Synoptic::begin_array_inner</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="identifier-syntax">iname</span><span class="plain-syntax">, </span><span class="identifier-syntax">CONST_LIST_FORMAT_WORDS</span><span class="plain-syntax">);</span>
<span class="plain-syntax">}</span>
@ -168,7 +168,7 @@ does exist, it must have a definition, and we return that.
<span class="plain-syntax"> (</span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax">) </span><span class="identifier-syntax">InterBookmark::baseline</span><span class="plain-syntax">(</span><span class="identifier-syntax">Packaging::at</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">)) + </span><span class="constant-syntax">1</span><span class="plain-syntax">);</span>
<span class="plain-syntax">}</span>
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Synoptic::end_array</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">Synoptic::end_array</span></span>:<br/>Responses - <a href="5-rsp.html#SP1_3">&#167;1.3</a>, <a href="5-rsp.html#SP1_4">&#167;1.4</a><br/>Rules - <a href="5-rls.html#SP1_3">&#167;1.3</a>, <a href="5-rls.html#SP1_4">&#167;1.4</a>, <a href="5-rls.html#SP1_5">&#167;1.5</a><br/>Activities - <a href="5-act.html#SP1_2">&#167;1.2</a>, <a href="5-act.html#SP1_3">&#167;1.3</a>, <a href="5-act.html#SP1_4">&#167;1.4</a>, <a href="5-act.html#SP1_5">&#167;1.5</a>, <a href="5-act.html#SP1_6">&#167;1.6</a><br/>Actions - <a href="5-act2.html#SP1_4">&#167;1.4</a>, <a href="5-act2.html#SP1_5">&#167;1.5</a>, <a href="5-act2.html#SP1_6">&#167;1.6</a><br/>Dialogue - <a href="5-dlg.html#SP1_1">&#167;1.1</a>, <a href="5-dlg.html#SP1_2">&#167;1.2</a>, <a href="5-dlg.html#SP1_3">&#167;1.3</a><br/>Kinds - <a href="5-knd.html#SP1_13">&#167;1.13</a><br/>Tables - <a href="5-tbl.html#SP1_3">&#167;1.3</a>, <a href="5-tbl.html#SP1_6">&#167;1.6</a><br/>Chronology - <a href="5-chr.html#SP1_5">&#167;1.5</a>, <a href="5-chr.html#SP1_6">&#167;1.6</a>, <a href="5-chr.html#SP1_7">&#167;1.7</a><br/>Multimedia - <a href="5-mlt.html#SP1_1">&#167;1.1</a>, <a href="5-mlt.html#SP1_2">&#167;1.2</a>, <a href="5-mlt.html#SP1_4">&#167;1.4</a>, <a href="5-mlt.html#SP1_6">&#167;1.6</a><br/>Use Options - <a href="5-uo.html#SP1_5">&#167;1.5</a>, <a href="5-uo.html#SP1_6">&#167;1.6</a><br/>Verbs - <a href="5-vrb.html#SP1_2">&#167;1.2</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">void</span><span class="plain-syntax"> </span><span class="function-syntax">Synoptic::end_array</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">Synoptic::end_array</span></span>:<br/>Responses - <a href="5-rsp.html#SP1_3">&#167;1.3</a>, <a href="5-rsp.html#SP1_4">&#167;1.4</a><br/>Rules - <a href="5-rls.html#SP1_3">&#167;1.3</a>, <a href="5-rls.html#SP1_4">&#167;1.4</a>, <a href="5-rls.html#SP1_5">&#167;1.5</a><br/>Activities - <a href="5-act.html#SP1_2">&#167;1.2</a>, <a href="5-act.html#SP1_3">&#167;1.3</a>, <a href="5-act.html#SP1_4">&#167;1.4</a>, <a href="5-act.html#SP1_5">&#167;1.5</a>, <a href="5-act.html#SP1_6">&#167;1.6</a><br/>Actions - <a href="5-act2.html#SP1_4">&#167;1.4</a>, <a href="5-act2.html#SP1_5">&#167;1.5</a>, <a href="5-act2.html#SP1_6">&#167;1.6</a><br/>Dialogue - <a href="5-dlg.html#SP1_1">&#167;1.1</a>, <a href="5-dlg.html#SP1_2">&#167;1.2</a>, <a href="5-dlg.html#SP1_3">&#167;1.3</a><br/>Kinds - <a href="5-knd.html#SP1_13">&#167;1.13</a><br/>Tables - <a href="5-tbl.html#SP1_3">&#167;1.3</a>, <a href="5-tbl.html#SP1_6">&#167;1.6</a><br/>Chronology - <a href="5-chr.html#SP1_5">&#167;1.5</a>, <a href="5-chr.html#SP1_6">&#167;1.6</a>, <a href="5-chr.html#SP1_7">&#167;1.7</a><br/>Multimedia - <a href="5-mlt.html#SP1_1">&#167;1.1</a>, <a href="5-mlt.html#SP1_2">&#167;1.2</a>, <a href="5-mlt.html#SP1_4">&#167;1.4</a>, <a href="5-mlt.html#SP1_6">&#167;1.6</a><br/>Use Options - <a href="5-uo.html#SP1_5">&#167;1.5</a><br/>Verbs - <a href="5-vrb.html#SP1_2">&#167;1.2</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="identifier-syntax">inter_error_message</span><span class="plain-syntax"> *</span><span class="identifier-syntax">E</span><span class="plain-syntax"> = </span><span class="identifier-syntax">VerifyingInter::instruction</span><span class="plain-syntax">(</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">InterBookmark::package</span><span class="plain-syntax">(</span><span class="identifier-syntax">Packaging::at</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">)), </span><span class="identifier-syntax">synoptic_array_node</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">E</span><span class="plain-syntax">) {</span>
@ -183,7 +183,7 @@ does exist, it must have a definition, and we return that.
</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">Synoptic::numeric_entry</span><button class="popup" onclick="togglePopup('usagePopup13')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup13">Usage of <span class="code-font"><span class="function-syntax">Synoptic::numeric_entry</span></span>:<br/>Responses - <a href="5-rsp.html#SP1_3">&#167;1.3</a>, <a href="5-rsp.html#SP1_4">&#167;1.4</a><br/>Rules - <a href="5-rls.html#SP1_3">&#167;1.3</a>, <a href="5-rls.html#SP1_4">&#167;1.4</a>, <a href="5-rls.html#SP1_5">&#167;1.5</a><br/>Activities - <a href="5-act.html#SP1_3">&#167;1.3</a>, <a href="5-act.html#SP1_6">&#167;1.6</a><br/>Actions - <a href="5-act2.html#SP1_4">&#167;1.4</a>, <a href="5-act2.html#SP1_5">&#167;1.5</a>, <a href="5-act2.html#SP1_6">&#167;1.6</a><br/>Dialogue - <a href="5-dlg.html#SP1_1">&#167;1.1</a>, <a href="5-dlg.html#SP1_2">&#167;1.2</a>, <a href="5-dlg.html#SP1_3">&#167;1.3</a><br/>Kinds - <a href="5-knd.html#SP1_13">&#167;1.13</a><br/>Tables - <a href="5-tbl.html#SP1_3">&#167;1.3</a>, <a href="5-tbl.html#SP1_6">&#167;1.6</a><br/>Chronology - <a href="5-chr.html#SP1_5">&#167;1.5</a>, <a href="5-chr.html#SP1_6">&#167;1.6</a>, <a href="5-chr.html#SP1_7">&#167;1.7</a><br/>Multimedia - <a href="5-mlt.html#SP1_1">&#167;1.1</a>, <a href="5-mlt.html#SP1_2">&#167;1.2</a>, <a href="5-mlt.html#SP1_4">&#167;1.4</a>, <a href="5-mlt.html#SP1_6">&#167;1.6</a><br/>Use Options - <a href="5-uo.html#SP1_5">&#167;1.5</a>, <a href="5-uo.html#SP1_6">&#167;1.6</a><br/>Verbs - <a href="5-vrb.html#SP1_2">&#167;1.2</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">N</span><span class="plain-syntax">) {</span>
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Synoptic::numeric_entry</span><button class="popup" onclick="togglePopup('usagePopup13')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup13">Usage of <span class="code-font"><span class="function-syntax">Synoptic::numeric_entry</span></span>:<br/>Responses - <a href="5-rsp.html#SP1_3">&#167;1.3</a>, <a href="5-rsp.html#SP1_4">&#167;1.4</a><br/>Rules - <a href="5-rls.html#SP1_3">&#167;1.3</a>, <a href="5-rls.html#SP1_4">&#167;1.4</a>, <a href="5-rls.html#SP1_5">&#167;1.5</a><br/>Activities - <a href="5-act.html#SP1_3">&#167;1.3</a>, <a href="5-act.html#SP1_6">&#167;1.6</a><br/>Actions - <a href="5-act2.html#SP1_4">&#167;1.4</a>, <a href="5-act2.html#SP1_5">&#167;1.5</a>, <a href="5-act2.html#SP1_6">&#167;1.6</a><br/>Dialogue - <a href="5-dlg.html#SP1_1">&#167;1.1</a>, <a href="5-dlg.html#SP1_2">&#167;1.2</a>, <a href="5-dlg.html#SP1_3">&#167;1.3</a><br/>Kinds - <a href="5-knd.html#SP1_13">&#167;1.13</a><br/>Tables - <a href="5-tbl.html#SP1_3">&#167;1.3</a>, <a href="5-tbl.html#SP1_6">&#167;1.6</a><br/>Chronology - <a href="5-chr.html#SP1_5">&#167;1.5</a>, <a href="5-chr.html#SP1_6">&#167;1.6</a>, <a href="5-chr.html#SP1_7">&#167;1.7</a><br/>Multimedia - <a href="5-mlt.html#SP1_1">&#167;1.1</a>, <a href="5-mlt.html#SP1_2">&#167;1.2</a>, <a href="5-mlt.html#SP1_4">&#167;1.4</a>, <a href="5-mlt.html#SP1_6">&#167;1.6</a><br/>Use Options - <a href="5-uo.html#SP1_5">&#167;1.5</a><br/>Verbs - <a href="5-vrb.html#SP1_2">&#167;1.2</a></span></button><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">Inode::extend_instruction_by</span><span class="plain-syntax">(</span><span class="identifier-syntax">synoptic_array_node</span><span class="plain-syntax">, </span><span class="constant-syntax">2</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">InterValuePairs::set</span><span class="plain-syntax">(</span><span class="identifier-syntax">synoptic_array_node</span><span class="plain-syntax">, </span><span class="identifier-syntax">synoptic_array_node</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">W</span><span class="plain-syntax">.</span><span class="identifier-syntax">extent</span><span class="plain-syntax">-2,</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">InterValuePairs::number</span><span class="plain-syntax">(</span><span class="identifier-syntax">N</span><span class="plain-syntax">));</span>

View file

@ -70,7 +70,6 @@ in the tree with type <span class="extract"><span class="extract-syntax">_use_op
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-uo.html#SP1_3" class="named-paragraph-link"><span class="named-paragraph">Define TESTUSEOPTION function</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="5-uo.html#SP1_4" class="named-paragraph-link"><span class="named-paragraph">Define PRINT_USE_OPTION function</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="5-uo.html#SP1_5" class="named-paragraph-link"><span class="named-paragraph">Define USE_OPTION_VALUES array</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="5-uo.html#SP1_6" class="named-paragraph-link"><span class="named-paragraph">Define USE_OPTION_CHOSEN array</span><span class="named-paragraph-number">1.6</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax">}</span>
</pre>
<p class="commentary firstcommentary"><a id="SP1_1" class="paragraph-anchor"></a><b>&#167;1.1. </b>Each use option package contains a numeric constant with the symbol name
@ -185,22 +184,6 @@ name of a given use option.
<span class="plain-syntax"> </span><a href="5-su.html#SP7" class="function-link"><span class="function-syntax">Synoptic::end_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">);</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="5-uo.html#SP1">&#167;1</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP1_6" class="paragraph-anchor"></a><b>&#167;1.6. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Define USE_OPTION_CHOSEN array</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">
<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><span class="identifier-syntax">HierarchyLocations::iname</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="constant-syntax">USE_OPTION_CHOSEN_HL</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="5-su.html#SP7" class="function-link"><span class="function-syntax">Synoptic::begin_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax">=0; </span><span class="identifier-syntax">i</span><span class="function-syntax">&lt;InterNodeList::array_len(inv-&gt;</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">PackageInstruction::at_this_head</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">use_option_nodes</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">list</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">].</span><span class="identifier-syntax">node</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">cv</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">"^chosen"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="5-su.html#SP8" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">cv</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> }</span>
<span class="plain-syntax"> </span><a href="5-su.html#SP8" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(0);</span>
<span class="plain-syntax"> </span><a href="5-su.html#SP8" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(0);</span>
<span class="plain-syntax"> </span><a href="5-su.html#SP7" class="function-link"><span class="function-syntax">Synoptic::end_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">);</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="5-uo.html#SP1">&#167;1</a>.</li></ul>
<nav role="progress"><div class="progresscontainer">
<ul class="progressbar"><li class="progressprev"><a href="5-mlt.html">&#10094;</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-pm.html">1</a></li><li class="progresschapter"><a href="2-pp.html">2</a></li><li class="progresschapter"><a href="3-ps.html">3</a></li><li class="progresschapter"><a href="4-lbks.html">4</a></li><li class="progresscurrentchapter">5</li><li class="progresssection"><a href="5-msms.html">msms</a></li><li class="progresssection"><a href="5-sh.html">sh</a></li><li class="progresssection"><a href="5-su.html">su</a></li><li class="progresssection"><a href="5-ext.html">ext</a></li><li class="progresssection"><a href="5-lt.html">lt</a></li><li class="progresssection"><a href="5-rsp.html">rsp</a></li><li class="progresssection"><a href="5-rls.html">rls</a></li><li class="progresssection"><a href="5-act.html">act</a></li><li class="progresssection"><a href="5-act2.html">act2</a></li><li class="progresssection"><a href="5-ins.html">ins</a></li><li class="progresssection"><a href="5-dlg.html">dlg</a></li><li class="progresssection"><a href="5-knd.html">knd</a></li><li class="progresssection"><a href="5-prp.html">prp</a></li><li class="progresssection"><a href="5-rlt.html">rlt</a></li><li class="progresssection"><a href="5-tbl.html">tbl</a></li><li class="progresssection"><a href="5-chr.html">chr</a></li><li class="progresssection"><a href="5-scn.html">scn</a></li><li class="progresssection"><a href="5-mlt.html">mlt</a></li><li class="progresscurrent">uo</li><li class="progresssection"><a href="5-vrb.html">vrb</a></li><li class="progresssection"><a href="5-tst.html">tst</a></li><li class="progresschapter"><a href="6-erms.html">6</a></li><li class="progressnext"><a href="5-vrb.html">&#10095;</a></li></ul></div>
</nav><!--End of weave-->

View file

@ -269,7 +269,7 @@ used only for indexing.)
</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('usagePopup3')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup3">Usage of <span class="code-font"><span class="function-syntax">CompilationUnits::extension_id</span></span>:<br/><a href="2-cu.html#SP3">&#167;3</a><br/>Use Options - <a href="3-uo.html#SP1_2">&#167;1.2</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="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="function-syntax">CompilationUnits::extension_id</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::extension_id</span></span>:<br/><a href="2-cu.html#SP3">&#167;3</a><br/>Use Options - <a href="3-uo.html#SP1_3">&#167;1.3</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">-&gt;</span><span class="element-syntax">extension</span><span class="plain-syntax"> == </span><span class="identifier-syntax">owner</span><span class="plain-syntax">)</span>

View file

@ -182,7 +182,7 @@ in I6's "Inform Control Language".
</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::pragma</span><button class="popup" onclick="togglePopup('usagePopup13')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup13">Usage of <span class="code-font"><span class="function-syntax">Emit::pragma</span></span>:<br/>Use Options - <a href="3-uo.html#SP1_3">&#167;1.3</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">text</span><span class="plain-syntax">) {</span>
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Emit::pragma</span><button class="popup" onclick="togglePopup('usagePopup13')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup13">Usage of <span class="code-font"><span class="function-syntax">Emit::pragma</span></span>:<br/>Use Options - <a href="3-uo.html#SP1_4">&#167;1.4</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">text</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="2-emt.html#SP1" class="function-link"><span class="function-syntax">Emit::tree</span></a><span class="plain-syntax">();</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">LargeScale::emit_pragma</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">"Inform6"</span><span class="plain-syntax">, </span><span class="identifier-syntax">text</span><span class="plain-syntax">);</span>
<span class="plain-syntax">}</span>
@ -193,7 +193,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('usagePopup14')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup14">Usage of <span class="code-font"><span class="function-syntax">Emit::numeric_constant</span></span>:<br/>Hierarchy - <a href="2-hrr.html#SP23">&#167;23</a><br/>Compilation Units - <a href="2-cu.html#SP2_1_3">&#167;2.1.3</a><br/>The Heap - <a href="2-th.html#SP2">&#167;2</a><br/>Completion Module - <a href="3-cm.html#SP1_5">&#167;1.5</a>, <a href="3-cm.html#SP1_6">&#167;1.6</a>, <a href="3-cm.html#SP1_7">&#167;1.7</a>, <a href="3-cm.html#SP1_8">&#167;1.8</a>, <a href="3-cm.html#SP1_11_1">&#167;1.11.1</a><br/>Use Options - <a href="3-uo.html#SP1_2">&#167;1.2</a>, <a href="3-uo.html#SP3">&#167;3</a><br/>Responses - <a href="4-rsp.html#SP6">&#167;6</a><br/>Activities - <a href="5-act.html#SP8">&#167;8</a><br/>Chronology - <a href="5-chr.html#SP3_3">&#167;3.3</a>, <a href="5-chr.html#SP7_1">&#167;7.1</a><br/>Conjugations - <a href="5-cnj.html#SP12">&#167;12</a><br/>Tables - <a href="5-tbl.html#SP2_1_1_1_3">&#167;2.1.1.1.3</a>, <a href="5-tbl.html#SP2_3">&#167;2.3</a><br/>Table Columns - <a href="5-tc.html#SP2">&#167;2</a><br/>Rules - <a href="5-rls.html#SP12_2">&#167;12.2</a><br/>Rulebooks - <a href="5-rlb.html#SP8_2">&#167;8.2</a><br/>Variables - <a href="5-vrb.html#SP14">&#167;14</a><br/>Properties - <a href="5-prp.html#SP8_3">&#167;8.3</a><br/>Relations - <a href="5-rlt.html#SP5">&#167;5</a>, <a href="5-rlt.html#SP10_3">&#167;10.3</a><br/>Kind Constructors - <a href="5-kc.html#SP10">&#167;10</a><br/>Kind IDs - <a href="5-ki.html#SP9_2">&#167;9.2</a><br/>Actions - <a href="5-act2.html#SP8_1">&#167;8.1</a>, <a href="5-act2.html#SP8_3">&#167;8.3</a><br/>Bibliographic Data - <a href="6-bd.html#SP1_6">&#167;1.6</a><br/>The Player - <a href="6-tp.html#SP1">&#167;1</a><br/>The Map - <a href="6-tm.html#SP1">&#167;1</a><br/>Command Grammars - <a href="7-cg.html#SP3">&#167;3</a>, <a href="7-cg.html#SP11">&#167;11</a>, <a href="7-cg.html#SP16">&#167;16</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('usagePopup14')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup14">Usage of <span class="code-font"><span class="function-syntax">Emit::numeric_constant</span></span>:<br/>Hierarchy - <a href="2-hrr.html#SP23">&#167;23</a><br/>Compilation Units - <a href="2-cu.html#SP2_1_3">&#167;2.1.3</a><br/>The Heap - <a href="2-th.html#SP2">&#167;2</a><br/>Completion Module - <a href="3-cm.html#SP1_5">&#167;1.5</a>, <a href="3-cm.html#SP1_6">&#167;1.6</a>, <a href="3-cm.html#SP1_7">&#167;1.7</a>, <a href="3-cm.html#SP1_8">&#167;1.8</a>, <a href="3-cm.html#SP1_11_1">&#167;1.11.1</a><br/>Use Options - <a href="3-uo.html#SP1_3">&#167;1.3</a>, <a href="3-uo.html#SP3">&#167;3</a><br/>Responses - <a href="4-rsp.html#SP6">&#167;6</a><br/>Activities - <a href="5-act.html#SP8">&#167;8</a><br/>Chronology - <a href="5-chr.html#SP3_3">&#167;3.3</a>, <a href="5-chr.html#SP7_1">&#167;7.1</a><br/>Conjugations - <a href="5-cnj.html#SP12">&#167;12</a><br/>Tables - <a href="5-tbl.html#SP2_1_1_1_3">&#167;2.1.1.1.3</a>, <a href="5-tbl.html#SP2_3">&#167;2.3</a><br/>Table Columns - <a href="5-tc.html#SP2">&#167;2</a><br/>Rules - <a href="5-rls.html#SP12_2">&#167;12.2</a><br/>Rulebooks - <a href="5-rlb.html#SP8_2">&#167;8.2</a><br/>Variables - <a href="5-vrb.html#SP14">&#167;14</a><br/>Properties - <a href="5-prp.html#SP8_3">&#167;8.3</a><br/>Relations - <a href="5-rlt.html#SP5">&#167;5</a>, <a href="5-rlt.html#SP10_3">&#167;10.3</a><br/>Kind Constructors - <a href="5-kc.html#SP10">&#167;10</a><br/>Kind IDs - <a href="5-ki.html#SP9_2">&#167;9.2</a><br/>Actions - <a href="5-act2.html#SP8_1">&#167;8.1</a>, <a href="5-act2.html#SP8_3">&#167;8.3</a><br/>Bibliographic Data - <a href="6-bd.html#SP1_6">&#167;1.6</a><br/>The Player - <a href="6-tp.html#SP1">&#167;1</a><br/>The Map - <a href="6-tm.html#SP1">&#167;1</a><br/>Command Grammars - <a href="7-cg.html#SP3">&#167;3</a>, <a href="7-cg.html#SP11">&#167;11</a>, <a href="7-cg.html#SP16">&#167;16</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#SP6" 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="plain-syntax"> </span><span class="identifier-syntax">InterValuePairs::number_in_base</span><span class="plain-syntax">(</span><span class="identifier-syntax">val</span><span class="plain-syntax">, </span><span class="constant-syntax">10</span><span class="plain-syntax">), </span><span class="identifier-syntax">INT32_ITCONC</span><span class="plain-syntax">);</span>
<span class="plain-syntax">}</span>
@ -386,7 +386,7 @@ assimilating during linking.
</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::intervention</span><button class="popup" onclick="togglePopup('usagePopup31')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup31">Usage of <span class="code-font"><span class="function-syntax">Emit::intervention</span></span>:<br/>Interventions - <a href="2-int.html#SP1">&#167;1</a>, <a href="2-int.html#SP3">&#167;3</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">raw_matter</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">replacing</span><span class="plain-syntax">) {</span>
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Emit::intervention</span><button class="popup" onclick="togglePopup('usagePopup31')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup31">Usage of <span class="code-font"><span class="function-syntax">Emit::intervention</span></span>:<br/>Interventions - <a href="2-int.html#SP1">&#167;1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">raw_matter</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">replacing</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">filename</span><span class="plain-syntax"> *</span><span class="identifier-syntax">F</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">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">lc</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">current_sentence</span><span class="plain-syntax">) {</span>

View file

@ -2009,7 +2009,6 @@ and <a href="../pipeline-module/4-tsk.html" class="internal">The Standard Kits (
<span class="definition-keyword">enum</span> <span class="constant-syntax">USED_IN_OPTIONS_MD_HL</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">USED_IN_EXTENSION_MD_HL</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">USE_OPTION_CV_MD_HL</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">USE_OPTION_CHOSEN_MD_HL</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">USE_OPTION_ID_HL</span>
</pre>
<p class="commentary firstcommentary"><a id="SP8_1_48" class="paragraph-anchor"></a><b>&#167;8.1.48. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Establish use options</span><span class="named-paragraph-number">8.1.48</span></span><span class="comment-syntax"> =</span>
@ -2029,7 +2028,6 @@ and <a href="../pipeline-module/4-tsk.html" class="internal">The Standard Kits (
<span class="plain-syntax"> </span><span class="identifier-syntax">H_C_U</span><span class="plain-syntax">(</span><span class="constant-syntax">USED_IN_OPTIONS_MD_HL</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="plain-syntax"> </span><span class="identifier-syntax">H_C_U</span><span class="plain-syntax">(</span><span class="constant-syntax">USED_IN_EXTENSION_MD_HL</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="identifier-syntax">H_C_U</span><span class="plain-syntax">(</span><span class="constant-syntax">USE_OPTION_CV_MD_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^configured_value"</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">H_C_U</span><span class="plain-syntax">(</span><span class="constant-syntax">USE_OPTION_CHOSEN_MD_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^chosen"</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">H_C_U</span><span class="plain-syntax">(</span><span class="constant-syntax">USE_OPTION_ID_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"use_option_id"</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> </span><span class="constant-syntax">H_END</span>
<span class="plain-syntax"> </span><span class="constant-syntax">H_END</span>
@ -2371,7 +2369,7 @@ package holding it. (<span class="extract"><span class="extract-syntax">P</span>
</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">Hierarchy::make_iname_in</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">Hierarchy::make_iname_in</span></span>:<br/><a href="2-hrr.html#SP23">&#167;23</a><br/>Compilation Units - <a href="2-cu.html#SP2_1">&#167;2.1</a><br/>Short Names - <a href="2-sn.html#SP3">&#167;3</a><br/>Completion Module - <a href="3-cm.html#SP1_11_1">&#167;1.11.1</a><br/>Use Options - <a href="3-uo.html#SP1">&#167;1</a>, <a href="3-uo.html#SP1_2">&#167;1.2</a><br/>Enclosures - <a href="4-enc.html#SP1">&#167;1</a><br/>List Literals - <a href="4-ll.html#SP7">&#167;7</a><br/>Text Substitutions - <a href="4-ts.html#SP5">&#167;5</a><br/>Responses - <a href="4-rsp.html#SP2">&#167;2</a><br/>Activities - <a href="5-act.html#SP2">&#167;2</a>, <a href="5-act.html#SP8">&#167;8</a><br/>Adjectives - <a href="5-adj.html#SP2">&#167;2</a>, <a href="5-adj.html#SP3">&#167;3</a>, <a href="5-adj.html#SP10">&#167;10</a>, <a href="5-adj.html#SP15">&#167;15</a><br/>Chronology - <a href="5-chr.html#SP3_3">&#167;3.3</a>, <a href="5-chr.html#SP4">&#167;4</a>, <a href="5-chr.html#SP7">&#167;7</a>, <a href="5-chr.html#SP7_1">&#167;7.1</a>, <a href="5-chr.html#SP8">&#167;8</a><br/>Conjugations - <a href="5-cnj.html#SP6">&#167;6</a>, <a href="5-cnj.html#SP10">&#167;10</a>, <a href="5-cnj.html#SP12">&#167;12</a><br/>Equations - <a href="5-eqt.html#SP1">&#167;1</a><br/>Instances - <a href="5-ins.html#SP4">&#167;4</a><br/>Backdrop Instances - <a href="5-bi.html#SP1">&#167;1</a><br/>Door Instances - <a href="5-di.html#SP2">&#167;2</a>, <a href="5-di.html#SP4">&#167;4</a>, <a href="5-di.html#SP6">&#167;6</a><br/>Region Instances - <a href="5-ri.html#SP1">&#167;1</a><br/>Scene Instances - <a href="5-si.html#SP3">&#167;3</a>, <a href="5-si.html#SP7">&#167;7</a><br/>Tables - <a href="5-tbl.html#SP1">&#167;1</a>, <a href="5-tbl.html#SP2_1_1_1_3">&#167;2.1.1.1.3</a>, <a href="5-tbl.html#SP2_2">&#167;2.2</a>, <a href="5-tbl.html#SP2_3">&#167;2.3</a>, <a href="5-tbl.html#SP5">&#167;5</a><br/>Table Columns - <a href="5-tc.html#SP1">&#167;1</a>, <a href="5-tc.html#SP2">&#167;2</a><br/>Dialogue Beat Instances - <a href="5-dbi.html#SP1">&#167;1</a><br/>Dialogue - <a href="5-dli.html#SP1">&#167;1</a><br/>Dialogue Choice Instances - <a href="5-dci.html#SP1">&#167;1</a><br/>Rules - <a href="5-rls.html#SP3">&#167;3</a>, <a href="5-rls.html#SP5">&#167;5</a>, <a href="5-rls.html#SP7">&#167;7</a><br/>Rulebooks - <a href="5-rlb.html#SP3">&#167;3</a>, <a href="5-rlb.html#SP4">&#167;4</a>, <a href="5-rlb.html#SP8">&#167;8</a>, <a href="5-rlb.html#SP15_3">&#167;15.3</a><br/>Variables - <a href="5-vrb.html#SP14">&#167;14</a>, <a href="5-vrb.html#SP14_1">&#167;14.1</a><br/>Properties - <a href="5-prp.html#SP8_3">&#167;8.3</a><br/>Relations - <a href="5-rlt.html#SP3">&#167;3</a>, <a href="5-rlt.html#SP5">&#167;5</a>, <a href="5-rlt.html#SP6_2">&#167;6.2</a>, <a href="5-rlt.html#SP6_3_2">&#167;6.3.2</a>, <a href="5-rlt.html#SP10">&#167;10</a>, <a href="5-rlt.html#SP10_3">&#167;10.3</a><br/>Literal Patterns - <a href="5-lp.html#SP2">&#167;2</a><br/>Kind Constructors - <a href="5-kc.html#SP1">&#167;1</a>, <a href="5-kc.html#SP2">&#167;2</a>, <a href="5-kc.html#SP3">&#167;3</a>, <a href="5-kc.html#SP4">&#167;4</a>, <a href="5-kc.html#SP10">&#167;10</a><br/>Kind IDs - <a href="5-ki.html#SP8">&#167;8</a>, <a href="5-ki.html#SP9_2">&#167;9.2</a><br/>Actions - <a href="5-act2.html#SP3">&#167;3</a>, <a href="5-act2.html#SP4">&#167;4</a>, <a href="5-act2.html#SP8_1">&#167;8.1</a>, <a href="5-act2.html#SP8_3">&#167;8.3</a>, <a href="5-act2.html#SP8_4">&#167;8.4</a><br/>Named Action Patterns - <a href="5-nap.html#SP2">&#167;2</a><br/>Test Scripts - <a href="5-ts.html#SP2">&#167;2</a><br/>Action Bitmap Property - <a href="6-abp.html#SP1">&#167;1</a><br/>Command Grammars - <a href="7-cg.html#SP6">&#167;6</a>, <a href="7-cg.html#SP7">&#167;7</a>, <a href="7-cg.html#SP8">&#167;8</a>, <a href="7-cg.html#SP11">&#167;11</a>, <a href="7-cg.html#SP16">&#167;16</a><br/>Command Grammar Lines - <a href="7-cgl.html#SP3">&#167;3</a>, <a href="7-cgl.html#SP13">&#167;13</a><br/>Noun Filter Tokens - <a href="7-nft.html#SP2">&#167;2</a><br/>Name Properties - <a href="7-np.html#SP3">&#167;3</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">id</span><span class="plain-syntax">, </span><span class="identifier-syntax">package_request</span><span class="plain-syntax"> *</span><span class="identifier-syntax">P</span><span class="plain-syntax">) {</span>
<span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="function-syntax">Hierarchy::make_iname_in</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">Hierarchy::make_iname_in</span></span>:<br/><a href="2-hrr.html#SP23">&#167;23</a><br/>Compilation Units - <a href="2-cu.html#SP2_1">&#167;2.1</a><br/>Short Names - <a href="2-sn.html#SP3">&#167;3</a><br/>Completion Module - <a href="3-cm.html#SP1_11_1">&#167;1.11.1</a><br/>Use Options - <a href="3-uo.html#SP1">&#167;1</a>, <a href="3-uo.html#SP1_3">&#167;1.3</a><br/>Enclosures - <a href="4-enc.html#SP1">&#167;1</a><br/>List Literals - <a href="4-ll.html#SP7">&#167;7</a><br/>Text Substitutions - <a href="4-ts.html#SP5">&#167;5</a><br/>Responses - <a href="4-rsp.html#SP2">&#167;2</a><br/>Activities - <a href="5-act.html#SP2">&#167;2</a>, <a href="5-act.html#SP8">&#167;8</a><br/>Adjectives - <a href="5-adj.html#SP2">&#167;2</a>, <a href="5-adj.html#SP3">&#167;3</a>, <a href="5-adj.html#SP10">&#167;10</a>, <a href="5-adj.html#SP15">&#167;15</a><br/>Chronology - <a href="5-chr.html#SP3_3">&#167;3.3</a>, <a href="5-chr.html#SP4">&#167;4</a>, <a href="5-chr.html#SP7">&#167;7</a>, <a href="5-chr.html#SP7_1">&#167;7.1</a>, <a href="5-chr.html#SP8">&#167;8</a><br/>Conjugations - <a href="5-cnj.html#SP6">&#167;6</a>, <a href="5-cnj.html#SP10">&#167;10</a>, <a href="5-cnj.html#SP12">&#167;12</a><br/>Equations - <a href="5-eqt.html#SP1">&#167;1</a><br/>Instances - <a href="5-ins.html#SP4">&#167;4</a><br/>Backdrop Instances - <a href="5-bi.html#SP1">&#167;1</a><br/>Door Instances - <a href="5-di.html#SP2">&#167;2</a>, <a href="5-di.html#SP4">&#167;4</a>, <a href="5-di.html#SP6">&#167;6</a><br/>Region Instances - <a href="5-ri.html#SP1">&#167;1</a><br/>Scene Instances - <a href="5-si.html#SP3">&#167;3</a>, <a href="5-si.html#SP7">&#167;7</a><br/>Tables - <a href="5-tbl.html#SP1">&#167;1</a>, <a href="5-tbl.html#SP2_1_1_1_3">&#167;2.1.1.1.3</a>, <a href="5-tbl.html#SP2_2">&#167;2.2</a>, <a href="5-tbl.html#SP2_3">&#167;2.3</a>, <a href="5-tbl.html#SP5">&#167;5</a><br/>Table Columns - <a href="5-tc.html#SP1">&#167;1</a>, <a href="5-tc.html#SP2">&#167;2</a><br/>Dialogue Beat Instances - <a href="5-dbi.html#SP1">&#167;1</a><br/>Dialogue - <a href="5-dli.html#SP1">&#167;1</a><br/>Dialogue Choice Instances - <a href="5-dci.html#SP1">&#167;1</a><br/>Rules - <a href="5-rls.html#SP3">&#167;3</a>, <a href="5-rls.html#SP5">&#167;5</a>, <a href="5-rls.html#SP7">&#167;7</a><br/>Rulebooks - <a href="5-rlb.html#SP3">&#167;3</a>, <a href="5-rlb.html#SP4">&#167;4</a>, <a href="5-rlb.html#SP8">&#167;8</a>, <a href="5-rlb.html#SP15_3">&#167;15.3</a><br/>Variables - <a href="5-vrb.html#SP14">&#167;14</a>, <a href="5-vrb.html#SP14_1">&#167;14.1</a><br/>Properties - <a href="5-prp.html#SP8_3">&#167;8.3</a><br/>Relations - <a href="5-rlt.html#SP3">&#167;3</a>, <a href="5-rlt.html#SP5">&#167;5</a>, <a href="5-rlt.html#SP6_2">&#167;6.2</a>, <a href="5-rlt.html#SP6_3_2">&#167;6.3.2</a>, <a href="5-rlt.html#SP10">&#167;10</a>, <a href="5-rlt.html#SP10_3">&#167;10.3</a><br/>Literal Patterns - <a href="5-lp.html#SP2">&#167;2</a><br/>Kind Constructors - <a href="5-kc.html#SP1">&#167;1</a>, <a href="5-kc.html#SP2">&#167;2</a>, <a href="5-kc.html#SP3">&#167;3</a>, <a href="5-kc.html#SP4">&#167;4</a>, <a href="5-kc.html#SP10">&#167;10</a><br/>Kind IDs - <a href="5-ki.html#SP8">&#167;8</a>, <a href="5-ki.html#SP9_2">&#167;9.2</a><br/>Actions - <a href="5-act2.html#SP3">&#167;3</a>, <a href="5-act2.html#SP4">&#167;4</a>, <a href="5-act2.html#SP8_1">&#167;8.1</a>, <a href="5-act2.html#SP8_3">&#167;8.3</a>, <a href="5-act2.html#SP8_4">&#167;8.4</a><br/>Named Action Patterns - <a href="5-nap.html#SP2">&#167;2</a><br/>Test Scripts - <a href="5-ts.html#SP2">&#167;2</a><br/>Action Bitmap Property - <a href="6-abp.html#SP1">&#167;1</a><br/>Command Grammars - <a href="7-cg.html#SP6">&#167;6</a>, <a href="7-cg.html#SP7">&#167;7</a>, <a href="7-cg.html#SP8">&#167;8</a>, <a href="7-cg.html#SP11">&#167;11</a>, <a href="7-cg.html#SP16">&#167;16</a><br/>Command Grammar Lines - <a href="7-cgl.html#SP3">&#167;3</a>, <a href="7-cgl.html#SP13">&#167;13</a><br/>Noun Filter Tokens - <a href="7-nft.html#SP2">&#167;2</a><br/>Name Properties - <a href="7-np.html#SP3">&#167;3</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">id</span><span class="plain-syntax">, </span><span class="identifier-syntax">package_request</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">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">HierarchyLocations::make_iname_in</span><span class="plain-syntax">(</span><a href="2-emt.html#SP1" class="function-link"><span class="function-syntax">Emit::tree</span></a><span class="plain-syntax">(), </span><span class="identifier-syntax">id</span><span class="plain-syntax">, </span><span class="identifier-syntax">P</span><span class="plain-syntax">);</span>
<span class="plain-syntax">}</span>
</pre>
@ -2539,17 +2537,17 @@ point system, and for those:
</p>
<pre class="displayed-code all-displayed-code code-font">
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Hierarchy::apply_metadata</span><button class="popup" onclick="togglePopup('usagePopup18')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup18">Usage of <span class="code-font"><span class="function-syntax">Hierarchy::apply_metadata</span></span>:<br/>Compilation Units - <a href="2-cu.html#SP2_1_3">&#167;2.1.3</a><br/>Completion Module - <a href="3-cm.html#SP1_9">&#167;1.9</a>, <a href="3-cm.html#SP1_11">&#167;1.11</a>, <a href="3-cm.html#SP1_11_1">&#167;1.11.1</a><br/>Use Options - <a href="3-uo.html#SP1_2">&#167;1.2</a><br/>Activities - <a href="5-act.html#SP8">&#167;8</a><br/>Adjectives - <a href="5-adj.html#SP6">&#167;6</a><br/>Conjugations - <a href="5-cnj.html#SP6">&#167;6</a>, <a href="5-cnj.html#SP7">&#167;7</a><br/>Instances - <a href="5-ins.html#SP4">&#167;4</a><br/>Multimedia - <a href="5-mlt.html#SP2_3">&#167;2.3</a><br/>Tables - <a href="5-tbl.html#SP2_3">&#167;2.3</a><br/>Table Columns - <a href="5-tc.html#SP2">&#167;2</a><br/>Rules - <a href="5-rls.html#SP12_1">&#167;12.1</a><br/>Rulebooks - <a href="5-rlb.html#SP8_1">&#167;8.1</a><br/>Variables - <a href="5-vrb.html#SP14">&#167;14</a><br/>Properties - <a href="5-prp.html#SP8_2">&#167;8.2</a><br/>Relations - <a href="5-rlt.html#SP5">&#167;5</a><br/>Kind Constructors - <a href="5-kc.html#SP1">&#167;1</a>, <a href="5-kc.html#SP10">&#167;10</a>, <a href="5-kc.html#SP10_5">&#167;10.5</a><br/>Actions - <a href="5-act2.html#SP8_3">&#167;8.3</a>, <a href="5-act2.html#SP9">&#167;9</a><br/>Named Action Patterns - <a href="5-nap.html#SP3">&#167;3</a><br/>Phrasebook Index - <a href="6-pi.html#SP1_1">&#167;1.1</a>, <a href="6-pi.html#SP1_2">&#167;1.2</a>, <a href="6-pi.html#SP1_3">&#167;1.3</a><br/>Mapping Hints - <a href="6-mh.html#SP1">&#167;1</a><br/>Inferences - <a href="6-inf.html#SP1">&#167;1</a>, <a href="6-inf.html#SP3">&#167;3</a><br/>Command Grammars - <a href="7-cg.html#SP16">&#167;16</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">package_request</span><span class="plain-syntax"> *</span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">id</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">value</span><span class="plain-syntax">) {</span>
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Hierarchy::apply_metadata</span><button class="popup" onclick="togglePopup('usagePopup18')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup18">Usage of <span class="code-font"><span class="function-syntax">Hierarchy::apply_metadata</span></span>:<br/>Compilation Units - <a href="2-cu.html#SP2_1_3">&#167;2.1.3</a><br/>Completion Module - <a href="3-cm.html#SP1_9">&#167;1.9</a>, <a href="3-cm.html#SP1_11">&#167;1.11</a>, <a href="3-cm.html#SP1_11_1">&#167;1.11.1</a><br/>Use Options - <a href="3-uo.html#SP1_3">&#167;1.3</a><br/>Activities - <a href="5-act.html#SP8">&#167;8</a><br/>Adjectives - <a href="5-adj.html#SP6">&#167;6</a><br/>Conjugations - <a href="5-cnj.html#SP6">&#167;6</a>, <a href="5-cnj.html#SP7">&#167;7</a><br/>Instances - <a href="5-ins.html#SP4">&#167;4</a><br/>Multimedia - <a href="5-mlt.html#SP2_3">&#167;2.3</a><br/>Tables - <a href="5-tbl.html#SP2_3">&#167;2.3</a><br/>Table Columns - <a href="5-tc.html#SP2">&#167;2</a><br/>Rules - <a href="5-rls.html#SP12_1">&#167;12.1</a><br/>Rulebooks - <a href="5-rlb.html#SP8_1">&#167;8.1</a><br/>Variables - <a href="5-vrb.html#SP14">&#167;14</a><br/>Properties - <a href="5-prp.html#SP8_2">&#167;8.2</a><br/>Relations - <a href="5-rlt.html#SP5">&#167;5</a><br/>Kind Constructors - <a href="5-kc.html#SP1">&#167;1</a>, <a href="5-kc.html#SP10">&#167;10</a>, <a href="5-kc.html#SP10_5">&#167;10.5</a><br/>Actions - <a href="5-act2.html#SP8_3">&#167;8.3</a>, <a href="5-act2.html#SP9">&#167;9</a><br/>Named Action Patterns - <a href="5-nap.html#SP3">&#167;3</a><br/>Phrasebook Index - <a href="6-pi.html#SP1_1">&#167;1.1</a>, <a href="6-pi.html#SP1_2">&#167;1.2</a>, <a href="6-pi.html#SP1_3">&#167;1.3</a><br/>Mapping Hints - <a href="6-mh.html#SP1">&#167;1</a><br/>Inferences - <a href="6-inf.html#SP1">&#167;1</a>, <a href="6-inf.html#SP3">&#167;3</a><br/>Command Grammars - <a href="7-cg.html#SP16">&#167;16</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">package_request</span><span class="plain-syntax"> *</span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">id</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">value</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">iname</span><span class="plain-syntax"> = </span><a href="2-hrr.html#SP12" class="function-link"><span class="function-syntax">Hierarchy::make_iname_in</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">id</span><span class="plain-syntax">, </span><span class="identifier-syntax">P</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="2-emt.html#SP7" class="function-link"><span class="function-syntax">Emit::text_constant</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">iname</span><span class="plain-syntax">, </span><span class="identifier-syntax">value</span><span class="plain-syntax">);</span>
<span class="plain-syntax">}</span>
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Hierarchy::apply_metadata_from_number</span><button class="popup" onclick="togglePopup('usagePopup19')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup19">Usage of <span class="code-font"><span class="function-syntax">Hierarchy::apply_metadata_from_number</span></span>:<br/>Compilation Units - <a href="2-cu.html#SP2_1_1">&#167;2.1.1</a>, <a href="2-cu.html#SP2_1_3">&#167;2.1.3</a>, <a href="2-cu.html#SP3">&#167;3</a><br/>Kind Declarations - <a href="2-kd.html#SP7">&#167;7</a><br/>Completion Module - <a href="3-cm.html#SP1_9">&#167;1.9</a>, <a href="3-cm.html#SP1_11">&#167;1.11</a>, <a href="3-cm.html#SP1_11_1">&#167;1.11.1</a><br/>Use Options - <a href="3-uo.html#SP1_2">&#167;1.2</a><br/>Activities - <a href="5-act.html#SP8">&#167;8</a><br/>Conjugations - <a href="5-cnj.html#SP6">&#167;6</a>, <a href="5-cnj.html#SP7">&#167;7</a><br/>Equations - <a href="5-eqt.html#SP1">&#167;1</a><br/>Instances - <a href="5-ins.html#SP4">&#167;4</a><br/>Scene Instances - <a href="5-si.html#SP1">&#167;1</a><br/>Multimedia - <a href="5-mlt.html#SP1">&#167;1</a>, <a href="5-mlt.html#SP2_3">&#167;2.3</a>, <a href="5-mlt.html#SP3_1">&#167;3.1</a><br/>Tables - <a href="5-tbl.html#SP2">&#167;2</a>, <a href="5-tbl.html#SP2_3">&#167;2.3</a><br/>Rules - <a href="5-rls.html#SP12_1">&#167;12.1</a>, <a href="5-rls.html#SP12_2">&#167;12.2</a>, <a href="5-rls.html#SP12_3">&#167;12.3</a>, <a href="5-rls.html#SP13">&#167;13</a><br/>Rulebooks - <a href="5-rlb.html#SP8_1">&#167;8.1</a><br/>Variables - <a href="5-vrb.html#SP14">&#167;14</a><br/>Properties - <a href="5-prp.html#SP8_2">&#167;8.2</a><br/>Relations - <a href="5-rlt.html#SP5">&#167;5</a><br/>Kind Constructors - <a href="5-kc.html#SP1">&#167;1</a>, <a href="5-kc.html#SP10">&#167;10</a>, <a href="5-kc.html#SP10_5">&#167;10.5</a><br/>Actions - <a href="5-act2.html#SP8_3">&#167;8.3</a>, <a href="5-act2.html#SP9">&#167;9</a><br/>Named Action Patterns - <a href="5-nap.html#SP3">&#167;3</a><br/>Test Scripts - <a href="5-ts.html#SP4">&#167;4</a><br/>Mapping Hints - <a href="6-mh.html#SP1">&#167;1</a><br/>Command Grammars - <a href="7-cg.html#SP16">&#167;16</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">package_request</span><span class="plain-syntax"> *</span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">id</span><span class="plain-syntax">, </span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">N</span><span class="plain-syntax">) {</span>
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Hierarchy::apply_metadata_from_number</span><button class="popup" onclick="togglePopup('usagePopup19')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup19">Usage of <span class="code-font"><span class="function-syntax">Hierarchy::apply_metadata_from_number</span></span>:<br/>Compilation Units - <a href="2-cu.html#SP2_1_1">&#167;2.1.1</a>, <a href="2-cu.html#SP2_1_3">&#167;2.1.3</a>, <a href="2-cu.html#SP3">&#167;3</a><br/>Kind Declarations - <a href="2-kd.html#SP7">&#167;7</a><br/>Completion Module - <a href="3-cm.html#SP1_9">&#167;1.9</a>, <a href="3-cm.html#SP1_11">&#167;1.11</a>, <a href="3-cm.html#SP1_11_1">&#167;1.11.1</a><br/>Use Options - <a href="3-uo.html#SP1_3">&#167;1.3</a><br/>Activities - <a href="5-act.html#SP8">&#167;8</a><br/>Conjugations - <a href="5-cnj.html#SP6">&#167;6</a>, <a href="5-cnj.html#SP7">&#167;7</a><br/>Equations - <a href="5-eqt.html#SP1">&#167;1</a><br/>Instances - <a href="5-ins.html#SP4">&#167;4</a><br/>Scene Instances - <a href="5-si.html#SP1">&#167;1</a><br/>Multimedia - <a href="5-mlt.html#SP1">&#167;1</a>, <a href="5-mlt.html#SP2_3">&#167;2.3</a>, <a href="5-mlt.html#SP3_1">&#167;3.1</a><br/>Tables - <a href="5-tbl.html#SP2">&#167;2</a>, <a href="5-tbl.html#SP2_3">&#167;2.3</a><br/>Rules - <a href="5-rls.html#SP12_1">&#167;12.1</a>, <a href="5-rls.html#SP12_2">&#167;12.2</a>, <a href="5-rls.html#SP12_3">&#167;12.3</a>, <a href="5-rls.html#SP13">&#167;13</a><br/>Rulebooks - <a href="5-rlb.html#SP8_1">&#167;8.1</a><br/>Variables - <a href="5-vrb.html#SP14">&#167;14</a><br/>Properties - <a href="5-prp.html#SP8_2">&#167;8.2</a><br/>Relations - <a href="5-rlt.html#SP5">&#167;5</a><br/>Kind Constructors - <a href="5-kc.html#SP1">&#167;1</a>, <a href="5-kc.html#SP10">&#167;10</a>, <a href="5-kc.html#SP10_5">&#167;10.5</a><br/>Actions - <a href="5-act2.html#SP8_3">&#167;8.3</a>, <a href="5-act2.html#SP9">&#167;9</a><br/>Named Action Patterns - <a href="5-nap.html#SP3">&#167;3</a><br/>Test Scripts - <a href="5-ts.html#SP4">&#167;4</a><br/>Mapping Hints - <a href="6-mh.html#SP1">&#167;1</a><br/>Command Grammars - <a href="7-cg.html#SP16">&#167;16</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">package_request</span><span class="plain-syntax"> *</span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">id</span><span class="plain-syntax">, </span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">N</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">iname</span><span class="plain-syntax"> = </span><a href="2-hrr.html#SP12" class="function-link"><span class="function-syntax">Hierarchy::make_iname_in</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">id</span><span class="plain-syntax">, </span><span class="identifier-syntax">P</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="2-emt.html#SP6" class="function-link"><span class="function-syntax">Emit::numeric_constant</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">iname</span><span class="plain-syntax">, </span><span class="identifier-syntax">N</span><span class="plain-syntax">);</span>
<span class="plain-syntax">}</span>
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Hierarchy::apply_metadata_from_iname</span><button class="popup" onclick="togglePopup('usagePopup20')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup20">Usage of <span class="code-font"><span class="function-syntax">Hierarchy::apply_metadata_from_iname</span></span>:<br/>Compilation Units - <a href="2-cu.html#SP3">&#167;3</a><br/>Use Options - <a href="3-uo.html#SP1_2">&#167;1.2</a><br/>Activities - <a href="5-act.html#SP8">&#167;8</a><br/>Instances - <a href="5-ins.html#SP4">&#167;4</a><br/>Scene Instances - <a href="5-si.html#SP1">&#167;1</a><br/>Multimedia - <a href="5-mlt.html#SP2_3">&#167;2.3</a>, <a href="5-mlt.html#SP3_1">&#167;3.1</a><br/>Tables - <a href="5-tbl.html#SP2">&#167;2</a><br/>Dialogue Beat Instances - <a href="5-dbi.html#SP2">&#167;2</a><br/>Dialogue - <a href="5-dli.html#SP3">&#167;3</a><br/>Dialogue Choice Instances - <a href="5-dci.html#SP3">&#167;3</a><br/>Rules - <a href="5-rls.html#SP12_2">&#167;12.2</a><br/>Rulebooks - <a href="5-rlb.html#SP8_1">&#167;8.1</a><br/>Variables - <a href="5-vrb.html#SP14">&#167;14</a><br/>Kind Constructors - <a href="5-kc.html#SP10">&#167;10</a><br/>Actions - <a href="5-act2.html#SP8_3">&#167;8.3</a>, <a href="5-act2.html#SP8_6">&#167;8.6</a><br/>Mapping Hints - <a href="6-mh.html#SP1">&#167;1</a><br/>Command Grammars - <a href="7-cg.html#SP16">&#167;16</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">package_request</span><span class="plain-syntax"> *</span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">id</span><span class="plain-syntax">, </span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">val</span><span class="plain-syntax">) {</span>
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Hierarchy::apply_metadata_from_iname</span><button class="popup" onclick="togglePopup('usagePopup20')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup20">Usage of <span class="code-font"><span class="function-syntax">Hierarchy::apply_metadata_from_iname</span></span>:<br/>Compilation Units - <a href="2-cu.html#SP3">&#167;3</a><br/>Use Options - <a href="3-uo.html#SP1_3">&#167;1.3</a><br/>Activities - <a href="5-act.html#SP8">&#167;8</a><br/>Instances - <a href="5-ins.html#SP4">&#167;4</a><br/>Scene Instances - <a href="5-si.html#SP1">&#167;1</a><br/>Multimedia - <a href="5-mlt.html#SP2_3">&#167;2.3</a>, <a href="5-mlt.html#SP3_1">&#167;3.1</a><br/>Tables - <a href="5-tbl.html#SP2">&#167;2</a><br/>Dialogue Beat Instances - <a href="5-dbi.html#SP2">&#167;2</a><br/>Dialogue - <a href="5-dli.html#SP3">&#167;3</a><br/>Dialogue Choice Instances - <a href="5-dci.html#SP3">&#167;3</a><br/>Rules - <a href="5-rls.html#SP12_2">&#167;12.2</a><br/>Rulebooks - <a href="5-rlb.html#SP8_1">&#167;8.1</a><br/>Variables - <a href="5-vrb.html#SP14">&#167;14</a><br/>Kind Constructors - <a href="5-kc.html#SP10">&#167;10</a><br/>Actions - <a href="5-act2.html#SP8_3">&#167;8.3</a>, <a href="5-act2.html#SP8_6">&#167;8.6</a><br/>Mapping Hints - <a href="6-mh.html#SP1">&#167;1</a><br/>Command Grammars - <a href="7-cg.html#SP16">&#167;16</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">package_request</span><span class="plain-syntax"> *</span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">id</span><span class="plain-syntax">, </span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">val</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">iname</span><span class="plain-syntax"> = </span><a href="2-hrr.html#SP12" class="function-link"><span class="function-syntax">Hierarchy::make_iname_in</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">id</span><span class="plain-syntax">, </span><span class="identifier-syntax">P</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="2-emt.html#SP8" class="function-link"><span class="function-syntax">Emit::iname_constant</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">iname</span><span class="plain-syntax">, </span><span class="identifier-syntax">K_value</span><span class="plain-syntax">, </span><span class="identifier-syntax">val</span><span class="plain-syntax">);</span>
<span class="plain-syntax">}</span>
@ -2561,7 +2559,7 @@ point system, and for those:
<span class="plain-syntax"> </span><span class="identifier-syntax">DISCARD_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">ANT</span><span class="plain-syntax">)</span>
<span class="plain-syntax">}</span>
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Hierarchy::apply_metadata_from_raw_wording</span><button class="popup" onclick="togglePopup('usagePopup22')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup22">Usage of <span class="code-font"><span class="function-syntax">Hierarchy::apply_metadata_from_raw_wording</span></span>:<br/>Completion Module - <a href="3-cm.html#SP1_11_1">&#167;1.11.1</a><br/>Use Options - <a href="3-uo.html#SP1_2">&#167;1.2</a><br/>Activities - <a href="5-act.html#SP8">&#167;8</a><br/>Adjectives - <a href="5-adj.html#SP6">&#167;6</a><br/>Equations - <a href="5-eqt.html#SP1">&#167;1</a><br/>Scene Instances - <a href="5-si.html#SP1">&#167;1</a><br/>Multimedia - <a href="5-mlt.html#SP2_3">&#167;2.3</a><br/>Tables - <a href="5-tbl.html#SP2_3">&#167;2.3</a><br/>Table Columns - <a href="5-tc.html#SP2">&#167;2</a><br/>Rules - <a href="5-rls.html#SP12_1">&#167;12.1</a>, <a href="5-rls.html#SP12_2">&#167;12.2</a><br/>Rulebooks - <a href="5-rlb.html#SP8_1">&#167;8.1</a><br/>Variables - <a href="5-vrb.html#SP14">&#167;14</a><br/>Actions - <a href="5-act2.html#SP8_3">&#167;8.3</a>, <a href="5-act2.html#SP9">&#167;9</a><br/>Phrasebook Index - <a href="6-pi.html#SP1_2_3">&#167;1.2.3</a><br/>Command Grammars - <a href="7-cg.html#SP16">&#167;16</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">package_request</span><span class="plain-syntax"> *</span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">id</span><span class="plain-syntax">, </span><span class="identifier-syntax">wording</span><span class="plain-syntax"> </span><span class="identifier-syntax">W</span><span class="plain-syntax">) {</span>
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Hierarchy::apply_metadata_from_raw_wording</span><button class="popup" onclick="togglePopup('usagePopup22')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup22">Usage of <span class="code-font"><span class="function-syntax">Hierarchy::apply_metadata_from_raw_wording</span></span>:<br/>Completion Module - <a href="3-cm.html#SP1_11_1">&#167;1.11.1</a><br/>Use Options - <a href="3-uo.html#SP1_3">&#167;1.3</a><br/>Activities - <a href="5-act.html#SP8">&#167;8</a><br/>Adjectives - <a href="5-adj.html#SP6">&#167;6</a><br/>Equations - <a href="5-eqt.html#SP1">&#167;1</a><br/>Scene Instances - <a href="5-si.html#SP1">&#167;1</a><br/>Multimedia - <a href="5-mlt.html#SP2_3">&#167;2.3</a><br/>Tables - <a href="5-tbl.html#SP2_3">&#167;2.3</a><br/>Table Columns - <a href="5-tc.html#SP2">&#167;2</a><br/>Rules - <a href="5-rls.html#SP12_1">&#167;12.1</a>, <a href="5-rls.html#SP12_2">&#167;12.2</a><br/>Rulebooks - <a href="5-rlb.html#SP8_1">&#167;8.1</a><br/>Variables - <a href="5-vrb.html#SP14">&#167;14</a><br/>Actions - <a href="5-act2.html#SP8_3">&#167;8.3</a>, <a href="5-act2.html#SP9">&#167;9</a><br/>Phrasebook Index - <a href="6-pi.html#SP1_2_3">&#167;1.2.3</a><br/>Command Grammars - <a href="7-cg.html#SP16">&#167;16</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">package_request</span><span class="plain-syntax"> *</span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">id</span><span class="plain-syntax">, </span><span class="identifier-syntax">wording</span><span class="plain-syntax"> </span><span class="identifier-syntax">W</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">ANT</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">ANT</span><span class="plain-syntax">, </span><span class="string-syntax">"%+W"</span><span class="plain-syntax">, </span><span class="identifier-syntax">W</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="2-hrr.html#SP23" class="function-link"><span class="function-syntax">Hierarchy::apply_metadata</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="identifier-syntax">id</span><span class="plain-syntax">, </span><span class="identifier-syntax">ANT</span><span class="plain-syntax">);</span>

View file

@ -100,7 +100,7 @@ raw I6 matter into the Inter tree.
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER</span><span class="plain-syntax">(</span><span class="identifier-syntax">sti</span><span class="plain-syntax">, </span><span class="identifier-syntax">source_text_intervention</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">sti</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">infs_to_include_with</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">current_sentence</span><span class="plain-syntax"> = </span><span class="identifier-syntax">sti</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">where_made</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><a href="2-emt.html#SP16" class="function-link"><span class="function-syntax">Emit::intervention</span></a><span class="plain-syntax">(</span><a href="2-int.html#SP4" class="function-link"><span class="function-syntax">Interventions::expand_bracket_plus</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">sti</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">matter</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><a href="2-emt.html#SP16" class="function-link"><span class="function-syntax">Emit::intervention</span></a><span class="plain-syntax">(</span><a href="2-int.html#SP3" class="function-link"><span class="function-syntax">Interventions::expand_bracket_plus</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">sti</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">matter</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">sti</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">replacing</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> }</span>
<span class="plain-syntax">}</span>
@ -114,19 +114,11 @@ raw I6 matter into the Inter tree.
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER</span><span class="plain-syntax">(</span><span class="identifier-syntax">sti</span><span class="plain-syntax">, </span><span class="identifier-syntax">source_text_intervention</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">sti</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">infs_to_include_with</span><span class="plain-syntax"> == </span><span class="identifier-syntax">infs</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">current_sentence</span><span class="plain-syntax"> = </span><span class="identifier-syntax">sti</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">where_made</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><a href="2-emt.html#SP17" class="function-link"><span class="function-syntax">Emit::append</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">iname</span><span class="plain-syntax">, </span><a href="2-int.html#SP4" class="function-link"><span class="function-syntax">Interventions::expand_bracket_plus</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">sti</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">matter</span><span class="plain-syntax">));</span>
<span class="plain-syntax"> </span><a href="2-emt.html#SP17" class="function-link"><span class="function-syntax">Emit::append</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">iname</span><span class="plain-syntax">, </span><a href="2-int.html#SP3" class="function-link"><span class="function-syntax">Interventions::expand_bracket_plus</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">sti</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">matter</span><span class="plain-syntax">));</span>
<span class="plain-syntax"> }</span>
<span class="plain-syntax">}</span>
</pre>
<p class="commentary firstcommentary"><a id="SP3" class="paragraph-anchor"></a><b>&#167;3. </b>Thirdly, from use options:
</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">Interventions::from_use_option</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">Interventions::from_use_option</span></span>:<br/>Use Options - <a href="3-uo.html#SP1_5_1">&#167;1.5.1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">S</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><a href="2-emt.html#SP16" class="function-link"><span class="function-syntax">Emit::intervention</span></a><span class="plain-syntax">(</span><a href="2-int.html#SP4" class="function-link"><span class="function-syntax">Interventions::expand_bracket_plus</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">S</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="SP4" class="paragraph-anchor"></a><b>&#167;4. </b>Not to digress,<sup id="fnref:1"><a href="#fn:1" rel="footnote">1</a></sup> but the following function has a surprising history. In the
<p class="commentary firstcommentary"><a id="SP3" class="paragraph-anchor"></a><b>&#167;3. </b>Not to digress,<sup id="fnref:1"><a href="#fn:1" rel="footnote">1</a></sup> but the following function has a surprising history. In the
pre-2015 design of Inform, it was a formidably complex function. It was used
to read <span class="extract"><span class="extract-syntax">*.i6t</span></span> template files, as they were then: the precursors of today's
kits. Those were allowed to use a wide range of complex markup commands which
@ -153,7 +145,7 @@ compiler's specification ambiguous: if <span class="extract"><span class="extrac
perform them in the "wrong" order, what should the compiler do?
<a href="#fnref:2" title="return to text"> &#x21A9;</a></p></li></ul>
<pre class="displayed-code all-displayed-code code-font">
<span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="function-syntax">Interventions::expand_bracket_plus</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">Interventions::expand_bracket_plus</span></span>:<br/><a href="2-int.html#SP1">&#167;1</a>, <a href="2-int.html#SP2">&#167;2</a>, <a href="2-int.html#SP3">&#167;3</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">S</span><span class="plain-syntax">) {</span>
<span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="function-syntax">Interventions::expand_bracket_plus</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">Interventions::expand_bracket_plus</span></span>:<br/><a href="2-int.html#SP1">&#167;1</a>, <a href="2-int.html#SP2">&#167;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">S</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">OUT</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Str::new</span><span class="plain-syntax">();</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">col</span><span class="plain-syntax"> = </span><span class="constant-syntax">1</span><span class="plain-syntax">, </span><span class="identifier-syntax">cr</span><span class="plain-syntax">, </span><span class="identifier-syntax">sfp</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">heading_name</span><span class="plain-syntax">)</span>
@ -162,14 +154,14 @@ perform them in the "wrong" order, what should the compiler do?
<span class="plain-syntax"> </span><span class="reserved-syntax">do</span><span class="plain-syntax"> {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Str::clear</span><span class="plain-syntax">(</span><span class="identifier-syntax">command</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Str::clear</span><span class="plain-syntax">(</span><span class="identifier-syntax">argument</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="2-int.html#SP4_1" class="named-paragraph-link"><span class="named-paragraph">Read next character</span><span class="named-paragraph-number">4.1</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="2-int.html#SP3_1" class="named-paragraph-link"><span class="named-paragraph">Read next character</span><span class="named-paragraph-number">3.1</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">NewCharacter:</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">cr</span><span class="plain-syntax"> == </span><span class="identifier-syntax">EOF</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">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">cr</span><span class="plain-syntax"> == </span><span class="character-syntax">'{'</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="2-int.html#SP4_1" class="named-paragraph-link"><span class="named-paragraph">Read next character</span><span class="named-paragraph-number">4.1</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="2-int.html#SP3_1" class="named-paragraph-link"><span class="named-paragraph">Read next character</span><span class="named-paragraph-number">3.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">cr</span><span class="plain-syntax"> == </span><span class="character-syntax">'-'</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="2-int.html#SP4_3" class="named-paragraph-link"><span class="named-paragraph">Read up to the next close brace as an I6T command and argument</span><span class="named-paragraph-number">4.3</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="2-int.html#SP3_3" class="named-paragraph-link"><span class="named-paragraph">Read up to the next close brace as an I6T command and argument</span><span class="named-paragraph-number">3.3</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::get_first_char</span><span class="plain-syntax">(</span><span class="identifier-syntax">command</span><span class="plain-syntax">) == </span><span class="character-syntax">'!'</span><span class="plain-syntax">) </span><span class="reserved-syntax">continue</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="2-int.html#SP4_4" class="named-paragraph-link"><span class="named-paragraph">Act on I6T command and argument</span><span class="named-paragraph-number">4.4</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="2-int.html#SP3_4" class="named-paragraph-link"><span class="named-paragraph">Act on I6T command and argument</span><span class="named-paragraph-number">3.4</span></a></span><span class="plain-syntax">;</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">else</span><span class="plain-syntax"> { </span><span class="comment-syntax"> otherwise the open brace was a literal</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">) </span><span class="identifier-syntax">PUT_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="character-syntax">'{'</span><span class="plain-syntax">);</span>
@ -177,9 +169,9 @@ perform them in the "wrong" order, what should the compiler do?
<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">cr</span><span class="plain-syntax"> == </span><span class="character-syntax">'('</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="2-int.html#SP4_1" class="named-paragraph-link"><span class="named-paragraph">Read next character</span><span class="named-paragraph-number">4.1</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="2-int.html#SP3_1" class="named-paragraph-link"><span class="named-paragraph">Read next character</span><span class="named-paragraph-number">3.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">cr</span><span class="plain-syntax"> == </span><span class="character-syntax">'+'</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="2-int.html#SP4_2" class="named-paragraph-link"><span class="named-paragraph">Read up to the next plus close-bracket as an I7 expression</span><span class="named-paragraph-number">4.2</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="2-int.html#SP3_2" class="named-paragraph-link"><span class="named-paragraph">Read up to the next plus close-bracket as an I7 expression</span><span class="named-paragraph-number">3.2</span></a></span><span class="plain-syntax">;</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">else</span><span class="plain-syntax"> { </span><span class="comment-syntax"> otherwise the open bracket was a literal</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">) </span><span class="identifier-syntax">PUT_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="character-syntax">'('</span><span class="plain-syntax">);</span>
@ -194,15 +186,15 @@ perform them in the "wrong" order, what should the compiler do?
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">OUT</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>&#167;4.1. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Read next character</span><span class="named-paragraph-number">4.1</span></span><span class="comment-syntax"> =</span>
<p class="commentary firstcommentary"><a id="SP3_1" class="paragraph-anchor"></a><b>&#167;3.1. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Read next character</span><span class="named-paragraph-number">3.1</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">
<span class="plain-syntax"> </span><span class="identifier-syntax">cr</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Str::get_at</span><span class="plain-syntax">(</span><span class="identifier-syntax">S</span><span class="plain-syntax">, </span><span class="identifier-syntax">sfp</span><span class="plain-syntax">); </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">cr</span><span class="plain-syntax"> == </span><span class="constant-syntax">0</span><span class="plain-syntax">) </span><span class="identifier-syntax">cr</span><span class="plain-syntax"> = </span><span class="identifier-syntax">EOF</span><span class="plain-syntax">; </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="identifier-syntax">sfp</span><span class="plain-syntax">++;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">col</span><span class="plain-syntax">++; </span><span class="reserved-syntax">if</span><span class="plain-syntax"> ((</span><span class="identifier-syntax">cr</span><span class="plain-syntax"> == </span><span class="constant-syntax">10</span><span class="plain-syntax">) || (</span><span class="identifier-syntax">cr</span><span class="plain-syntax"> == </span><span class="constant-syntax">13</span><span class="plain-syntax">)) </span><span class="identifier-syntax">col</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">;</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="2-int.html#SP4">&#167;4</a> (three times), <a href="2-int.html#SP4_2">&#167;4.2</a>, <a href="2-int.html#SP4_3">&#167;4.3</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP4_2" class="paragraph-anchor"></a><b>&#167;4.2. </b>Our biggest complication is that I7 expressions can be included in the I6
<ul class="endnotetexts"><li>This code is used in <a href="2-int.html#SP3">&#167;3</a> (three times), <a href="2-int.html#SP3_2">&#167;3.2</a>, <a href="2-int.html#SP3_3">&#167;3.3</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP3_2" class="paragraph-anchor"></a><b>&#167;3.2. </b>Our biggest complication is that I7 expressions can be included in the I6
matter with the <span class="extract"><span class="extract-syntax">(+</span></span> and <span class="extract"><span class="extract-syntax">+)</span></span> notation. For example,
</p>
@ -220,13 +212,13 @@ I6 code like so:
<p class="commentary">which can trigger an unwanted <span class="extract"><span class="extract-syntax">(+</span></span>.
</p>
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Read up to the next plus close-bracket as an I7 expression</span><span class="named-paragraph-number">4.2</span></span><span class="comment-syntax"> =</span>
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Read up to the next plus close-bracket as an I7 expression</span><span class="named-paragraph-number">3.2</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">
<span class="plain-syntax"> </span><span class="identifier-syntax">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">i7_exp</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">while</span><span class="plain-syntax"> (</span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="2-int.html#SP4_1" class="named-paragraph-link"><span class="named-paragraph">Read next character</span><span class="named-paragraph-number">4.1</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="2-int.html#SP3_1" class="named-paragraph-link"><span class="named-paragraph">Read next character</span><span class="named-paragraph-number">3.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">cr</span><span class="plain-syntax"> == </span><span class="identifier-syntax">EOF</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">if</span><span class="plain-syntax"> ((</span><span class="identifier-syntax">cr</span><span class="plain-syntax"> == </span><span class="character-syntax">')'</span><span class="plain-syntax">) &amp;&amp; (</span><span class="identifier-syntax">Str::get_last_char</span><span class="plain-syntax">(</span><span class="identifier-syntax">i7_exp</span><span class="plain-syntax">) == </span><span class="character-syntax">'+'</span><span class="plain-syntax">)) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Str::delete_last_character</span><span class="plain-syntax">(</span><span class="identifier-syntax">i7_exp</span><span class="plain-syntax">); </span><span class="reserved-syntax">break</span><span class="plain-syntax">; }</span>
@ -236,8 +228,8 @@ I6 code like so:
<span class="plain-syntax"> </span><span class="identifier-syntax">CSIInline::eval_bracket_plus_to_text</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">W</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">DISCARD_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">i7_exp</span><span class="plain-syntax">)</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="2-int.html#SP4">&#167;4</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP4_3" class="paragraph-anchor"></a><b>&#167;4.3. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Read up to the next close brace as an I6T command and argument</span><span class="named-paragraph-number">4.3</span></span><span class="comment-syntax"> =</span>
<ul class="endnotetexts"><li>This code is used in <a href="2-int.html#SP3">&#167;3</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP3_3" class="paragraph-anchor"></a><b>&#167;3.3. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Read up to the next close brace as an I6T command and argument</span><span class="named-paragraph-number">3.3</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">
@ -245,15 +237,15 @@ I6 code like so:
<span class="plain-syntax"> </span><span class="identifier-syntax">Str::clear</span><span class="plain-syntax">(</span><span class="identifier-syntax">argument</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">com_mode</span><span class="plain-syntax"> = </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">while</span><span class="plain-syntax"> (</span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="2-int.html#SP4_1" class="named-paragraph-link"><span class="named-paragraph">Read next character</span><span class="named-paragraph-number">4.1</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="2-int.html#SP3_1" class="named-paragraph-link"><span class="named-paragraph">Read next character</span><span class="named-paragraph-number">3.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">cr</span><span class="plain-syntax"> == </span><span class="character-syntax">'}'</span><span class="plain-syntax">) || (</span><span class="identifier-syntax">cr</span><span class="plain-syntax"> == </span><span class="identifier-syntax">EOF</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">if</span><span class="plain-syntax"> ((</span><span class="identifier-syntax">cr</span><span class="plain-syntax"> == </span><span class="character-syntax">':'</span><span class="plain-syntax">) &amp;&amp; (</span><span class="identifier-syntax">com_mode</span><span class="plain-syntax">)) { </span><span class="identifier-syntax">com_mode</span><span class="plain-syntax"> = </span><span class="identifier-syntax">FALSE</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">com_mode</span><span class="plain-syntax">) </span><span class="identifier-syntax">PUT_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">command</span><span class="plain-syntax">, </span><span class="identifier-syntax">cr</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">PUT_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">argument</span><span class="plain-syntax">, </span><span class="identifier-syntax">cr</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> }</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="2-int.html#SP4">&#167;4</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP4_4" class="paragraph-anchor"></a><b>&#167;4.4. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Act on I6T command and argument</span><span class="named-paragraph-number">4.4</span></span><span class="comment-syntax"> =</span>
<ul class="endnotetexts"><li>This code is used in <a href="2-int.html#SP3">&#167;3</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP3_4" class="paragraph-anchor"></a><b>&#167;3.4. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Act on I6T command and argument</span><span class="named-paragraph-number">3.4</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">
@ -266,7 +258,7 @@ I6 code like so:
<span class="plain-syntax"> </span><span class="string-syntax">"that this could be legal Inform 6 which I'm misreading, but if so, try "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"adjusting the spacing to make this problem message go away.)"</span><span class="plain-syntax">);</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="2-int.html#SP4">&#167;4</a>.</li></ul>
<ul class="endnotetexts"><li>This code is used in <a href="2-int.html#SP3">&#167;3</a>.</li></ul>
<nav role="progress"><div class="progresscontainer">
<ul class="progressbar"><li class="progressprev"><a href="2-ea.html">&#10094;</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-rm.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-hrr.html">hrr</a></li><li class="progresssection"><a href="2-ni.html">ni</a></li><li class="progresssection"><a href="2-cu.html">cu</a></li><li class="progresssection"><a href="2-emt.html">emt</a></li><li class="progresssection"><a href="2-ec.html">ec</a></li><li class="progresssection"><a href="2-ea.html">ea</a></li><li class="progresscurrent">int</li><li class="progresssection"><a href="2-sv.html">sv</a></li><li class="progresssection"><a href="2-th.html">th</a></li><li class="progresssection"><a href="2-dv.html">dv</a></li><li class="progresssection"><a href="2-es.html">es</a></li><li class="progresssection"><a href="2-ic.html">ic</a></li><li class="progresssection"><a href="2-kd.html">kd</a></li><li class="progresssection"><a href="2-sc.html">sc</a></li><li class="progresssection"><a href="2-hnae.html">hnae</a></li><li class="progresssection"><a href="2-sn.html">sn</a></li><li class="progresssection"><a href="2-gpr.html">gpr</a></li><li class="progresssection"><a href="2-ie.html">ie</a></li><li class="progresschapter"><a href="3-gm.html">3</a></li><li class="progresschapter"><a href="4-enc.html">4</a></li><li class="progresschapter"><a href="5-act.html">5</a></li><li class="progresschapter"><a href="6-bd.html">6</a></li><li class="progresschapter"><a href="7-cg.html">7</a></li><li class="progressnext"><a href="2-sv.html">&#10095;</a></li></ul></div>
</nav><!--End of weave-->

View file

@ -59,6 +59,8 @@ function togglePopup(material_id) {
<ul class="crumbs"><li><a href="../index.html">Home</a></li><li><a href="../inform7n.html">Inform7</a></li><li><a href="index.html">runtime</a></li><li><a href="index.html#3">Chapter 3: Basics</a></li><li><b>Use Options</b></li></ul></div>
<p class="purpose">To give use options a presence at run-time.</p>
<ul class="toc"><li><a href="3-uo.html#SP6">&#167;6. Deprecated inclusion notation</a></li></ul><hr class="tocbar">
<p class="commentary firstcommentary"><a id="SP1" class="paragraph-anchor"></a><b>&#167;1. </b>The following function compiles everything necessary for use options to
work at runtime:
</p>
@ -85,24 +87,53 @@ work at runtime:
<span class="plain-syntax">}</span>
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">RTUseOptions::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-uo.html#SP1_1" class="named-paragraph-link"><span class="named-paragraph">Calculate the values of configuration constants</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-uo.html#SP1_2" class="named-paragraph-link"><span class="named-paragraph">Apply Inter metadata</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-uo.html#SP1_3" class="named-paragraph-link"><span class="named-paragraph">Compile pragmas from use options which set these</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-uo.html#SP1_4" class="named-paragraph-link"><span class="named-paragraph">Compile configuration values supplied by the compiler itself</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-uo.html#SP1_5" class="named-paragraph-link"><span class="named-paragraph">Compile configuration values supplied by use options</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-uo.html#SP1_1" class="named-paragraph-link"><span class="named-paragraph">Reject inline definitions if we forbid deprecated features</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-uo.html#SP1_2" class="named-paragraph-link"><span class="named-paragraph">Calculate the values of configuration constants</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-uo.html#SP1_3" class="named-paragraph-link"><span class="named-paragraph">Apply Inter 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-uo.html#SP1_4" class="named-paragraph-link"><span class="named-paragraph">Compile pragmas from use options which set these</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-uo.html#SP1_5" class="named-paragraph-link"><span class="named-paragraph">Compile configuration values supplied by the compiler itself</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-uo.html#SP1_6" class="named-paragraph-link"><span class="named-paragraph">Compile configuration values supplied by use options</span><span class="named-paragraph-number">1.6</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax">}</span>
</pre>
<ul class="endnotetexts"><li>The structure use_option_compilation_data is private to this section.</li></ul>
<p class="commentary firstcommentary"><a id="SP1_1" class="paragraph-anchor"></a><b>&#167;1.1. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Calculate the values of configuration constants</span><span class="named-paragraph-number">1.1</span></span><span class="comment-syntax"> =</span>
<p class="commentary firstcommentary"><a id="SP1_1" class="paragraph-anchor"></a><b>&#167;1.1. </b>This is only done here in the runtime module as a convenience of timing.
The potential issue is that by the time "Use no deprecated features" is read,
we have already read all the offending inline definitions.
</p>
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Reject inline definitions if we forbid deprecated features</span><span class="named-paragraph-number">1.1</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">global_compilation_settings</span><span class="plain-syntax">.</span><span class="identifier-syntax">no_deprecated_features</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">-&gt;</span><span class="identifier-syntax">definition_form</span><span class="plain-syntax"> == </span><span class="identifier-syntax">INLINE_UTAS</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">current_sentence</span><span class="plain-syntax"> = </span><span class="identifier-syntax">uo</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">where_created</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">StandardProblems::handmade_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(),</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_UONotationDeprecated</span><span class="plain-syntax">));</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::quote_source</span><span class="plain-syntax">(1, </span><span class="identifier-syntax">current_sentence</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::issue_problem_segment</span><span class="plain-syntax">(</span>
<span class="plain-syntax"> </span><span class="string-syntax">"In %1, you set up a use option, but you use the deprecated notation "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"'(- ... -)' to say what to do if this option is set. Since you "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"also have 'Use no deprecated features' set, I'm issuing a problem "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"message. (For now, though, this would have worked if it hadn't been "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"for 'Use no deprecated features'.)"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::issue_problem_end</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-uo.html#SP1">&#167;1</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP1_2" class="paragraph-anchor"></a><b>&#167;1.2. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Calculate the values of configuration constants</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">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="named-paragraph-container code-font"><a href="3-uo.html#SP1_1_1" class="named-paragraph-link"><span class="named-paragraph">Calculate the value to use</span><span class="named-paragraph-number">1.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-uo.html#SP1_2_1" class="named-paragraph-link"><span class="named-paragraph">Calculate the value to use</span><span class="named-paragraph-number">1.2.1</span></a></span><span class="plain-syntax">;</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="3-uo.html#SP1">&#167;1</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP1_1_1" class="paragraph-anchor"></a><b>&#167;1.1.1. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Calculate the value to use</span><span class="named-paragraph-number">1.1.1</span></span><span class="comment-syntax"> =</span>
<p class="commentary firstcommentary"><a id="SP1_2_1" class="paragraph-anchor"></a><b>&#167;1.2.1. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Calculate the value to use</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">
@ -139,7 +170,7 @@ work at runtime:
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">puos</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">at_least</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">explicits</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">explicits</span><span class="plain-syntax"> == </span><span class="constant-syntax">1</span><span class="plain-syntax">) </span><span class="identifier-syntax">explicit</span><span class="plain-syntax"> = </span><span class="identifier-syntax">puos</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">puos</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">value</span><span class="plain-syntax"> != </span><span class="identifier-syntax">explicit</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">value</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="3-uo.html#SP1_1_1_1" class="named-paragraph-link"><span class="named-paragraph">Issue problem for value conflict</span><span class="named-paragraph-number">1.1.1.1</span></a></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">puos</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">value</span><span class="plain-syntax"> != </span><span class="identifier-syntax">explicit</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">value</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="3-uo.html#SP1_2_1_1" class="named-paragraph-link"><span class="named-paragraph">Issue problem for value conflict</span><span class="named-paragraph-number">1.2.1.1</span></a></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">puos</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">at_least</span><span class="plain-syntax"> == </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">minimum</span><span class="plain-syntax"> &lt; </span><span class="identifier-syntax">puos</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">value</span><span class="plain-syntax">) { </span><span class="identifier-syntax">minimum</span><span class="plain-syntax"> = </span><span class="identifier-syntax">puos</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">value</span><span class="plain-syntax">; </span><span class="identifier-syntax">minimum_puos</span><span class="plain-syntax"> = </span><span class="identifier-syntax">puos</span><span class="plain-syntax">; }</span>
<span class="plain-syntax"> }</span>
@ -172,8 +203,8 @@ work at runtime:
<span class="plain-syntax"> }</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">LOGIF</span><span class="plain-syntax">(</span><span class="identifier-syntax">USE_OPTIONS</span><span class="plain-syntax">, </span><span class="string-syntax">"Determined value of %W = %d\n"</span><span class="plain-syntax">, </span><span class="identifier-syntax">uo</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">name</span><span class="plain-syntax">, </span><span class="identifier-syntax">uo</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">compilation_data</span><span class="plain-syntax">.</span><span class="element-syntax">value_to_use</span><span class="plain-syntax">);</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="3-uo.html#SP1_1">&#167;1.1</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP1_1_1_1" class="paragraph-anchor"></a><b>&#167;1.1.1.1. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Issue problem for value conflict</span><span class="named-paragraph-number">1.1.1.1</span></span><span class="comment-syntax"> =</span>
<ul class="endnotetexts"><li>This code is used in <a href="3-uo.html#SP1_2">&#167;1.2</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP1_2_1_1" class="paragraph-anchor"></a><b>&#167;1.2.1.1. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Issue problem for value conflict</span><span class="named-paragraph-number">1.2.1.1</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">
@ -187,8 +218,8 @@ work at runtime:
<span class="plain-syntax"> </span><span class="string-syntax">"earlier setting %2."</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::issue_problem_end</span><span class="plain-syntax">();</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="3-uo.html#SP1_1_1">&#167;1.1.1</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP1_2" class="paragraph-anchor"></a><b>&#167;1.2. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Apply Inter metadata</span><span class="named-paragraph-number">1.2</span></span><span class="comment-syntax"> =</span>
<ul class="endnotetexts"><li>This code is used in <a href="3-uo.html#SP1_2_1">&#167;1.2.1</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP1_3" class="paragraph-anchor"></a><b>&#167;1.3. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Apply Inter 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">
@ -222,12 +253,10 @@ work at runtime:
<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><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_CV_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">-&gt;</span><span class="identifier-syntax">compilation_data</span><span class="plain-syntax">.</span><span class="element-syntax">value_to_use</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_CHOSEN_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><a href="3-uo.html#SP4" class="function-link"><span class="function-syntax">RTUseOptions::used</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">uo</span><span class="plain-syntax">))?1:0);</span>
<span class="plain-syntax"> }</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="3-uo.html#SP1">&#167;1</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP1_3" class="paragraph-anchor"></a><b>&#167;1.3. </b>Some use options convert directly into pragma instructions telling the Inform 6
<p class="commentary firstcommentary"><a id="SP1_4" class="paragraph-anchor"></a><b>&#167;1.4. </b>Some use options convert directly into pragma instructions telling the Inform 6
compiler (assuming we will be using that) to raise some limit. This is done with
ICL ("Inform Control Language") instructions: see the Inform 6 Designer's Manual
for details of these. Any other code-generator can ignore these pragmas.
@ -237,7 +266,7 @@ for details of these. Any other code-generator can ignore these pragmas.
one doesn't, that's not an error; it's just a pragma we suppress.
</p>
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Compile pragmas from use options which set these</span><span class="named-paragraph-number">1.3</span></span><span class="comment-syntax"> =</span>
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Compile pragmas from use options which set these</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">
@ -254,11 +283,11 @@ one doesn't, that's not an error; it's just a pragma we suppress.
<span class="plain-syntax"> }</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="3-uo.html#SP1">&#167;1</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP1_4" class="paragraph-anchor"></a><b>&#167;1.4. </b>A few kit configuration values cannot be set with use options, and are
<p class="commentary firstcommentary"><a id="SP1_5" class="paragraph-anchor"></a><b>&#167;1.5. </b>A few kit configuration values cannot be set with use options, and are
hard-wired into the compiler:
</p>
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Compile configuration values supplied by the compiler itself</span><span class="named-paragraph-number">1.4</span></span><span class="comment-syntax"> =</span>
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Compile configuration values supplied by the compiler itself</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">
@ -279,14 +308,14 @@ hard-wired into the compiler:
<span class="plain-syntax"> }</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="3-uo.html#SP1">&#167;1</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP1_5" class="paragraph-anchor"></a><b>&#167;1.5. </b>There's a little dance here to make sure that every flag or value referred to
<p class="commentary firstcommentary"><a id="SP1_6" class="paragraph-anchor"></a><b>&#167;1.6. </b>There's a little dance here to make sure that every flag or value referred to
in a use option declaration is actually compiled (to a default value if necessary),
but once only. This can be difficult to ensure since multiple use options may
set the same value (probably, but not necessarily, differently). We use a
dictionary of the symbol names being declared to keep track.
</p>
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Compile configuration values supplied by use options</span><span class="named-paragraph-number">1.5</span></span><span class="comment-syntax"> =</span>
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Compile configuration values supplied by use options</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">
@ -298,8 +327,8 @@ dictionary of the symbol names being declared to keep track.
<span class="plain-syntax"> </span><span class="identifier-syntax">LOGIF</span><span class="plain-syntax">(</span><span class="identifier-syntax">USE_OPTIONS</span><span class="plain-syntax">, </span><span class="string-syntax">"use option '%W': "</span><span class="plain-syntax">, </span><span class="identifier-syntax">uo</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">name</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">current_sentence</span><span class="plain-syntax"> = </span><span class="identifier-syntax">uo</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">compilation_data</span><span class="plain-syntax">.</span><span class="element-syntax">value_determined_at</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">active</span><span class="plain-syntax"> = </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">uo</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">definition_form</span><span class="plain-syntax"> == </span><span class="identifier-syntax">INLINE_UTAS</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="3-uo.html#SP1_5_1" class="named-paragraph-link"><span class="named-paragraph">Include raw Inform 6 code</span><span class="named-paragraph-number">1.5.1</span></a></span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-uo.html#SP1_5_2" class="named-paragraph-link"><span class="named-paragraph">Define a symbol</span><span class="named-paragraph-number">1.5.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">uo</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">definition_form</span><span class="plain-syntax"> == </span><span class="identifier-syntax">INLINE_UTAS</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="3-uo.html#SP1_6_1" class="named-paragraph-link"><span class="named-paragraph">Include raw Inform 6 code</span><span class="named-paragraph-number">1.6.1</span></a></span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-uo.html#SP1_6_2" class="named-paragraph-link"><span class="named-paragraph">Define a symbol</span><span class="named-paragraph-number">1.6.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">LOGIF</span><span class="plain-syntax">(</span><span class="identifier-syntax">USE_OPTIONS</span><span class="plain-syntax">, </span><span class="string-syntax">"\nInactive use options (those not set by explicit sentences)\n"</span><span class="plain-syntax">);</span>
@ -308,16 +337,16 @@ dictionary of the symbol names being declared to keep track.
<span class="plain-syntax"> </span><span class="identifier-syntax">LOGIF</span><span class="plain-syntax">(</span><span class="identifier-syntax">USE_OPTIONS</span><span class="plain-syntax">, </span><span class="string-syntax">"use option '%W': "</span><span class="plain-syntax">, </span><span class="identifier-syntax">uo</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">name</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">current_sentence</span><span class="plain-syntax"> = </span><span class="identifier-syntax">uo</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">compilation_data</span><span class="plain-syntax">.</span><span class="element-syntax">value_determined_at</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">active</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><span class="identifier-syntax">uo</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">definition_form</span><span class="plain-syntax"> == </span><span class="identifier-syntax">INLINE_UTAS</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="3-uo.html#SP1_5_1" class="named-paragraph-link"><span class="named-paragraph">Include raw Inform 6 code</span><span class="named-paragraph-number">1.5.1</span></a></span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-uo.html#SP1_5_2" class="named-paragraph-link"><span class="named-paragraph">Define a symbol</span><span class="named-paragraph-number">1.5.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">uo</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">definition_form</span><span class="plain-syntax"> == </span><span class="identifier-syntax">INLINE_UTAS</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="3-uo.html#SP1_6_1" class="named-paragraph-link"><span class="named-paragraph">Include raw Inform 6 code</span><span class="named-paragraph-number">1.6.1</span></a></span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-uo.html#SP1_6_2" class="named-paragraph-link"><span class="named-paragraph">Define a symbol</span><span class="named-paragraph-number">1.6.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">LOGIF</span><span class="plain-syntax">(</span><span class="identifier-syntax">USE_OPTIONS</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">current_sentence</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-uo.html#SP1_5_3" class="named-paragraph-link"><span class="named-paragraph">Default any configuration constants needed by a kit but not addressed by use options</span><span class="named-paragraph-number">1.5.3</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-uo.html#SP1_6_3" class="named-paragraph-link"><span class="named-paragraph">Default any configuration constants needed by a kit but not addressed by use options</span><span class="named-paragraph-number">1.6.3</span></a></span><span class="plain-syntax">;</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="3-uo.html#SP1">&#167;1</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP1_5_1" class="paragraph-anchor"></a><b>&#167;1.5.1. </b>The old-school way for use options to take effect is by causing a constant to
<p class="commentary firstcommentary"><a id="SP1_6_1" class="paragraph-anchor"></a><b>&#167;1.6.1. </b>The old-school way for use options to take effect is by causing a constant to
be defined using inclusion notation. That is, they are defined using Inform 6
notation inside <span class="extract"><span class="extract-syntax">(-</span></span> and <span class="extract"><span class="extract-syntax">-)</span></span> markers: for example,
</p>
@ -333,48 +362,41 @@ notation inside <span class="extract"><span class="extract-syntax">(-</span></sp
<pre class="displayed-code all-displayed-code code-font">
<span class="plain-syntax"> </span><span class="reserved-syntax">Constant</span><span class="plain-syntax"> </span><span class="identifier-syntax">DREAMY_TIME</span><span class="plain-syntax"> = </span><span class="constant-syntax">4096</span><span class="plain-syntax">+3;</span>
</pre>
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Include raw Inform 6 code</span><span class="named-paragraph-number">1.5.1</span></span><span class="comment-syntax"> =</span>
<p class="commentary">All this form of notation is deprecated now, but in the mean time we can still
read almost all such definitions, because almost all users write them in a simple
enough way that we can tell what they want and achieve it by better means.
</p>
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Include raw Inform 6 code</span><span class="named-paragraph-number">1.6.1</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">
<span class="plain-syntax"> </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">UO</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Str::new</span><span class="plain-syntax">();</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">UO</span><span class="plain-syntax">, </span><span class="string-syntax">"%W"</span><span class="plain-syntax">, </span><span class="identifier-syntax">Wordings::from</span><span class="plain-syntax">(</span><span class="identifier-syntax">uo</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">expansion</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Wordings::first_wn</span><span class="plain-syntax">(</span><span class="identifier-syntax">uo</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">expansion</span><span class="plain-syntax">) + </span><span class="constant-syntax">1</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">S</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Str::new</span><span class="plain-syntax">();</span>
<span class="plain-syntax"> </span><span class="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">&lt;</span><span class="identifier-syntax">Str::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">UO</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::get_at</span><span class="plain-syntax">(</span><span class="identifier-syntax">UO</span><span class="plain-syntax">, </span><span class="identifier-syntax">i</span><span class="plain-syntax">) == </span><span class="character-syntax">'{'</span><span class="plain-syntax">) &amp;&amp; (</span><span class="identifier-syntax">Str::get_at</span><span class="plain-syntax">(</span><span class="identifier-syntax">UO</span><span class="plain-syntax">, </span><span class="identifier-syntax">i</span><span class="plain-syntax">+1) == </span><span class="character-syntax">'N'</span><span class="plain-syntax">) &amp;&amp;</span>
<span class="plain-syntax"> (</span><span class="identifier-syntax">Str::get_at</span><span class="plain-syntax">(</span><span class="identifier-syntax">UO</span><span class="plain-syntax">, </span><span class="identifier-syntax">i</span><span class="plain-syntax">+2) == </span><span class="character-syntax">'}'</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">S</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">-&gt;</span><span class="identifier-syntax">compilation_data</span><span class="plain-syntax">.</span><span class="element-syntax">value_to_use</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax"> += </span><span class="constant-syntax">2</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> } </span><span class="reserved-syntax">else</span><span class="plain-syntax"> {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">PUT_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">S</span><span class="plain-syntax">, </span><span class="identifier-syntax">Str::get_at</span><span class="plain-syntax">(</span><span class="identifier-syntax">UO</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>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">active</span><span class="plain-syntax"> == </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">) </span><span class="identifier-syntax">LOGIF</span><span class="plain-syntax">(</span><span class="identifier-syntax">USE_OPTIONS</span><span class="plain-syntax">, </span><span class="string-syntax">"not "</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">LOGIF</span><span class="plain-syntax">(</span><span class="identifier-syntax">USE_OPTIONS</span><span class="plain-syntax">, </span><span class="string-syntax">"inserting (- %S -).\n"</span><span class="plain-syntax">, </span><span class="identifier-syntax">S</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">active</span><span class="plain-syntax">) </span><a href="2-int.html#SP3" class="function-link"><span class="function-syntax">Interventions::from_use_option</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">S</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">UO</span><span class="plain-syntax">, </span><span class="string-syntax">"%W"</span><span class="plain-syntax">, </span><span class="identifier-syntax">Wordings::from</span><span class="plain-syntax">(</span><span class="identifier-syntax">uo</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">expansion</span><span class="plain-syntax">, </span><span class="identifier-syntax">Wordings::first_wn</span><span class="plain-syntax">(</span><span class="identifier-syntax">uo</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">expansion</span><span class="plain-syntax">) + </span><span class="constant-syntax">1</span><span class="plain-syntax">));</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">current_sentence</span><span class="plain-syntax"> = </span><span class="identifier-syntax">uo</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">where_created</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><a href="3-uo.html#SP6" class="function-link"><span class="function-syntax">RTUseOptions::handle_deprecated_definition</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">UO</span><span class="plain-syntax">, </span><span class="identifier-syntax">active</span><span class="plain-syntax">, </span><span class="identifier-syntax">uo</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">compilation_data</span><span class="plain-syntax">.</span><span class="element-syntax">value_to_use</span><span class="plain-syntax">);</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="3-uo.html#SP1_5">&#167;1.5</a> (twice).</li></ul>
<p class="commentary firstcommentary"><a id="SP1_5_2" class="paragraph-anchor"></a><b>&#167;1.5.2. </b>The newer and better way does not involve inclusions (with their concomitant
<ul class="endnotetexts"><li>This code is used in <a href="3-uo.html#SP1_6">&#167;1.6</a> (twice).</li></ul>
<p class="commentary firstcommentary"><a id="SP1_6_2" class="paragraph-anchor"></a><b>&#167;1.6.2. </b>The newer and better way does not involve inclusions (with their concomitant
need to inject splat nodes into the Inter we generate), but instead makes
constants which will be linked into the kit of code we are trying to configure.
</p>
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Define a symbol</span><span class="named-paragraph-number">1.5.2</span></span><span class="comment-syntax"> =</span>
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Define a symbol</span><span class="named-paragraph-number">1.6.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">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">val</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">-&gt;</span><span class="identifier-syntax">compilation_data</span><span class="plain-syntax">.</span><span class="element-syntax">value_to_use</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">uo</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">kit_name</span><span class="plain-syntax">) &gt; </span><span class="constant-syntax">0</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="3-uo.html#SP1_5_2_3" class="named-paragraph-link"><span class="named-paragraph">Vet the kit</span><span class="named-paragraph-number">1.5.2.3</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">uo</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">kit_name</span><span class="plain-syntax">) &gt; </span><span class="constant-syntax">0</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="3-uo.html#SP1_6_2_3" class="named-paragraph-link"><span class="named-paragraph">Vet the kit</span><span class="named-paragraph-number">1.6.2.3</span></a></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">UO</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Str::new</span><span class="plain-syntax">();</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-uo.html#SP1_5_2_1" class="named-paragraph-link"><span class="named-paragraph">Compose the full symbol name UO</span><span class="named-paragraph-number">1.5.2.1</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-uo.html#SP1_6_2_1" class="named-paragraph-link"><span class="named-paragraph">Compose the full symbol name UO</span><span class="named-paragraph-number">1.6.2.1</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">dict_entry</span><span class="plain-syntax"> *</span><span class="identifier-syntax">de</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Dictionaries::find</span><span class="plain-syntax">(</span><span class="identifier-syntax">D</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">use_option</span><span class="plain-syntax"> *</span><span class="identifier-syntax">at</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">de</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">at</span><span class="plain-syntax"> = (</span><span class="identifier-syntax">use_option</span><span class="plain-syntax"> *) </span><span class="identifier-syntax">Dictionaries::value_for_entry</span><span class="plain-syntax">(</span><span class="identifier-syntax">de</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-uo.html#SP4" class="function-link"><span class="function-syntax">RTUseOptions::used</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">uo</span><span class="plain-syntax">)) &amp;&amp; (</span><a href="3-uo.html#SP4" class="function-link"><span class="function-syntax">RTUseOptions::used</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">at</span><span class="plain-syntax">)) &amp;&amp;</span>
<span class="plain-syntax"> (</span><span class="identifier-syntax">at</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">compilation_data</span><span class="plain-syntax">.</span><span class="element-syntax">value_to_use</span><span class="plain-syntax"> != </span><span class="identifier-syntax">uo</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">compilation_data</span><span class="plain-syntax">.</span><span class="element-syntax">value_to_use</span><span class="plain-syntax">)) {</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-uo.html#SP1_5_2_2" class="named-paragraph-link"><span class="named-paragraph">Issue a problem for mutually exclusive options being set</span><span class="named-paragraph-number">1.5.2.2</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-uo.html#SP1_6_2_2" class="named-paragraph-link"><span class="named-paragraph">Issue a problem for mutually exclusive options being set</span><span class="named-paragraph-number">1.6.2.2</span></a></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">LOGIF</span><span class="plain-syntax">(</span><span class="identifier-syntax">USE_OPTIONS</span><span class="plain-syntax">, </span><span class="string-syntax">"doing nothing as %S already set to %d\n"</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">UO</span><span class="plain-syntax">, </span><span class="identifier-syntax">at</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">compilation_data</span><span class="plain-syntax">.</span><span class="element-syntax">value_to_use</span><span class="plain-syntax">);</span>
@ -386,8 +408,8 @@ constants which will be linked into the kit of code we are trying to configure.
<span class="plain-syntax"> </span><a href="3-uo.html#SP3" class="function-link"><span class="function-syntax">RTUseOptions::define_config_constant</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">UO</span><span class="plain-syntax">, </span><span class="identifier-syntax">val</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> }</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="3-uo.html#SP1_5">&#167;1.5</a> (twice).</li></ul>
<p class="commentary firstcommentary"><a id="SP1_5_2_1" class="paragraph-anchor"></a><b>&#167;1.5.2.1. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Compose the full symbol name UO</span><span class="named-paragraph-number">1.5.2.1</span></span><span class="comment-syntax"> =</span>
<ul class="endnotetexts"><li>This code is used in <a href="3-uo.html#SP1_6">&#167;1.6</a> (twice).</li></ul>
<p class="commentary firstcommentary"><a id="SP1_6_2_1" class="paragraph-anchor"></a><b>&#167;1.6.2.1. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Compose the full symbol name UO</span><span class="named-paragraph-number">1.6.2.1</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">
@ -398,8 +420,8 @@ constants which will be linked into the kit of code we are trying to configure.
<span class="plain-syntax"> </span><a href="3-uo.html#SP2" class="function-link"><span class="function-syntax">RTUseOptions::uo_identifier</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">UO</span><span class="plain-syntax">, </span><span class="identifier-syntax">uo</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">kit_name</span><span class="plain-syntax">, </span><span class="identifier-syntax">uo</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">symbol_name</span><span class="plain-syntax">, </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> }</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="3-uo.html#SP1_5_2">&#167;1.5.2</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP1_5_2_2" class="paragraph-anchor"></a><b>&#167;1.5.2.2. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Issue a problem for mutually exclusive options being set</span><span class="named-paragraph-number">1.5.2.2</span></span><span class="comment-syntax"> =</span>
<ul class="endnotetexts"><li>This code is used in <a href="3-uo.html#SP1_6_2">&#167;1.6.2</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP1_6_2_2" class="paragraph-anchor"></a><b>&#167;1.6.2.2. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Issue a problem for mutually exclusive options being set</span><span class="named-paragraph-number">1.6.2.2</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">
@ -417,8 +439,8 @@ constants which will be linked into the kit of code we are trying to configure.
<span class="plain-syntax"> </span><span class="string-syntax">"different possible values of the same parameter."</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::issue_problem_end</span><span class="plain-syntax">();</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="3-uo.html#SP1_5_2">&#167;1.5.2</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP1_5_2_3" class="paragraph-anchor"></a><b>&#167;1.5.2.3. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Vet the kit</span><span class="named-paragraph-number">1.5.2.3</span></span><span class="comment-syntax"> =</span>
<ul class="endnotetexts"><li>This code is used in <a href="3-uo.html#SP1_6_2">&#167;1.6.2</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP1_6_2_3" class="paragraph-anchor"></a><b>&#167;1.6.2.3. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Vet the kit</span><span class="named-paragraph-number">1.6.2.3</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">
@ -461,8 +483,8 @@ constants which will be linked into the kit of code we are trying to configure.
<span class="plain-syntax"> }</span>
<span class="plain-syntax"> }</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="3-uo.html#SP1_5_2">&#167;1.5.2</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP1_5_3" class="paragraph-anchor"></a><b>&#167;1.5.3. </b>Suppose `BasicInformKit` says in its metadata that it expects `SECRET_SAUCE`
<ul class="endnotetexts"><li>This code is used in <a href="3-uo.html#SP1_6_2">&#167;1.6.2</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP1_6_3" class="paragraph-anchor"></a><b>&#167;1.6.3. </b>Suppose `BasicInformKit` says in its metadata that it expects `SECRET_SAUCE`
to be defined, but no use option has been declared which mentions that. We don't
want linking to fail, so we declare this to be 0.
</p>
@ -471,7 +493,7 @@ want linking to fail, so we declare this to be 0.
unimportant because the dictionary is thrown away immediately after this is done.
</p>
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Default any configuration constants needed by a kit but not addressed by use options</span><span class="named-paragraph-number">1.5.3</span></span><span class="comment-syntax"> =</span>
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Default any configuration constants needed by a kit but not addressed by use options</span><span class="named-paragraph-number">1.6.3</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">
@ -491,12 +513,12 @@ unimportant because the dictionary is thrown away immediately after this is done
<span class="plain-syntax"> </span><span class="identifier-syntax">DISCARD_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">UO</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> }</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="3-uo.html#SP1_5">&#167;1.5</a>.</li></ul>
<ul class="endnotetexts"><li>This code is used in <a href="3-uo.html#SP1_6">&#167;1.6</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP2" class="paragraph-anchor"></a><b>&#167;2. </b>This composes constant identifiers:
</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">RTUseOptions::uo_identifier</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">RTUseOptions::uo_identifier</span></span>:<br/><a href="3-uo.html#SP1_5_2_1">&#167;1.5.2.1</a>, <a href="3-uo.html#SP1_5_3">&#167;1.5.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">void</span><span class="plain-syntax"> </span><span class="function-syntax">RTUseOptions::uo_identifier</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">RTUseOptions::uo_identifier</span></span>:<br/><a href="3-uo.html#SP1_6_2_1">&#167;1.6.2.1</a>, <a href="3-uo.html#SP1_6_3">&#167;1.6.3</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">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">kit_name</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">symbol_name</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">flag</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">kit_name</span><span class="plain-syntax">) &gt; </span><span class="constant-syntax">0</span><span class="plain-syntax">) </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"%S`"</span><span class="plain-syntax">, </span><span class="identifier-syntax">kit_name</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">symbol_name</span><span class="plain-syntax">);</span>
@ -513,7 +535,7 @@ of the <span class="extract"><span class="extract-syntax">completion</span></spa
</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">RTUseOptions::define_config_constant</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">RTUseOptions::define_config_constant</span></span>:<br/><a href="3-uo.html#SP1_4">&#167;1.4</a>, <a href="3-uo.html#SP1_5_2">&#167;1.5.2</a>, <a href="3-uo.html#SP1_5_3">&#167;1.5.3</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">UO</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="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">RTUseOptions::define_config_constant</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">RTUseOptions::define_config_constant</span></span>:<br/><a href="3-uo.html#SP1_5">&#167;1.5</a>, <a href="3-uo.html#SP1_6_2">&#167;1.6.2</a>, <a href="3-uo.html#SP1_6_3">&#167;1.6.3</a>, <a href="3-uo.html#SP6_1">&#167;6.1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">UO</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="identifier-syntax">package_request</span><span class="plain-syntax"> *</span><span class="identifier-syntax">R</span><span class="plain-syntax"> = </span><span class="identifier-syntax">LargeScale::completion_submodule</span><span class="plain-syntax">(</span><a href="2-emt.html#SP1" class="function-link"><span class="function-syntax">Emit::tree</span></a><span class="plain-syntax">(),</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">LargeScale::register_submodule_identity</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="string-syntax">"configuration"</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><span class="identifier-syntax">InterNames::explicitly_named</span><span class="plain-syntax">(</span><span class="identifier-syntax">UO</span><span class="plain-syntax">, </span><span class="identifier-syntax">R</span><span class="plain-syntax">);</span>
@ -526,7 +548,7 @@ declared?
</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">RTUseOptions::used</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">RTUseOptions::used</span></span>:<br/><a href="3-uo.html#SP1_1_1">&#167;1.1.1</a>, <a href="3-uo.html#SP1_2">&#167;1.2</a>, <a href="3-uo.html#SP1_5">&#167;1.5</a>, <a href="3-uo.html#SP1_5_2">&#167;1.5.2</a></span></button><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="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">RTUseOptions::used</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">RTUseOptions::used</span></span>:<br/><a href="3-uo.html#SP1_2_1">&#167;1.2.1</a>, <a href="3-uo.html#SP1_3">&#167;1.3</a>, <a href="3-uo.html#SP1_6">&#167;1.6</a>, <a href="3-uo.html#SP1_6_2">&#167;1.6.2</a></span></button><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="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">uo</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">FALSE</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">LinkedLists::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">uo</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">settings_made</span><span class="plain-syntax">) &gt; </span><span class="constant-syntax">0</span><span class="plain-syntax">) </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">;</span>
@ -536,7 +558,7 @@ declared?
</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">RTUseOptions::log_puos</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">RTUseOptions::log_puos</span></span>:<br/><a href="3-uo.html#SP1_1_1">&#167;1.1.1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parsed_use_option_setting</span><span class="plain-syntax"> *</span><span class="identifier-syntax">puos</span><span class="plain-syntax">) {</span>
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">RTUseOptions::log_puos</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">RTUseOptions::log_puos</span></span>:<br/><a href="3-uo.html#SP1_2_1">&#167;1.2.1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parsed_use_option_setting</span><span class="plain-syntax"> *</span><span class="identifier-syntax">puos</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">puos</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) { </span><span class="identifier-syntax">LOGIF</span><span class="plain-syntax">(</span><span class="identifier-syntax">USE_OPTIONS</span><span class="plain-syntax">, </span><span class="string-syntax">"&lt;none&gt;"</span><span class="plain-syntax">); </span><span class="reserved-syntax">return</span><span class="plain-syntax">; }</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">LOGIF</span><span class="plain-syntax">(</span><span class="identifier-syntax">USE_OPTIONS</span><span class="plain-syntax">, </span><span class="string-syntax">"{%W"</span><span class="plain-syntax">, </span><span class="identifier-syntax">puos</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">textual_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">puos</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">at_least</span><span class="plain-syntax"> == </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">) </span><span class="identifier-syntax">LOGIF</span><span class="plain-syntax">(</span><span class="identifier-syntax">USE_OPTIONS</span><span class="plain-syntax">, </span><span class="string-syntax">" &gt;= %d"</span><span class="plain-syntax">, </span><span class="identifier-syntax">puos</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">value</span><span class="plain-syntax">);</span>
@ -544,6 +566,65 @@ declared?
<span class="plain-syntax"> </span><span class="identifier-syntax">LOGIF</span><span class="plain-syntax">(</span><span class="identifier-syntax">USE_OPTIONS</span><span class="plain-syntax">, </span><span class="string-syntax">"}"</span><span class="plain-syntax">);</span>
<span class="plain-syntax">}</span>
</pre>
<p class="commentary firstcommentary"><a id="SP6" class="paragraph-anchor"></a><b>&#167;6. Deprecated inclusion notation. </b>The old-school way for use options to take effect is by causing a constant to
be defined using inclusion notation. That is, they are defined using Inform 6
notation inside <span class="extract"><span class="extract-syntax">(-</span></span> and <span class="extract"><span class="extract-syntax">-)</span></span> markers: for example,
</p>
<pre class="displayed-code all-displayed-code code-font">
<span class="identifier-syntax">Use</span><span class="plain-syntax"> </span><span class="identifier-syntax">feverish</span><span class="plain-syntax"> </span><span class="identifier-syntax">dreams</span><span class="plain-syntax"> </span><span class="identifier-syntax">translates</span><span class="plain-syntax"> </span><span class="identifier-syntax">as</span><span class="plain-syntax"> (- </span><span class="identifier-syntax">Constant</span><span class="plain-syntax"> </span><span class="identifier-syntax">FEVERISH_DREAMS</span><span class="plain-syntax">; -).</span>
<span class="identifier-syntax">Use</span><span class="plain-syntax"> </span><span class="identifier-syntax">hallucination</span><span class="plain-syntax"> </span><span class="identifier-syntax">time</span><span class="plain-syntax"> </span><span class="identifier-syntax">of</span><span class="plain-syntax"> </span><span class="identifier-syntax">at</span><span class="plain-syntax"> </span><span class="identifier-syntax">least</span><span class="plain-syntax"> </span><span class="constant-syntax">1024</span><span class="plain-syntax"> </span><span class="identifier-syntax">translates</span><span class="plain-syntax"> </span><span class="identifier-syntax">as</span>
<span class="plain-syntax"> (- </span><span class="identifier-syntax">Constant</span><span class="plain-syntax"> </span><span class="identifier-syntax">DREAMY_TIME</span><span class="plain-syntax"> = {</span><span class="identifier-syntax">N</span><span class="plain-syntax">}+3; -).</span>
</pre>
<p class="commentary">The <span class="extract"><span class="extract-syntax">{N}</span></span> marker, if present, is converted to the value, producing, say:
</p>
<pre class="displayed-code all-displayed-code code-font">
<span class="plain-syntax"> </span><span class="reserved-syntax">Constant</span><span class="plain-syntax"> </span><span class="identifier-syntax">DREAMY_TIME</span><span class="plain-syntax"> = </span><span class="constant-syntax">4096</span><span class="plain-syntax">+3;</span>
</pre>
<p class="commentary">All this form of notation is deprecated now, but in the mean time we can still
read almost all such definitions, because almost all users write them in a simple
enough way that we can tell what they want and achieve it by better means.
</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">RTUseOptions::check_deprecated_definition</span><span class="plain-syntax">(</span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">UO</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><a href="3-uo.html#SP6" class="function-link"><span class="function-syntax">RTUseOptions::handle_deprecated_definition</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">UO</span><span class="plain-syntax">, </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">, </span><span class="constant-syntax">0</span><span class="plain-syntax">);</span>
<span class="plain-syntax">}</span>
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">RTUseOptions::handle_deprecated_definition</span><button class="popup" onclick="togglePopup('usagePopup5')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup5">Usage of <span class="code-font"><span class="function-syntax">RTUseOptions::handle_deprecated_definition</span></span>:<br/><a href="3-uo.html#SP1_6_1">&#167;1.6.1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">text_stream</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">active</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="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">rv</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_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">val</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><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="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">match_results</span><span class="plain-syntax"> </span><span class="identifier-syntax">mr</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Regexp::create_mr</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">Regexp::match</span><span class="plain-syntax">(&amp;</span><span class="identifier-syntax">mr</span><span class="plain-syntax">, </span><span class="identifier-syntax">UO</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">" *Constant (%C+) *; *"</span><span class="plain-syntax">)) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">identifier</span><span class="plain-syntax"> = </span><span class="identifier-syntax">mr</span><span class="plain-syntax">.</span><span class="identifier-syntax">exp</span><span class="plain-syntax">[0];</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">Regexp::match</span><span class="plain-syntax">(&amp;</span><span class="identifier-syntax">mr</span><span class="plain-syntax">, </span><span class="identifier-syntax">UO</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">" *Constant (%C+) *= *(%d+) *; *"</span><span class="plain-syntax">)) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">identifier</span><span class="plain-syntax"> = </span><span class="identifier-syntax">mr</span><span class="plain-syntax">.</span><span class="identifier-syntax">exp</span><span class="plain-syntax">[0]; </span><span class="identifier-syntax">val</span><span class="plain-syntax"> = (</span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax">) </span><span class="identifier-syntax">Str::atoi</span><span class="plain-syntax">(</span><span class="identifier-syntax">mr</span><span class="plain-syntax">.</span><span class="identifier-syntax">exp</span><span class="plain-syntax">[1], </span><span class="constant-syntax">0</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">Regexp::match</span><span class="plain-syntax">(&amp;</span><span class="identifier-syntax">mr</span><span class="plain-syntax">, </span><span class="identifier-syntax">UO</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">" *Constant (%C+) *= *{N} *; *"</span><span class="plain-syntax">)) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">identifier</span><span class="plain-syntax"> = </span><span class="identifier-syntax">mr</span><span class="plain-syntax">.</span><span class="identifier-syntax">exp</span><span class="plain-syntax">[0]; </span><span class="identifier-syntax">val</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="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Regexp::match</span><span class="plain-syntax">(&amp;</span><span class="identifier-syntax">mr</span><span class="plain-syntax">, </span><span class="identifier-syntax">UO</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">" *Constant (%C+) *= *{N} *%+ *(%d+) *; *"</span><span class="plain-syntax">)) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">identifier</span><span class="plain-syntax"> = </span><span class="identifier-syntax">mr</span><span class="plain-syntax">.</span><span class="identifier-syntax">exp</span><span class="plain-syntax">[0];</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">val</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="identifier-syntax">Str::atoi</span><span class="plain-syntax">(</span><span class="identifier-syntax">mr</span><span class="plain-syntax">.</span><span class="identifier-syntax">exp</span><span class="plain-syntax">[1], </span><span class="constant-syntax">0</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">Regexp::match</span><span class="plain-syntax">(&amp;</span><span class="identifier-syntax">mr</span><span class="plain-syntax">, </span><span class="identifier-syntax">UO</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">" *Constant (%C+) *= *{N} *%* *(%d+) *; *"</span><span class="plain-syntax">)) ||</span>
<span class="plain-syntax"> (</span><span class="identifier-syntax">Regexp::match</span><span class="plain-syntax">(&amp;</span><span class="identifier-syntax">mr</span><span class="plain-syntax">, </span><span class="identifier-syntax">UO</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">" *Constant (%C+) *= *(%d+) *%* *{N} *; *"</span><span class="plain-syntax">))) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">identifier</span><span class="plain-syntax"> = </span><span class="identifier-syntax">mr</span><span class="plain-syntax">.</span><span class="identifier-syntax">exp</span><span class="plain-syntax">[0];</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">val</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="identifier-syntax">Str::atoi</span><span class="plain-syntax">(</span><span class="identifier-syntax">mr</span><span class="plain-syntax">.</span><span class="identifier-syntax">exp</span><span class="plain-syntax">[1], </span><span class="constant-syntax">0</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">identifier</span><span class="plain-syntax">) &gt; </span><span class="constant-syntax">0</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="3-uo.html#SP6_1" class="named-paragraph-link"><span class="named-paragraph">Declare a constant, in a civilised way</span><span class="named-paragraph-number">6.1</span></a></span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Regexp::dispose_of</span><span class="plain-syntax">(&amp;</span><span class="identifier-syntax">mr</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">rv</span><span class="plain-syntax">;</span>
<span class="plain-syntax">}</span>
</pre>
<p class="commentary firstcommentary"><a id="SP6_1" class="paragraph-anchor"></a><b>&#167;6.1. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Declare a constant, in a civilised way</span><span class="named-paragraph-number">6.1</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">active</span><span class="plain-syntax"> == </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">) </span><span class="identifier-syntax">LOGIF</span><span class="plain-syntax">(</span><span class="identifier-syntax">USE_OPTIONS</span><span class="plain-syntax">, </span><span class="string-syntax">"not "</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">LOGIF</span><span class="plain-syntax">(</span><span class="identifier-syntax">USE_OPTIONS</span><span class="plain-syntax">, </span><span class="string-syntax">"deducing %S = %d from (- %S -).\n"</span><span class="plain-syntax">, </span><span class="identifier-syntax">identifier</span><span class="plain-syntax">, </span><span class="identifier-syntax">val</span><span class="plain-syntax">, </span><span class="identifier-syntax">UO</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">active</span><span class="plain-syntax">) </span><a href="3-uo.html#SP3" class="function-link"><span class="function-syntax">RTUseOptions::define_config_constant</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">identifier</span><span class="plain-syntax">, </span><span class="identifier-syntax">val</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">rv</span><span class="plain-syntax"> = </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">;</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="3-uo.html#SP6">&#167;6</a>.</li></ul>
<nav role="progress"><div class="progresscontainer">
<ul class="progressbar"><li class="progressprev"><a href="3-cm.html">&#10094;</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-rm.html">1</a></li><li class="progresschapter"><a href="2-hrr.html">2</a></li><li class="progresscurrentchapter">3</li><li class="progresssection"><a href="3-gm.html">gm</a></li><li class="progresssection"><a href="3-cm.html">cm</a></li><li class="progresscurrent">uo</li><li class="progresschapter"><a href="4-enc.html">4</a></li><li class="progresschapter"><a href="5-act.html">5</a></li><li class="progresschapter"><a href="6-bd.html">6</a></li><li class="progresschapter"><a href="7-cg.html">7</a></li><li class="progressnext"><a href="4-enc.html">&#10095;</a></li></ul></div>
</nav><!--End of weave-->

View file

@ -258,7 +258,7 @@ around it, in byte-accessible memory.
<p class="commentary firstcommentary"><a id="SP3" class="paragraph-anchor"></a><b>&#167;3. </b></p>
<pre class="displayed-code all-displayed-code code-font">
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">RTBibliographicData::story_author_given</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">RTBibliographicData::story_author_given</span></span>:<br/>Use Options - <a href="3-uo.html#SP1_4">&#167;1.4</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">void</span><span class="plain-syntax">) {</span>
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">RTBibliographicData::story_author_given</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">RTBibliographicData::story_author_given</span></span>:<br/>Use Options - <a href="3-uo.html#SP1_5">&#167;1.5</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">if</span><span class="plain-syntax"> ((</span><span class="identifier-syntax">story_author_VAR</span><span class="plain-syntax">) &amp;&amp;</span>
<span class="plain-syntax"> (</span><span class="identifier-syntax">VariableSubjects::has_initial_value_set</span><span class="plain-syntax">(</span><span class="identifier-syntax">story_author_VAR</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">TRUE</span><span class="plain-syntax">;</span>

View file

@ -1,15 +1,15 @@
Size of lexicon: 3121 excerpt meanings
Stored among 843 words out of total vocabulary of 10731
713 words have a start list: longest belongs to report (with 293 meanings)
Size of lexicon: 3119 excerpt meanings
Stored among 841 words out of total vocabulary of 10724
711 words have a start list: longest belongs to report (with 293 meanings)
15 words have an end list: longest belongs to case (with 6 meanings)
29 words have a middle list: longest belongs to to (with 4 meanings)
108 words have a subset list: longest belongs to street (with 4 meanings)
Number of attempts to retrieve: 106600
of which unsuccessful: 88874
of which successful: 17726
Number of attempts to retrieve: 106596
of which unsuccessful: 88872
of which successful: 17724
Total attempts to match against excerpt meanings: 264786
of which, total with incorrect hash codes: 242589
of which, total with correct hash codes: 22197
of which, total which matched: 19431
Total attempts to match against excerpt meanings: 264782
of which, total with incorrect hash codes: 242587
of which, total with correct hash codes: 22195
of which, total which matched: 19429

View file

@ -1,6 +1,6 @@
<preform-nonterminal> internal nti 6 constraint (none) extremes [1, 1]
<if-start-of-paragraph> internal hits 1267/8340 nti 7 constraint (none) extremes [0, 0]
<if-start-of-paragraph> internal hits 1266/8334 nti 7 constraint (none) extremes [0, 0]
<if-not-cap> internal hits 4004/8224 nti 8 constraint (none) extremes [0, 0]
@ -16,15 +16,15 @@
<any-integer> internal nti 10 constraint (none) extremes [1, 1]
<quoted-text> internal hits 2962/25628 nti 11 constraint (none) extremes [1, 1]
<quoted-text> internal hits 2962/25624 nti 11 constraint (none) extremes [1, 1]
<quoted-text-with-subs> internal nti 12 constraint (none) extremes [1, 1]
<quoted-text-without-subs> internal hits 27/54 nti 13 constraint (none) extremes [1, 1]
<quoted-text-without-subs> internal hits 25/50 nti 13 constraint (none) extremes [1, 1]
<empty-text> internal nti 14 constraint (none) extremes [1, 1]
<if-start-of-source-text> internal hits 2/13598 nti 15 constraint (none) extremes [0, 0]
<if-start-of-source-text> internal hits 2/13588 nti 15 constraint (none) extremes [0, 0]
<list-or-division> hits 0/18 nti 16 constraint DS = {16} extremes [3, infinity)
English:
@ -4756,7 +4756,7 @@
<cardinal-number-unlimited> internal hits 46/92 nti 26 constraint (none) extremes [1, 1]
<adjective-name> internal hits 0/262 nti 30 constraint (none) extremes [1, infinity)
<adjective-name> internal hits 0/258 nti 30 constraint (none) extremes [1, infinity)
<optional-definite-article> hits 36438/72876 nti 27 constraint (none) extremes [1, infinity)
English:
@ -4772,21 +4772,21 @@
{...}
constraint (none) extremes [1, infinity)
<optional-article> hits 83134/166268 nti 29 constraint (none) extremes [1, infinity)
<optional-article> hits 83130/166260 nti 29 constraint (none) extremes [1, infinity)
English:
<article> {...}
(hits 16076/47541) (matched long text) constraint (none) extremes [2, infinity)
(hits 16076/47539) (matched long text) constraint (none) extremes [2, infinity)
{...}
(hits 67058/67058) (matched long text) constraint (none) extremes [1, infinity)
(hits 67054/67054) (matched long text) constraint (none) extremes [1, infinity)
<compulsory-article> nti 30 constraint (none) extremes [2, infinity)
English:
<article> {...}
constraint (none) extremes [2, infinity)
<article> internal hits 16586/99266 nti r2 constraint (none) extremes [1, 1]
<article> internal hits 16586/99254 nti r2 constraint (none) extremes [1, 1]
<definite-article> internal hits 20440/236978 nti r2 constraint (none) extremes [1, 1]
<definite-article> internal hits 20440/236974 nti r2 constraint (none) extremes [1, 1]
<indefinite-article> internal hits 2311/43166 nti r2 constraint (none) extremes [1, 1]
@ -5293,7 +5293,7 @@
grammatical case
(hits 1/1) (matched: 'grammatical case') constraint CS = {14} extremes [2, 2]
<if-parsing-phrase-tokens> internal hits 2492/41992 nti 16 constraint (none) extremes [0, 0]
<if-parsing-phrase-tokens> internal hits 2492/41984 nti 16 constraint (none) extremes [0, 0]
<k-kind-prototype> internal hits 167/334 nti 17 constraint (none) extremes [1, infinity)
@ -5319,16 +5319,16 @@
<k-kind>
(hits 5/5) (matched: 'value of kind k') constraint (none) extremes [1, infinity)
<k-kind> hits 5810/103734 nti r5 constraint (none) extremes [1, infinity)
<k-kind> hits 5808/103730 nti r5 constraint (none) extremes [1, infinity)
English:
( <k-kind> )
(hits 0/2047) constraint DS = {r5} & CW = {r2, r5} extremes [3, infinity)
^<if-parsing-phrase-tokens> <k-kind-variable>
(hits 1592/11294) (matched: 'k') constraint CW = {r2, r5} extremes [1, infinity)
(hits 1592/11292) (matched: 'k') constraint CW = {r2, r5} extremes [1, infinity)
<if-parsing-phrase-tokens> <k-variable-definition>
(hits 201/9702) (matched: 'sayable value of kind k') constraint CW = {r2, r5} extremes [1, infinity)
(hits 201/9700) (matched: 'sayable value of kind k') constraint CW = {r2, r5} extremes [1, infinity)
<k-base-kind>
(hits 3656/9501) (matched: 'an ice cream cone') constraint CW = {r2, r5} extremes [1, infinity)
(hits 3654/9499) (matched: 'an ice cream cone') constraint CW = {r2, r5} extremes [1, infinity)
<k-irregular-kind-construction>
(hits 2/16041) (matched: 'object-based rulebook') constraint DS = {r5} extremes [2, infinity)
<k-kind-construction>
@ -5348,7 +5348,7 @@
<k-kind-of-kind> of kind <k-formal-variable>
(hits 81/315) (matched: 'sayable value of kind k') constraint DS = {r5} & CW = {r2, r5} extremes [4, infinity)
<k-base-kind> internal hits 3656/19002 nti r5 constraint CW = {r2, r5} extremes [1, infinity)
<k-base-kind> internal hits 3654/18998 nti r5 constraint CW = {r2, r5} extremes [1, infinity)
<k-irregular-kind-construction> hits 2/32082 nti r5 constraint DS = {r5} extremes [2, infinity)
English:
@ -5424,7 +5424,7 @@
<k-kind>
(hits 100/224) (matched: 'sayable value') constraint (none) extremes [1, infinity)
<k-kind-variable> internal hits 1592/20096 nti r5 constraint CW = {r2, r5} extremes [1, 1]
<k-kind-variable> internal hits 1592/20092 nti r5 constraint CW = {r2, r5} extremes [1, 1]
<k-formal-variable> internal hits 220/1426 nti r5 constraint CW = {r2, r5} extremes [1, 1]
@ -5496,59 +5496,59 @@
<natural-language> internal nti 21 constraint (none) extremes [1, infinity)
<dividing-sentence> hits 208/10698 nti 22 constraint DW = {18, 19} extremes [2, infinity)
<dividing-sentence> hits 207/10688 nti 22 constraint DW = {18, 19} extremes [2, infinity)
English:
<if-start-of-paragraph> <heading>
(hits 200/4156) (matched long text) constraint DS = {18} extremes [2, infinity)
(hits 199/4153) (matched long text) constraint DS = {18} extremes [2, infinity)
<extension-end-marker-sentence>
(hits 8/3802) (matched long text) constraint DS = {19} extremes [3, infinity)
(hits 8/3800) (matched long text) constraint DS = {19} extremes [3, infinity)
<heading> hits 200/2506 nti 18 constraint DS = {18} extremes [2, infinity)
<heading> hits 199/2504 nti 18 constraint DS = {18} extremes [2, infinity)
English:
volume {...}
(hits 6/1253) (matched long text) constraint DS = {18} extremes [2, infinity)
(hits 6/1252) (matched long text) constraint DS = {18} extremes [2, infinity)
book {...}
(hits 0/1247) constraint DS = {18} extremes [2, infinity)
(hits 0/1246) constraint DS = {18} extremes [2, infinity)
part {...}
(hits 14/1247) (matched: 'part two - the physical world model') constraint DS = {18} extremes [2, infinity)
(hits 14/1246) (matched: 'part two - the physical world model') constraint DS = {18} extremes [2, infinity)
chapter {...}
(hits 21/1233) (matched long text) constraint DS = {18} extremes [2, infinity)
(hits 21/1232) (matched long text) constraint DS = {18} extremes [2, infinity)
section {...} ( dialog )
(hits 0/1133) constraint DS = {18} extremes [5, infinity)
(hits 0/1132) constraint DS = {18} extremes [5, infinity)
section {...} ( dialogue )
(hits 0/1133) constraint DS = {18} extremes [5, infinity)
(hits 0/1132) constraint DS = {18} extremes [5, infinity)
section {...}
(hits 159/1212) (matched long text) constraint DS = {18} extremes [2, infinity)
(hits 158/1211) (matched long text) constraint DS = {18} extremes [2, infinity)
<extension-end-marker-sentence> hits 8/7604 nti 19 constraint DS = {19} extremes [3, infinity)
<extension-end-marker-sentence> hits 8/7600 nti 19 constraint DS = {19} extremes [3, infinity)
English:
{...} begin/begins here
(hits 4/3802) (matched long text) constraint DS = {19} extremes [3, infinity)
(hits 4/3800) (matched long text) constraint DS = {19} extremes [3, infinity)
{...} end/ends here
(hits 4/3798) (matched: 'the standard rules end here') constraint DS = {19} extremes [3, infinity)
(hits 4/3796) (matched: 'the standard rules end here') constraint DS = {19} extremes [3, infinity)
<structural-sentence> hits 32/13598 nti 21 constraint (none) extremes [1, infinity)
<structural-sentence> hits 32/13588 nti 21 constraint (none) extremes [1, infinity)
English:
<if-start-of-source-text> <quoted-text>
(hits 0/20) constraint (none) extremes [1, 1]
<if-start-of-source-text> <quoted-text> {...}
(hits 0/6779) constraint (none) extremes [2, infinity)
(hits 0/6774) constraint (none) extremes [2, infinity)
<language-modifying-sentence>
(hits 0/6573) constraint DS = {20} extremes [4, infinity)
(hits 0/6568) constraint DS = {20} extremes [4, infinity)
*
constraint CS = {21} extremes [1, 1]
* <quoted-text-without-subs>
constraint DS = {21} extremes [2, 2]
<if-start-of-paragraph> table {...}
(hits 14/6686) (matched long text) constraint DS = {21} extremes [2, infinity)
(hits 14/6680) (matched long text) constraint DS = {21} extremes [2, infinity)
<if-start-of-paragraph> equation {...}
(hits 0/6672) constraint DS = {21} extremes [2, infinity)
(hits 0/6666) constraint DS = {21} extremes [2, infinity)
include the {...} by {...}
(hits 0/6588) constraint DS = {21} extremes [5, infinity)
(hits 0/6582) constraint DS = {21} extremes [5, infinity)
include {...} by {...}
(hits 18/6672) (matched long text) constraint DS = {21} extremes [4, infinity)
(hits 18/6666) (matched long text) constraint DS = {21} extremes [4, infinity)
include (- {...}
(hits 0/6654) constraint DS = {21} extremes [3, infinity)
(hits 0/6648) constraint DS = {21} extremes [3, infinity)
<comma-divisible-sentence> hits 9/2920 nti 22 constraint DS = {22} extremes [2, infinity)
English:
@ -5563,14 +5563,14 @@
when {...}
(hits 4/1425) (matched: 'when scene begins is a scene based rulebook') constraint DS = {22} extremes [2, infinity)
<language-modifying-sentence> hits 0/13146 nti 20 constraint DS = {20} extremes [4, infinity)
<language-modifying-sentence> hits 0/13136 nti 20 constraint DS = {20} extremes [4, infinity)
English:
include (- {###} in the preform grammar
(hits 0/117) constraint DS = {20} extremes [7, 7]
(hits 0/116) constraint DS = {20} extremes [7, 7]
use {...} language element/elements
(hits 0/6573) constraint DS = {20} extremes [4, infinity)
(hits 0/6568) constraint DS = {20} extremes [4, infinity)
<heading-qualifier> hits 36/472 nti 28 constraint DS = {28} extremes [2, infinity)
<heading-qualifier> hits 36/470 nti 28 constraint DS = {28} extremes [2, infinity)
English:
{...} ( <bracketed-heading-qualifier> )
(hits 19/115) (matched long text) constraint DS = {28} extremes [4, infinity)
@ -5705,30 +5705,30 @@
the {...}
(hits 1/1) (matched: 'the standard rules') constraint DS = {10} extremes [2, infinity)
<control-structure-phrase> hits 2885/18918 nti 11 constraint DS = {11} extremes [1, infinity)
<control-structure-phrase> hits 2885/18906 nti 11 constraint DS = {11} extremes [1, infinity)
English:
if {...} is begin
(hits 0/4656) constraint DS = {11} extremes [4, infinity)
(hits 0/4650) constraint DS = {11} extremes [4, infinity)
if {...} is
(hits 0/5312) constraint DS = {11} extremes [3, infinity)
(hits 0/5306) constraint DS = {11} extremes [3, infinity)
if/unless {...}
(hits 2132/5575) (matched long text) constraint DS = {11} extremes [2, infinity)
(hits 2132/5569) (matched long text) constraint DS = {11} extremes [2, infinity)
repeat {...}
(hits 101/3443) (matched long text) constraint DS = {11} extremes [2, infinity)
(hits 101/3437) (matched long text) constraint DS = {11} extremes [2, infinity)
while {...}
(hits 34/3342) (matched long text) constraint DS = {11} extremes [2, infinity)
(hits 34/3336) (matched long text) constraint DS = {11} extremes [2, infinity)
else/otherwise
(hits 330/345) (matched: 'otherwise') constraint CS = {11} extremes [1, 1]
else/otherwise if/unless {...}
(hits 231/3045) (matched long text) constraint DS = {11} extremes [3, infinity)
(hits 231/3039) (matched long text) constraint DS = {11} extremes [3, infinity)
else/otherwise {...}
(hits 57/3077) (matched long text) constraint DS = {11} extremes [2, infinity)
(hits 57/3071) (matched long text) constraint DS = {11} extremes [2, infinity)
-- otherwise
constraint CS = {11} extremes [2, 2]
-- {...}
(hits 0/3020) constraint DS = {11} extremes [2, infinity)
(hits 0/3014) constraint DS = {11} extremes [2, infinity)
<end-control-structure-phrase> hits 0/12088 nti 12 constraint CS = {12} extremes [2, 2]
<end-control-structure-phrase> hits 0/12080 nti 12 constraint CS = {12} extremes [2, 2]
English:
end if/unless
constraint CS = {12} extremes [2, 2]
@ -5737,24 +5737,24 @@
end repeat
constraint CS = {12} extremes [2, 2]
<other-significant-phrase> hits 758/14650 nti 13 constraint DS = {13} extremes [2, infinity)
<other-significant-phrase> hits 758/14646 nti 13 constraint DS = {13} extremes [2, infinity)
English:
say {...}
(hits 585/2850) (matched: 'say run paragraph on with special look spacing') constraint DS = {13} extremes [2, infinity)
(hits 585/2848) (matched: 'say run paragraph on with special look spacing') constraint DS = {13} extremes [2, infinity)
now {...}
(hits 173/2265) (matched long text) constraint DS = {13} extremes [2, infinity)
(hits 173/2263) (matched long text) constraint DS = {13} extremes [2, infinity)
<phrase-with-comma-notation> hits 2309/7540 nti 14 constraint DS = {14} extremes [3, infinity)
English:
{......} , {......}
(hits 2309/2511) (matched long text) constraint DS = {14} extremes [3, infinity)
<instead-keyword> hits 30/9914 nti 15 constraint DS = {15} extremes [2, infinity)
<instead-keyword> hits 30/9910 nti 15 constraint DS = {15} extremes [2, infinity)
English:
instead {...}
(hits 0/1861) constraint DS = {15} extremes [2, infinity)
(hits 0/1859) constraint DS = {15} extremes [2, infinity)
{...} instead
(hits 30/1861) (matched long text) constraint DS = {15} extremes [2, infinity)
(hits 30/1859) (matched long text) constraint DS = {15} extremes [2, infinity)
<phrase-beginning-block> hits 0/874 nti 16 constraint DS = {16} extremes [2, infinity)
English:
@ -6070,20 +6070,20 @@
<use-translates-as-sentence-object> hits 60/120 nti 16 constraint (none) extremes [1, infinity)
English:
(- {###}
(hits 2/2) (matched: '(- Constant SEQUENTIAL_ACTION; ') constraint DS = {16} extremes [2, 2]
constraint DS = {16} extremes [2, 2]
configuration <use-translates-as-configuration>
(hits 0/30) constraint DS = {15, 16} extremes [2, 7]
(hits 0/32) constraint DS = {15, 16} extremes [2, 7]
<article> configuration <use-translates-as-configuration>
(hits 50/50) (matched: 'the configuration value room_desc_detail = 2 in worldmodelkit') constraint DS = {15, 16} extremes [3, 8]
(hits 52/52) (matched: 'the configuration value room_desc_detail = 2 in worldmodelkit') constraint DS = {15, 16} extremes [3, 8]
a compiler feature
(hits 8/8) (matched: 'a compiler feature') constraint CS = {16} extremes [3, 3]
{...}
constraint (none) extremes [1, infinity)
<use-translates-as-configuration> hits 50/100 nti 15 constraint DS = {15} extremes [1, 6]
<use-translates-as-configuration> hits 52/104 nti 15 constraint DS = {15} extremes [1, 6]
English:
flag
constraint CS = {15} extremes [1, 1]
(hits 2/2) (matched: 'flag') constraint CS = {15} extremes [1, 1]
flag <quoted-text>
constraint DS = {15} extremes [2, 2]
flag {###}
@ -6796,14 +6796,14 @@
{...} ( called {...} ) {***}
(hits 18/560) (matched long text) constraint DS = {29} extremes [5, infinity)
<unsuitable-name> hits 0/2036 nti 30 constraint (none) extremes [1, infinity)
<unsuitable-name> hits 0/2032 nti 30 constraint (none) extremes [1, infinity)
English:
<article>
(hits 0/158) constraint (none) extremes [1, 1]
(hits 0/156) constraint (none) extremes [1, 1]
{***} (/)/{/}/,/./(- {***}
(hits 0/304) constraint DS = {30} extremes [1, infinity)
{***} <quoted-text> {***}
(hits 0/948) constraint (none) extremes [1, infinity)
(hits 0/946) constraint (none) extremes [1, infinity)
<unsuitable-name-for-locals> hits 0/1626 nti 6 constraint (none) extremes [1, infinity)
English:
@ -6839,40 +6839,40 @@
(- {###} {...}
(hits 0/66) constraint DS = {9} extremes [3, infinity)
<definition-preamble> hits 46/2774 nti 10 constraint CS = {10} extremes [1, 1]
<definition-preamble> hits 44/2770 nti 10 constraint CS = {10} extremes [1, 1]
English:
definition
(hits 46/46) (matched: 'definition') constraint CS = {10} extremes [1, 1]
(hits 44/44) (matched: 'definition') constraint CS = {10} extremes [1, 1]
<definition-header> hits 46/92 nti 11 constraint CS = {11} extremes [1, 1]
<definition-header> hits 44/88 nti 11 constraint CS = {11} extremes [1, 1]
English:
definition
(hits 46/46) (matched: 'definition') constraint CS = {11} extremes [1, 1]
(hits 44/44) (matched: 'definition') constraint CS = {11} extremes [1, 1]
<adjective-definition> hits 46/92 nti 14 constraint DS = {14} extremes [3, infinity)
<adjective-definition> hits 44/88 nti 14 constraint DS = {14} extremes [3, infinity)
English:
<adjective-domain> is/are <adjective-wording> if {...}
(hits 43/43) (matched long text) constraint DS = {14} extremes [5, infinity)
(hits 41/41) (matched long text) constraint DS = {14} extremes [5, infinity)
<adjective-domain> is/are <adjective-wording> unless {...}
constraint DS = {14} extremes [5, infinity)
<adjective-domain> is/are <adjective-wording>
(hits 3/3) (matched: 'a room is air-conditioned') constraint DS = {14} extremes [3, infinity)
<adjective-domain> hits 46/92 nti 12 constraint (none) extremes [1, infinity)
<adjective-domain> hits 44/88 nti 12 constraint (none) extremes [1, infinity)
English:
{...} ( called the {...} )
(hits 1/1) (matched: 'a thing ( called the item )') constraint DS = {12} extremes [6, infinity)
{...} ( called {...} )
constraint DS = {12} extremes [5, infinity)
{...}
(hits 45/45) (matched: 'a list of values') constraint (none) extremes [1, infinity)
(hits 43/43) (matched: 'a list of values') constraint (none) extremes [1, infinity)
<adjective-wording> hits 46/92 nti 13 constraint (none) extremes [1, infinity)
<adjective-wording> hits 44/88 nti 13 constraint (none) extremes [1, infinity)
English:
{...} rather than {...}
(hits 18/18) (matched: 'even rather than odd') constraint DS = {13} extremes [4, infinity)
{...}
(hits 28/28) (matched: 'going on') constraint (none) extremes [1, infinity)
(hits 26/26) (matched: 'going on') constraint (none) extremes [1, infinity)
<to-phrase-preamble> hits 503/2682 nti 15 constraint DS = {15} extremes [1, infinity)
English:
@ -7669,10 +7669,10 @@
i6/inter routine/function {<quoted-text-without-subs>} makes it so ( {...} )
(hits 8/14) (matched long text) constraint DS = {24} extremes [9, infinity)
<inform6-condition-adjective-definition> hits 3/84 nti 25 constraint DS = {25} extremes [8, infinity)
<inform6-condition-adjective-definition> hits 1/80 nti 25 constraint DS = {25} extremes [8, infinity)
English:
i6/inter condition <quoted-text-without-subs> says so ( {...} )
(hits 3/24) (matched long text) constraint DS = {25} extremes [8, infinity)
(hits 1/22) (matched long text) constraint DS = {25} extremes [8, infinity)
<s-literal> hits 2100/23896 nti 23 constraint (none) extremes [1, infinity)
English:
@ -7804,7 +7804,7 @@
<s-non-action-condition> internal hits 8/16 nti 21 constraint (none) extremes [1, infinity)
<s-type-expression> internal hits 1967/5230 nti 22 constraint (none) extremes [1, infinity)
<s-type-expression> internal hits 1965/5226 nti 22 constraint (none) extremes [1, infinity)
<s-descriptive-type-expression> internal hits 1279/3074 nti 23 constraint (none) extremes [1, infinity)
@ -8022,21 +8022,21 @@
<s-specifying-noun> internal hits 288/62914 nti 28 constraint (none) extremes [1, infinity)
<s-type-expression-uncached> hits 1952/4838 nti 29 constraint (none) extremes [1, infinity)
<s-type-expression-uncached> hits 1950/4834 nti 29 constraint (none) extremes [1, infinity)
English:
<article> <s-type-expression-unarticled>
(hits 120/400) (matched long text) constraint (none) extremes [2, infinity)
(hits 118/398) (matched long text) constraint (none) extremes [2, infinity)
<s-type-expression-unarticled>
(hits 1832/2299) (matched long text) constraint (none) extremes [1, infinity)
<s-type-expression-unarticled> hits 3137/7804 nti 12 constraint (none) extremes [1, infinity)
<s-type-expression-unarticled> hits 3135/7800 nti 12 constraint (none) extremes [1, infinity)
English:
<s-variable-scope> variable/variables
(hits 2/602) (matched: 'text variables') constraint DS = {12} extremes [2, infinity)
<s-variable-scope> that/which vary/varies
(hits 60/415) (matched: 'action based rule producing nothing that varies') constraint DS = {12} extremes [3, infinity)
<k-kind>
(hits 2452/3840) (matched long text) constraint (none) extremes [1, infinity)
(hits 2450/3838) (matched long text) constraint (none) extremes [1, infinity)
<s-literal>
(hits 221/1388) (matched: 'Represents geographical locations, both indoor
and outdoor, which are not necessarily areas in a building. A player in one
@ -8570,14 +8570,14 @@
{...} than
constraint DS = {15} extremes [2, infinity)
<measurement-adjective-definition> hits 0/86 nti 17 constraint DS = {17} extremes [4, infinity)
<measurement-adjective-definition> hits 0/82 nti 17 constraint DS = {17} extremes [4, infinity)
English:
<possessive-third-person> {...} is/are not {...}
(hits 0/36) constraint DS = {17} extremes [5, infinity)
(hits 0/34) constraint DS = {17} extremes [5, infinity)
<possessive-third-person> {<property-name>} is/are <measurement-range>
(hits 0/36) constraint DS = {17} extremes [4, infinity)
(hits 0/34) constraint DS = {17} extremes [4, infinity)
<possessive-third-person> {...} is/are <measurement-range>
(hits 0/36) constraint DS = {17} extremes [4, infinity)
(hits 0/34) constraint DS = {17} extremes [4, infinity)
<measurement-range> nti 16 constraint (none) extremes [1, infinity)
English:
@ -8681,18 +8681,18 @@
<heading-with-parenthesis> hits 80/160 nti 26 constraint (none) extremes [1, infinity)
English:
{<heading-name-hyphenated>} ( <definite-article> {...} )
(hits 0/48) constraint DS = {26} extremes [5, infinity)
(hits 0/49) constraint DS = {26} extremes [5, infinity)
{<heading-name-hyphenated>} ( {...} )
(hits 0/56) constraint DS = {26} extremes [4, infinity)
(hits 0/57) constraint DS = {26} extremes [4, infinity)
{<heading-name-hyphenated>}
(hits 80/80) (matched long text) constraint (none) extremes [1, infinity)
<heading-name-hyphenated> hits 440/880 nti 25 constraint (none) extremes [1, infinity)
<heading-name-hyphenated> hits 439/878 nti 25 constraint (none) extremes [1, infinity)
English:
{...} - {...} - {...}
(hits 17/361) (matched long text) constraint DS = {25} extremes [5, infinity)
(hits 17/360) (matched long text) constraint DS = {25} extremes [5, infinity)
{...} - {...}
(hits 423/423) (matched long text) constraint DS = {25} extremes [3, infinity)
(hits 422/422) (matched long text) constraint DS = {25} extremes [3, infinity)
{...}
constraint (none) extremes [1, infinity)

View file

@ -1,63 +1,63 @@
Total memory consumption was 123173K = 120 MB
Total memory consumption was 123146K = 120 MB
---- was used for 2064196 objects, in 367945 frames in 0 x 800K = 0K = 0 MB:
---- was used for 2063717 objects, in 367763 frames in 0 x 800K = 0K = 0 MB:
33.1% inter_tree_node_array 58 x 8192 = 475136 objects, 41813824 bytes
20.9% text_stream_array 4686 x 100 = 468600 objects, 26391552 bytes
19.7% linked_list 44563 objects, 24955280 bytes
20.9% text_stream_array 4683 x 100 = 468300 objects, 26374656 bytes
19.7% linked_list 44520 objects, 24931200 bytes
11.2% inter_symbol_array 133 x 1024 = 136192 objects, 14168224 bytes
10.7% inter_error_stash_array 103 x 1024 = 105472 objects, 13503712 bytes
8.2% parse_node 130383 objects, 10430640 bytes
8.2% parse_node 130366 objects, 10429280 bytes
6.0% verb_conjugation 164 objects, 7610912 bytes
4.4% parse_node_annotation_array 348 x 500 = 174000 objects, 5579136 bytes
2.8% scan_directory 866 objects, 3574848 bytes
2.6% pcalc_prop_array 25 x 1000 = 25000 objects, 3400800 bytes
2.5% inter_name_array 67 x 1000 = 67000 objects, 3218144 bytes
2.1% kind_array 67 x 1000 = 67000 objects, 2682144 bytes
1.6% inter_schema_token 14062 objects, 2137424 bytes
1.6% inter_schema_token 14040 objects, 2134080 bytes
1.6% inter_name_generator_array 51 x 1000 = 51000 objects, 2041632 bytes
1.4% package_request 21205 objects, 1866040 bytes
1.4% package_request 21194 objects, 1865072 bytes
1.4% vocabulary_entry_array 164 x 100 = 16400 objects, 1842048 bytes
1.2% dict_entry_array 478 x 100 = 47800 objects, 1544896 bytes
1.1% match_trie_array 11 x 1000 = 11000 objects, 1496352 bytes
1.1% inter_symbols_table 26642 objects, 1491952 bytes
1.1% inter_symbols_table 26627 objects, 1491112 bytes
1.0% i6_schema_array 23 x 100 = 2300 objects, 1380736 bytes
1.0% inter_package 26642 objects, 1278816 bytes
1.0% inter_package 26627 objects, 1278096 bytes
0.8% map_data 672 objects, 1128960 bytes
0.8% id_body 950 objects, 1086800 bytes
0.8% adjective_meaning 204 objects, 1010208 bytes
0.7% inter_schema_node 8979 objects, 1005648 bytes
0.7% excerpt_meaning 3121 objects, 973752 bytes
0.8% id_body 948 objects, 1084512 bytes
0.7% inter_schema_node 8965 objects, 1004080 bytes
0.7% adjective_meaning 202 objects, 1000304 bytes
0.7% excerpt_meaning 3119 objects, 973128 bytes
0.7% production 3967 objects, 920344 bytes
0.7% ptoken 8623 objects, 896792 bytes
0.6% grammatical_usage 3637 objects, 872880 bytes
0.6% individual_form 2569 objects, 863184 bytes
0.6% individual_form 2567 objects, 862512 bytes
0.5% unary_predicate_array 16 x 1000 = 16000 objects, 640512 bytes
0.3% local_variable_array 47 x 100 = 4700 objects, 452704 bytes
0.3% verb_usage 1148 objects, 394912 bytes
0.2% rule 470 objects, 368480 bytes
0.2% dictionary 7632 objects, 366336 bytes
0.2% dictionary 7630 objects, 366240 bytes
0.2% verb_form 388 objects, 350752 bytes
0.2% noun 2385 objects, 286200 bytes
0.2% compilation_subtask 3364 objects, 269120 bytes
0.2% compilation_subtask 3362 objects, 268960 bytes
0.2% inter_annotation_array 2 x 8192 = 16384 objects, 262208 bytes
0.2% inference_subject 667 objects, 261464 bytes
0.1% vanilla_function 3726 objects, 238464 bytes
0.1% vanilla_function 3722 objects, 238208 bytes
0.1% binary_predicate 326 objects, 172128 bytes
0.1% hierarchy_location 1180 objects, 169920 bytes
0.1% linguistic_stock_item 3327 objects, 159696 bytes
0.1% hierarchy_location 1178 objects, 169632 bytes
0.1% linguistic_stock_item 3325 objects, 159600 bytes
0.1% rule_family_data 401 objects, 147568 bytes
0.1% nonterminal 774 objects, 142416 bytes
0.1% nascent_array 2125 objects, 136000 bytes
---- inference 1703 objects, 122616 bytes
---- documentation_ref 1270 objects, 111760 bytes
---- inter_schema 1525 objects, 109800 bytes
---- imperative_defn 1387 objects, 99864 bytes
---- inter_schema 1523 objects, 109656 bytes
---- imperative_defn 1385 objects, 99720 bytes
---- noun_usage 2408 objects, 96320 bytes
---- anl_entry_array 2 x 1000 = 2000 objects, 96064 bytes
---- preposition 274 objects, 87680 bytes
---- inter_tree 6 objects, 81840 bytes
---- lexical_cluster 2524 objects, 80768 bytes
---- inter_tree 6 objects, 81744 bytes
---- lexical_cluster 2522 objects, 80704 bytes
---- pcalc_term_array 2 x 1000 = 2000 objects, 80064 bytes
---- kind_variable_declaration 1655 objects, 79440 bytes
---- rulebook 407 objects, 78144 bytes
@ -66,8 +66,8 @@ Total memory consumption was 123173K = 120 MB
---- linked_list_item_array 4 x 1000 = 4000 objects, 64128 bytes
---- kind_macro_definition 9 objects, 62280 bytes
---- booking 861 objects, 61992 bytes
---- actions_rcd_data 1900 objects, 60800 bytes
---- scenes_rcd_data 1900 objects, 60800 bytes
---- actions_rcd_data 1896 objects, 60672 bytes
---- scenes_rcd_data 1896 objects, 60672 bytes
---- kind_constructor 78 objects, 59280 bytes
---- command_grammar 130 objects, 58240 bytes
---- table 7 objects, 56672 bytes
@ -78,7 +78,7 @@ Total memory consumption was 123173K = 120 MB
---- response_message 408 objects, 52224 bytes
---- ap_clause_array 2 x 400 = 800 objects, 51264 bytes
---- HTML_tag_array 1 x 1000 objects, 48032 bytes
---- heading 207 objects, 46368 bytes
---- heading 206 objects, 46144 bytes
---- text_substitution 437 objects, 41952 bytes
---- to_family_data 503 objects, 40240 bytes
---- activity_list_array 1 x 1000 objects, 40032 bytes
@ -111,11 +111,11 @@ Total memory consumption was 123173K = 120 MB
---- understanding_reference_array 2 x 100 = 200 objects, 16064 bytes
---- action_name_list_array 1 x 1000 objects, 16032 bytes
---- match_avinue_array 1 x 1000 objects, 16032 bytes
---- adjective 139 objects, 15568 bytes
---- adjective 137 objects, 15344 bytes
---- JSON_value 157 objects, 13816 bytes
---- booking_list 407 objects, 13024 bytes
---- adjective_iname_holder 322 objects, 12880 bytes
---- uniqueness_count 474 objects, 11376 bytes
---- adjective_iname_holder 320 objects, 12800 bytes
---- uniqueness_count 473 objects, 11352 bytes
---- web_bibliographic_datum 174 objects, 11136 bytes
---- inter_construct 30 objects, 10320 bytes
---- heading_tree 33 objects, 10296 bytes
@ -147,8 +147,8 @@ Total memory consumption was 123173K = 120 MB
---- submodule_request 86 objects, 3440 bytes
---- method_set 106 objects, 3392 bytes
---- property_setting_bp_data 84 objects, 3360 bytes
---- definition 46 objects, 3312 bytes
---- kind_constructor_comparison_schema_array 1 x 100 objects, 3232 bytes
---- definition 44 objects, 3168 bytes
---- target_vm 20 objects, 2880 bytes
---- JSON_type 39 objects, 2808 bytes
---- JSON_single_requirement 55 objects, 2640 bytes
@ -250,16 +250,16 @@ Total memory consumption was 123173K = 120 MB
100.0% was used for memory not allocated for objects:
57.5% text stream storage 72580980 bytes in 488188 claims
4.2% dictionary storage 5320704 bytes in 7632 claims
57.5% text stream storage 72556632 bytes in 487922 claims
4.2% dictionary storage 5319680 bytes in 7630 claims
---- sorting 2720 bytes in 387 claims
5.7% source text 7200000 bytes in 3 claims
8.5% source text details 10800000 bytes in 2 claims
0.2% documentation fragments 262144 bytes in 1 claim
---- linguistic stock array 81920 bytes in 2 claims
---- small word set array 105600 bytes in 22 claims
3.6% inter symbols storage 4560400 bytes in 28004 claims
13.2% inter bytecode storage 16773692 bytes in 14 claims
3.6% inter symbols storage 4558480 bytes in 27989 claims
13.3% inter bytecode storage 16773540 bytes in 14 claims
4.9% inter links storage 6222976 bytes in 11 claims
0.1% inter tree location list storage 191232 bytes in 32 claims
1.3% instance-of-kind counting 1705636 bytes in 1 claim
@ -268,5 +268,5 @@ Total memory consumption was 123173K = 120 MB
---- code generation workspace for objects 3480 bytes in 19 claims
0.2% emitter array storage 280544 bytes in 2001 claims
-150.0% was overhead - -189312840 bytes = -184875K = -180 MB
-150.0% was overhead - -189247280 bytes = -184811K = -180 MB

View file

@ -28,8 +28,8 @@ ROOT_NT
VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: new-action}
UNPARSED_NOUN_NT'asking for information'
UNPARSED_NOUN_NT'out of world'
IMPERATIVE_NT'carry out asking for information' {unit: 3} {imperative definition: 808}
IMPERATIVE_NT'when play begins' {unit: 3} {imperative definition: 809}
IMPERATIVE_NT'carry out asking for information' {unit: 3} {imperative definition: 806}
IMPERATIVE_NT'when play begins' {unit: 3} {imperative definition: 807}
HEADING_NT'section 1 - errands' {heading 5} {under: H5'section 1 - errands'} {unit: 3}
SENTENCE_NT'the current actor is a person which varies' {unit: 3} {classified}
VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve}
@ -39,8 +39,8 @@ ROOT_NT
VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve}
PROPER_NOUN_NT'current owner' {definite 'the' n/m/f s/p nom/acc} {refined} {eval: NONLOCAL_VARIABLE_NT'current owner' {nonlocal: 'current owner'(var)person}} {created here}
COMMON_NOUN_NT'person which varies' {indefinite 'a' n/m/f nom/acc s} {refined} {refers: infs'values variable-pointer'-k} {creation: << kind=people variable-pointer(x) >>} {eval: TEST_VALUE_NT}
IMPERATIVE_NT'every turn' {unit: 3} {imperative definition: 810}
IMPERATIVE_NT'every turn' {unit: 3} {imperative definition: 811}
IMPERATIVE_NT'every turn' {unit: 3} {imperative definition: 808}
IMPERATIVE_NT'every turn' {unit: 3} {imperative definition: 809}
SENTENCE_NT'a person can be active or passive' {unit: 3} {classified}
VERB_NT'can be' {verb 'be able to be' s/p 3p act IS_TENSE +ve} {special meaning: can-be}
COMMON_NOUN_NT'a person' {refined} {refers: infs'person'} {creation: << kind=person(x) >>} {eval: TEST_VALUE_NT}
@ -56,34 +56,34 @@ ROOT_NT
VERB_NT'are' {verb 'be' 3p p act IS_TENSE +ve}
PROPER_NOUN_NT'character movement rules' {definite 'the' n/m/f s/p nom/acc} {refined} {eval: CONSTANT_NT {kind: rulebook} {rulebook: character movement}} {created here}
COMMON_NOUN_NT'rulebook' {indefinite 'a' n/m/f nom/acc s} {refined} {refers: infs'values based rulebook producing values'-k} {creation: << kind=rulebook(x) >>} {eval: TEST_VALUE_NT}
IMPERATIVE_NT'the first character movement rule' {unit: 3} {imperative definition: 812}
IMPERATIVE_NT'a character movement rule' {unit: 3} {imperative definition: 813}
IMPERATIVE_NT'a character movement rule' {unit: 3} {imperative definition: 814}
IMPERATIVE_NT'to decide whether movement has not yet occurred' {unit: 3} {imperative definition: 815}
IMPERATIVE_NT'definition' {unit: 3} {imperative definition: 816}
IMPERATIVE_NT'definition' {unit: 3} {imperative definition: 817}
IMPERATIVE_NT'the first character movement rule' {unit: 3} {imperative definition: 810}
IMPERATIVE_NT'a character movement rule' {unit: 3} {imperative definition: 811}
IMPERATIVE_NT'a character movement rule' {unit: 3} {imperative definition: 812}
IMPERATIVE_NT'to decide whether movement has not yet occurred' {unit: 3} {imperative definition: 813}
IMPERATIVE_NT'definition' {unit: 3} {imperative definition: 814}
IMPERATIVE_NT'definition' {unit: 3} {imperative definition: 815}
SENTENCE_NT'the shopowner rules is a rulebook' {unit: 3} {classified} {clears pronouns}
VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve}
PROPER_NOUN_NT'shopowner rules' {definite 'the' n/m/f s/p nom/acc} {refined} {eval: CONSTANT_NT {kind: rulebook} {rulebook: shopowner}} {created here}
COMMON_NOUN_NT'rulebook' {indefinite 'a' n/m/f nom/acc s} {refined} {refers: infs'values based rulebook producing values'-k} {creation: << kind=rulebook(x) >>} {eval: TEST_VALUE_NT}
IMPERATIVE_NT'a shopowner rule' {unit: 3} {imperative definition: 818}
IMPERATIVE_NT'report someone closing a door when the person asked owns the' {unit: 3} {imperative definition: 819}
IMPERATIVE_NT'report vanessa closing the metal door when the metal door is' {unit: 3} {imperative definition: 820}
IMPERATIVE_NT'a shopowner rule' {unit: 3} {imperative definition: 821}
IMPERATIVE_NT'a shopowner rule' {unit: 3} {imperative definition: 816}
IMPERATIVE_NT'report someone closing a door when the person asked owns the' {unit: 3} {imperative definition: 817}
IMPERATIVE_NT'report vanessa closing the metal door when the metal door is' {unit: 3} {imperative definition: 818}
IMPERATIVE_NT'a shopowner rule' {unit: 3} {imperative definition: 819}
SENTENCE_NT'filing is an action applying to one thing' {unit: 3} {classified}
VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: new-action}
UNPARSED_NOUN_NT'filing'
UNPARSED_NOUN_NT'applying to one thing'
IMPERATIVE_NT'before someone filing something which is not carried by the ' {unit: 3} {imperative definition: 822}
IMPERATIVE_NT'carry out someone filing' {unit: 3} {imperative definition: 823}
IMPERATIVE_NT'report someone filing' {unit: 3} {imperative definition: 824}
IMPERATIVE_NT'before someone filing something which is not carried by the ' {unit: 3} {imperative definition: 820}
IMPERATIVE_NT'carry out someone filing' {unit: 3} {imperative definition: 821}
IMPERATIVE_NT'report someone filing' {unit: 3} {imperative definition: 822}
SENTENCE_NT'the shopper rules is a rulebook' {unit: 3} {classified} {clears pronouns}
VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve}
PROPER_NOUN_NT'shopper rules' {definite 'the' n/m/f s/p nom/acc} {refined} {eval: CONSTANT_NT {kind: rulebook} {rulebook: shopper}} {created here}
COMMON_NOUN_NT'rulebook' {indefinite 'a' n/m/f nom/acc s} {refined} {refers: infs'values based rulebook producing values'-k} {creation: << kind=rulebook(x) >>} {eval: TEST_VALUE_NT}
IMPERATIVE_NT'a shopper rule' {unit: 3} {imperative definition: 825}
IMPERATIVE_NT'a shopper rule' {unit: 3} {imperative definition: 826}
IMPERATIVE_NT'definition' {unit: 3} {imperative definition: 827}
IMPERATIVE_NT'a shopper rule' {unit: 3} {imperative definition: 823}
IMPERATIVE_NT'a shopper rule' {unit: 3} {imperative definition: 824}
IMPERATIVE_NT'definition' {unit: 3} {imperative definition: 825}
DEFN_CONT_NT'a room is air-conditioned' {unit: 3}
CODE_BLOCK_NT
CODE_BLOCK_NT {control structure: IF}
@ -141,8 +141,8 @@ ROOT_NT
COMMON_NOUN_NT'artwork' {indefinite 'an' n/m/f nom/acc s} {refined} {creation: << kind=artwork(x) >>} {refers: infs'artwork'} {eval: TEST_VALUE_NT} {created here}
KIND_NT'kind of thing' {refined} {refers: infs'thing'}
COMMON_NOUN_NT'thing' {refined} {refers: infs'thing'} {creation: << kind=thing(x) >>} {eval: TEST_VALUE_NT}
IMPERATIVE_NT'before printing the name of an artwork' {unit: 3} {imperative definition: 828}
IMPERATIVE_NT'after printing the name of an artwork' {unit: 3} {imperative definition: 829}
IMPERATIVE_NT'before printing the name of an artwork' {unit: 3} {imperative definition: 826}
IMPERATIVE_NT'after printing the name of an artwork' {unit: 3} {imperative definition: 827}
SENTENCE_NT'an artwork can be submitted or reserved' {unit: 3} {classified}
VERB_NT'can be' {verb 'be able to be' s/p 3p act IS_TENSE +ve} {special meaning: can-be}
COMMON_NOUN_NT'an artwork' {refined} {refers: infs'artwork'} {creation: << kind=artwork(x) >>} {eval: TEST_VALUE_NT}
@ -155,49 +155,49 @@ ROOT_NT
COMMON_NOUN_NT'book' {indefinite 'a' n/m/f nom/acc s} {refined} {creation: << kind=book(x) >>} {refers: infs'book'} {eval: TEST_VALUE_NT} {created here}
KIND_NT'kind of artwork' {refined} {refers: infs'artwork'}
COMMON_NOUN_NT'artwork' {refined} {refers: infs'artwork'} {creation: << kind=artwork(x) >>} {eval: TEST_VALUE_NT}
IMPERATIVE_NT'before someone resolving a book when the person asked is not' {unit: 3} {imperative definition: 830}
IMPERATIVE_NT'carry out someone resolving a book' {unit: 3} {imperative definition: 831}
IMPERATIVE_NT'report someone resolving a book' {unit: 3} {imperative definition: 832}
IMPERATIVE_NT'before listing contents' {unit: 3} {imperative definition: 833}
IMPERATIVE_NT'before grouping together books' {unit: 3} {imperative definition: 834}
IMPERATIVE_NT'before someone resolving a book when the person asked is not' {unit: 3} {imperative definition: 828}
IMPERATIVE_NT'carry out someone resolving a book' {unit: 3} {imperative definition: 829}
IMPERATIVE_NT'report someone resolving a book' {unit: 3} {imperative definition: 830}
IMPERATIVE_NT'before listing contents' {unit: 3} {imperative definition: 831}
IMPERATIVE_NT'before grouping together books' {unit: 3} {imperative definition: 832}
SENTENCE_NT'a stamped envelope is a kind of thing' {unit: 3} {classified} {interpretation of subject: infs'book'}
VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve}
COMMON_NOUN_NT'stamped envelope' {indefinite 'a' n/m/f nom/acc s} {refined} {creation: << kind=stamped envelope(x) >>} {refers: infs'stamped envelope'} {eval: TEST_VALUE_NT} {created here}
KIND_NT'kind of thing' {refined} {refers: infs'thing'}
COMMON_NOUN_NT'thing' {refined} {refers: infs'thing'} {creation: << kind=thing(x) >>} {eval: TEST_VALUE_NT}
IMPERATIVE_NT'before someone resolving a stamped envelope when the person ' {unit: 3} {imperative definition: 835}
IMPERATIVE_NT'carry out someone resolving a stamped envelope' {unit: 3} {imperative definition: 836}
IMPERATIVE_NT'report someone resolving a stamped envelope' {unit: 3} {imperative definition: 837}
IMPERATIVE_NT'instead of someone resolving a stamped envelope when the per' {unit: 3} {imperative definition: 838}
IMPERATIVE_NT'before someone resolving a stamped envelope when the person ' {unit: 3} {imperative definition: 833}
IMPERATIVE_NT'carry out someone resolving a stamped envelope' {unit: 3} {imperative definition: 834}
IMPERATIVE_NT'report someone resolving a stamped envelope' {unit: 3} {imperative definition: 835}
IMPERATIVE_NT'instead of someone resolving a stamped envelope when the per' {unit: 3} {imperative definition: 836}
SENTENCE_NT'a dvd is a kind of artwork' {unit: 3} {classified} {interpretation of subject: infs'stamped envelope'}
VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve}
COMMON_NOUN_NT'dvd' {indefinite 'a' n/m/f nom/acc s} {refined} {creation: << kind=dvd(x) >>} {refers: infs'dvd'} {eval: TEST_VALUE_NT} {created here}
KIND_NT'kind of artwork' {refined} {refers: infs'artwork'}
COMMON_NOUN_NT'artwork' {refined} {refers: infs'artwork'} {creation: << kind=artwork(x) >>} {eval: TEST_VALUE_NT}
IMPERATIVE_NT'before someone resolving a dvd when the person asked is not ' {unit: 3} {imperative definition: 839}
IMPERATIVE_NT'carry out someone resolving a dvd' {unit: 3} {imperative definition: 840}
IMPERATIVE_NT'report someone resolving a dvd' {unit: 3} {imperative definition: 841}
IMPERATIVE_NT'instead of someone resolving a dvd when the person asked car' {unit: 3} {imperative definition: 842}
IMPERATIVE_NT'before listing contents' {unit: 3} {imperative definition: 843}
IMPERATIVE_NT'before grouping together dvds' {unit: 3} {imperative definition: 844}
IMPERATIVE_NT'before someone resolving a dvd when the person asked is not ' {unit: 3} {imperative definition: 837}
IMPERATIVE_NT'carry out someone resolving a dvd' {unit: 3} {imperative definition: 838}
IMPERATIVE_NT'report someone resolving a dvd' {unit: 3} {imperative definition: 839}
IMPERATIVE_NT'instead of someone resolving a dvd when the person asked car' {unit: 3} {imperative definition: 840}
IMPERATIVE_NT'before listing contents' {unit: 3} {imperative definition: 841}
IMPERATIVE_NT'before grouping together dvds' {unit: 3} {imperative definition: 842}
SENTENCE_NT'approaching is an action applying to one thing' {unit: 3} {classified}
VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: new-action}
UNPARSED_NOUN_NT'approaching'
UNPARSED_NOUN_NT'applying to one thing'
IMPERATIVE_NT'carry out someone approaching' {unit: 3} {imperative definition: 845}
IMPERATIVE_NT'carry out someone approaching' {unit: 3} {imperative definition: 843}
SENTENCE_NT'a coupon is a kind of thing' {unit: 3} {classified} {interpretation of subject: infs'dvd'}
VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve}
COMMON_NOUN_NT'coupon' {indefinite 'a' n/m/f nom/acc s} {refined} {creation: << kind=coupon(x) >>} {refers: infs'coupon'} {eval: TEST_VALUE_NT} {created here}
KIND_NT'kind of thing' {refined} {refers: infs'thing'}
COMMON_NOUN_NT'thing' {refined} {refers: infs'thing'} {creation: << kind=thing(x) >>} {eval: TEST_VALUE_NT}
IMPERATIVE_NT'carry out someone resolving a coupon' {unit: 3} {imperative definition: 846}
IMPERATIVE_NT'carry out someone resolving a coupon' {unit: 3} {imperative definition: 844}
SENTENCE_NT'the block giving rule is not listed in any rulebook' {unit: 3} {classified}
VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {rule placement sense: negative} {special meaning: rule-listed-in}
UNPARSED_NOUN_NT'the block giving rule'
UNPARSED_NOUN_NT'in any rulebook'
IMPERATIVE_NT'check giving something to someone ( this is the block player' {unit: 3} {imperative definition: 847}
IMPERATIVE_NT'before someone resolving a coupon when the person asked is n' {unit: 3} {imperative definition: 848}
IMPERATIVE_NT'after someone giving a coupon to vanessa' {unit: 3} {imperative definition: 849}
IMPERATIVE_NT'check giving something to someone ( this is the block player' {unit: 3} {imperative definition: 845}
IMPERATIVE_NT'before someone resolving a coupon when the person asked is n' {unit: 3} {imperative definition: 846}
IMPERATIVE_NT'after someone giving a coupon to vanessa' {unit: 3} {imperative definition: 847}
SENTENCE_NT'infection color is a kind of value' {unit: 3} {classified} {interpretation of subject: infs'coupon'}
VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve}
COMMON_NOUN_NT'infection color' {refined} {creation: << kind=infection color(x) >>} {refers: infs'object'-k} {eval: TEST_VALUE_NT} {created here}
@ -257,7 +257,7 @@ ROOT_NT
AND_NT',' {refined}
PROPER_NOUN_NT'saffron silk' {refined} {refers: infs'saffron silk'} {eval: CONSTANT_NT'saffron silk' {kind: infection color} {instance: I81'saffron silk'[infection color]} {enumeration: 25}} {created here}
PROPER_NOUN_NT'cookie dough cream' {refined} {refers: infs'cookie dough cream'} {eval: CONSTANT_NT'cookie dough cream' {kind: infection color} {instance: I82'cookie dough cream'[infection color]} {enumeration: 26}} {created here}
IMPERATIVE_NT'to say list of flavors' {unit: 3} {imperative definition: 850}
IMPERATIVE_NT'to say list of flavors' {unit: 3} {imperative definition: 848}
SENTENCE_NT'understand "ask vanessa for [flavored ice cream]" as buying ' {unit: 3} {classified}
VERB_NT'understand' {verb 'understand' 3p p act IS_TENSE +ve} {prep2: as} {special meaning: understand-as}
UNPARSED_NOUN_NT'"ask vanessa for [flavored ice cream]"'
@ -270,8 +270,8 @@ ROOT_NT
VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: new-action}
UNPARSED_NOUN_NT'buying the flavor'
UNPARSED_NOUN_NT'applying to one infection color'
IMPERATIVE_NT'check buying the flavor' {unit: 3} {imperative definition: 851}
IMPERATIVE_NT'carry out buying the flavor' {unit: 3} {imperative definition: 852}
IMPERATIVE_NT'check buying the flavor' {unit: 3} {imperative definition: 849}
IMPERATIVE_NT'carry out buying the flavor' {unit: 3} {imperative definition: 850}
SENTENCE_NT'understand "ice cream" or "cream" or "ice" or "sherbet" or "' {unit: 3} {classified}
VERB_NT'understand' {verb 'understand' 3p p act IS_TENSE +ve} {prep2: as} {special meaning: understand-as}
UNPARSED_NOUN_NT'"ice cream" or "cream" or "ice" or "sherbet" or "sorbet"'
@ -305,12 +305,12 @@ ROOT_NT
VERB_NT'understand' {verb 'understand' 3p p act IS_TENSE +ve} {prep2: as} {special meaning: understand-as}
UNPARSED_NOUN_NT'the infection color property'
UNPARSED_NOUN_NT'referring to an ice cream cone'
IMPERATIVE_NT'carry out someone resolving an ice cream cone' {unit: 3} {imperative definition: 853}
IMPERATIVE_NT'instead of someone eating a fresh ice cream cone' {unit: 3} {imperative definition: 854}
IMPERATIVE_NT'report someone eating an ice cream cone' {unit: 3} {imperative definition: 855}
IMPERATIVE_NT'before printing the name of an ice cream cone' {unit: 3} {imperative definition: 856}
IMPERATIVE_NT'carry out someone resolving an ice cream cone' {unit: 3} {imperative definition: 851}
IMPERATIVE_NT'instead of someone eating a fresh ice cream cone' {unit: 3} {imperative definition: 852}
IMPERATIVE_NT'report someone eating an ice cream cone' {unit: 3} {imperative definition: 853}
IMPERATIVE_NT'before printing the name of an ice cream cone' {unit: 3} {imperative definition: 854}
HEADING_NT'section 2 - infection rules' {heading 5} {under: H5'section 2 - infection rules'} {unit: 3}
IMPERATIVE_NT'this is the infection rule' {unit: 3} {imperative definition: 857}
IMPERATIVE_NT'this is the infection rule' {unit: 3} {imperative definition: 855}
SENTENCE_NT'a person can be infected or clean' {unit: 3} {classified}
VERB_NT'can be' {verb 'be able to be' s/p 3p act IS_TENSE +ve} {special meaning: can-be}
COMMON_NOUN_NT'a person' {refined} {refers: infs'person'} {creation: << kind=person(x) >>} {eval: TEST_VALUE_NT}
@ -323,11 +323,11 @@ ROOT_NT
COMMON_NOUN_NT'person' {indefinite 'a' n/m/f nom/acc s} {refined} {refers: infs'person'} {creation: << kind=person(x) >>} {eval: TEST_VALUE_NT}
ALLOWED_NT'has' {refined}
UNPARSED_NOUN_NT'infection color' {indefinite 'an' n/m/f nom/acc s} {refined}
IMPERATIVE_NT'every turn' {unit: 3} {imperative definition: 858}
IMPERATIVE_NT'definition' {unit: 3} {imperative definition: 859}
IMPERATIVE_NT'definition' {unit: 3} {imperative definition: 860}
IMPERATIVE_NT'when play begins' {unit: 3} {imperative definition: 861}
IMPERATIVE_NT'every turn' {unit: 3} {imperative definition: 862}
IMPERATIVE_NT'every turn' {unit: 3} {imperative definition: 856}
IMPERATIVE_NT'definition' {unit: 3} {imperative definition: 857}
IMPERATIVE_NT'definition' {unit: 3} {imperative definition: 858}
IMPERATIVE_NT'when play begins' {unit: 3} {imperative definition: 859}
IMPERATIVE_NT'every turn' {unit: 3} {imperative definition: 860}
SENTENCE_NT'understand "sneeze on [something]" as sneezing on' {unit: 3} {classified}
VERB_NT'understand' {verb 'understand' 3p p act IS_TENSE +ve} {prep2: as} {special meaning: understand-as}
UNPARSED_NOUN_NT'"sneeze on [something]"'
@ -336,11 +336,11 @@ ROOT_NT
VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: new-action}
UNPARSED_NOUN_NT'sneezing on'
UNPARSED_NOUN_NT'applying to one thing'
IMPERATIVE_NT'check sneezing on' {unit: 3} {imperative definition: 863}
IMPERATIVE_NT'carry out sneezing on' {unit: 3} {imperative definition: 864}
IMPERATIVE_NT'carry out someone sneezing on' {unit: 3} {imperative definition: 865}
IMPERATIVE_NT'report sneezing on' {unit: 3} {imperative definition: 866}
IMPERATIVE_NT'report someone sneezing on' {unit: 3} {imperative definition: 867}
IMPERATIVE_NT'check sneezing on' {unit: 3} {imperative definition: 861}
IMPERATIVE_NT'carry out sneezing on' {unit: 3} {imperative definition: 862}
IMPERATIVE_NT'carry out someone sneezing on' {unit: 3} {imperative definition: 863}
IMPERATIVE_NT'report sneezing on' {unit: 3} {imperative definition: 864}
IMPERATIVE_NT'report someone sneezing on' {unit: 3} {imperative definition: 865}
SENTENCE_NT'understand "inject [someone] with [something]" as injecting ' {unit: 3} {classified}
VERB_NT'understand' {verb 'understand' 3p p act IS_TENSE +ve} {prep2: as} {special meaning: understand-as}
UNPARSED_NOUN_NT'"inject [someone] with [something]"'
@ -361,10 +361,10 @@ ROOT_NT
VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: new-action}
UNPARSED_NOUN_NT'injecting it with'
UNPARSED_NOUN_NT'applying to two things'
IMPERATIVE_NT'check injecting it with' {unit: 3} {imperative definition: 868}
IMPERATIVE_NT'carry out injecting it with' {unit: 3} {imperative definition: 869}
IMPERATIVE_NT'after injecting the player with something' {unit: 3} {imperative definition: 870}
IMPERATIVE_NT'report injecting it with' {unit: 3} {imperative definition: 871}
IMPERATIVE_NT'check injecting it with' {unit: 3} {imperative definition: 866}
IMPERATIVE_NT'carry out injecting it with' {unit: 3} {imperative definition: 867}
IMPERATIVE_NT'after injecting the player with something' {unit: 3} {imperative definition: 868}
IMPERATIVE_NT'report injecting it with' {unit: 3} {imperative definition: 869}
HEADING_NT'section 3 - geography' {heading 5} {under: H5'section 3 - geography'} {unit: 3}
INCLUSION_NT'include locksmith by emily short' {unit: 3}
HEADING_NT'version 13 of locksmith by emily short begins here' {heading 0} {under: H0'version 13 of locksmith by emily short begins here'} {includes: Locksmith by Emily Short v13 } {unit: 3}
@ -389,9 +389,9 @@ ROOT_NT
VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: new-action}
UNPARSED_NOUN_NT'going toward'
UNPARSED_NOUN_NT'applying to one thing'
IMPERATIVE_NT'check going toward' {unit: 3} {imperative definition: 909}
IMPERATIVE_NT'carry out going toward' {unit: 3} {imperative definition: 910}
IMPERATIVE_NT'instead of waiting when the destination of the player is not' {unit: 3} {imperative definition: 911}
IMPERATIVE_NT'check going toward' {unit: 3} {imperative definition: 907}
IMPERATIVE_NT'carry out going toward' {unit: 3} {imperative definition: 908}
IMPERATIVE_NT'instead of waiting when the destination of the player is not' {unit: 3} {imperative definition: 909}
SENTENCE_NT'understand "stop" or "cease" as stopping' {unit: 3} {classified}
VERB_NT'understand' {verb 'understand' 3p p act IS_TENSE +ve} {prep2: as} {special meaning: understand-as}
UNPARSED_NOUN_NT'"stop" or "cease"'
@ -400,11 +400,11 @@ ROOT_NT
VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: new-action}
UNPARSED_NOUN_NT'stopping'
UNPARSED_NOUN_NT'applying to nothing'
IMPERATIVE_NT'carry out stopping' {unit: 3} {imperative definition: 912}
IMPERATIVE_NT'report stopping' {unit: 3} {imperative definition: 913}
IMPERATIVE_NT'after going to an air-conditioned room' {unit: 3} {imperative definition: 914}
IMPERATIVE_NT'after going from an air-conditioned room' {unit: 3} {imperative definition: 915}
IMPERATIVE_NT'instead of listening to an air-conditioned room' {unit: 3} {imperative definition: 916}
IMPERATIVE_NT'carry out stopping' {unit: 3} {imperative definition: 910}
IMPERATIVE_NT'report stopping' {unit: 3} {imperative definition: 911}
IMPERATIVE_NT'after going to an air-conditioned room' {unit: 3} {imperative definition: 912}
IMPERATIVE_NT'after going from an air-conditioned room' {unit: 3} {imperative definition: 913}
IMPERATIVE_NT'instead of listening to an air-conditioned room' {unit: 3} {imperative definition: 914}
SENTENCE_NT'the alfred cralle pool hall is a room' {unit: 3} {classified} {interpretation of subject: infs'person'}
VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve}
PROPER_NOUN_NT'alfred cralle pool hall' {definite 'the' n/m/f s/p nom/acc} {refined} {refers: infs'alfred cralle pool hall'} {eval: CONSTANT_NT'alfred cralle pool hall' {kind: object} {instance: I83'alfred cralle pool hall'} {enumeration: 0}} {created here}
@ -446,7 +446,7 @@ ROOT_NT
PROPER_NOUN_NT'felt door' {definite 'the' n/m/f s/p nom/acc} {refined} {refers: infs'felt door'} {eval: CONSTANT_NT'felt door' {kind: door} {instance: I85'felt door'} {enumeration: 0}}
PROPER_NOUN_NT'description' {refined} {eval: CONSTANT_NT {kind: texts valued property} {property: 'description'=text}}
PROPER_NOUN_NT'"It has a prominent lock, designed for an old-fashioned key.' {refined} {eval: CONSTANT_NT'"It has a prominent lock, designed for an old-fashioned key.' {kind: text}}
IMPERATIVE_NT'after locking a door with something in the presence of an ot' {unit: 3} {imperative definition: 917}
IMPERATIVE_NT'after locking a door with something in the presence of an ot' {unit: 3} {imperative definition: 915}
SENTENCE_NT'nancy johnson memorial square is west of the felt door' {unit: 3} {classified} {interpretation of subject: infs'key to the city'}
VERB_NT'is west of' {verb 'be' 3p s act IS_TENSE +ve} {prep1: west of}
PROPER_NOUN_NT'nancy johnson memorial square' {refined} {refers: infs'nancy johnson memorial square'} {eval: CONSTANT_NT'nancy johnson memorial square' {kind: object} {instance: I87'nancy johnson memorial square'} {enumeration: 0}} {created here}
@ -508,8 +508,8 @@ ROOT_NT
VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve}
PROPER_NOUN_NT'slot' {definite 'the' n/m/f s/p nom/acc} {refined} {refers: infs'slot'} {eval: CONSTANT_NT'slot' {kind: object} {instance: I92'slot'} {enumeration: 0}}
COMMON_NOUN_NT'container' {indefinite 'a' n/m/f nom/acc s} {refined} {refers: infs'container'} {creation: << kind=container(x) >>} {eval: TEST_VALUE_NT}
IMPERATIVE_NT'carry out inserting something into the slot' {unit: 3} {imperative definition: 918}
IMPERATIVE_NT'report inserting something into the slot' {unit: 3} {imperative definition: 919}
IMPERATIVE_NT'carry out inserting something into the slot' {unit: 3} {imperative definition: 916}
IMPERATIVE_NT'report inserting something into the slot' {unit: 3} {imperative definition: 917}
SENTENCE_NT'hamwi street is northeast of an iron gate' {unit: 3} {classified} {interpretation of subject: infs'slot'}
VERB_NT'is northeast of' {verb 'be' 3p s act IS_TENSE +ve} {prep1: northeast of}
PROPER_NOUN_NT'hamwi street' {refined} {refers: infs'hamwi street'} {eval: CONSTANT_NT'hamwi street' {kind: object} {instance: I93'hamwi street'} {enumeration: 0}} {created here}
@ -533,7 +533,7 @@ ROOT_NT
AND_NT'and' {refined}
ADJECTIVE_NT'lockable' {refined} {predicate: lockable} {creation: << lockable(x) ^ lockable(x) >>}
ADJECTIVE_NT'unlocked' {refined} {predicate: unlocked} {creation: << unlocked(x) ^ unlocked(x) >>}
IMPERATIVE_NT'before printing the name of the iron gate while not opening ' {unit: 3} {imperative definition: 920}
IMPERATIVE_NT'before printing the name of the iron gate while not opening ' {unit: 3} {imperative definition: 918}
SENTENCE_NT'cold comfort ice cream is north of a metal door' {unit: 3} {classified} {interpretation of subject: infs'iron gate'}
VERB_NT'is north of' {verb 'be' 3p s act IS_TENSE +ve} {prep1: north of}
PROPER_NOUN_NT'cold comfort ice cream' {refined} {refers: infs'cold comfort ice cream'} {eval: CONSTANT_NT'cold comfort ice cream' {kind: object} {instance: I95'cold comfort ice cream'} {enumeration: 0}} {created here}
@ -639,8 +639,8 @@ ROOT_NT
VERB_NT'understand' {verb 'understand' 3p p act IS_TENSE +ve} {prep2: as} {special meaning: understand-as}
UNPARSED_NOUN_NT'"glass"'
UNPARSED_NOUN_NT'the box'
IMPERATIVE_NT'instead of attacking the closed emergency box' {unit: 3} {imperative definition: 921}
IMPERATIVE_NT'instead of attacking the open emergency box' {unit: 3} {imperative definition: 922}
IMPERATIVE_NT'instead of attacking the closed emergency box' {unit: 3} {imperative definition: 919}
IMPERATIVE_NT'instead of attacking the open emergency box' {unit: 3} {imperative definition: 920}
SENTENCE_NT'the syringe is in the emergency box' {unit: 3} {classified} {interpretation of subject: infs'emergency box'}
VERB_NT'is in' {verb 'be' 3p s act IS_TENSE +ve} {prep1: in}
PROPER_NOUN_NT'syringe' {definite 'the' n/m/f s/p nom/acc} {refined} {refers: infs'syringe'} {eval: CONSTANT_NT'syringe' {kind: object} {instance: I104'syringe'} {enumeration: 0}} {created here}
@ -743,8 +743,8 @@ ROOT_NT
SENTENCE_NT'use full-length room descriptions' {unit: 3} {classified}
VERB_NT'use' {verb 'use' 3p p act IS_TENSE +ve} {special meaning: use}
UNPARSED_NOUN_NT'full-length room descriptions'
IMPERATIVE_NT'after looking in an outdoors room' {unit: 3} {imperative definition: 923}
IMPERATIVE_NT'definition' {unit: 3} {imperative definition: 924}
IMPERATIVE_NT'after looking in an outdoors room' {unit: 3} {imperative definition: 921}
IMPERATIVE_NT'definition' {unit: 3} {imperative definition: 922}
DEFN_CONT_NT'a door is proximate' {unit: 3}
CODE_BLOCK_NT
CODE_BLOCK_NT {control structure: IF}
@ -765,7 +765,7 @@ ROOT_NT
INVOCATION_NT'yes' {phrase invoked: <no-inter-name>}
INVOCATION_LIST_NT'no' {unit: 3}
INVOCATION_NT'no' {phrase invoked: <no-inter-name>}
IMPERATIVE_NT'before exiting when the player is in an indoors room' {unit: 3} {imperative definition: 925}
IMPERATIVE_NT'before exiting when the player is in an indoors room' {unit: 3} {imperative definition: 923}
SENTENCE_NT'blank is a room' {unit: 3} {classified} {interpretation of subject: infs'key to the city'}
VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve}
PROPER_NOUN_NT'blank' {refined} {refers: infs'blank'} {eval: CONSTANT_NT'blank' {kind: object} {instance: I108'blank'} {enumeration: 0}} {created here}
@ -991,15 +991,15 @@ ROOT_NT
PROPER_NOUN_NT'ned' {refined} {refers: infs'ned'} {eval: CONSTANT_NT'ned' {kind: man} {instance: I161'ned'} {enumeration: 0}}
RELATIONSHIP_NT'owns' {meaning: ownership-r} {refined}
PROPER_NOUN_NT'movie rental' {definite 'the' n/m/f s/p nom/acc} {refined} {refers: infs'movie rental store'} {eval: CONSTANT_NT'movie rental store' {kind: object} {instance: I99'movie rental store'} {enumeration: 0}}
IMPERATIVE_NT'after printing the name of someone ( called target ) while l' {unit: 3} {imperative definition: 926}
IMPERATIVE_NT'after printing the name of someone ( called target ) while l' {unit: 3} {imperative definition: 924}
SENTENCE_NT'the description of a person is usually "[The noun] [if the n' {unit: 3} {classified} {interpretation of subject: infs'ned'}
VERB_NT'is usually' {certainty:likely} {verb 'be' 3p s act IS_TENSE +ve}
X_OF_Y_NT'description of a person' {definite 'the' n/m/f s/p nom/acc} {refined}
COMMON_NOUN_NT'person' {indefinite 'a' n/m/f nom/acc s} {refined} {refers: infs'person'} {creation: << kind=person(x) >>} {eval: TEST_VALUE_NT}
PROPER_NOUN_NT'description' {refined} {eval: CONSTANT_NT {kind: texts valued property} {property: 'description'=text}}
PROPER_NOUN_NT'"[The noun] [if the noun is clean]looks healthy[otherwise]is' {refined} {eval: CONSTANT_NT'"[The noun] [if the noun is clean]looks healthy[otherwise]is' {kind: text}}
IMPERATIVE_NT'after examining another person who is carrying something' {unit: 3} {imperative definition: 927}
IMPERATIVE_NT'when play begins' {unit: 3} {imperative definition: 928}
IMPERATIVE_NT'after examining another person who is carrying something' {unit: 3} {imperative definition: 925}
IMPERATIVE_NT'when play begins' {unit: 3} {imperative definition: 926}
HEADING_NT'section 5 - conversation' {heading 5} {under: H5'section 5 - conversation'} {unit: 3}
SENTENCE_NT'a person has a table name called conversation' {unit: 3} {classified}
VERB_NT'has' {verb 'have' 3p s act IS_TENSE +ve}
@ -1008,8 +1008,8 @@ ROOT_NT
PROPERTYCALLED_NT'called'
UNPARSED_NOUN_NT'table name' {indefinite 'a' n/m/f nom/acc s}
UNPARSED_NOUN_NT'conversation'
IMPERATIVE_NT'instead of asking someone about something' {unit: 3} {imperative definition: 929}
IMPERATIVE_NT'instead of telling someone about something' {unit: 3} {imperative definition: 930}
IMPERATIVE_NT'instead of asking someone about something' {unit: 3} {imperative definition: 927}
IMPERATIVE_NT'instead of telling someone about something' {unit: 3} {imperative definition: 928}
SENTENCE_NT'understand "recap" or "recall" or "review" as recalling conv' {unit: 3} {classified}
VERB_NT'understand' {verb 'understand' 3p p act IS_TENSE +ve} {prep2: as} {special meaning: understand-as}
UNPARSED_NOUN_NT'"recap" or "recall" or "review"'
@ -1018,7 +1018,7 @@ ROOT_NT
VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: new-action}
UNPARSED_NOUN_NT'recalling conversations'
UNPARSED_NOUN_NT'applying to nothing'
IMPERATIVE_NT'carry out recalling conversations' {unit: 3} {imperative definition: 931}
IMPERATIVE_NT'carry out recalling conversations' {unit: 3} {imperative definition: 929}
SENTENCE_NT'the conversation of a person is usually table of general chi' {unit: 3} {classified} {interpretation of subject: infs'person'}
VERB_NT'is usually' {certainty:likely} {verb 'be' 3p s act IS_TENSE +ve}
X_OF_Y_NT'conversation of a person' {definite 'the' n/m/f s/p nom/acc} {refined}
@ -1033,7 +1033,7 @@ ROOT_NT
PROPER_NOUN_NT'conversation' {refined} {eval: CONSTANT_NT {kind: table names valued property} {property: 'conversation'=table name}}
PROPER_NOUN_NT'table of vanessa chatter' {definite 'the' n/m/f s/p nom/acc} {refined} {eval: CONSTANT_NT'table of vanessa chatter' {kind: table name} {table: table_data} {meaning: {table of vanessa chatter = TABLE_MC}}}
TABLE_NT'table of vanessa chatter topic reply summary turn stamp char' {unit: 3}
IMPERATIVE_NT'after reading a command' {unit: 3} {imperative definition: 932}
IMPERATIVE_NT'after reading a command' {unit: 3} {imperative definition: 930}
HEADING_NT'section 6 - movement description' {heading 5} {under: H5'section 6 - movement description'} {unit: 3}
SENTENCE_NT'a person has some text called walk style' {unit: 3} {classified}
VERB_NT'has' {verb 'have' 3p s act IS_TENSE +ve}
@ -1080,8 +1080,8 @@ ROOT_NT
PROPER_NOUN_NT'"sashay"' {refined} {eval: CONSTANT_NT'"sashay"' {kind: text}}
TABLE_NT'table of visible exits character second third heading chosen' {unit: 3}
TABLE_NT'table of visible entrances character second third heading ch' {unit: 3}
IMPERATIVE_NT'to clear ( current table - a table name )' {unit: 3} {imperative definition: 933}
IMPERATIVE_NT'to tidy departures of ( current table - a table name )' {unit: 3} {imperative definition: 934}
IMPERATIVE_NT'to clear ( current table - a table name )' {unit: 3} {imperative definition: 931}
IMPERATIVE_NT'to tidy departures of ( current table - a table name )' {unit: 3} {imperative definition: 932}
SENTENCE_NT'a door has a person called last opener' {unit: 3} {classified} {interpretation of subject: infs'person'}
VERB_NT'has' {verb 'have' 3p s act IS_TENSE +ve}
COMMON_NOUN_NT'door' {indefinite 'a' n/m/f nom/acc s} {refined} {refers: infs'door'} {creation: << kind=door(x) >>} {eval: TEST_VALUE_NT}
@ -1089,21 +1089,21 @@ ROOT_NT
PROPERTYCALLED_NT'called'
UNPARSED_NOUN_NT'person' {indefinite 'a' n/m/f nom/acc s}
UNPARSED_NOUN_NT'last opener'
IMPERATIVE_NT'report someone opening a door' {unit: 3} {imperative definition: 935}
IMPERATIVE_NT'report someone going through a door ( called route )' {unit: 3} {imperative definition: 936}
IMPERATIVE_NT'report someone opening a door' {unit: 3} {imperative definition: 933}
IMPERATIVE_NT'report someone going through a door ( called route )' {unit: 3} {imperative definition: 934}
SENTENCE_NT'the last thing named is a thing that varies' {unit: 3} {classified} {interpretation of subject: infs'door'}
VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve}
PROPER_NOUN_NT'last thing named' {definite 'the' n/m/f s/p nom/acc} {refined} {eval: NONLOCAL_VARIABLE_NT'last thing named' {nonlocal: 'last thing named'(var)thing}} {created here}
COMMON_NOUN_NT'thing that varies' {indefinite 'a' n/m/f nom/acc s} {refined} {refers: infs'values variable-pointer'-k} {creation: << kind=things variable-pointer(x) >>} {eval: TEST_VALUE_NT}
IMPERATIVE_NT'before printing the name of something ( called target ) whic' {unit: 3} {imperative definition: 937}
IMPERATIVE_NT'report someone going a direction' {unit: 3} {imperative definition: 938}
IMPERATIVE_NT'this is the movement reporting rule' {unit: 3} {imperative definition: 939}
IMPERATIVE_NT'to generate descriptions from ( current table - a table name' {unit: 3} {imperative definition: 940}
IMPERATIVE_NT'before printing the name of something ( called target ) whic' {unit: 3} {imperative definition: 935}
IMPERATIVE_NT'report someone going a direction' {unit: 3} {imperative definition: 936}
IMPERATIVE_NT'this is the movement reporting rule' {unit: 3} {imperative definition: 937}
IMPERATIVE_NT'to generate descriptions from ( current table - a table name' {unit: 3} {imperative definition: 938}
SENTENCE_NT'the last person named is a person that varies' {unit: 3} {classified} {interpretation of subject: infs'door'}
VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve}
PROPER_NOUN_NT'last person named' {definite 'the' n/m/f s/p nom/acc} {refined} {eval: NONLOCAL_VARIABLE_NT'last person named' {nonlocal: 'last person named'(var)person}} {created here}
COMMON_NOUN_NT'person that varies' {indefinite 'a' n/m/f nom/acc s} {refined} {refers: infs'values variable-pointer'-k} {creation: << kind=people variable-pointer(x) >>} {eval: TEST_VALUE_NT}
IMPERATIVE_NT'before printing the name of a person ( called target )' {unit: 3} {imperative definition: 941}
IMPERATIVE_NT'before printing the name of a person ( called target )' {unit: 3} {imperative definition: 939}
SENTENCE_NT'group size is a number that varies' {unit: 3} {classified} {interpretation of subject: infs'door'}
VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve}
PROPER_NOUN_NT'group size' {refined} {eval: NONLOCAL_VARIABLE_NT'group size' {nonlocal: 'group size'(var)number}} {created here}
@ -1112,19 +1112,19 @@ ROOT_NT
VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve}
PROPER_NOUN_NT'group size' {refined} {eval: NONLOCAL_VARIABLE_NT'group size' {nonlocal: 'group size'(var)number} {meaning: {group size = VARIABLE_MC}}}
PROPER_NOUN_NT'1' {refined} {eval: CONSTANT_NT'1' {kind: number} {explicit literal} {number: 1}}
IMPERATIVE_NT'to clear marked people' {unit: 3} {imperative definition: 942}
IMPERATIVE_NT'before listing nondescript items' {unit: 3} {imperative definition: 943}
IMPERATIVE_NT'to describe patients' {unit: 3} {imperative definition: 944}
IMPERATIVE_NT'to say ( named character - a man ) as pronoun' {unit: 3} {imperative definition: 945}
IMPERATIVE_NT'to say ( named character - a woman ) as pronoun' {unit: 3} {imperative definition: 946}
IMPERATIVE_NT'to say looks as though dipped in for ( index - a number )' {unit: 3} {imperative definition: 947}
IMPERATIVE_NT'to clear marked people' {unit: 3} {imperative definition: 940}
IMPERATIVE_NT'before listing nondescript items' {unit: 3} {imperative definition: 941}
IMPERATIVE_NT'to describe patients' {unit: 3} {imperative definition: 942}
IMPERATIVE_NT'to say ( named character - a man ) as pronoun' {unit: 3} {imperative definition: 943}
IMPERATIVE_NT'to say ( named character - a woman ) as pronoun' {unit: 3} {imperative definition: 944}
IMPERATIVE_NT'to say looks as though dipped in for ( index - a number )' {unit: 3} {imperative definition: 945}
TABLE_NT'table of dipping phrases dipping "looks as though dipped in"' {unit: 3}
SENTENCE_NT'a door is usually scenery' {unit: 3} {classified} {interpretation of subject: infs'door'}
VERB_NT'is usually' {certainty:likely} {verb 'be' 3p s act IS_TENSE +ve}
COMMON_NOUN_NT'door' {indefinite 'a' n/m/f nom/acc s} {refined} {refers: infs'door'} {creation: << kind=door(x) >>} {eval: TEST_VALUE_NT}
ADJECTIVE_NT'scenery' {refined} {predicate: scenery} {creation: << scenery(x) ^ scenery(x) >>}
IMPERATIVE_NT'to make delimiter ( index - a number ) of ( count - a number' {unit: 3} {imperative definition: 948}
IMPERATIVE_NT'to say optional comma' {unit: 3} {imperative definition: 949}
IMPERATIVE_NT'to make delimiter ( index - a number ) of ( count - a number' {unit: 3} {imperative definition: 946}
IMPERATIVE_NT'to say optional comma' {unit: 3} {imperative definition: 947}
SENTENCE_NT'test me with go to cold comfort / z / z / z / z / ask vaness' {unit: 3} {classified}
VERB_NT'test' {verb 'test' 3p p act IS_TENSE +ve} {prep2: with} {special meaning: test-with}
UNPARSED_NOUN_NT'me'

View file

@ -1,33 +1,33 @@
100.0% in inform7 run
70.4% in compilation to Inter
49.6% in //Sequence::undertake_queued_tasks//
4.9% in //MajorNodes::pre_pass//
3.4% in //MajorNodes::pass_1//
1.9% in //ImperativeDefinitions::assess_all//
1.5% in //RTKindConstructors::compile//
1.5% in //RTPhrasebook::compile_entries//
70.7% in compilation to Inter
49.5% in //Sequence::undertake_queued_tasks//
5.2% in //MajorNodes::pre_pass//
3.5% in //MajorNodes::pass_1//
1.8% in //ImperativeDefinitions::assess_all//
1.4% in //RTKindConstructors::compile//
1.4% in //RTPhrasebook::compile_entries//
1.1% in //Sequence::lint_inter//
0.5% in //ImperativeDefinitions::compile_first_block//
0.5% in //MajorNodes::pass_2//
0.5% in //Sequence::undertake_queued_tasks//
0.5% in //Sequence::undertake_queued_tasks//
0.5% in //World::stage_V//
0.3% in //ImperativeDefinitions::compile_first_block//
0.3% in //InferenceSubjects::emit_all//
0.1% in //CompletionModule::compile//
0.1% in //InferenceSubjects::emit_all//
0.1% in //RTKindConstructors::compile_permissions//
0.1% in //Task::make_built_in_kind_constructors//
0.1% in //World::stages_II_and_III//
2.5% not specifically accounted for
26.1% in running Inter pipeline
9.9% in step 14/15: generate inform6 -> auto.inf
2.8% not specifically accounted for
25.6% in running Inter pipeline
9.6% in step 14/15: generate inform6 -> auto.inf
5.9% in step 5/15: load-binary-kits
5.3% in step 6/15: make-synoptic-module
1.9% in step 9/15: make-identifiers-unique
5.4% in step 6/15: make-synoptic-module
1.6% in step 9/15: make-identifiers-unique
0.3% in step 12/15: eliminate-redundant-operations
0.3% in step 4/15: compile-splats
0.3% in step 7/15: shorten-wiring
0.3% in step 8/15: detect-indirect-calls
0.1% in step 11/15: eliminate-redundant-labels
1.3% not specifically accounted for
3.0% in supervisor
3.1% in supervisor
0.4% not specifically accounted for

View file

@ -8,7 +8,7 @@ To open is a verb. To lack is a verb. To fit is a verb. To lock is a verb. To un
Volume 1 - Automatic locking and unlocking with necessary actions
Use sequential action translates as (- Constant SEQUENTIAL_ACTION; -).
Use sequential action translates as a configuration flag.
Before going through a closed door (called the blocking door) (this is the opening doors before entering rule):
if sequential action option is active:

View file

@ -1397,15 +1397,7 @@ To mark (filename - external file) as not ready to read
Chapter 10 - Use Options
Section 1 - Being Chosen
Definition: a use option is chosen if I6 condition "(USE_OPTION_CHOSEN-->(*1))"
says so (it has been explicitly selected).
Definition: a use option is unchosen if I6 condition "(USE_OPTION_CHOSEN-->(*1) == 0)"
says so (it remains in its default state not having been explicitly selected).
Section 2 - Numerical Value
Section 1 - Numerical Value
To decide what number is the numerical value of (U - a use option):
(- USE_OPTION_VALUES-->({U}) -).

View file

@ -76,7 +76,7 @@
</tr>
<tr class="stripeone">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
object [15]&nbsp;<a href=#A230><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
object [15]&nbsp;<a href=#A228><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
north&nbsp;
@ -370,7 +370,7 @@
</tr>
<tr class="stripetwo">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
number&nbsp;<a href="Kinds.html?segment2"><img border=0 src=inform:/doc_images/calc1.png></a>&nbsp;<a href=inform:/doc225.html><img border=0 src=inform:/doc_images/help.png></a>&nbsp;<a href=#A1358><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
number&nbsp;<a href="Kinds.html?segment2"><img border=0 src=inform:/doc_images/calc1.png></a>&nbsp;<a href=inform:/doc225.html><img border=0 src=inform:/doc_images/help.png></a>&nbsp;<a href=#A1356><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
0&nbsp;
@ -387,7 +387,7 @@
</tr>
<tr class="stripeone">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
real number&nbsp;<a href="Kinds.html?segment2"><img border=0 src=inform:/doc_images/calc1.png></a>&nbsp;<a href=inform:/doc225.html><img border=0 src=inform:/doc_images/help.png></a>&nbsp;<a href=#A1359><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
real number&nbsp;<a href="Kinds.html?segment2"><img border=0 src=inform:/doc_images/calc1.png></a>&nbsp;<a href=inform:/doc225.html><img border=0 src=inform:/doc_images/help.png></a>&nbsp;<a href=#A1357><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
0&nbsp;
@ -404,7 +404,7 @@
</tr>
<tr class="stripetwo">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
time&nbsp;<a href="Kinds.html?segment2"><img border=0 src=inform:/doc_images/calc1.png></a>&nbsp;<a href=inform:/doc138.html><img border=0 src=inform:/doc_images/help.png></a>&nbsp;<a href=#A1375><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
time&nbsp;<a href="Kinds.html?segment2"><img border=0 src=inform:/doc_images/calc1.png></a>&nbsp;<a href=inform:/doc138.html><img border=0 src=inform:/doc_images/help.png></a>&nbsp;<a href=#A1373><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
9:00 AM&nbsp;
@ -421,7 +421,7 @@
</tr>
<tr class="stripeone">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
truth state&nbsp;<a href=inform:/doc161.html><img border=0 src=inform:/doc_images/help.png></a>&nbsp;<a href=#A1360><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
truth state&nbsp;<a href=inform:/doc161.html><img border=0 src=inform:/doc_images/help.png></a>&nbsp;<a href=#A1358><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
false&nbsp;
@ -438,7 +438,7 @@
</tr>
<tr class="stripetwo">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
text&nbsp;<a href=#A1361><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
text&nbsp;<a href=#A1359><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
""&nbsp;
@ -455,7 +455,7 @@
</tr>
<tr class="stripeone">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
snippet&nbsp;<a href=inform:/doc317.html><img border=0 src=inform:/doc_images/help.png></a>&nbsp;<a href=#A1362><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
snippet&nbsp;<a href=inform:/doc317.html><img border=0 src=inform:/doc_images/help.png></a>&nbsp;<a href=#A1360><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
<i>word 1 of command</i>&nbsp;
@ -472,7 +472,7 @@
</tr>
<tr class="stripetwo">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
unicode character&nbsp;<a href=#A1363><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
unicode character&nbsp;<a href=#A1361><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
unicode 32 (<i>a space</i>)&nbsp;
@ -489,7 +489,7 @@
</tr>
<tr class="stripeone">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
action&nbsp;<a href=inform:/doc194.html><img border=0 src=inform:/doc_images/help.png></a>&nbsp;<a href=#A1373><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
action&nbsp;<a href=inform:/doc194.html><img border=0 src=inform:/doc_images/help.png></a>&nbsp;<a href=#A1371><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
waiting&nbsp;
@ -506,7 +506,7 @@
</tr>
<tr class="stripetwo">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
scene&nbsp;<a href=inform:/doc148.html><img border=0 src=inform:/doc_images/help.png></a> [1]&nbsp;<a href=#A837><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
scene&nbsp;<a href=inform:/doc148.html><img border=0 src=inform:/doc_images/help.png></a> [1]&nbsp;<a href=#A835><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
Entire Game&nbsp;
@ -523,7 +523,7 @@
</tr>
<tr class="stripeone">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
command parser error [25]&nbsp;<a href=#A1402><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
command parser error [25]&nbsp;<a href=#A1400><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
didn't understand error&nbsp;
@ -540,7 +540,7 @@
</tr>
<tr class="stripetwo">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
dynasty&nbsp;<a href="source:story.ni#line3"><img border=0 src=inform:/doc_images/Reveal.png></a> [4]&nbsp;<a href=#A1404><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
dynasty&nbsp;<a href="source:story.ni#line3"><img border=0 src=inform:/doc_images/Reveal.png></a> [4]&nbsp;<a href=#A1402><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
Stuart&nbsp;
@ -557,7 +557,7 @@
</tr>
<tr class="stripeone">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
use option&nbsp;<a href=#A1364><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
use option&nbsp;<a href=#A1362><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
the ineffectual option&nbsp;
@ -574,7 +574,7 @@
</tr>
<tr class="stripetwo">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
response&nbsp;<a href=#A1365><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
response&nbsp;<a href=#A1363><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
?&nbsp;
@ -591,7 +591,7 @@
</tr>
<tr class="stripeone">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
verb&nbsp;<a href=inform:/doc220.html><img border=0 src=inform:/doc_images/help.png></a>&nbsp;<a href=#A1366><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
verb&nbsp;<a href=inform:/doc220.html><img border=0 src=inform:/doc_images/help.png></a>&nbsp;<a href=#A1364><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
verb be&nbsp;
@ -608,7 +608,7 @@
</tr>
<tr class="stripetwo">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
table name&nbsp;<a href=inform:/doc258.html><img border=0 src=inform:/doc_images/help.png></a>&nbsp;<a href=#A1367><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
table name&nbsp;<a href=inform:/doc258.html><img border=0 src=inform:/doc_images/help.png></a>&nbsp;<a href=#A1365><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
<i>a table with no rows or columns</i>&nbsp;
@ -625,7 +625,7 @@
</tr>
<tr class="stripeone">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
<span class="indexgrey">equation name&nbsp;<a href=#A1368><img border=0 src=inform:/doc_images/Below.png></a></span>&nbsp;&nbsp;&nbsp;&nbsp;
<span class="indexgrey">equation name&nbsp;<a href=#A1366><img border=0 src=inform:/doc_images/Below.png></a></span>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
<span class="indexgrey"><i>an equation doing nothing</i></span>&nbsp;
@ -642,7 +642,7 @@
</tr>
<tr class="stripetwo">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
rulebook outcome&nbsp;<a href=#A1369><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
rulebook outcome&nbsp;<a href=#A1367><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
allow access&nbsp;
@ -659,7 +659,7 @@
</tr>
<tr class="stripeone">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
<span class="indexgrey">external file&nbsp;<a href=inform:/doc382.html><img border=0 src=inform:/doc_images/help.png></a>&nbsp;<a href=#A1370><img border=0 src=inform:/doc_images/Below.png></a></span>&nbsp;&nbsp;&nbsp;&nbsp;
<span class="indexgrey">external file&nbsp;<a href=inform:/doc382.html><img border=0 src=inform:/doc_images/help.png></a>&nbsp;<a href=#A1368><img border=0 src=inform:/doc_images/Below.png></a></span>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
<span class="indexgrey"><i>a non-file</i></span>&nbsp;
@ -676,7 +676,7 @@
</tr>
<tr class="stripetwo">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
<span class="indexgrey">internal file&nbsp;<a href=#A1371><img border=0 src=inform:/doc_images/Below.png></a></span>&nbsp;&nbsp;&nbsp;&nbsp;
<span class="indexgrey">internal file&nbsp;<a href=#A1369><img border=0 src=inform:/doc_images/Below.png></a></span>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
<span class="indexgrey"><i>a non-file</i></span>&nbsp;
@ -693,7 +693,7 @@
</tr>
<tr class="stripeone">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
action name&nbsp;<a href=inform:/doc96.html><img border=0 src=inform:/doc_images/help.png></a>&nbsp;<a href=#A1374><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
action name&nbsp;<a href=inform:/doc96.html><img border=0 src=inform:/doc_images/help.png></a>&nbsp;<a href=#A1372><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
waiting action&nbsp;
@ -710,7 +710,7 @@
</tr>
<tr class="stripetwo">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
figure name&nbsp;<a href=inform:/doc374.html><img border=0 src=inform:/doc_images/help.png></a> [1]&nbsp;<a href=#A1376><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
figure name&nbsp;<a href=inform:/doc374.html><img border=0 src=inform:/doc_images/help.png></a> [1]&nbsp;<a href=#A1374><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
Figure of cover&nbsp;
@ -727,7 +727,7 @@
</tr>
<tr class="stripeone">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
<span class="indexgrey">sound name&nbsp;<a href=inform:/doc377.html><img border=0 src=inform:/doc_images/help.png></a>&nbsp;<a href=#A1377><img border=0 src=inform:/doc_images/Below.png></a></span>&nbsp;&nbsp;&nbsp;&nbsp;
<span class="indexgrey">sound name&nbsp;<a href=inform:/doc377.html><img border=0 src=inform:/doc_images/help.png></a>&nbsp;<a href=#A1375><img border=0 src=inform:/doc_images/Below.png></a></span>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
<span class="indexgrey"><i>a silent non-sound</i></span>&nbsp;
@ -749,7 +749,7 @@
</tr>
<tr class="stripetwo">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
natural language [1]&nbsp;<a href=#A1380><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
natural language [1]&nbsp;<a href=#A1378><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
English language&nbsp;
@ -766,7 +766,7 @@
</tr>
<tr class="stripeone">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
grammatical tense&nbsp;<a href='inform://Extensions/Extensions/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a> [5]&nbsp;<a href=#A1382><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
grammatical tense&nbsp;<a href='inform://Extensions/Extensions/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a> [5]&nbsp;<a href=#A1380><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
present tense&nbsp;
@ -783,7 +783,7 @@
</tr>
<tr class="stripetwo">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
narrative viewpoint&nbsp;<a href='inform://Extensions/Extensions/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a> [6]&nbsp;<a href=#A1383><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
narrative viewpoint&nbsp;<a href='inform://Extensions/Extensions/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a> [6]&nbsp;<a href=#A1381><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
first person singular&nbsp;
@ -800,7 +800,7 @@
</tr>
<tr class="stripeone">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
grammatical case&nbsp;<a href='inform://Extensions/Extensions/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a> [2]&nbsp;<a href=#A1384><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
grammatical case&nbsp;<a href='inform://Extensions/Extensions/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a> [2]&nbsp;<a href=#A1382><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
nominative&nbsp;
@ -817,7 +817,7 @@
</tr>
<tr class="stripetwo">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
grammatical gender&nbsp;<a href='inform://Extensions/Extensions/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a> [3]&nbsp;<a href=#A1385><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
grammatical gender&nbsp;<a href='inform://Extensions/Extensions/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a> [3]&nbsp;<a href=#A1383><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
neuter gender&nbsp;
@ -861,7 +861,7 @@
</tr>
<tr class="stripeone">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
list of K&nbsp;<a href=inform:/doc350.html><img border=0 src=inform:/doc_images/help.png></a>&nbsp;<a href=#A1425><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
list of K&nbsp;<a href=inform:/doc350.html><img border=0 src=inform:/doc_images/help.png></a>&nbsp;<a href=#A1423><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top" colspan="4">
{ }
@ -869,7 +869,7 @@
</tr>
<tr class="stripetwo">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
phrase K -> L&nbsp;<a href=#A2177><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
phrase K -> L&nbsp;<a href=#A2175><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top" colspan="4">
<i>always the default value of L</i>
@ -877,7 +877,7 @@
</tr>
<tr class="stripeone">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
<span class="indexgrey"></span>relation<span class="indexgrey"> of K</span>&nbsp;<a href=#A2182><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
<span class="indexgrey"></span>relation<span class="indexgrey"> of K</span>&nbsp;<a href=#A2180><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top" colspan="4">
<i>a relation never holding</i>
@ -885,7 +885,7 @@
</tr>
<tr class="stripetwo">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
<span class="indexgrey">K based</span> rule<span class="indexgrey"> producing L</span>&nbsp;<a href=inform:/doc325.html><img border=0 src=inform:/doc_images/help.png></a>&nbsp;<a href=#A2185><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
<span class="indexgrey">K based</span> rule<span class="indexgrey"> producing L</span>&nbsp;<a href=inform:/doc325.html><img border=0 src=inform:/doc_images/help.png></a>&nbsp;<a href=#A2183><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top" colspan="4">
the little-used do nothing rule
@ -893,7 +893,7 @@
</tr>
<tr class="stripeone">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
<span class="indexgrey">K based</span> rulebook<span class="indexgrey"> producing L</span>&nbsp;<a href=inform:/doc325.html><img border=0 src=inform:/doc_images/help.png></a>&nbsp;<a href=#A2188><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
<span class="indexgrey">K based</span> rulebook<span class="indexgrey"> producing L</span>&nbsp;<a href=inform:/doc325.html><img border=0 src=inform:/doc_images/help.png></a>&nbsp;<a href=#A2186><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top" colspan="4">
the action-processing rules
@ -901,7 +901,7 @@
</tr>
<tr class="stripetwo">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
<span class="indexgrey"></span>activity<span class="indexgrey"> on K</span>&nbsp;<a href=inform:/doc285.html><img border=0 src=inform:/doc_images/help.png></a>&nbsp;<a href=#A2191><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
<span class="indexgrey"></span>activity<span class="indexgrey"> on K</span>&nbsp;<a href=inform:/doc285.html><img border=0 src=inform:/doc_images/help.png></a>&nbsp;<a href=#A2189><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top" colspan="4">
printing the name
@ -909,7 +909,7 @@
</tr>
<tr class="stripeone">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
description of K&nbsp;<a href=inform:/doc362.html><img border=0 src=inform:/doc_images/help.png></a>&nbsp;<a href=#A2197><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
description of K&nbsp;<a href=inform:/doc362.html><img border=0 src=inform:/doc_images/help.png></a>&nbsp;<a href=#A2195><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top" colspan="4">
<i>matching nothing</i>
@ -917,7 +917,7 @@
</tr>
<tr class="stripetwo">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
<span class="indexgrey">K valued</span> property<span class="indexgrey"></span>&nbsp;<a href=#A2199><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
<span class="indexgrey">K valued</span> property<span class="indexgrey"></span>&nbsp;<a href=#A2197><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top" colspan="4">
--
@ -925,7 +925,7 @@
</tr>
<tr class="stripeone">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
<span class="indexgrey">K valued</span> table<span class="indexgrey"></span> column<span class="indexgrey"></span>&nbsp;<a href=#A2201><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
<span class="indexgrey">K valued</span> table<span class="indexgrey"></span> column<span class="indexgrey"></span>&nbsp;<a href=#A2199><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top" colspan="4">
--

View file

@ -0,0 +1,6 @@
The Viability Chamber is a room.
Use crazy paving translates as (- Constant CRAZY_PAVING; -).
Use no deprecated features.

View file

@ -0,0 +1,3 @@
The Viability Chamber is a room.
Use crazy paving translates as (- Property crazed; -).

View file

@ -0,0 +1,13 @@
Inform 7 v10.2.0 has started.
I've now read your source text, which is 17 words long.
I've also read Basic Inform by Graham Nelson, which is 7899 words long.
I've also read English Language by Graham Nelson, which is 2330 words long.
I've also read Standard Rules by Graham Nelson, which is 34398 words long.
Problem__ PM_UONotationDeprecated
>--> In 'Use crazy paving translates as (- Constant CRAZY_PAVING; -)' (source
text, line 3), you set up a use option, but you use the deprecated notation
'(- ... -)' to say what to do if this option is set. Since you also have
'Use no deprecated features' set, I'm issuing a problem message. (For now,
though, this would have worked if it hadn't been for 'Use no deprecated
features'.)
Inform 7 has finished.

View file

@ -0,0 +1,13 @@
Inform 7 v10.2.0 has started.
I've now read your source text, which is 13 words long.
I've also read Basic Inform by Graham Nelson, which is 7899 words long.
I've also read English Language by Graham Nelson, which is 2330 words long.
I've also read Standard Rules by Graham Nelson, which is 34398 words long.
Problem__ PM_UONotationWithdrawn
>--> In 'Use crazy paving translates as (- Property crazed; -)' (source text, line 3),
you set up a use option, but you use the deprecated notation '(- Property
crazed; -)' to say what to do if this option is set. For now, that still
works if a simple form is used, such as '(- Constant X; -)' or '(- Constant
Y = {N}; -)' or even '(- Constant Z = 2*{N}; -)', but the ability to write
arbitrary Inform 6-syntax code here has been withdrawn.
Inform 7 has finished.

View file

@ -140,7 +140,7 @@ typedef struct use_option {
uo->name = UOW;
uo->expansion = EMPTY_WORDING;
uo->definition_form = form;
if (uo->definition_form == INLINE_UTAS) uo->expansion = OP;
if (uo->definition_form == INLINE_UTAS) @<Handle the deprecated inline case@>;
uo->symbol_name = NULL;
uo->kit_name = NULL;
uo->is_explicitly_numerical = FALSE;
@ -177,6 +177,29 @@ typedef struct use_option {
Nouns::new_proper_noun(uo->name, NEUTER_GENDER, ADD_TO_LEXICON_NTOPT,
MISCELLANEOUS_MC, Rvalues::from_use_option(uo), Task::language_of_syntax());
@ At some point this will cease to be allowed, but simple inline definitions
are still supported, and the call to |RTUseOptions::check_deprecated_definition|
checks that the one here is simple enough to deal with. If it isn't, a problem
message is thrown.
@<Handle the deprecated inline case@> =
uo->expansion = OP;
text_stream *UO = Str::new();
WRITE_TO(UO, "%W", Wordings::from(OP, Wordings::first_wn(OP) + 1));
if (RTUseOptions::check_deprecated_definition(UO) == FALSE) {
StandardProblems::handmade_problem(Task::syntax_tree(),
_p_(PM_UONotationWithdrawn));
Problems::quote_source(1, current_sentence);
Problems::quote_stream(2, UO);
Problems::issue_problem_segment(
"In %1, you set up a use option, but you use the deprecated notation "
"'(- %2 -)' to say what to do if this option is set. For now, that "
"still works if a simple form is used, such as '(- Constant X; -)' or "
"'(- Constant Y = {N}; -)' or even '(- Constant Z = 2*{N}; -)', but the "
"ability to write arbitrary Inform 6-syntax code here has been withdrawn.");
Problems::issue_problem_end();
}
@ The ambiguity alluded to here is with Inform 6 ICL settings: see below.
@<Do not allow a one-word symbol for a numerical value@> =

View file

@ -1757,15 +1757,7 @@ To mark (filename - external file) as not ready to read
=
Chapter 10 - Use Options
Section 1 - Being Chosen
Definition: a use option is chosen if I6 condition "(USE_OPTION_CHOSEN-->(*1))"
says so (it has been explicitly selected).
Definition: a use option is unchosen if I6 condition "(USE_OPTION_CHOSEN-->(*1) == 0)"
says so (it remains in its default state not having been explicitly selected).
Section 2 - Numerical Value
Section 1 - Numerical Value
To decide what number is the numerical value of (U - a use option):
(- USE_OPTION_VALUES-->({U}) -).

View file

@ -1849,7 +1849,6 @@ void Hierarchy::establish(void) {
@e USED_IN_OPTIONS_MD_HL
@e USED_IN_EXTENSION_MD_HL
@e USE_OPTION_CV_MD_HL
@e USE_OPTION_CHOSEN_MD_HL
@e USE_OPTION_ID_HL
@<Establish use options@> =
@ -1866,7 +1865,6 @@ void Hierarchy::establish(void) {
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_CV_MD_HL, I"^configured_value")
H_C_U(USE_OPTION_CHOSEN_MD_HL, I"^chosen")
H_C_U(USE_OPTION_ID_HL, I"use_option_id")
H_END
H_END

View file

@ -51,13 +51,6 @@ void Interventions::make_for_subject(inter_name *iname, inference_subject *infs)
}
}
@ Thirdly, from use options:
=
void Interventions::from_use_option(text_stream *S) {
Emit::intervention(Interventions::expand_bracket_plus(S), NULL);
}
@ Not to digress,[1] but the following function has a surprising history. In the
pre-2015 design of Inform, it was a formidably complex function. It was used
to read |*.i6t| template files, as they were then: the precursors of today's

View file

@ -27,6 +27,7 @@ inter_name *RTUseOptions::uo_iname(use_option *uo) {
}
void RTUseOptions::compile(void) {
@<Reject inline definitions if we forbid deprecated features@>;
@<Calculate the values of configuration constants@>;
@<Apply Inter metadata@>;
@<Compile pragmas from use options which set these@>;
@ -34,6 +35,29 @@ void RTUseOptions::compile(void) {
@<Compile configuration values supplied by use options@>;
}
@ This is only done here in the runtime module as a convenience of timing.
The potential issue is that by the time "Use no deprecated features" is read,
we have already read all the offending inline definitions.
@<Reject inline definitions if we forbid deprecated features@> =
if (global_compilation_settings.no_deprecated_features) {
use_option *uo;
LOOP_OVER(uo, use_option)
if (uo->definition_form == INLINE_UTAS) {
current_sentence = uo->where_created;
StandardProblems::handmade_problem(Task::syntax_tree(),
_p_(PM_UONotationDeprecated));
Problems::quote_source(1, current_sentence);
Problems::issue_problem_segment(
"In %1, you set up a use option, but you use the deprecated notation "
"'(- ... -)' to say what to do if this option is set. Since you "
"also have 'Use no deprecated features' set, I'm issuing a problem "
"message. (For now, though, this would have worked if it hadn't been "
"for 'Use no deprecated features'.)");
Problems::issue_problem_end();
}
}
@<Calculate the values of configuration constants@> =
use_option *uo;
LOOP_OVER(uo, use_option)
@ -148,8 +172,6 @@ void RTUseOptions::compile(void) {
CompilationUnits::extension_id(efo));
Hierarchy::apply_metadata_from_number(R, USE_OPTION_CV_MD_HL,
(inter_ti) uo->compilation_data.value_to_use);
Hierarchy::apply_metadata_from_number(R, USE_OPTION_CHOSEN_MD_HL,
(inter_ti) (RTUseOptions::used(uo))?1:0);
}
@ Some use options convert directly into pragma instructions telling the Inform 6
@ -238,24 +260,15 @@ The |{N}| marker, if present, is converted to the value, producing, say:
= (text as Inform 6)
Constant DREAMY_TIME = 4096+3;
=
All this form of notation is deprecated now, but in the mean time we can still
read almost all such definitions, because almost all users write them in a simple
enough way that we can tell what they want and achieve it by better means.
@<Include raw Inform 6 code@> =
text_stream *UO = Str::new();
WRITE_TO(UO, "%W", Wordings::from(uo->expansion,
Wordings::first_wn(uo->expansion) + 1));
text_stream *S = Str::new();
for (int i=0; i<Str::len(UO); i++) {
if ((Str::get_at(UO, i) == '{') && (Str::get_at(UO, i+1) == 'N') &&
(Str::get_at(UO, i+2) == '}')) {
WRITE_TO(S, "%d", uo->compilation_data.value_to_use);
i += 2;
} else {
PUT_TO(S, Str::get_at(UO, i));
}
}
if (active == FALSE) LOGIF(USE_OPTIONS, "not ");
LOGIF(USE_OPTIONS, "inserting (- %S -).\n", S);
if (active) Interventions::from_use_option(S);
WRITE_TO(UO, "%W", Wordings::from(uo->expansion, Wordings::first_wn(uo->expansion) + 1));
current_sentence = uo->where_created;
RTUseOptions::handle_deprecated_definition(UO, active, uo->compilation_data.value_to_use);
@ The newer and better way does not involve inclusions (with their concomitant
need to inject splat nodes into the Inter we generate), but instead makes
@ -418,3 +431,54 @@ void RTUseOptions::log_puos(parsed_use_option_setting *puos) {
if (puos->at_least == FALSE) LOGIF(USE_OPTIONS, " == %d", puos->value);
LOGIF(USE_OPTIONS, "}");
}
@h Deprecated inclusion notation.
The old-school way for use options to take effect is by causing a constant to
be defined using inclusion notation. That is, they are defined using Inform 6
notation inside |(-| and |-)| markers: for example,
= (text as Inform 7)
Use feverish dreams translates as (- Constant FEVERISH_DREAMS; -).
Use hallucination time of at least 1024 translates as
(- Constant DREAMY_TIME = {N}+3; -).
=
The |{N}| marker, if present, is converted to the value, producing, say:
= (text as Inform 6)
Constant DREAMY_TIME = 4096+3;
=
All this form of notation is deprecated now, but in the mean time we can still
read almost all such definitions, because almost all users write them in a simple
enough way that we can tell what they want and achieve it by better means.
=
int RTUseOptions::check_deprecated_definition(text_stream *UO) {
return RTUseOptions::handle_deprecated_definition(UO, FALSE, 0);
}
int RTUseOptions::handle_deprecated_definition(text_stream *UO, int active, int N) {
int rv = FALSE;
inter_ti val = 0; text_stream *identifier = NULL;
match_results mr = Regexp::create_mr();
if (Regexp::match(&mr, UO, L" *Constant (%C+) *; *")) {
identifier = mr.exp[0];
} else if (Regexp::match(&mr, UO, L" *Constant (%C+) *= *(%d+) *; *")) {
identifier = mr.exp[0]; val = (inter_ti) Str::atoi(mr.exp[1], 0);
} else if (Regexp::match(&mr, UO, L" *Constant (%C+) *= *{N} *; *")) {
identifier = mr.exp[0]; val = (inter_ti) N;
} else if (Regexp::match(&mr, UO, L" *Constant (%C+) *= *{N} *%+ *(%d+) *; *")) {
identifier = mr.exp[0];
val = (inter_ti) (N + Str::atoi(mr.exp[1], 0));
} else if ((Regexp::match(&mr, UO, L" *Constant (%C+) *= *{N} *%* *(%d+) *; *")) ||
(Regexp::match(&mr, UO, L" *Constant (%C+) *= *(%d+) *%* *{N} *; *"))) {
identifier = mr.exp[0];
val = (inter_ti) (N * Str::atoi(mr.exp[1], 0));
}
if (Str::len(identifier) > 0) @<Declare a constant, in a civilised way@>
Regexp::dispose_of(&mr);
return rv;
}
@<Declare a constant, in a civilised way@> =
if (active == FALSE) LOGIF(USE_OPTIONS, "not ");
LOGIF(USE_OPTIONS, "deducing %S = %d from (- %S -).\n", identifier, val, UO);
if (active) RTUseOptions::define_config_constant(identifier, val);
rv = TRUE;

View file

@ -317,7 +317,6 @@ The |/main/synoptic/use_options| submodule.
@e TESTUSEOPTION_HL
@e PRINT_USE_OPTION_HL
@e USE_OPTION_VALUES_HL
@e USE_OPTION_CHOSEN_HL
@<Resources for use options@> =
SYN_SUBMD(I"use_options")
@ -325,4 +324,3 @@ The |/main/synoptic/use_options| submodule.
SYN_FUNCT(TESTUSEOPTION_HL, I"test_fn", I"TestUseOption")
SYN_FUNCT(PRINT_USE_OPTION_HL, I"print_fn", I"PrintUseOption")
SYN_CONST(USE_OPTION_VALUES_HL, I"USE_OPTION_VALUES")
SYN_CONST(USE_OPTION_CHOSEN_HL, I"USE_OPTION_CHOSEN")

View file

@ -12,7 +12,6 @@ void SynopticUseOptions::compile(inter_tree *I, pipeline_step *step, tree_invent
@<Define TESTUSEOPTION function@>;
@<Define PRINT_USE_OPTION function@>;
@<Define USE_OPTION_VALUES array@>;
@<Define USE_OPTION_CHOSEN array@>;
}
@ Each use option package contains a numeric constant with the symbol name
@ -104,15 +103,3 @@ name of a given use option.
Synoptic::numeric_entry(0);
Synoptic::numeric_entry(0);
Synoptic::end_array(I);
@<Define USE_OPTION_CHOSEN array@> =
inter_name *iname = HierarchyLocations::iname(I, USE_OPTION_CHOSEN_HL);
Synoptic::begin_array(I, step, iname);
for (int i=0; i<InterNodeList::array_len(inv->use_option_nodes); i++) {
inter_package *pack = PackageInstruction::at_this_head(inv->use_option_nodes->list[i].node);
inter_ti cv = Metadata::read_numeric(pack, I"^chosen");
Synoptic::numeric_entry(cv);
}
Synoptic::numeric_entry(0);
Synoptic::numeric_entry(0);
Synoptic::end_array(I);

View file

@ -1,15 +1,15 @@
Size of lexicon: 3121 excerpt meanings
Stored among 843 words out of total vocabulary of 10731
713 words have a start list: longest belongs to report (with 293 meanings)
Size of lexicon: 3119 excerpt meanings
Stored among 841 words out of total vocabulary of 10724
711 words have a start list: longest belongs to report (with 293 meanings)
15 words have an end list: longest belongs to case (with 6 meanings)
29 words have a middle list: longest belongs to to (with 4 meanings)
108 words have a subset list: longest belongs to street (with 4 meanings)
Number of attempts to retrieve: 106600
of which unsuccessful: 88874
of which successful: 17726
Number of attempts to retrieve: 106596
of which unsuccessful: 88872
of which successful: 17724
Total attempts to match against excerpt meanings: 264786
of which, total with incorrect hash codes: 242589
of which, total with correct hash codes: 22197
of which, total which matched: 19431
Total attempts to match against excerpt meanings: 264782
of which, total with incorrect hash codes: 242587
of which, total with correct hash codes: 22195
of which, total which matched: 19429

View file

@ -1,4 +1,4 @@
adjective: 139 items
adjective: 137 items
article: 2 items
noun: 2385 items
pronoun: 8 items
@ -6,10 +6,8 @@ preposition: 274 items
determiner: 22 items
verb: 109 items
verb_form: 388 items
total in all categories: 3327
total in all categories: 3325
adjective: 'chosen'
adjective: 'unchosen'
adjective: 'even'
adjective: 'odd'
adjective: 'positive'