1
0
Fork 0
mirror of https://github.com/ganelson/inform.git synced 2024-06-29 05:24:57 +03:00

Seeds and weak beginnings of IE-0004

This commit is contained in:
Graham Nelson 2022-11-02 23:26:19 +00:00
parent a38a064c53
commit 50db2eae24
32 changed files with 983 additions and 503 deletions

View file

@ -374,11 +374,13 @@ We begin with <a href="index.html" class="internal">core</a> itself.
<pre class="definitions code-font"><span class="definition-keyword">enum</span> <span class="constant-syntax">figures_data_CLASS</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">sounds_data_CLASS</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">files_data_CLASS</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">internal_files_data_CLASS</span>
</pre>
<pre class="displayed-code all-displayed-code code-font">
<span class="identifier-syntax">DECLARE_CLASS</span><span class="plain-syntax">(</span><span class="identifier-syntax">figures_data</span><span class="plain-syntax">)</span>
<span class="identifier-syntax">DECLARE_CLASS</span><span class="plain-syntax">(</span><span class="identifier-syntax">sounds_data</span><span class="plain-syntax">)</span>
<span class="identifier-syntax">DECLARE_CLASS</span><span class="plain-syntax">(</span><span class="identifier-syntax">files_data</span><span class="plain-syntax">)</span>
<span class="identifier-syntax">DECLARE_CLASS</span><span class="plain-syntax">(</span><span class="identifier-syntax">internal_files_data</span><span class="plain-syntax">)</span>
</pre>
<nav role="progress"><div class="progresscontainer">
<ul class="progressbar"><li class="progressprev"><a href="1-cm.html">&#10094;</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresscurrentchapter">1</li><li class="progresssection"><a href="1-cm.html">cm</a></li><li class="progresscurrent">cp</li><li class="progresssection"><a href="1-wtc.html">wtc</a></li><li class="progresssection"><a href="1-htc.html">htc</a></li><li class="progresssection"><a href="1-cp2.html">cp2</a></li><li class="progresssection"><a href="1-pp.html">pp</a></li><li class="progresssection"><a href="1-cs.html">cs</a></li><li class="progresssection"><a href="1-inaa.html">inaa</a></li><li class="progresssection"><a href="1-itc.html">itc</a></li><li class="progresssection"><a href="1-gtg.html">gtg</a></li><li class="progresschapter"><a href="2-up.html">2</a></li><li class="progresschapter"><a href="3-pc.html">3</a></li><li class="progressnext"><a href="1-wtc.html">&#10095;</a></li></ul></div>

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: 3118 excerpt meanings</span>
<span class="plain-syntax"> Stored among 844 words out of total vocabulary of 10727</span>
<span class="plain-syntax"> 714 words have a start list: longest belongs to report (with 293 meanings)</span>
<span class="plain-syntax">Size of lexicon: 3121 excerpt meanings</span>
<span class="plain-syntax"> Stored among 845 words out of total vocabulary of 10730</span>
<span class="plain-syntax"> 715 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: 106585</span>
<span class="plain-syntax"> of which unsuccessful: 88864</span>
<span class="plain-syntax"> of which successful: 17721</span>
<span class="plain-syntax">Number of attempts to retrieve: 106594</span>
<span class="plain-syntax"> of which unsuccessful: 88870</span>
<span class="plain-syntax"> of which successful: 17724</span>
<span class="plain-syntax">Total attempts to match against excerpt meanings: 264751</span>
<span class="plain-syntax"> of which, total with incorrect hash codes: 242578</span>
<span class="plain-syntax"> of which, total with correct hash codes: 22173</span>
<span class="plain-syntax"> of which, total which matched: 19407</span>
<span class="plain-syntax">Total attempts to match against excerpt meanings: 264760</span>
<span class="plain-syntax"> of which, total with incorrect hash codes: 242584</span>
<span class="plain-syntax"> of which, total with correct hash codes: 22176</span>
<span class="plain-syntax"> of which, total which matched: 19410</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

@ -293,13 +293,13 @@ Within each category, items are listed in order of creation.
<pre class="undisplayed-code all-displayed-code code-font">
<span class="plain-syntax">adjective: 137 items</span>
<span class="plain-syntax">article: 2 items</span>
<span class="plain-syntax">noun: 2387 items</span>
<span class="plain-syntax">noun: 2389 items</span>
<span class="plain-syntax">pronoun: 8 items</span>
<span class="plain-syntax">preposition: 274 items</span>
<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: 3329</span>
<span class="plain-syntax">adjective: 'even'</span>
<span class="plain-syntax">adjective: 'odd'</span>
@ -473,6 +473,7 @@ Within each category, items are listed in order of creation.
<span class="plain-syntax">noun: common: 'table column | k valued table column'</span>
<span class="plain-syntax">noun: common: 'combination | combination k | combination k and l'</span>
<span class="plain-syntax">noun: common: 'external file'</span>
<span class="plain-syntax">noun: common: 'internal file'</span>
<span class="plain-syntax">noun: common: 'described action'</span>
<span class="plain-syntax">noun: common: 'action'</span>
<span class="plain-syntax">noun: common: 'action name'</span>
@ -2781,6 +2782,7 @@ Within each category, items are listed in order of creation.
<span class="plain-syntax">noun: proper: 'real number understood'</span>
<span class="plain-syntax">noun: proper: 'truth state understood'</span>
<span class="plain-syntax">noun: proper: 'external file understood'</span>
<span class="plain-syntax">noun: proper: 'internal file understood'</span>
<span class="plain-syntax">noun: proper: 'time understood'</span>
<span class="plain-syntax">noun: proper: 'scene understood'</span>
<span class="plain-syntax">noun: proper: 'figure name understood'</span>

View file

@ -68,7 +68,8 @@ to the other three; it doesn't even have an activation function.
<pre class="definitions code-font"><span class="definition-keyword">enum</span> <span class="constant-syntax">MULTIMEDIA_CREATIONS_DA</span>
</pre>
<pre class="displayed-code all-displayed-code code-font">
<span class="identifier-syntax">compiler_feature</span><span class="plain-syntax"> *</span><span class="identifier-syntax">multimedia_feature</span><span class="plain-syntax">, *</span><span class="identifier-syntax">figures_feature</span><span class="plain-syntax">, *</span><span class="identifier-syntax">sounds_feature</span><span class="plain-syntax">, *</span><span class="identifier-syntax">files_feature</span><span class="plain-syntax">;</span>
<span class="identifier-syntax">compiler_feature</span><span class="plain-syntax"> *</span><span class="identifier-syntax">multimedia_feature</span><span class="plain-syntax">, *</span><span class="identifier-syntax">figures_feature</span><span class="plain-syntax">, *</span><span class="identifier-syntax">sounds_feature</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> *</span><span class="identifier-syntax">files_feature</span><span class="plain-syntax">, *</span><span class="identifier-syntax">internal_files_feature</span><span class="plain-syntax">;</span>
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">MultimediaModule::start</span><span class="plain-syntax">(</span><span class="reserved-syntax">void</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">multimedia_feature</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Features::new</span><span class="plain-syntax">(</span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"multimedia"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
@ -78,6 +79,8 @@ to the other three; it doesn't even have an activation function.
<span class="plain-syntax"> </span><span class="identifier-syntax">multimedia_feature</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">files_feature</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Features::new</span><span class="plain-syntax">(&amp;</span><a href="2-ef.html#SP1" class="function-link"><span class="function-syntax">ExternalFiles::start</span></a><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"glulx external files"</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">multimedia_feature</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">internal_files_feature</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Features::new</span><span class="plain-syntax">(&amp;</span><a href="2-if.html#SP1" class="function-link"><span class="function-syntax">InternalFiles::start</span></a><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"glulx internal files"</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">multimedia_feature</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Log::declare_aspect</span><span class="plain-syntax">(</span><span class="constant-syntax">MULTIMEDIA_CREATIONS_DA</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"figure creations"</span><span class="plain-syntax">, </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">, </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">);</span>
<span class="plain-syntax">}</span>

View file

@ -120,12 +120,21 @@ function togglePopup(material_id) {
<p class="commentary firstcommentary"><a id="SP3" class="paragraph-anchor"></a><b>&#167;3. </b>And this is the Preform grammar needed for the subject phrase:
</p>
<pre class="definitions code-font"><span class="definition-keyword">define</span> <span class="constant-syntax">EXTERNAL_TEXT_FILE_NFSMF</span><span class="plain-syntax"> </span><span class="constant-syntax">1</span>
<span class="definition-keyword">define</span> <span class="constant-syntax">EXTERNAL_BINARY_FILE_NFSMF</span><span class="plain-syntax"> </span><span class="constant-syntax">2</span>
<span class="definition-keyword">define</span> <span class="constant-syntax">INTERNAL_TEXT_FILE_NFSMF</span><span class="plain-syntax"> </span><span class="constant-syntax">3</span>
<span class="definition-keyword">define</span> <span class="constant-syntax">INTERNAL_BINARY_FILE_NFSMF</span><span class="plain-syntax"> </span><span class="constant-syntax">4</span>
<span class="definition-keyword">define</span> <span class="constant-syntax">INTERNAL_FORM_FILE_NFSMF</span><span class="plain-syntax"> </span><span class="constant-syntax">5</span>
</pre>
<pre class="Preform-displayed-code all-displayed-code code-font">
<span class="Preform-function-syntax">&lt;external-file-sentence-subject&gt;</span><span class="Preform-plain-syntax"> </span><span class="Preform-reserved-syntax">::=</span>
<span class="Preform-plain-syntax"> </span><span class="Preform-function-syntax">&lt;definite-article&gt;</span><span class="Preform-plain-syntax"> </span><span class="Preform-function-syntax">&lt;external-file-sentence-subject&gt;</span><span class="Preform-plain-syntax"> </span><span class="Preform-reserved-syntax">|</span><span class="Preform-plain-syntax"> </span><span class="Preform-reserved-syntax">==&gt;</span><span class="Preform-plain-syntax"> { pass 2 }</span>
<span class="Preform-plain-syntax"> </span><span class="Preform-constant-syntax">text</span><span class="Preform-plain-syntax"> </span><span class="Preform-function-syntax">&lt;external-file-name&gt;</span><span class="Preform-plain-syntax"> </span><span class="Preform-reserved-syntax">|</span><span class="Preform-plain-syntax"> </span><span class="Preform-reserved-syntax">==&gt;</span><span class="Preform-plain-syntax"> { FALSE, -, &lt;&lt;ownership&gt;&gt; = R[1] }</span>
<span class="Preform-plain-syntax"> </span><span class="Preform-constant-syntax">binary</span><span class="Preform-plain-syntax"> </span><span class="Preform-function-syntax">&lt;external-file-name&gt;</span><span class="Preform-plain-syntax"> </span><span class="Preform-reserved-syntax">|</span><span class="Preform-plain-syntax"> </span><span class="Preform-reserved-syntax">==&gt;</span><span class="Preform-plain-syntax"> { TRUE, -, &lt;&lt;ownership&gt;&gt; = R[1] }</span>
<span class="Preform-plain-syntax"> </span><span class="Preform-function-syntax">&lt;external-file-name&gt;</span><span class="Preform-plain-syntax"> </span><span class="Preform-reserved-syntax">==&gt;</span><span class="Preform-plain-syntax"> { FALSE, -, &lt;&lt;ownership&gt;&gt; = R[1] }</span>
<span class="Preform-plain-syntax"> </span><span class="Preform-constant-syntax">internal</span><span class="Preform-plain-syntax"> </span><span class="Preform-constant-syntax">data/binary</span><span class="Preform-plain-syntax"> </span><span class="Preform-function-syntax">&lt;external-file-name&gt;</span><span class="Preform-plain-syntax"> </span><span class="Preform-reserved-syntax">|</span><span class="Preform-plain-syntax"> </span><span class="Preform-reserved-syntax">==&gt;</span><span class="Preform-plain-syntax"> { INTERNAL_BINARY_FILE_NFSMF, -, &lt;&lt;ownership&gt;&gt; = R[1] }</span>
<span class="Preform-plain-syntax"> </span><span class="Preform-constant-syntax">internal</span><span class="Preform-plain-syntax"> </span><span class="Preform-constant-syntax">text</span><span class="Preform-plain-syntax"> </span><span class="Preform-function-syntax">&lt;external-file-name&gt;</span><span class="Preform-plain-syntax"> </span><span class="Preform-reserved-syntax">|</span><span class="Preform-plain-syntax"> </span><span class="Preform-reserved-syntax">==&gt;</span><span class="Preform-plain-syntax"> { INTERNAL_TEXT_FILE_NFSMF, -, &lt;&lt;ownership&gt;&gt; = R[1] }</span>
<span class="Preform-plain-syntax"> </span><span class="Preform-constant-syntax">internal</span><span class="Preform-plain-syntax"> </span><span class="Preform-constant-syntax">form</span><span class="Preform-plain-syntax"> </span><span class="Preform-function-syntax">&lt;external-file-name&gt;</span><span class="Preform-plain-syntax"> </span><span class="Preform-reserved-syntax">|</span><span class="Preform-plain-syntax"> </span><span class="Preform-reserved-syntax">==&gt;</span><span class="Preform-plain-syntax"> { INTERNAL_FORM_FILE_NFSMF, -, &lt;&lt;ownership&gt;&gt; = R[1] }</span>
<span class="Preform-plain-syntax"> </span><span class="Preform-constant-syntax">text</span><span class="Preform-plain-syntax"> </span><span class="Preform-function-syntax">&lt;external-file-name&gt;</span><span class="Preform-plain-syntax"> </span><span class="Preform-reserved-syntax">|</span><span class="Preform-plain-syntax"> </span><span class="Preform-reserved-syntax">==&gt;</span><span class="Preform-plain-syntax"> { EXTERNAL_TEXT_FILE_NFSMF, -, &lt;&lt;ownership&gt;&gt; = R[1] }</span>
<span class="Preform-plain-syntax"> </span><span class="Preform-constant-syntax">binary</span><span class="Preform-plain-syntax"> </span><span class="Preform-function-syntax">&lt;external-file-name&gt;</span><span class="Preform-plain-syntax"> </span><span class="Preform-reserved-syntax">|</span><span class="Preform-plain-syntax"> </span><span class="Preform-reserved-syntax">==&gt;</span><span class="Preform-plain-syntax"> { EXTERNAL_BINARY_FILE_NFSMF, -, &lt;&lt;ownership&gt;&gt; = R[1] }</span>
<span class="Preform-plain-syntax"> </span><span class="Preform-function-syntax">&lt;external-file-name&gt;</span><span class="Preform-plain-syntax"> </span><span class="Preform-reserved-syntax">==&gt;</span><span class="Preform-plain-syntax"> { EXTERNAL_TEXT_FILE_NFSMF, -, &lt;&lt;ownership&gt;&gt; = R[1] }</span>
<span class="Preform-function-syntax">&lt;external-file-name&gt;</span><span class="Preform-plain-syntax"> </span><span class="Preform-reserved-syntax">::=</span>
<span class="Preform-plain-syntax"> </span><span class="Preform-constant-syntax">{file</span><span class="Preform-plain-syntax"> </span><span class="Preform-constant-syntax">...}</span><span class="Preform-plain-syntax"> </span><span class="Preform-reserved-syntax">(</span><span class="Preform-plain-syntax"> </span><span class="Preform-constant-syntax">owned</span><span class="Preform-plain-syntax"> </span><span class="Preform-constant-syntax">by</span><span class="Preform-plain-syntax"> </span><span class="Preform-function-syntax">&lt;external-file-owner&gt;</span><span class="Preform-plain-syntax"> </span><span class="Preform-reserved-syntax">)</span><span class="Preform-plain-syntax"> </span><span class="Preform-reserved-syntax">|</span><span class="Preform-plain-syntax"> </span><span class="Preform-reserved-syntax">==&gt;</span><span class="Preform-plain-syntax"> { pass 1 }</span>
@ -196,16 +205,30 @@ has been found to create a file:
<span class="plain-syntax"> </span><span class="identifier-syntax">FN</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Wordings::from</span><span class="plain-syntax">(</span><span class="identifier-syntax">FN</span><span class="plain-syntax">, </span><span class="function-syntax">&lt;&lt;r&gt;&gt;</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Wordings::empty</span><span class="plain-syntax">(</span><span class="identifier-syntax">FN</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">wchar_t</span><span class="plain-syntax"> *</span><span class="identifier-syntax">p</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Lexer::word_text</span><span class="plain-syntax">(</span><span class="identifier-syntax">Wordings::first_wn</span><span class="plain-syntax">(</span><span class="identifier-syntax">FN</span><span class="plain-syntax">));</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="function-syntax">&lt;external-file-sentence-subject&gt;</span><span class="plain-syntax">(</span><span class="identifier-syntax">W</span><span class="plain-syntax">) == </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">) </span><span class="identifier-syntax">internal_error</span><span class="plain-syntax">(</span><span class="string-syntax">"bad ef grammar"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">wording</span><span class="plain-syntax"> </span><span class="identifier-syntax">NW</span><span class="plain-syntax"> = </span><span class="identifier-syntax">GET_RW</span><span class="plain-syntax">(</span><span class="function-syntax">&lt;external-file-name&gt;</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">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">format</span><span class="plain-syntax"> = </span><span class="function-syntax">&lt;&lt;r&gt;&gt;</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="2-ef.html#SP5_1" class="named-paragraph-link"><span class="named-paragraph">Vet the filename</span><span class="named-paragraph-number">5.1</span></a></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">binary</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">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">ownership</span><span class="plain-syntax"> = </span><span class="constant-syntax">OWNED_BY_THIS_PROJECT</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">ifid_of_file</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="2-ef.html#SP5_2" class="named-paragraph-link"><span class="named-paragraph">Determine the ownership</span><span class="named-paragraph-number">5.2</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><a href="2-ef.html#SP9" class="function-link"><span class="function-syntax">ExternalFiles::files_create</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">W</span><span class="plain-syntax">, </span><span class="identifier-syntax">binary</span><span class="plain-syntax">, </span><span class="identifier-syntax">ownership</span><span class="plain-syntax">, </span><span class="identifier-syntax">ifid_of_file</span><span class="plain-syntax">, </span><span class="identifier-syntax">FN</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">MULTIMEDIA_CREATIONS</span><span class="plain-syntax">, </span><span class="string-syntax">"Created external file &lt;%W&gt; = filename '%N'\n"</span><span class="plain-syntax">, </span><span class="identifier-syntax">W</span><span class="plain-syntax">, </span><span class="identifier-syntax">FN</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">ifid_of_file</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">switch</span><span class="plain-syntax"> (</span><span class="identifier-syntax">format</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">EXTERNAL_TEXT_FILE_NFSMF:</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">EXTERNAL_BINARY_FILE_NFSMF:</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">format</span><span class="plain-syntax"> == </span><span class="constant-syntax">EXTERNAL_BINARY_FILE_NFSMF</span><span class="plain-syntax">) </span><span class="identifier-syntax">binary</span><span class="plain-syntax"> = </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">ifid_of_file</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="2-ef.html#SP5_2" class="named-paragraph-link"><span class="named-paragraph">Determine the ownership</span><span class="named-paragraph-number">5.2</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><a href="2-ef.html#SP9" class="function-link"><span class="function-syntax">ExternalFiles::files_create</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">W</span><span class="plain-syntax">, </span><span class="identifier-syntax">binary</span><span class="plain-syntax">, </span><span class="identifier-syntax">ownership</span><span class="plain-syntax">, </span><span class="identifier-syntax">ifid_of_file</span><span class="plain-syntax">, </span><span class="identifier-syntax">FN</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">MULTIMEDIA_CREATIONS</span><span class="plain-syntax">, </span><span class="string-syntax">"Created external file &lt;%W&gt; = filename '%N'\n"</span><span class="plain-syntax">, </span><span class="identifier-syntax">W</span><span class="plain-syntax">, </span><span class="identifier-syntax">FN</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">ifid_of_file</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> }</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">INTERNAL_TEXT_FILE_NFSMF:</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">INTERNAL_BINARY_FILE_NFSMF:</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">INTERNAL_FORM_FILE_NFSMF:</span>
<span class="plain-syntax"> </span><a href="2-if.html#SP5" class="function-link"><span class="function-syntax">InternalFiles::files_create</span></a><span class="plain-syntax">(</span><span class="function-syntax">&lt;&lt;r&gt;&gt;</span><span class="plain-syntax">, </span><span class="identifier-syntax">W</span><span class="plain-syntax">, </span><span class="identifier-syntax">FN</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">MULTIMEDIA_CREATIONS</span><span class="plain-syntax">, </span><span class="string-syntax">"Created internal file &lt;%W&gt; = filename '%N'\n"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NW</span><span class="plain-syntax">, </span><span class="identifier-syntax">FN</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> }</span>
<span class="plain-syntax">}</span>
</pre>
<p class="commentary firstcommentary"><a id="SP5_1" class="paragraph-anchor"></a><b>&#167;5.1. </b>The restrictions here are really very conservative.
@ -224,6 +247,10 @@ has been found to create a file:
<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">i</span><span class="plain-syntax">&gt;24) </span><span class="identifier-syntax">bad_filename</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">isalpha</span><span class="plain-syntax">(</span><span class="identifier-syntax">p</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">])) || (</span><span class="identifier-syntax">Characters::isdigit</span><span class="plain-syntax">(</span><span class="identifier-syntax">p</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">]))) </span><span class="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">format</span><span class="plain-syntax"> == </span><span class="constant-syntax">INTERNAL_TEXT_FILE_NFSMF</span><span class="plain-syntax">) ||</span>
<span class="plain-syntax"> (</span><span class="identifier-syntax">format</span><span class="plain-syntax"> == </span><span class="constant-syntax">INTERNAL_BINARY_FILE_NFSMF</span><span class="plain-syntax">) ||</span>
<span class="plain-syntax"> (</span><span class="identifier-syntax">format</span><span class="plain-syntax"> == </span><span class="constant-syntax">INTERNAL_FORM_FILE_NFSMF</span><span class="plain-syntax">))</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> ((</span><span class="identifier-syntax">p</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">] == </span><span class="character-syntax">'.'</span><span class="plain-syntax">) || (</span><span class="identifier-syntax">p</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">] == </span><span class="character-syntax">'_'</span><span class="plain-syntax">) || (</span><span class="identifier-syntax">p</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">] == </span><span class="character-syntax">' '</span><span class="plain-syntax">)) </span><span class="reserved-syntax">continue</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">LOG</span><span class="plain-syntax">(</span><span class="string-syntax">"Objected to character %c\n"</span><span class="plain-syntax">, </span><span class="identifier-syntax">p</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">]);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">bad_filename</span><span class="plain-syntax"> = </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> }</span>
@ -252,8 +279,6 @@ by an unspecified other project, or by a project identified by its IFID.
</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="function-syntax">&lt;external-file-sentence-subject&gt;</span><span class="plain-syntax">(</span><span class="identifier-syntax">W</span><span class="plain-syntax">) == </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">) </span><span class="identifier-syntax">internal_error</span><span class="plain-syntax">(</span><span class="string-syntax">"bad ef grammar"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">binary</span><span class="plain-syntax"> = </span><span class="function-syntax">&lt;&lt;r&gt;&gt;</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">W</span><span class="plain-syntax"> = </span><span class="identifier-syntax">GET_RW</span><span class="plain-syntax">(</span><span class="function-syntax">&lt;external-file-name&gt;</span><span class="plain-syntax">, </span><span class="constant-syntax">1</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="2-ef.html#SP5_2_1" class="named-paragraph-link"><span class="named-paragraph">Make sure W can be the name of a new file anyway</span><span class="named-paragraph-number">5.2.1</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="function-syntax">&lt;&lt;ownership&gt;&gt;</span><span class="plain-syntax"> == </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">) {</span>
@ -326,7 +351,7 @@ by an unspecified other project, or by a project identified by its IFID.
<span class="plain-syntax"> </span><span class="identifier-syntax">CLASS_DEFINITION</span>
<span class="plain-syntax">} </span><span class="reserved-syntax">files_data</span><span class="plain-syntax">;</span>
</pre>
<ul class="endnotetexts"><li>The structure files_data is accessed in 2/fgr, 2/se and here.</li></ul>
<ul class="endnotetexts"><li>The structure files_data is accessed in 2/fgr, 2/se, 2/if and here.</li></ul>
<p class="commentary firstcommentary"><a id="SP9" class="paragraph-anchor"></a><b>&#167;9. </b>We allow instances of "external file" to be created only through the above
code calling <a href="2-fgr.html#SP9" class="internal">Figures::figures_create</a>. If any other proposition somehow
manages to make a figure, a problem message is thrown.
@ -369,7 +394,7 @@ manages to make a figure, a problem message is thrown.
<span class="plain-syntax">}</span>
</pre>
<nav role="progress"><div class="progresscontainer">
<ul class="progressbar"><li class="progressprev"><a href="2-se.html">&#10094;</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-mm.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-fgr.html">fgr</a></li><li class="progresssection"><a href="2-se.html">se</a></li><li class="progresscurrent">ef</li><li class="progressnextoff">&#10095;</li></ul></div>
<ul class="progressbar"><li class="progressprev"><a href="2-se.html">&#10094;</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-mm.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-fgr.html">fgr</a></li><li class="progresssection"><a href="2-se.html">se</a></li><li class="progresscurrent">ef</li><li class="progresssection"><a href="2-if.html">if</a></li><li class="progressnext"><a href="2-if.html">&#10095;</a></li></ul></div>
</nav><!--End of weave-->
</main>

View file

@ -233,7 +233,7 @@ detects that this has happened, and sets <span class="extract"><span class="extr
<span class="reserved-syntax">figures_data</span><span class="plain-syntax"> *</span><span class="identifier-syntax">F_cover_art</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
</pre>
<ul class="endnotetexts"><li>The structure figures_data is accessed in 2/se, 2/ef and here.</li></ul>
<ul class="endnotetexts"><li>The structure figures_data is accessed in 2/se, 2/ef, 2/if and here.</li></ul>
<p class="commentary firstcommentary"><a id="SP9" class="paragraph-anchor"></a><b>&#167;9. </b>We allow instances of "figure name" to be created only through the above
code calling <a href="2-fgr.html#SP9" class="internal">Figures::figures_create</a>. If any other proposition somehow
manages to make a figure, a problem message is thrown.
@ -361,7 +361,7 @@ the cover art, which is handled by Bibliographic Data.
<span class="plain-syntax">}</span>
</pre>
<nav role="progress"><div class="progresscontainer">
<ul class="progressbar"><li class="progressprev"><a href="1-mm.html">&#10094;</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-mm.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresscurrent">fgr</li><li class="progresssection"><a href="2-se.html">se</a></li><li class="progresssection"><a href="2-ef.html">ef</a></li><li class="progressnext"><a href="2-se.html">&#10095;</a></li></ul></div>
<ul class="progressbar"><li class="progressprev"><a href="1-mm.html">&#10094;</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-mm.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresscurrent">fgr</li><li class="progresssection"><a href="2-se.html">se</a></li><li class="progresssection"><a href="2-ef.html">ef</a></li><li class="progresssection"><a href="2-if.html">if</a></li><li class="progressnext"><a href="2-se.html">&#10095;</a></li></ul></div>
</nav><!--End of weave-->
</main>

View file

@ -0,0 +1,157 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Internal Files</title>
<link href="../docs-assets/Breadcrumbs.css" rel="stylesheet" rev="stylesheet" type="text/css">
<meta name="viewport" content="width=device-width initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="Content-Language" content="en-gb">
<link href="../docs-assets/Contents.css" rel="stylesheet" rev="stylesheet" type="text/css">
<link href="../docs-assets/Progress.css" rel="stylesheet" rev="stylesheet" type="text/css">
<link href="../docs-assets/Navigation.css" rel="stylesheet" rev="stylesheet" type="text/css">
<link href="../docs-assets/Fonts.css" rel="stylesheet" rev="stylesheet" type="text/css">
<link href="../docs-assets/Base.css" rel="stylesheet" rev="stylesheet" type="text/css">
<script>
function togglePopup(material_id) {
var popup = document.getElementById(material_id);
popup.classList.toggle("show");
}
</script>
<link href="../docs-assets/Popups.css" rel="stylesheet" rev="stylesheet" type="text/css">
<link href="../docs-assets/Colours.css" rel="stylesheet" rev="stylesheet" type="text/css">
</head>
<body class="commentary-font">
<nav role="navigation">
<h1><a href="../index.html">
<img src="../docs-assets/Inform.png" height=72">
</a></h1>
<ul><li><a href="../index.html">home</a></li>
</ul><h2>Compiler</h2><ul>
<li><a href="../structure.html">structure</a></li>
<li><a href="../inbuildn.html">inbuild</a></li>
<li><a href="../inform7n.html">inform7</a></li>
<li><a href="../intern.html">inter</a></li>
<li><a href="../services.html">services</a></li>
<li><a href="../secrets.html">secrets</a></li>
</ul><h2>Other Tools</h2><ul>
<li><a href="../inblorbn.html">inblorb</a></li>
<li><a href="../indocn.html">indoc</a></li>
<li><a href="../inform6.html">inform6</a></li>
<li><a href="../inpolicyn.html">inpolicy</a></li>
<li><a href="../inrtpsn.html">inrtps</a></li>
</ul><h2>Resources</h2><ul>
<li><a href="../extensions.html">extensions</a></li>
<li><a href="../kits.html">kits</a></li>
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inform"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inweb/index.html">inweb</a></li>
<li><a href="../../../intest/index.html">intest</a></li>
</ul>
</nav>
<main role="main">
<!--Weave of 'Internal Files' generated by Inweb-->
<div class="breadcrumbs">
<ul class="crumbs"><li><a href="../index.html">Home</a></li><li><a href="../inform7n.html">Inform7</a></li><li><a href="index.html">multimedia</a></li><li><a href="index.html#2">Chapter 2: Multimedia Features</a></li><li><b>Internal Files</b></li></ul></div>
<p class="purpose">To register the names associated with internal files, and build the small I6 arrays associated with each.</p>
<ul class="toc"><li><a href="2-if.html#SP2">&#167;2. One significant kind</a></li><li><a href="2-if.html#SP4">&#167;4. Significant new instances</a></li></ul><hr class="tocbar">
<p class="commentary firstcommentary"><a id="SP1" class="paragraph-anchor"></a><b>&#167;1. </b>The following is called to activate the feature:
</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">InternalFiles::start</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">InternalFiles::start</span></span>:<br/>Multimedia Module - <a href="1-mm.html#SP2">&#167;2</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">void</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">PluginCalls::plug</span><span class="plain-syntax">(</span><span class="identifier-syntax">PRODUCTION_LINE_PLUG</span><span class="plain-syntax">, </span><a href="2-if.html#SP1" class="function-link"><span class="function-syntax">InternalFiles::production_line</span></a><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">PluginCalls::plug</span><span class="plain-syntax">(</span><span class="identifier-syntax">NEW_BASE_KIND_NOTIFY_PLUG</span><span class="plain-syntax">, </span><a href="2-if.html#SP3" class="function-link"><span class="function-syntax">InternalFiles::files_new_base_kind_notify</span></a><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">PluginCalls::plug</span><span class="plain-syntax">(</span><span class="identifier-syntax">NEW_INSTANCE_NOTIFY_PLUG</span><span class="plain-syntax">, </span><a href="2-if.html#SP5" class="function-link"><span class="function-syntax">InternalFiles::files_new_named_instance_notify</span></a><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">InternalFiles::production_line</span><span class="plain-syntax">(</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">stage</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">debugging</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">stopwatch_timer</span><span class="plain-syntax"> *</span><span class="identifier-syntax">sequence_timer</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">stage</span><span class="plain-syntax"> == </span><span class="identifier-syntax">INTER1_CSEQ</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">BENCH</span><span class="plain-syntax">(</span><span class="identifier-syntax">RTMultimedia::compile_internal_files</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> }</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">;</span>
<span class="plain-syntax">}</span>
</pre>
<p class="commentary firstcommentary"><a id="SP2" class="paragraph-anchor"></a><b>&#167;2. One significant kind. </b></p>
<pre class="displayed-code all-displayed-code code-font">
<span class="identifier-syntax">kind</span><span class="plain-syntax"> *</span><span class="identifier-syntax">K_internal_file</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
</pre>
<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">InternalFiles::files_new_base_kind_notify</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">InternalFiles::files_new_base_kind_notify</span></span>:<br/><a href="2-if.html#SP1">&#167;1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">kind</span><span class="plain-syntax"> *</span><span class="identifier-syntax">new_base</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">name</span><span class="plain-syntax">, </span><span class="identifier-syntax">wording</span><span class="plain-syntax"> </span><span class="identifier-syntax">W</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::eq_wide_string</span><span class="plain-syntax">(</span><span class="identifier-syntax">name</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"INTERNAL_FILE_TY"</span><span class="plain-syntax">)) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">K_internal_file</span><span class="plain-syntax"> = </span><span class="identifier-syntax">new_base</span><span class="plain-syntax">; </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> }</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">;</span>
<span class="plain-syntax">}</span>
</pre>
<p class="commentary firstcommentary"><a id="SP4" class="paragraph-anchor"></a><b>&#167;4. Significant new instances. </b>This structure of additional data is attached to each figure instance.
</p>
<pre class="displayed-code all-displayed-code code-font">
<span class="reserved-syntax">typedef</span><span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="reserved-syntax">internal_files_data</span><span class="plain-syntax"> {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="identifier-syntax">wording</span><span class="plain-syntax"> </span><span class="identifier-syntax">name</span><span class="plain-syntax">; </span><span class="comment-syntax"> text of name</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">unextended_filename</span><span class="plain-syntax">; </span><span class="comment-syntax"> word number of text like </span><span class="extract"><span class="extract-syntax">"ice extents.usgs"</span></span>
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">inf_identifier</span><span class="plain-syntax">; </span><span class="comment-syntax"> an Inter identifier</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">file_format</span><span class="plain-syntax">; </span><span class="comment-syntax"> </span><span class="extract"><span class="extract-syntax">INTERNAL_TEXT_FILE_NFSMF</span></span><span class="comment-syntax">, </span><span class="extract"><span class="extract-syntax">INTERNAL_BINARY_FILE_NFSMF</span></span><span class="comment-syntax"> or </span><span class="extract"><span class="extract-syntax">INTERNAL_FORM_FILE_NFSMF</span></span>
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="identifier-syntax">instance</span><span class="plain-syntax"> *</span><span class="identifier-syntax">as_instance</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">where_created</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">CLASS_DEFINITION</span>
<span class="plain-syntax">} </span><span class="reserved-syntax">internal_files_data</span><span class="plain-syntax">;</span>
</pre>
<ul class="endnotetexts"><li>The structure internal_files_data is accessed in 2/fgr, 2/se, 2/ef and here.</li></ul>
<p class="commentary firstcommentary"><a id="SP5" class="paragraph-anchor"></a><b>&#167;5. </b>We allow instances of "internal file" to be created only through the code
from <a href="2-ef.html" class="internal">External Files</a> calling <a href="2-if.html#SP5" class="internal">InternalFiles::files_create</a>. If any other
proposition somehow manages to make a file, a problem message is thrown.
</p>
<pre class="displayed-code all-displayed-code code-font">
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">allow_inf_creations</span><span class="plain-syntax"> = </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">;</span>
<span class="identifier-syntax">instance</span><span class="plain-syntax"> *</span><span class="function-syntax">InternalFiles::files_create</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">InternalFiles::files_create</span></span>:<br/>External Files - <a href="2-ef.html#SP5">&#167;5</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">format</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="identifier-syntax">wording</span><span class="plain-syntax"> </span><span class="identifier-syntax">FN</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">allow_inf_creations</span><span class="plain-syntax"> = </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Assert::true</span><span class="plain-syntax">(</span><span class="identifier-syntax">Propositions::Abstract::to_create_something</span><span class="plain-syntax">(</span><span class="identifier-syntax">K_internal_file</span><span class="plain-syntax">, </span><span class="identifier-syntax">W</span><span class="plain-syntax">), </span><span class="identifier-syntax">CERTAIN_CE</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">allow_inf_creations</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">instance</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Instances::latest</span><span class="plain-syntax">();</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">internal_files_data</span><span class="plain-syntax"> *</span><span class="identifier-syntax">ifd</span><span class="plain-syntax"> = </span><span class="identifier-syntax">FEATURE_DATA_ON_INSTANCE</span><span class="plain-syntax">(</span><span class="identifier-syntax">internal_files</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">ifd</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">name</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">ifd</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">unextended_filename</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Wordings::first_wn</span><span class="plain-syntax">(</span><span class="identifier-syntax">FN</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">ifd</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">file_format</span><span class="plain-syntax"> = </span><span class="identifier-syntax">format</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">ifd</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">where_created</span><span class="plain-syntax"> = </span><span class="identifier-syntax">current_sentence</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">ifd</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">as_instance</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">return</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">int</span><span class="plain-syntax"> </span><span class="function-syntax">InternalFiles::files_new_named_instance_notify</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">InternalFiles::files_new_named_instance_notify</span></span>:<br/><a href="2-if.html#SP1">&#167;1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">instance</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">K_internal_file</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="identifier-syntax">kind</span><span class="plain-syntax"> *</span><span class="identifier-syntax">K</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Instances::to_kind</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">Kinds::eq</span><span class="plain-syntax">(</span><span class="identifier-syntax">K</span><span class="plain-syntax">, </span><span class="identifier-syntax">K_internal_file</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">allow_inf_creations</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::sentence_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_BackdoorInternalFileCreation</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="string-syntax">"this is not the way to create a new internal file"</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="string-syntax">"which should be done with a special 'The internal data file "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"... is called ...' sentence."</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">ATTACH_FEATURE_DATA_TO_SUBJECT</span><span class="plain-syntax">(</span><span class="identifier-syntax">internal_files</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">as_subject</span><span class="plain-syntax">, </span><span class="identifier-syntax">CREATE</span><span class="plain-syntax">(</span><span class="reserved-syntax">internal_files_data</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>
<span class="plain-syntax"> }</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">;</span>
<span class="plain-syntax">}</span>
</pre>
<nav role="progress"><div class="progresscontainer">
<ul class="progressbar"><li class="progressprev"><a href="2-ef.html">&#10094;</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-mm.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-fgr.html">fgr</a></li><li class="progresssection"><a href="2-se.html">se</a></li><li class="progresssection"><a href="2-ef.html">ef</a></li><li class="progresscurrent">if</li><li class="progressnextoff">&#10095;</li></ul></div>
</nav><!--End of weave-->
</main>
</body>
</html>

View file

@ -223,7 +223,7 @@ detects that this has happened, and sets <span class="extract"><span class="extr
<span class="plain-syntax"> </span><span class="identifier-syntax">CLASS_DEFINITION</span>
<span class="plain-syntax">} </span><span class="reserved-syntax">sounds_data</span><span class="plain-syntax">;</span>
</pre>
<ul class="endnotetexts"><li>The structure sounds_data is accessed in 2/fgr, 2/ef and here.</li></ul>
<ul class="endnotetexts"><li>The structure sounds_data is accessed in 2/fgr, 2/ef, 2/if and here.</li></ul>
<p class="commentary firstcommentary"><a id="SP9" class="paragraph-anchor"></a><b>&#167;9. </b>We allow instances of "sound name" to be created only through the above
code calling <a href="2-se.html#SP9" class="internal">Sounds::sounds_create</a>. If any other proposition somehow
manages to make a sound, a problem message is thrown.
@ -319,7 +319,7 @@ created from <span class="extract"><span class="extract-syntax">Figures.w</span>
<span class="plain-syntax">}</span>
</pre>
<nav role="progress"><div class="progresscontainer">
<ul class="progressbar"><li class="progressprev"><a href="2-fgr.html">&#10094;</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-mm.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-fgr.html">fgr</a></li><li class="progresscurrent">se</li><li class="progresssection"><a href="2-ef.html">ef</a></li><li class="progressnext"><a href="2-ef.html">&#10095;</a></li></ul></div>
<ul class="progressbar"><li class="progressprev"><a href="2-fgr.html">&#10094;</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-mm.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-fgr.html">fgr</a></li><li class="progresscurrent">se</li><li class="progresssection"><a href="2-ef.html">ef</a></li><li class="progresssection"><a href="2-if.html">if</a></li><li class="progressnext"><a href="2-ef.html">&#10095;</a></li></ul></div>
</nav><!--End of weave-->
</main>

View file

@ -90,6 +90,11 @@
<spon class="sectiontitle">External Files</span></a> -
<span class="sectionpurpose">To register the names associated with external files, and build the small I6 arrays associated with each.</span></p>
</li>
<li>
<p class="sectionentry"><a href="2-if.html">
<spon class="sectiontitle">Internal Files</span></a> -
<span class="sectionpurpose">To register the names associated with internal files, and build the small I6 arrays associated with each.</span></p>
</li>
</ul>
</li>
</ul>

View file

@ -59,7 +59,7 @@ 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#2">Chapter 2: Emission</a></li><li><b>Hierarchy</b></li></ul></div>
<p class="purpose">To provide an enforced structure and set of naming conventions for packages and names in the Inter code we generate.</p>
<ul class="toc"><li><a href="2-hrr.html#SP1">&#167;1. Introduction</a></li><li><a href="2-hrr.html#SP2">&#167;2. Notation</a></li><li><a href="2-hrr.html#SP8_1_1">&#167;8.1.1. Basics</a></li><li><a href="2-hrr.html#SP8_1_3">&#167;8.1.3. Modules</a></li><li><a href="2-hrr.html#SP8_1_5">&#167;8.1.5. Actions</a></li><li><a href="2-hrr.html#SP8_1_7">&#167;8.1.7. Activities</a></li><li><a href="2-hrr.html#SP8_1_9">&#167;8.1.9. Adjectives</a></li><li><a href="2-hrr.html#SP8_1_11">&#167;8.1.11. Bibliographic</a></li><li><a href="2-hrr.html#SP8_1_13">&#167;8.1.13. Chronology</a></li><li><a href="2-hrr.html#SP8_1_15">&#167;8.1.15. Conjugations</a></li><li><a href="2-hrr.html#SP8_1_17">&#167;8.1.17. Equations</a></li><li><a href="2-hrr.html#SP8_1_19">&#167;8.1.19. External files</a></li><li><a href="2-hrr.html#SP8_1_21">&#167;8.1.21. Grammar</a></li><li><a href="2-hrr.html#SP8_1_23">&#167;8.1.23. Instances</a></li><li><a href="2-hrr.html#SP8_1_25">&#167;8.1.25. Interactive Fiction</a></li><li><a href="2-hrr.html#SP8_1_27">&#167;8.1.27. Kinds</a></li><li><a href="2-hrr.html#SP8_1_29">&#167;8.1.29. Literal patterns</a></li><li><a href="2-hrr.html#SP8_1_31">&#167;8.1.31. Mapping hints</a></li><li><a href="2-hrr.html#SP8_1_33">&#167;8.1.33. Phrases</a></li><li><a href="2-hrr.html#SP8_1_35">&#167;8.1.35. Properties</a></li><li><a href="2-hrr.html#SP8_1_37">&#167;8.1.37. Relations</a></li><li><a href="2-hrr.html#SP8_1_39">&#167;8.1.39. Rulebooks</a></li><li><a href="2-hrr.html#SP8_1_41">&#167;8.1.41. Rules</a></li><li><a href="2-hrr.html#SP8_1_43">&#167;8.1.43. Tables</a></li><li><a href="2-hrr.html#SP8_1_45">&#167;8.1.45. Use options</a></li><li><a href="2-hrr.html#SP8_1_47">&#167;8.1.47. Variables</a></li><li><a href="2-hrr.html#SP8_1_49">&#167;8.1.49. Enclosed matter</a></li><li><a href="2-hrr.html#SP8_2_1">&#167;8.2.1. Architectural symbols</a></li><li><a href="2-hrr.html#SP11">&#167;11. Finding where to put things</a></li><li><a href="2-hrr.html#SP17">&#167;17. Availability</a></li><li><a href="2-hrr.html#SP18">&#167;18. Adding packages at attachment points</a></li><li><a href="2-hrr.html#SP22">&#167;22. Adding packages not at attachment points</a></li><li><a href="2-hrr.html#SP23">&#167;23. Metadata</a></li></ul><hr class="tocbar">
<ul class="toc"><li><a href="2-hrr.html#SP1">&#167;1. Introduction</a></li><li><a href="2-hrr.html#SP2">&#167;2. Notation</a></li><li><a href="2-hrr.html#SP8_1_1">&#167;8.1.1. Basics</a></li><li><a href="2-hrr.html#SP8_1_3">&#167;8.1.3. Modules</a></li><li><a href="2-hrr.html#SP8_1_5">&#167;8.1.5. Actions</a></li><li><a href="2-hrr.html#SP8_1_7">&#167;8.1.7. Activities</a></li><li><a href="2-hrr.html#SP8_1_9">&#167;8.1.9. Adjectives</a></li><li><a href="2-hrr.html#SP8_1_11">&#167;8.1.11. Bibliographic</a></li><li><a href="2-hrr.html#SP8_1_13">&#167;8.1.13. Chronology</a></li><li><a href="2-hrr.html#SP8_1_15">&#167;8.1.15. Conjugations</a></li><li><a href="2-hrr.html#SP8_1_17">&#167;8.1.17. Equations</a></li><li><a href="2-hrr.html#SP8_1_19">&#167;8.1.19. External files</a></li><li><a href="2-hrr.html#SP8_1_21">&#167;8.1.21. Grammar</a></li><li><a href="2-hrr.html#SP8_1_23">&#167;8.1.23. Instances</a></li><li><a href="2-hrr.html#SP8_1_25">&#167;8.1.25. Interactive Fiction</a></li><li><a href="2-hrr.html#SP8_1_27">&#167;8.1.27. Internal files</a></li><li><a href="2-hrr.html#SP8_1_29">&#167;8.1.29. Kinds</a></li><li><a href="2-hrr.html#SP8_1_31">&#167;8.1.31. Literal patterns</a></li><li><a href="2-hrr.html#SP8_1_33">&#167;8.1.33. Mapping hints</a></li><li><a href="2-hrr.html#SP8_1_35">&#167;8.1.35. Phrases</a></li><li><a href="2-hrr.html#SP8_1_37">&#167;8.1.37. Properties</a></li><li><a href="2-hrr.html#SP8_1_39">&#167;8.1.39. Relations</a></li><li><a href="2-hrr.html#SP8_1_41">&#167;8.1.41. Rulebooks</a></li><li><a href="2-hrr.html#SP8_1_43">&#167;8.1.43. Rules</a></li><li><a href="2-hrr.html#SP8_1_45">&#167;8.1.45. Tables</a></li><li><a href="2-hrr.html#SP8_1_47">&#167;8.1.47. Use options</a></li><li><a href="2-hrr.html#SP8_1_49">&#167;8.1.49. Variables</a></li><li><a href="2-hrr.html#SP8_1_51">&#167;8.1.51. Enclosed matter</a></li><li><a href="2-hrr.html#SP8_2_1">&#167;8.2.1. Architectural symbols</a></li><li><a href="2-hrr.html#SP11">&#167;11. Finding where to put things</a></li><li><a href="2-hrr.html#SP17">&#167;17. Availability</a></li><li><a href="2-hrr.html#SP18">&#167;18. Adding packages at attachment points</a></li><li><a href="2-hrr.html#SP22">&#167;22. Adding packages not at attachment points</a></li><li><a href="2-hrr.html#SP23">&#167;23. Metadata</a></li></ul><hr class="tocbar">
<p class="commentary firstcommentary"><a id="SP1" class="paragraph-anchor"></a><b>&#167;1. Introduction. </b>See <a href="P-wtmd.html" class="internal">What This Module Does</a> for an overview of how Inter hierarchies work.
</p>
@ -266,19 +266,20 @@ and <a href="../pipeline-module/4-tsk.html" class="internal">The Standard Kits (
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="2-hrr.html#SP8_1_22" class="named-paragraph-link"><span class="named-paragraph">Establish grammar</span><span class="named-paragraph-number">8.1.22</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="2-hrr.html#SP8_1_24" class="named-paragraph-link"><span class="named-paragraph">Establish instances</span><span class="named-paragraph-number">8.1.24</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="2-hrr.html#SP8_1_26" class="named-paragraph-link"><span class="named-paragraph">Establish int-fiction</span><span class="named-paragraph-number">8.1.26</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="2-hrr.html#SP8_1_28" class="named-paragraph-link"><span class="named-paragraph">Establish kinds</span><span class="named-paragraph-number">8.1.28</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="2-hrr.html#SP8_1_30" class="named-paragraph-link"><span class="named-paragraph">Establish literal patterns</span><span class="named-paragraph-number">8.1.30</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="2-hrr.html#SP8_1_32" class="named-paragraph-link"><span class="named-paragraph">Establish mapping hints</span><span class="named-paragraph-number">8.1.32</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="2-hrr.html#SP8_1_34" class="named-paragraph-link"><span class="named-paragraph">Establish phrases</span><span class="named-paragraph-number">8.1.34</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="2-hrr.html#SP8_1_36" class="named-paragraph-link"><span class="named-paragraph">Establish properties</span><span class="named-paragraph-number">8.1.36</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="2-hrr.html#SP8_1_38" class="named-paragraph-link"><span class="named-paragraph">Establish relations</span><span class="named-paragraph-number">8.1.38</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="2-hrr.html#SP8_1_40" class="named-paragraph-link"><span class="named-paragraph">Establish rulebooks</span><span class="named-paragraph-number">8.1.40</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="2-hrr.html#SP8_1_42" class="named-paragraph-link"><span class="named-paragraph">Establish rules</span><span class="named-paragraph-number">8.1.42</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="2-hrr.html#SP8_1_44" class="named-paragraph-link"><span class="named-paragraph">Establish tables</span><span class="named-paragraph-number">8.1.44</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="2-hrr.html#SP8_1_46" class="named-paragraph-link"><span class="named-paragraph">Establish use options</span><span class="named-paragraph-number">8.1.46</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="2-hrr.html#SP8_1_48" class="named-paragraph-link"><span class="named-paragraph">Establish variables</span><span class="named-paragraph-number">8.1.48</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="2-hrr.html#SP8_1_50" class="named-paragraph-link"><span class="named-paragraph">Establish enclosed matter</span><span class="named-paragraph-number">8.1.50</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="2-hrr.html#SP8_1_52" class="named-paragraph-link"><span class="named-paragraph">The rest</span><span class="named-paragraph-number">8.1.52</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="2-hrr.html#SP8_1_28" class="named-paragraph-link"><span class="named-paragraph">Establish internal files</span><span class="named-paragraph-number">8.1.28</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="2-hrr.html#SP8_1_30" class="named-paragraph-link"><span class="named-paragraph">Establish kinds</span><span class="named-paragraph-number">8.1.30</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="2-hrr.html#SP8_1_32" class="named-paragraph-link"><span class="named-paragraph">Establish literal patterns</span><span class="named-paragraph-number">8.1.32</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="2-hrr.html#SP8_1_34" class="named-paragraph-link"><span class="named-paragraph">Establish mapping hints</span><span class="named-paragraph-number">8.1.34</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="2-hrr.html#SP8_1_36" class="named-paragraph-link"><span class="named-paragraph">Establish phrases</span><span class="named-paragraph-number">8.1.36</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="2-hrr.html#SP8_1_38" class="named-paragraph-link"><span class="named-paragraph">Establish properties</span><span class="named-paragraph-number">8.1.38</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="2-hrr.html#SP8_1_40" class="named-paragraph-link"><span class="named-paragraph">Establish relations</span><span class="named-paragraph-number">8.1.40</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="2-hrr.html#SP8_1_42" class="named-paragraph-link"><span class="named-paragraph">Establish rulebooks</span><span class="named-paragraph-number">8.1.42</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="2-hrr.html#SP8_1_44" class="named-paragraph-link"><span class="named-paragraph">Establish rules</span><span class="named-paragraph-number">8.1.44</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="2-hrr.html#SP8_1_46" class="named-paragraph-link"><span class="named-paragraph">Establish tables</span><span class="named-paragraph-number">8.1.46</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="2-hrr.html#SP8_1_48" class="named-paragraph-link"><span class="named-paragraph">Establish use options</span><span class="named-paragraph-number">8.1.48</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="2-hrr.html#SP8_1_50" class="named-paragraph-link"><span class="named-paragraph">Establish variables</span><span class="named-paragraph-number">8.1.50</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="2-hrr.html#SP8_1_52" class="named-paragraph-link"><span class="named-paragraph">Establish enclosed matter</span><span class="named-paragraph-number">8.1.52</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="2-hrr.html#SP8_1_54" class="named-paragraph-link"><span class="named-paragraph">The rest</span><span class="named-paragraph-number">8.1.54</span></a></span><span class="plain-syntax">;</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="2-hrr.html#SP8">&#167;8</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP8_2" class="paragraph-anchor"></a><b>&#167;8.2. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Establish locations for material expected to be added by linking</span><span class="named-paragraph-number">8.2</span></span><span class="comment-syntax"> =</span>
@ -1018,6 +1019,7 @@ and <a href="../pipeline-module/4-tsk.html" class="internal">The Standard Kits (
<span class="definition-keyword">enum</span> <span class="constant-syntax">INSTANCE_SCENE_NEVER_ENDS_MD_HL</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">INSTANCE_IS_EXF_MD_HL</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">INSTANCE_FILE_VALUE_MD_HL</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">INSTANCE_INTERNAL_FILE_FORMAT_MD_HL</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">INSTANCE_FILE_IS_BINARY_MD_HL</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">INSTANCE_FILE_OWNED_MD_HL</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">INSTANCE_FILE_OWNED_BY_OTHER_MD_HL</span>
@ -1159,6 +1161,7 @@ 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">INSTANCE_FILE_OWNED_MD_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^file_owned"</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">INSTANCE_FILE_OWNED_BY_OTHER_MD_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^file_owned_by_other"</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">INSTANCE_FILE_OWNER_MD_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^file_owner"</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">INSTANCE_INTERNAL_FILE_FORMAT_MD_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^internal_file_format"</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">INSTANCE_FILE_IS_BINARY_MD_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^is_binary"</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">INSTANCE_LEAFNAME_MD_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^leafname"</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">INSTANCE_IS_FIGURE_MD_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^is_figure"</span><span class="plain-syntax">)</span>
@ -1264,7 +1267,25 @@ and <a href="../pipeline-module/4-tsk.html" class="internal">The Standard Kits (
<span class="plain-syntax"> </span><span class="constant-syntax">H_END</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="2-hrr.html#SP8_1">&#167;8.1</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP8_1_27" class="paragraph-anchor"></a><b>&#167;8.1.27. Kinds. </b></p>
<p class="commentary firstcommentary"><a id="SP8_1_27" class="paragraph-anchor"></a><b>&#167;8.1.27. Internal files. </b></p>
<pre class="definitions code-font"><span class="definition-keyword">enum</span> <span class="constant-syntax">INTERNAL_FILES_HAP</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">INTERNAL_FILE_HL</span>
</pre>
<p class="commentary firstcommentary"><a id="SP8_1_28" class="paragraph-anchor"></a><b>&#167;8.1.28. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Establish internal files</span><span class="named-paragraph-number">8.1.28</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">submodule_identity</span><span class="plain-syntax"> *</span><span class="identifier-syntax">internal_files</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">"internal_files"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">H_BEGIN</span><span class="plain-syntax">(</span><span class="identifier-syntax">LocationRequirements::local_submodule</span><span class="plain-syntax">(</span><span class="identifier-syntax">internal_files</span><span class="plain-syntax">))</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">H_BEGIN_AP</span><span class="plain-syntax">(</span><span class="constant-syntax">INTERNAL_FILES_HAP</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"internal_file"</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"_internal_file"</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">INTERNAL_FILE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"file"</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> </span><span class="constant-syntax">H_END</span>
<span class="plain-syntax"> </span><span class="constant-syntax">H_END</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="2-hrr.html#SP8_1">&#167;8.1</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP8_1_29" class="paragraph-anchor"></a><b>&#167;8.1.29. Kinds. </b></p>
<pre class="definitions code-font"><span class="definition-keyword">enum</span> <span class="constant-syntax">K_UNCHECKED_HL</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">K_UNCHECKED_FUNCTION_HL</span>
@ -1363,7 +1384,7 @@ and <a href="../pipeline-module/4-tsk.html" class="internal">The Standard Kits (
<span class="definition-keyword">enum</span> <span class="constant-syntax">RIGHT_OPERAND_BM_MD_HL</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">RESULT_BM_MD_HL</span>
</pre>
<p class="commentary firstcommentary"><a id="SP8_1_28" class="paragraph-anchor"></a><b>&#167;8.1.28. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Establish kinds</span><span class="named-paragraph-number">8.1.28</span></span><span class="comment-syntax"> =</span>
<p class="commentary firstcommentary"><a id="SP8_1_30" class="paragraph-anchor"></a><b>&#167;8.1.30. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Establish kinds</span><span class="named-paragraph-number">8.1.30</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">
@ -1482,13 +1503,13 @@ and <a href="../pipeline-module/4-tsk.html" class="internal">The Standard Kits (
<span class="plain-syntax"> </span><span class="constant-syntax">H_END</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="2-hrr.html#SP8_1">&#167;8.1</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP8_1_29" class="paragraph-anchor"></a><b>&#167;8.1.29. Literal patterns. </b></p>
<p class="commentary firstcommentary"><a id="SP8_1_31" class="paragraph-anchor"></a><b>&#167;8.1.31. Literal patterns. </b></p>
<pre class="definitions code-font"><span class="definition-keyword">enum</span> <span class="constant-syntax">LITERAL_PATTERNS_HAP</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">LP_PRINT_FN_HL</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">LP_PARSE_FN_HL</span>
</pre>
<p class="commentary firstcommentary"><a id="SP8_1_30" class="paragraph-anchor"></a><b>&#167;8.1.30. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Establish literal patterns</span><span class="named-paragraph-number">8.1.30</span></span><span class="comment-syntax"> =</span>
<p class="commentary firstcommentary"><a id="SP8_1_32" class="paragraph-anchor"></a><b>&#167;8.1.32. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Establish literal patterns</span><span class="named-paragraph-number">8.1.32</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">
@ -1502,7 +1523,7 @@ and <a href="../pipeline-module/4-tsk.html" class="internal">The Standard Kits (
<span class="plain-syntax"> </span><span class="constant-syntax">H_END</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="2-hrr.html#SP8_1">&#167;8.1</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP8_1_31" class="paragraph-anchor"></a><b>&#167;8.1.31. Mapping hints. </b></p>
<p class="commentary firstcommentary"><a id="SP8_1_33" class="paragraph-anchor"></a><b>&#167;8.1.33. Mapping hints. </b></p>
<pre class="definitions code-font"><span class="definition-keyword">enum</span> <span class="constant-syntax">MAPPING_HINTS_HAP</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">MH_FROM_HL</span>
@ -1521,7 +1542,7 @@ and <a href="../pipeline-module/4-tsk.html" class="internal">The Standard Kits (
<span class="definition-keyword">enum</span> <span class="constant-syntax">MH_OFFSET_HL</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">MH_OFFSET_FROM_HL</span>
</pre>
<p class="commentary firstcommentary"><a id="SP8_1_32" class="paragraph-anchor"></a><b>&#167;8.1.32. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Establish mapping hints</span><span class="named-paragraph-number">8.1.32</span></span><span class="comment-syntax"> =</span>
<p class="commentary firstcommentary"><a id="SP8_1_34" class="paragraph-anchor"></a><b>&#167;8.1.34. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Establish mapping hints</span><span class="named-paragraph-number">8.1.34</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">
@ -1548,7 +1569,7 @@ and <a href="../pipeline-module/4-tsk.html" class="internal">The Standard Kits (
<span class="plain-syntax"> </span><span class="constant-syntax">H_END</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="2-hrr.html#SP8_1">&#167;8.1</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP8_1_33" class="paragraph-anchor"></a><b>&#167;8.1.33. Phrases. </b></p>
<p class="commentary firstcommentary"><a id="SP8_1_35" class="paragraph-anchor"></a><b>&#167;8.1.35. Phrases. </b></p>
<pre class="definitions code-font"><span class="definition-keyword">enum</span> <span class="constant-syntax">CLOSURES_HAP</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">CLOSURE_DATA_HL</span>
@ -1565,7 +1586,7 @@ and <a href="../pipeline-module/4-tsk.html" class="internal">The Standard Kits (
<span class="definition-keyword">enum</span> <span class="constant-syntax">PHRASEBOOK_ENTRY_HAP</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">PHRASEBOOK_ENTRY_TEXT_MD_HL</span>
</pre>
<p class="commentary firstcommentary"><a id="SP8_1_34" class="paragraph-anchor"></a><b>&#167;8.1.34. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Establish phrases</span><span class="named-paragraph-number">8.1.34</span></span><span class="comment-syntax"> =</span>
<p class="commentary firstcommentary"><a id="SP8_1_36" class="paragraph-anchor"></a><b>&#167;8.1.36. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Establish phrases</span><span class="named-paragraph-number">8.1.36</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">
@ -1602,7 +1623,7 @@ and <a href="../pipeline-module/4-tsk.html" class="internal">The Standard Kits (
<span class="plain-syntax"> </span><span class="constant-syntax">H_END</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="2-hrr.html#SP8_1">&#167;8.1</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP8_1_35" class="paragraph-anchor"></a><b>&#167;8.1.35. Properties. </b></p>
<p class="commentary firstcommentary"><a id="SP8_1_37" class="paragraph-anchor"></a><b>&#167;8.1.37. Properties. </b></p>
<pre class="definitions code-font"><span class="definition-keyword">enum</span> <span class="constant-syntax">PROPERTIES_HAP</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">PROPERTY_NAME_MD_HL</span>
@ -1610,7 +1631,7 @@ and <a href="../pipeline-module/4-tsk.html" class="internal">The Standard Kits (
<span class="definition-keyword">enum</span> <span class="constant-syntax">PROPERTY_ID_HL</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">PROPERTY_HL</span>
</pre>
<p class="commentary firstcommentary"><a id="SP8_1_36" class="paragraph-anchor"></a><b>&#167;8.1.36. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Establish properties</span><span class="named-paragraph-number">8.1.36</span></span><span class="comment-syntax"> =</span>
<p class="commentary firstcommentary"><a id="SP8_1_38" class="paragraph-anchor"></a><b>&#167;8.1.38. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Establish properties</span><span class="named-paragraph-number">8.1.38</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">
@ -1626,7 +1647,7 @@ and <a href="../pipeline-module/4-tsk.html" class="internal">The Standard Kits (
<span class="plain-syntax"> </span><span class="constant-syntax">H_END</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="2-hrr.html#SP8_1">&#167;8.1</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP8_1_37" class="paragraph-anchor"></a><b>&#167;8.1.37. Relations. </b></p>
<p class="commentary firstcommentary"><a id="SP8_1_39" class="paragraph-anchor"></a><b>&#167;8.1.39. Relations. </b></p>
<pre class="definitions code-font"><span class="definition-keyword">enum</span> <span class="constant-syntax">RELS_ASSERT_FALSE_HL</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">RELS_ASSERT_TRUE_HL</span>
@ -1668,7 +1689,7 @@ and <a href="../pipeline-module/4-tsk.html" class="internal">The Standard Kits (
<span class="definition-keyword">enum</span> <span class="constant-syntax">RELATION_FN_HL</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">RELATION_CREATOR_FN_HL</span>
</pre>
<p class="commentary firstcommentary"><a id="SP8_1_38" class="paragraph-anchor"></a><b>&#167;8.1.38. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Establish relations</span><span class="named-paragraph-number">8.1.38</span></span><span class="comment-syntax"> =</span>
<p class="commentary firstcommentary"><a id="SP8_1_40" class="paragraph-anchor"></a><b>&#167;8.1.40. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Establish relations</span><span class="named-paragraph-number">8.1.40</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">
@ -1721,7 +1742,7 @@ and <a href="../pipeline-module/4-tsk.html" class="internal">The Standard Kits (
<span class="plain-syntax"> </span><span class="constant-syntax">H_END</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="2-hrr.html#SP8_1">&#167;8.1</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP8_1_39" class="paragraph-anchor"></a><b>&#167;8.1.39. Rulebooks. </b></p>
<p class="commentary firstcommentary"><a id="SP8_1_41" class="paragraph-anchor"></a><b>&#167;8.1.41. Rulebooks. </b></p>
<pre class="definitions code-font"><span class="definition-keyword">enum</span> <span class="constant-syntax">RBNO4_INAME_HL</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">RBNO3_INAME_HL</span>
@ -1769,7 +1790,7 @@ and <a href="../pipeline-module/4-tsk.html" class="internal">The Standard Kits (
<span class="definition-keyword">enum</span> <span class="constant-syntax">OUTCOME_FAILS_MD_HL</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">OUTCOME_IS_DEFAULT_MD_HL</span>
</pre>
<p class="commentary firstcommentary"><a id="SP8_1_40" class="paragraph-anchor"></a><b>&#167;8.1.40. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Establish rulebooks</span><span class="named-paragraph-number">8.1.40</span></span><span class="comment-syntax"> =</span>
<p class="commentary firstcommentary"><a id="SP8_1_42" class="paragraph-anchor"></a><b>&#167;8.1.42. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Establish rulebooks</span><span class="named-paragraph-number">8.1.42</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">
@ -1830,7 +1851,7 @@ and <a href="../pipeline-module/4-tsk.html" class="internal">The Standard Kits (
<span class="plain-syntax"> </span><span class="constant-syntax">H_END</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="2-hrr.html#SP8_1">&#167;8.1</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP8_1_41" class="paragraph-anchor"></a><b>&#167;8.1.41. Rules. </b></p>
<p class="commentary firstcommentary"><a id="SP8_1_43" class="paragraph-anchor"></a><b>&#167;8.1.43. Rules. </b></p>
<pre class="definitions code-font"><span class="definition-keyword">enum</span> <span class="constant-syntax">RULES_HAP</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">RULE_ANCHOR_HL</span>
@ -1860,7 +1881,7 @@ and <a href="../pipeline-module/4-tsk.html" class="internal">The Standard Kits (
<span class="definition-keyword">enum</span> <span class="constant-syntax">AC_TEXT_MD_HL</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">AC_AT_MD_HL</span>
</pre>
<p class="commentary firstcommentary"><a id="SP8_1_42" class="paragraph-anchor"></a><b>&#167;8.1.42. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Establish rules</span><span class="named-paragraph-number">8.1.42</span></span><span class="comment-syntax"> =</span>
<p class="commentary firstcommentary"><a id="SP8_1_44" class="paragraph-anchor"></a><b>&#167;8.1.44. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Establish rules</span><span class="named-paragraph-number">8.1.44</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">
@ -1901,7 +1922,7 @@ and <a href="../pipeline-module/4-tsk.html" class="internal">The Standard Kits (
<span class="plain-syntax"> </span><span class="constant-syntax">H_END</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="2-hrr.html#SP8_1">&#167;8.1</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP8_1_43" class="paragraph-anchor"></a><b>&#167;8.1.43. Tables. </b></p>
<p class="commentary firstcommentary"><a id="SP8_1_45" class="paragraph-anchor"></a><b>&#167;8.1.45. Tables. </b></p>
<pre class="definitions code-font"><span class="definition-keyword">enum</span> <span class="constant-syntax">TABLES_HAP</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">TABLE_NAME_MD_HL</span>
@ -1930,7 +1951,7 @@ and <a href="../pipeline-module/4-tsk.html" class="internal">The Standard Kits (
<span class="definition-keyword">enum</span> <span class="constant-syntax">TABLE_COLUMN_CONTENTS_MD_HL</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">TABLE_COLUMN_KIND_MD_HL</span>
</pre>
<p class="commentary firstcommentary"><a id="SP8_1_44" class="paragraph-anchor"></a><b>&#167;8.1.44. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Establish tables</span><span class="named-paragraph-number">8.1.44</span></span><span class="comment-syntax"> =</span>
<p class="commentary firstcommentary"><a id="SP8_1_46" class="paragraph-anchor"></a><b>&#167;8.1.46. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Establish tables</span><span class="named-paragraph-number">8.1.46</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">
@ -1974,7 +1995,7 @@ and <a href="../pipeline-module/4-tsk.html" class="internal">The Standard Kits (
<span class="plain-syntax"> </span><span class="constant-syntax">H_END</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="2-hrr.html#SP8_1">&#167;8.1</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP8_1_45" class="paragraph-anchor"></a><b>&#167;8.1.45. Use options. </b></p>
<p class="commentary firstcommentary"><a id="SP8_1_47" class="paragraph-anchor"></a><b>&#167;8.1.47. Use options. </b></p>
<pre class="definitions code-font"><span class="definition-keyword">enum</span> <span class="constant-syntax">USE_OPTIONS_HAP</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">USE_OPTION_MD_HL</span>
@ -1988,7 +2009,7 @@ and <a href="../pipeline-module/4-tsk.html" class="internal">The Standard Kits (
<span class="definition-keyword">enum</span> <span class="constant-syntax">USE_OPTION_MINIMUM_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_46" class="paragraph-anchor"></a><b>&#167;8.1.46. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Establish use options</span><span class="named-paragraph-number">8.1.46</span></span><span class="comment-syntax"> =</span>
<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>
</p>
<pre class="displayed-code all-displayed-code code-font">
@ -2010,7 +2031,7 @@ and <a href="../pipeline-module/4-tsk.html" class="internal">The Standard Kits (
<span class="plain-syntax"> </span><span class="constant-syntax">H_END</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="2-hrr.html#SP8_1">&#167;8.1</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP8_1_47" class="paragraph-anchor"></a><b>&#167;8.1.47. Variables. </b></p>
<p class="commentary firstcommentary"><a id="SP8_1_49" class="paragraph-anchor"></a><b>&#167;8.1.49. Variables. </b></p>
<pre class="definitions code-font"><span class="definition-keyword">enum</span> <span class="constant-syntax">VARIABLES_HAP</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">VARIABLE_NAME_MD_HL</span>
@ -2025,7 +2046,7 @@ and <a href="../pipeline-module/4-tsk.html" class="internal">The Standard Kits (
<span class="definition-keyword">enum</span> <span class="constant-syntax">COMMANDPROMPTTEXT_HL</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">INITIAL_MAX_SCORE_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 variables</span><span class="named-paragraph-number">8.1.48</span></span><span class="comment-syntax"> =</span>
<p class="commentary firstcommentary"><a id="SP8_1_50" class="paragraph-anchor"></a><b>&#167;8.1.50. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Establish variables</span><span class="named-paragraph-number">8.1.50</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">
@ -2048,7 +2069,7 @@ and <a href="../pipeline-module/4-tsk.html" class="internal">The Standard Kits (
<span class="plain-syntax"> </span><span class="constant-syntax">H_END</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="2-hrr.html#SP8_1">&#167;8.1</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP8_1_49" class="paragraph-anchor"></a><b>&#167;8.1.49. Enclosed matter. </b></p>
<p class="commentary firstcommentary"><a id="SP8_1_51" class="paragraph-anchor"></a><b>&#167;8.1.51. Enclosed matter. </b></p>
<pre class="definitions code-font"><span class="definition-keyword">enum</span> <span class="constant-syntax">LITERALS_HAP</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">TEXT_LITERAL_HL</span>
@ -2068,7 +2089,7 @@ and <a href="../pipeline-module/4-tsk.html" class="internal">The Standard Kits (
<span class="definition-keyword">enum</span> <span class="constant-syntax">LOOPS_OVER_SCOPE_HAP</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">LOOP_OVER_SCOPE_FN_HL</span>
</pre>
<p class="commentary firstcommentary"><a id="SP8_1_50" class="paragraph-anchor"></a><b>&#167;8.1.50. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Establish enclosed matter</span><span class="named-paragraph-number">8.1.50</span></span><span class="comment-syntax"> =</span>
<p class="commentary firstcommentary"><a id="SP8_1_52" class="paragraph-anchor"></a><b>&#167;8.1.52. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Establish enclosed matter</span><span class="named-paragraph-number">8.1.52</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">
@ -2099,7 +2120,7 @@ and <a href="../pipeline-module/4-tsk.html" class="internal">The Standard Kits (
<span class="plain-syntax"> </span><span class="constant-syntax">H_END</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="2-hrr.html#SP8_1">&#167;8.1</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP8_1_51" class="paragraph-anchor"></a><b>&#167;8.1.51. </b></p>
<p class="commentary firstcommentary"><a id="SP8_1_53" class="paragraph-anchor"></a><b>&#167;8.1.53. </b></p>
<pre class="definitions code-font"><span class="definition-keyword">enum</span> <span class="constant-syntax">K_OBJECT_XPACKAGE</span><span class="plain-syntax"> </span><span class="identifier-syntax">from</span><span class="plain-syntax"> </span><span class="constant-syntax">0</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">K_NUMBER_XPACKAGE</span>
@ -2110,6 +2131,7 @@ and <a href="../pipeline-module/4-tsk.html" class="internal">The Standard Kits (
<span class="definition-keyword">enum</span> <span class="constant-syntax">K_SOUND_NAME_XPACKAGE</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">K_USE_OPTION_XPACKAGE</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">K_EXTERNAL_FILE_XPACKAGE</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">K_INTERNAL_FILE_XPACKAGE</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">K_RULEBOOK_OUTCOME_XPACKAGE</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">K_RESPONSE_XPACKAGE</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">K_SCENE_XPACKAGE</span>
@ -2125,13 +2147,14 @@ and <a href="../pipeline-module/4-tsk.html" class="internal">The Standard Kits (
<span class="definition-keyword">enum</span> <span class="constant-syntax">PRINT_FIGURE_NAME_HL</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">PRINT_SOUND_NAME_HL</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">PRINT_EXTERNAL_FILE_NAME_HL</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">PRINT_INTERNAL_FILE_NAME_HL</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">PRINT_SCENE_HL</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">PRINT_DIALOGUE_BEAT_HL</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">PRINT_DIALOGUE_LINE_HL</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">PRINT_DIALOGUE_CHOICE_HL</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">PRINT_PERFORMANCE_STYLE_HL</span>
</pre>
<p class="commentary firstcommentary"><a id="SP8_1_52" class="paragraph-anchor"></a><b>&#167;8.1.52. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">The rest</span><span class="named-paragraph-number">8.1.52</span></span><span class="comment-syntax"> =</span>
<p class="commentary firstcommentary"><a id="SP8_1_54" class="paragraph-anchor"></a><b>&#167;8.1.54. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">The rest</span><span class="named-paragraph-number">8.1.54</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">
@ -2163,6 +2186,10 @@ and <a href="../pipeline-module/4-tsk.html" class="internal">The Standard Kits (
<span class="plain-syntax"> </span><span class="identifier-syntax">H_F_T</span><span class="plain-syntax">(</span><span class="constant-syntax">PRINT_EXTERNAL_FILE_NAME_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">"PrintExternalFileName"</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> </span><span class="constant-syntax">H_END</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">H_BEGIN</span><span class="plain-syntax">(</span><span class="identifier-syntax">LocationRequirements::this_exotic_package</span><span class="plain-syntax">(</span><span class="constant-syntax">K_INTERNAL_FILE_XPACKAGE</span><span class="plain-syntax">))</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">H_F_T</span><span class="plain-syntax">(</span><span class="constant-syntax">PRINT_INTERNAL_FILE_NAME_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">"PrintInternalFileName"</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> </span><span class="constant-syntax">H_END</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">H_BEGIN</span><span class="plain-syntax">(</span><span class="identifier-syntax">LocationRequirements::this_exotic_package</span><span class="plain-syntax">(</span><span class="constant-syntax">K_RULEBOOK_OUTCOME_XPACKAGE</span><span class="plain-syntax">))</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">H_F_T</span><span class="plain-syntax">(</span><span class="constant-syntax">PRINT_RULEBOOK_OUTCOME_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">"RulebookOutcomePrintingRule"</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> </span><span class="constant-syntax">H_END</span>
@ -2299,6 +2326,7 @@ exotic, but which are locations not easily falling into patterns. Here they are:
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">K_SOUND_NAME_XPACKAGE:</span><span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><a href="5-kc.html#SP4" class="function-link"><span class="function-syntax">RTKindConstructors::kind_package</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">K_sound_name</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">K_USE_OPTION_XPACKAGE:</span><span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><a href="5-kc.html#SP4" class="function-link"><span class="function-syntax">RTKindConstructors::kind_package</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">K_use_option</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">K_EXTERNAL_FILE_XPACKAGE:</span><span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><a href="5-kc.html#SP4" class="function-link"><span class="function-syntax">RTKindConstructors::kind_package</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">K_external_file</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">K_INTERNAL_FILE_XPACKAGE:</span><span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><a href="5-kc.html#SP4" class="function-link"><span class="function-syntax">RTKindConstructors::kind_package</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">K_internal_file</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">K_RULEBOOK_OUTCOME_XPACKAGE:</span><span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><a href="5-kc.html#SP4" class="function-link"><span class="function-syntax">RTKindConstructors::kind_package</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">K_rulebook_outcome</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">K_RESPONSE_XPACKAGE:</span><span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><a href="5-kc.html#SP4" class="function-link"><span class="function-syntax">RTKindConstructors::kind_package</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">K_response</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">K_SCENE_XPACKAGE:</span><span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><a href="5-kc.html#SP4" class="function-link"><span class="function-syntax">RTKindConstructors::kind_package</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">K_scene</span><span class="plain-syntax">);</span>
@ -2352,7 +2380,7 @@ the reader's convenience.
</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_with_memo</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">Hierarchy::make_iname_with_memo</span></span>:<br/>Activities - <a href="5-act.html#SP2">&#167;2</a><br/>Instances - <a href="5-ins.html#SP1">&#167;1</a><br/>Multimedia - <a href="5-mlt.html#SP2">&#167;2</a>, <a href="5-mlt.html#SP2_1">&#167;2.1</a><br/>Rulebooks - <a href="5-rlb.html#SP13">&#167;13</a><br/>Variables - <a href="5-vrb.html#SP11">&#167;11</a><br/>Properties - <a href="5-prp.html#SP2">&#167;2</a><br/>Kind IDs - <a href="5-ki.html#SP7_1_1">&#167;7.1.1</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">wording</span><span class="plain-syntax"> </span><span class="identifier-syntax">W</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_with_memo</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">Hierarchy::make_iname_with_memo</span></span>:<br/>Activities - <a href="5-act.html#SP2">&#167;2</a><br/>Instances - <a href="5-ins.html#SP1">&#167;1</a><br/>Multimedia - <a href="5-mlt.html#SP2">&#167;2</a>, <a href="5-mlt.html#SP2_1">&#167;2.1</a>, <a href="5-mlt.html#SP3">&#167;3</a><br/>Rulebooks - <a href="5-rlb.html#SP13">&#167;13</a><br/>Variables - <a href="5-vrb.html#SP11">&#167;11</a><br/>Properties - <a href="5-prp.html#SP2">&#167;2</a><br/>Kind IDs - <a href="5-ki.html#SP7_1_1">&#167;7.1.1</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">wording</span><span class="plain-syntax"> </span><span class="identifier-syntax">W</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">HierarchyLocations::make_iname_with_memo</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="identifier-syntax">W</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="function-syntax">Hierarchy::make_iname_with_shorter_memo</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">Hierarchy::make_iname_with_shorter_memo</span></span>:<br/>Actions - <a href="5-act2.html#SP4">&#167;4</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">wording</span><span class="plain-syntax"> </span><span class="identifier-syntax">W</span><span class="plain-syntax">) {</span>
@ -2454,7 +2482,7 @@ such <span class="extract"><span class="extract-syntax">_kind</span></span> pack
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><a href="2-hrr.html#SP19" class="function-link"><span class="function-syntax">Hierarchy::local_package_to</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">hap_id</span><span class="plain-syntax">, </span><span class="identifier-syntax">current_sentence</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="function-syntax">Hierarchy::local_package_to</span><button class="popup" onclick="togglePopup('usagePopup13')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup13">Usage of <span class="code-font"><span class="function-syntax">Hierarchy::local_package_to</span></span>:<br/>Use Options - <a href="3-uo.html#SP1">&#167;1</a><br/>Adjectives - <a href="5-adj.html#SP10">&#167;10</a><br/>Conjugations - <a href="5-cnj.html#SP3">&#167;3</a>, <a href="5-cnj.html#SP4">&#167;4</a>, <a href="5-cnj.html#SP7">&#167;7</a><br/>Equations - <a href="5-eqt.html#SP1">&#167;1</a><br/>Multimedia - <a href="5-mlt.html#SP2">&#167;2</a><br/>Tables - <a href="5-tbl.html#SP1">&#167;1</a><br/>Table Columns - <a href="5-tc.html#SP1">&#167;1</a><br/>Rules - <a href="5-rls.html#SP3">&#167;3</a><br/>Rulebooks - <a href="5-rlb.html#SP2">&#167;2</a>, <a href="5-rlb.html#SP13">&#167;13</a><br/>Variables - <a href="5-vrb.html#SP11">&#167;11</a><br/>Properties - <a href="5-prp.html#SP2">&#167;2</a><br/>Relations - <a href="5-rlt.html#SP2">&#167;2</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><br/>Actions - <a href="5-act2.html#SP2">&#167;2</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></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">hap_id</span><span class="plain-syntax">, </span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">at</span><span class="plain-syntax">) {</span>
<span class="identifier-syntax">package_request</span><span class="plain-syntax"> *</span><span class="function-syntax">Hierarchy::local_package_to</span><button class="popup" onclick="togglePopup('usagePopup13')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup13">Usage of <span class="code-font"><span class="function-syntax">Hierarchy::local_package_to</span></span>:<br/>Use Options - <a href="3-uo.html#SP1">&#167;1</a><br/>Adjectives - <a href="5-adj.html#SP10">&#167;10</a><br/>Conjugations - <a href="5-cnj.html#SP3">&#167;3</a>, <a href="5-cnj.html#SP4">&#167;4</a>, <a href="5-cnj.html#SP7">&#167;7</a><br/>Equations - <a href="5-eqt.html#SP1">&#167;1</a><br/>Multimedia - <a href="5-mlt.html#SP2">&#167;2</a>, <a href="5-mlt.html#SP3">&#167;3</a><br/>Tables - <a href="5-tbl.html#SP1">&#167;1</a><br/>Table Columns - <a href="5-tc.html#SP1">&#167;1</a><br/>Rules - <a href="5-rls.html#SP3">&#167;3</a><br/>Rulebooks - <a href="5-rlb.html#SP2">&#167;2</a>, <a href="5-rlb.html#SP13">&#167;13</a><br/>Variables - <a href="5-vrb.html#SP11">&#167;11</a><br/>Properties - <a href="5-prp.html#SP2">&#167;2</a><br/>Relations - <a href="5-rlt.html#SP2">&#167;2</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><br/>Actions - <a href="5-act2.html#SP2">&#167;2</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></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">hap_id</span><span class="plain-syntax">, </span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">at</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><a href="2-hrr.html#SP18" class="function-link"><span class="function-syntax">Hierarchy::package</span></a><span class="plain-syntax">(</span><a href="2-cu.html#SP7" class="function-link"><span class="function-syntax">CompilationUnits::find</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">at</span><span class="plain-syntax">), </span><span class="identifier-syntax">hap_id</span><span class="plain-syntax">);</span>
<span class="plain-syntax">}</span>
</pre>
@ -2512,12 +2540,12 @@ point system, and for those:
<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">&#167;1</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><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">&#167;1</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">&#167;1</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><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">&#167;1</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>
@ -2529,7 +2557,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">&#167;1</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">&#167;1</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>, <a href="5-mlt.html#SP3_1">&#167;3.1</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

@ -91,7 +91,7 @@ function togglePopup(material_id) {
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">I</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">compilation_data</span><span class="plain-syntax">.</span><span class="element-syntax">instance_iname</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="function-syntax">RTInstances::package</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">RTInstances::package</span></span>:<br/><a href="5-ins.html#SP4">&#167;4</a><br/>Short Names - <a href="2-sn.html#SP3">&#167;3</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#SP1">&#167;1</a>, <a href="5-si.html#SP3">&#167;3</a>, <a href="5-si.html#SP7">&#167;7</a><br/>Multimedia - <a href="5-mlt.html#SP1">&#167;1</a>, <a href="5-mlt.html#SP2_3">&#167;2.3</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/>Property Permissions - <a href="6-pp.html#SP1">&#167;1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">instance</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax">) {</span>
<span class="identifier-syntax">package_request</span><span class="plain-syntax"> *</span><span class="function-syntax">RTInstances::package</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">RTInstances::package</span></span>:<br/><a href="5-ins.html#SP4">&#167;4</a><br/>Short Names - <a href="2-sn.html#SP3">&#167;3</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#SP1">&#167;1</a>, <a href="5-si.html#SP3">&#167;3</a>, <a href="5-si.html#SP7">&#167;7</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/>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/>Property Permissions - <a href="6-pp.html#SP1">&#167;1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">instance</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">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">I</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">compilation_data</span><span class="plain-syntax">.</span><span class="element-syntax">instance_package</span><span class="plain-syntax">;</span>
<span class="plain-syntax">}</span>
</pre>

View file

@ -310,6 +310,11 @@ of the kind which the constructor makes:
<span class="plain-syntax"> </span><a href="2-hrr.html#SP17" class="function-link"><span class="function-syntax">Hierarchy::make_available</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">K</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">construct</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">compilation_data</span><span class="plain-syntax">.</span><span class="element-syntax">pr_iname</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">K</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">construct</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">compilation_data</span><span class="plain-syntax">.</span><span class="element-syntax">pr_iname</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">Kinds::eq</span><span class="plain-syntax">(</span><span class="identifier-syntax">K</span><span class="plain-syntax">, </span><span class="identifier-syntax">K_internal_file</span><span class="plain-syntax">)) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">K</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">construct</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">compilation_data</span><span class="plain-syntax">.</span><span class="element-syntax">pr_iname</span><span class="plain-syntax"> = </span><a href="2-hrr.html#SP11" class="function-link"><span class="function-syntax">Hierarchy::find</span></a><span class="plain-syntax">(</span><span class="constant-syntax">PRINT_INTERNAL_FILE_NAME_HL</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="2-hrr.html#SP17" class="function-link"><span class="function-syntax">Hierarchy::make_available</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">K</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">construct</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">compilation_data</span><span class="plain-syntax">.</span><span class="element-syntax">pr_iname</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">K</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">construct</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">compilation_data</span><span class="plain-syntax">.</span><span class="element-syntax">pr_iname</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">Kinds::eq</span><span class="plain-syntax">(</span><span class="identifier-syntax">K</span><span class="plain-syntax">, </span><span class="identifier-syntax">K_scene</span><span class="plain-syntax">)) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">K</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">construct</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">compilation_data</span><span class="plain-syntax">.</span><span class="element-syntax">pr_iname</span><span class="plain-syntax"> = </span><a href="2-hrr.html#SP11" class="function-link"><span class="function-syntax">Hierarchy::find</span></a><span class="plain-syntax">(</span><span class="constant-syntax">PRINT_SCENE_HL</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="2-hrr.html#SP17" class="function-link"><span class="function-syntax">Hierarchy::make_available</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">K</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">construct</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">compilation_data</span><span class="plain-syntax">.</span><span class="element-syntax">pr_iname</span><span class="plain-syntax">);</span>

View file

@ -73,6 +73,16 @@ function togglePopup(material_id) {
<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">RTMultimedia::compile_internal_files</span><span class="plain-syntax">(</span><span class="reserved-syntax">void</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">internal_files_data</span><span class="plain-syntax"> *</span><span class="identifier-syntax">inf</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">inf</span><span class="plain-syntax">, </span><span class="identifier-syntax">internal_files_data</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">desc</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">desc</span><span class="plain-syntax">, </span><span class="string-syntax">"internal file '%W'"</span><span class="plain-syntax">, </span><span class="identifier-syntax">inf</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">Sequence::queue</span><span class="plain-syntax">(&amp;</span><a href="5-mlt.html#SP3" class="function-link"><span class="function-syntax">RTMultimedia::internal_compilation_agent</span></a><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">STORE_POINTER_internal_files_data</span><span class="plain-syntax">(</span><span class="identifier-syntax">inf</span><span class="plain-syntax">), </span><span class="identifier-syntax">desc</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> }</span>
<span class="plain-syntax">}</span>
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">RTMultimedia::compile_figures</span><span class="plain-syntax">(</span><span class="reserved-syntax">void</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">figures_data</span><span class="plain-syntax"> *</span><span class="identifier-syntax">bf</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">bf</span><span class="plain-syntax">, </span><span class="identifier-syntax">figures_data</span><span class="plain-syntax">) {</span>
@ -175,6 +185,30 @@ function togglePopup(material_id) {
<span class="plain-syntax"> }</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="5-mlt.html#SP2">&#167;2</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP3" class="paragraph-anchor"></a><b>&#167;3. </b>Internal files are simpler:
</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">RTMultimedia::internal_compilation_agent</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">RTMultimedia::internal_compilation_agent</span></span>:<br/><a href="5-mlt.html#SP1">&#167;1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">compilation_subtask</span><span class="plain-syntax"> *</span><span class="identifier-syntax">t</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">internal_files_data</span><span class="plain-syntax"> *</span><span class="identifier-syntax">inf</span><span class="plain-syntax"> = </span><span class="identifier-syntax">RETRIEVE_POINTER_internal_files_data</span><span class="plain-syntax">(</span><span class="identifier-syntax">t</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">data</span><span class="plain-syntax">);</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="identifier-syntax">inf</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">package_request</span><span class="plain-syntax"> *</span><span class="identifier-syntax">P</span><span class="plain-syntax"> = </span><a href="2-hrr.html#SP19" class="function-link"><span class="function-syntax">Hierarchy::local_package_to</span></a><span class="plain-syntax">(</span><span class="constant-syntax">INTERNAL_FILES_HAP</span><span class="plain-syntax">, </span><span class="identifier-syntax">inf</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">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">inf_iname</span><span class="plain-syntax"> = </span><a href="2-hrr.html#SP13" class="function-link"><span class="function-syntax">Hierarchy::make_iname_with_memo</span></a><span class="plain-syntax">(</span><span class="constant-syntax">INTERNAL_FILE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="identifier-syntax">W</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-mlt.html#SP3_1" class="named-paragraph-link"><span class="named-paragraph">Make the internal value metadata</span><span class="named-paragraph-number">3.1</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax">}</span>
</pre>
<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">Make the internal value metadata</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">package_request</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax"> = </span><a href="5-ins.html#SP1" class="function-link"><span class="function-syntax">RTInstances::package</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">inf</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">as_instance</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="2-hrr.html#SP23" class="function-link"><span class="function-syntax">Hierarchy::apply_metadata_from_iname</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="constant-syntax">INSTANCE_FILE_VALUE_MD_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">inf_iname</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="2-hrr.html#SP23" class="function-link"><span class="function-syntax">Hierarchy::apply_metadata_from_raw_wording</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="constant-syntax">INSTANCE_LEAFNAME_MD_HL</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Wordings::one_word</span><span class="plain-syntax">(</span><span class="identifier-syntax">inf</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">unextended_filename</span><span class="plain-syntax">));</span>
<span class="plain-syntax"> </span><a href="2-hrr.html#SP23" class="function-link"><span class="function-syntax">Hierarchy::apply_metadata_from_number</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="constant-syntax">INSTANCE_INTERNAL_FILE_FORMAT_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">inf</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">file_format</span><span class="plain-syntax">);</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="5-mlt.html#SP3">&#167;3</a>.</li></ul>
<nav role="progress"><div class="progresscontainer">
<ul class="progressbar"><li class="progressprev"><a href="5-si.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="progresschapter"><a href="3-gm.html">3</a></li><li class="progresschapter"><a href="4-enc.html">4</a></li><li class="progresscurrentchapter">5</li><li class="progresssection"><a href="5-act.html">act</a></li><li class="progresssection"><a href="5-adj.html">adj</a></li><li class="progresssection"><a href="5-chr.html">chr</a></li><li class="progresssection"><a href="5-cnj.html">cnj</a></li><li class="progresssection"><a href="5-eqt.html">eqt</a></li><li class="progresssection"><a href="5-ins.html">ins</a></li><li class="progresssection"><a href="5-bi.html">bi</a></li><li class="progresssection"><a href="5-di.html">di</a></li><li class="progresssection"><a href="5-ri.html">ri</a></li><li class="progresssection"><a href="5-si.html">si</a></li><li class="progresscurrent">mlt</li><li class="progresssection"><a href="5-tbl.html">tbl</a></li><li class="progresssection"><a href="5-tc.html">tc</a></li><li class="progresssection"><a href="5-dbi.html">dbi</a></li><li class="progresssection"><a href="5-dli.html">dli</a></li><li class="progresssection"><a href="5-dci.html">dci</a></li><li class="progresssection"><a href="5-rls.html">rls</a></li><li class="progresssection"><a href="5-rlb.html">rlb</a></li><li class="progresssection"><a href="5-vrb.html">vrb</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-lp.html">lp</a></li><li class="progresssection"><a href="5-kc.html">kc</a></li><li class="progresssection"><a href="5-ki.html">ki</a></li><li class="progresssection"><a href="5-act2.html">act2</a></li><li class="progresssection"><a href="5-nap.html">nap</a></li><li class="progresssection"><a href="5-ts.html">ts</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="5-tbl.html">&#10095;</a></li></ul></div>
</nav><!--End of weave-->

View file

@ -1,15 +1,15 @@
Size of lexicon: 3118 excerpt meanings
Stored among 844 words out of total vocabulary of 10727
714 words have a start list: longest belongs to report (with 293 meanings)
Size of lexicon: 3121 excerpt meanings
Stored among 845 words out of total vocabulary of 10730
715 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: 106585
of which unsuccessful: 88864
of which successful: 17721
Number of attempts to retrieve: 106594
of which unsuccessful: 88870
of which successful: 17724
Total attempts to match against excerpt meanings: 264751
of which, total with incorrect hash codes: 242578
of which, total with correct hash codes: 22173
of which, total which matched: 19407
Total attempts to match against excerpt meanings: 264760
of which, total with incorrect hash codes: 242584
of which, total with correct hash codes: 22176
of which, total which matched: 19410

File diff suppressed because it is too large Load diff

View file

@ -1,74 +1,74 @@
Total memory consumption was 123341K = 120 MB
Total memory consumption was 123394K = 121 MB
---- was used for 2053890 objects, in 366129 frames in 0 x 800K = 0K = 0 MB:
---- was used for 2055370 objects, in 366313 frames in 0 x 800K = 0K = 0 MB:
33.1% inter_tree_node_array 58 x 8192 = 475136 objects, 41813824 bytes
20.6% text_stream_array 4634 x 100 = 463400 objects, 26098688 bytes
19.5% linked_list 44033 objects, 24658480 bytes
33.0% inter_tree_node_array 58 x 8192 = 475136 objects, 41813824 bytes
20.6% text_stream_array 4637 x 100 = 463700 objects, 26115584 bytes
19.5% linked_list 44083 objects, 24686480 bytes
11.2% inter_symbol_array 133 x 1024 = 136192 objects, 14168224 bytes
10.4% inter_error_stash_array 101 x 1024 = 103424 objects, 13241504 bytes
8.2% parse_node 130130 objects, 10410400 bytes
8.2% parse_node 130152 objects, 10412160 bytes
6.0% verb_conjugation 164 objects, 7610912 bytes
4.4% parse_node_annotation_array 348 x 500 = 174000 objects, 5579136 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.0% kind_array 66 x 1000 = 66000 objects, 2642112 bytes
2.1% kind_array 67 x 1000 = 67000 objects, 2682144 bytes
1.7% scan_directory 528 objects, 2179584 bytes
1.6% inter_name_generator_array 51 x 1000 = 51000 objects, 2041632 bytes
1.6% inter_schema_token 14131 objects, 2034864 bytes
1.4% package_request 21178 objects, 1863664 bytes
1.4% package_request 21189 objects, 1864632 bytes
1.4% vocabulary_entry_array 164 x 100 = 16400 objects, 1842048 bytes
1.2% dict_entry_array 475 x 100 = 47500 objects, 1535200 bytes
1.1% match_trie_array 11 x 1000 = 11000 objects, 1496352 bytes
1.1% inter_symbols_table 26587 objects, 1488872 bytes
1.1% inter_symbols_table 26603 objects, 1489768 bytes
1.0% i6_schema_array 23 x 100 = 2300 objects, 1380736 bytes
1.0% inter_package 26587 objects, 1276176 bytes
0.8% map_data 675 objects, 1134000 bytes
1.0% inter_package 26603 objects, 1276944 bytes
0.9% map_data 677 objects, 1137360 bytes
0.8% id_body 946 objects, 1082224 bytes
0.7% adjective_meaning 202 objects, 1000304 bytes
0.7% excerpt_meaning 3118 objects, 972816 bytes
0.7% production 3954 objects, 917328 bytes
0.7% ptoken 8580 objects, 892320 bytes
0.6% grammatical_usage 3638 objects, 873120 bytes
0.7% excerpt_meaning 3121 objects, 973752 bytes
0.7% production 3957 objects, 918024 bytes
0.7% ptoken 8590 objects, 893360 bytes
0.6% grammatical_usage 3641 objects, 873840 bytes
0.6% inter_schema_node 9056 objects, 869376 bytes
0.6% individual_form 2568 objects, 862848 bytes
0.6% individual_form 2571 objects, 863856 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 7613 objects, 365424 bytes
0.2% dictionary 7617 objects, 365616 bytes
0.2% verb_form 388 objects, 350752 bytes
0.2% noun 2387 objects, 286440 bytes
0.2% noun 2389 objects, 286680 bytes
0.2% compilation_subtask 3367 objects, 269360 bytes
0.2% inference_subject 670 objects, 262640 bytes
0.2% inference_subject 672 objects, 263424 bytes
0.2% inter_annotation_array 2 x 8192 = 16384 objects, 262208 bytes
0.1% vanilla_function 3698 objects, 236672 bytes
0.1% vanilla_function 3703 objects, 236992 bytes
0.1% binary_predicate 326 objects, 172128 bytes
0.1% hierarchy_location 1165 objects, 167760 bytes
0.1% linguistic_stock_item 3327 objects, 159696 bytes
0.1% hierarchy_location 1168 objects, 168192 bytes
0.1% linguistic_stock_item 3329 objects, 159792 bytes
0.1% rule_family_data 401 objects, 147568 bytes
0.1% nonterminal 773 objects, 142232 bytes
0.1% nascent_array 2130 objects, 136320 bytes
---- inference 1703 objects, 122616 bytes
---- documentation_ref 1270 objects, 111760 bytes
---- imperative_defn 1383 objects, 99576 bytes
---- noun_usage 2409 objects, 96360 bytes
---- noun_usage 2412 objects, 96480 bytes
---- anl_entry_array 2 x 1000 = 2000 objects, 96064 bytes
---- preposition 274 objects, 87680 bytes
---- inter_schema 1524 objects, 85344 bytes
---- inter_tree 6 objects, 81360 bytes
---- lexical_cluster 2524 objects, 80768 bytes
---- inter_tree 6 objects, 81552 bytes
---- lexical_cluster 2526 objects, 80832 bytes
---- pcalc_term_array 2 x 1000 = 2000 objects, 80064 bytes
---- kind_variable_declaration 1655 objects, 79440 bytes
---- rulebook 407 objects, 78144 bytes
---- label_namespace 1472 objects, 70656 bytes
---- spatial_data 675 objects, 64800 bytes
---- spatial_data 677 objects, 64992 bytes
---- linked_list_item_array 4 x 1000 = 4000 objects, 64128 bytes
---- kind_macro_definition 9 objects, 62280 bytes
---- booking 861 objects, 61992 bytes
---- scenes_rcd_data 1892 objects, 60544 bytes
---- actions_rcd_data 1892 objects, 60544 bytes
---- kind_constructor 77 objects, 58520 bytes
---- kind_constructor 78 objects, 59280 bytes
---- command_grammar 130 objects, 58240 bytes
---- table 7 objects, 56672 bytes
---- pcalc_func_array 1 x 1000 objects, 56032 bytes
@ -81,24 +81,24 @@ Total memory consumption was 123341K = 120 MB
---- heading 204 objects, 45696 bytes
---- text_substitution 437 objects, 41952 bytes
---- to_family_data 501 objects, 40080 bytes
---- anl_clause_array 1 x 1000 objects, 40032 bytes
---- activity_list_array 1 x 1000 objects, 40032 bytes
---- anl_clause_array 1 x 1000 objects, 40032 bytes
---- shared_variable_access_list_array 12 x 100 = 1200 objects, 38784 bytes
---- parsing_data 675 objects, 37800 bytes
---- parsing_data 677 objects, 37912 bytes
---- production_list 630 objects, 35280 bytes
---- counting_data 675 objects, 32400 bytes
---- regions_data 675 objects, 32400 bytes
---- counting_data 677 objects, 32496 bytes
---- regions_data 677 objects, 32496 bytes
---- property_permission 96 objects, 31488 bytes
---- verb_sense 407 objects, 29304 bytes
---- stack_frame_box 305 objects, 29280 bytes
---- action_pattern_array 7 x 100 = 700 objects, 28224 bytes
---- shared_variable_set_array 6 x 100 = 600 objects, 24192 bytes
---- property 146 objects, 22192 bytes
---- backdrops_data 675 objects, 21600 bytes
---- inter_node_list 654 objects, 20928 bytes
---- backdrops_data 677 objects, 21664 bytes
---- inter_node_list 656 objects, 20992 bytes
---- nonlocal_variable 94 objects, 20304 bytes
---- pipeline_step 15 objects, 20280 bytes
---- action_name 90 objects, 20160 bytes
---- nonlocal_variable 93 objects, 20088 bytes
---- filename 489 objects, 19560 bytes
---- timed_rules_rfd_data 401 objects, 19248 bytes
---- method 384 objects, 18432 bytes
@ -108,8 +108,8 @@ Total memory consumption was 123341K = 120 MB
---- to_phrase_request 62 objects, 16864 bytes
---- build_vertex 138 objects, 16560 bytes
---- understanding_reference_array 2 x 100 = 200 objects, 16064 bytes
---- match_avinue_array 1 x 1000 objects, 16032 bytes
---- action_name_list_array 1 x 1000 objects, 16032 bytes
---- match_avinue_array 1 x 1000 objects, 16032 bytes
---- adjective 137 objects, 15344 bytes
---- pathname 383 objects, 15320 bytes
---- parse_node_tree 17 objects, 14824 bytes
@ -118,13 +118,13 @@ Total memory consumption was 123341K = 120 MB
---- web_bibliographic_datum 174 objects, 11136 bytes
---- uniqueness_count 453 objects, 10872 bytes
---- inter_construct 30 objects, 10320 bytes
---- stopwatch_timer 119 objects, 9520 bytes
---- stopwatch_timer 120 objects, 9600 bytes
---- equation_node 68 objects, 7616 bytes
---- understanding_item_array 3 x 100 = 300 objects, 7296 bytes
---- shared_variable_array 1 x 100 objects, 7232 bytes
---- determiner 22 objects, 7216 bytes
---- verb 109 objects, 6976 bytes
---- hierarchy_attachment_point 77 objects, 6776 bytes
---- hierarchy_attachment_point 78 objects, 6864 bytes
---- text_literal_holder 163 objects, 6520 bytes
---- inbuild_copy 53 objects, 6360 bytes
---- inbuild_work 98 objects, 6272 bytes
@ -149,18 +149,18 @@ Total memory consumption was 123341K = 120 MB
---- target_vm 20 objects, 2880 bytes
---- inform_extension 16 objects, 2688 bytes
---- use_option 29 objects, 2552 bytes
---- parentage_inference_data 79 objects, 2528 bytes
---- part_of_inference_data 79 objects, 2528 bytes
---- kind_constructor_instance_array 1 x 100 objects, 2432 bytes
---- parentage_inference_data 79 objects, 2528 bytes
---- kind_constructor_casting_rule_array 1 x 100 objects, 2432 bytes
---- kind_constructor_instance_array 1 x 100 objects, 2432 bytes
---- equation_symbol 30 objects, 2400 bytes
---- scene 1 object, 2352 bytes
---- JSON_type 31 objects, 2232 bytes
---- JSON_single_requirement 43 objects, 2064 bytes
---- build_step 28 objects, 2016 bytes
---- compiler_feature 30 objects, 1680 bytes
---- pronoun_usage 42 objects, 1680 bytes
---- table_contribution_array 1 x 100 objects, 1632 bytes
---- compiler_feature 29 objects, 1624 bytes
---- inform_pipeline 24 objects, 1536 bytes
---- noun_filter_token 22 objects, 1408 bytes
---- special_meaning_holder 35 objects, 1400 bytes
@ -172,98 +172,98 @@ Total memory consumption was 123341K = 120 MB
---- JSON_requirement 36 objects, 1152 bytes
---- tree_inventory_item 28 objects, 1120 bytes
---- inbuild_requirement 27 objects, 1080 bytes
---- submodule_identity 33 objects, 1056 bytes
---- runtime_kind_structure 13 objects, 1040 bytes
---- quantifier 16 objects, 1024 bytes
---- submodule_identity 32 objects, 1024 bytes
---- named_rulebook_outcome 15 objects, 960 bytes
---- pipeline_stage 20 objects, 960 bytes
---- web_md 6 objects, 864 bytes
---- named_rulebook_outcome 15 objects, 960 bytes
---- control_structure_phrase 12 objects, 864 bytes
---- web_md 6 objects, 864 bytes
---- cached_understanding 21 objects, 840 bytes
---- JSON_pair_requirement 26 objects, 832 bytes
---- phrase_option_array 1 x 100 objects, 824 bytes
---- inbuild_search_result 20 objects, 800 bytes
---- internal_test 15 objects, 720 bytes
---- relation_guard 5 objects, 640 bytes
---- implication 13 objects, 624 bytes
---- inform_kit 6 objects, 624 bytes
---- implication 13 objects, 624 bytes
---- code_generation 1 object, 576 bytes
---- inter_warehouse_room 10 objects, 560 bytes
---- generated_segment 14 objects, 560 bytes
---- inter_annotation_form 14 objects, 560 bytes
---- inter_warehouse_room 10 objects, 560 bytes
---- rulebook_outcome 17 objects, 544 bytes
---- chapter_md 6 objects, 528 bytes
---- small_word_set 11 objects, 528 bytes
---- chapter_md 6 objects, 528 bytes
---- inform_language 6 objects, 480 bytes
---- equation 4 objects, 480 bytes
---- module 6 objects, 480 bytes
---- bp_family 14 objects, 448 bytes
---- i6_memory_setting 14 objects, 448 bytes
---- bp_family 14 objects, 448 bytes
---- inference_family 11 objects, 440 bytes
---- article_usage 8 objects, 384 bytes
---- source_file 5 objects, 360 bytes
---- inbuild_genre 7 objects, 336 bytes
---- module_request 8 objects, 320 bytes
---- door_dir_notice 5 objects, 320 bytes
---- grammatical_category 8 objects, 320 bytes
---- cached_kind_declaration 8 objects, 320 bytes
---- pronoun 8 objects, 320 bytes
---- inter_pipeline 1 object, 312 bytes
---- door_dir_notice 5 objects, 320 bytes
---- cached_kind_declaration 8 objects, 320 bytes
---- grammatical_category 8 objects, 320 bytes
---- module_request 8 objects, 320 bytes
---- tree_inventory 1 object, 312 bytes
---- inter_pipeline 1 object, 312 bytes
---- up_family 9 objects, 288 bytes
---- door_to_notice 5 objects, 280 bytes
---- compilation_unit 5 objects, 280 bytes
---- contents_entry 7 objects, 280 bytes
---- explicit_bp_data 5 objects, 280 bytes
---- door_to_notice 5 objects, 280 bytes
---- verb_usage_tier 5 objects, 240 bytes
---- inform_project 1 object, 224 bytes
---- adjective_meaning_family 7 objects, 224 bytes
---- inform_project 1 object, 224 bytes
---- test_scenario 1 object, 216 bytes
---- release_instructions 1 object, 208 bytes
---- code_generator 5 objects, 200 bytes
---- build_skill 5 objects, 200 bytes
---- code_generator 5 objects, 200 bytes
---- plural_dictionary_entry 4 objects, 192 bytes
---- kit_dependency 4 objects, 192 bytes
---- element_activation 5 objects, 160 bytes
---- inference_subject_family 5 objects, 160 bytes
---- inter_architecture 4 objects, 160 bytes
---- element_activation 5 objects, 160 bytes
---- imperative_defn_family 4 objects, 160 bytes
---- attachment_instruction 4 objects, 160 bytes
---- inbuild_nest 3 objects, 120 bytes
---- local_block_value 2 objects, 112 bytes
---- inform_kit_ittt 2 objects, 96 bytes
---- compile_task_data 1 object, 80 bytes
---- article 2 objects, 80 bytes
---- group_together_function 2 objects, 80 bytes
---- inter_warehouse 1 object, 56 bytes
---- article 2 objects, 80 bytes
---- compile_task_data 1 object, 80 bytes
---- figures_data 1 object, 56 bytes
---- inter_warehouse 1 object, 56 bytes
---- build_methodology 1 object, 56 bytes
---- star_invention 1 object, 48 bytes
---- HTML_file_state 1 object, 48 bytes
---- I6_generation_data 1 object, 40 bytes
---- by_function_bp_data 1 object, 40 bytes
---- kind_template_definition 1 object, 40 bytes
---- loop_over_scope 1 object, 40 bytes
---- kind_template_definition 1 object, 40 bytes
---- by_function_bp_data 1 object, 40 bytes
100.0% was used for memory not allocated for objects:
57.6% text stream storage 72763292 bytes in 480861 claims
4.2% dictionary storage 5308416 bytes in 7613 claims
---- sorting 1560 bytes in 159 claims
5.7% source text 7200000 bytes in 3 claims
57.6% text stream storage 72802324 bytes in 481217 claims
4.2% dictionary storage 5310976 bytes in 7617 claims
---- sorting 1568 bytes in 159 claims
5.6% 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 4553856 bytes in 27950 claims
13.2% inter bytecode storage 16767192 bytes in 14 claims
3.6% inter symbols storage 4556400 bytes in 27967 claims
13.2% inter bytecode storage 16767000 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 1721344 bytes in 1 claim
---- compilation workspace for objects 22056 bytes in 25 claims
1.3% instance-of-kind counting 1731856 bytes in 1 claim
---- compilation workspace for objects 22136 bytes in 25 claims
---- lists for type-checking invocations 16000 bytes in 1 claim
---- code generation workspace for objects 3480 bytes in 19 claims
0.2% emitter array storage 280544 bytes in 2001 claims
-147.-7% was overhead - -186652792 bytes = -182278K = -178 MB
-147.-8% was overhead - -186754168 bytes = -182377K = -178 MB

View file

@ -1,4 +1,4 @@
<s-literal> hits 2100/23892 nti 22 constraint (none) extremes [1, infinity)
<s-literal> hits 2100/23896 nti 22 constraint (none) extremes [1, infinity)
English:
(@1)<cardinal-number>=1
(hits 171/171) (matched: '100') constraint CS = {r0} extremes [1, 1]
@ -12,14 +12,14 @@
room is mostly unable to sense, or interact with, anything in a different room.
Rooms are arranged in a map.') constraint (none) extremes [1, 1]
<s-literal-real-number>=1
(hits 11/9935) (matched: 'plus infinity') constraint (none) extremes [1, infinity)
(hits 11/9937) (matched: 'plus infinity') constraint (none) extremes [1, infinity)
(@1)<s-literal-truth-state>=1
(hits 78/702) (matched: 'false') constraint CS = {16} extremes [1, 1]
<s-literal-list>=1
(hits 0/1714) constraint DS = {18} extremes [2, infinity)
(@1)unicode <s-unicode-character>=1
(hits 0/3570) constraint DS = {22} extremes [2, infinity)
(hits 0/3572) constraint DS = {22} extremes [2, infinity)
<s-literal-time>=1
(hits 0/3907) constraint DW = {19, 20, 21} extremes [2, 5]
(hits 0/3909) constraint DW = {19, 20, 21} extremes [2, 5]
<s-literal-unit-notation>=1
(hits 0/9846) constraint (none) extremes [1, infinity)
(hits 0/9848) constraint (none) extremes [1, infinity)

View file

@ -781,34 +781,34 @@ ROOT_NT
PROPER_NOUN_NT'blank' {refined} {refers: infs'blank'} {eval: CONSTANT_NT'blank' {kind: room} {instance: I113'blank'} {enumeration: 0}}
RELATIONSHIP_NT'contains' {meaning: is-in} {refined}
AND_NT
PROPER_NOUN_NT {refers: infs416} {eval: CONSTANT_NT {kind: ice cream cone} {instance: I114} {enumeration: 0}} {created here}
PROPER_NOUN_NT {refers: infs417} {eval: CONSTANT_NT {kind: ice cream cone} {instance: I114} {enumeration: 0}} {created here}
AND_NT
PROPER_NOUN_NT {refers: infs417} {eval: CONSTANT_NT {kind: ice cream cone} {instance: I115} {enumeration: 0}} {created here}
PROPER_NOUN_NT {refers: infs418} {eval: CONSTANT_NT {kind: ice cream cone} {instance: I115} {enumeration: 0}} {created here}
AND_NT
PROPER_NOUN_NT {refers: infs418} {eval: CONSTANT_NT {kind: ice cream cone} {instance: I116} {enumeration: 0}} {created here}
PROPER_NOUN_NT {refers: infs419} {eval: CONSTANT_NT {kind: ice cream cone} {instance: I116} {enumeration: 0}} {created here}
AND_NT
PROPER_NOUN_NT {refers: infs419} {eval: CONSTANT_NT {kind: ice cream cone} {instance: I117} {enumeration: 0}} {created here}
PROPER_NOUN_NT {refers: infs420} {eval: CONSTANT_NT {kind: ice cream cone} {instance: I117} {enumeration: 0}} {created here}
AND_NT
PROPER_NOUN_NT {refers: infs420} {eval: CONSTANT_NT {kind: ice cream cone} {instance: I118} {enumeration: 0}} {created here}
PROPER_NOUN_NT {refers: infs421} {eval: CONSTANT_NT {kind: ice cream cone} {instance: I118} {enumeration: 0}} {created here}
AND_NT
PROPER_NOUN_NT {refers: infs421} {eval: CONSTANT_NT {kind: ice cream cone} {instance: I119} {enumeration: 0}} {created here}
PROPER_NOUN_NT {refers: infs422} {eval: CONSTANT_NT {kind: ice cream cone} {instance: I119} {enumeration: 0}} {created here}
AND_NT
PROPER_NOUN_NT {refers: infs422} {eval: CONSTANT_NT {kind: ice cream cone} {instance: I120} {enumeration: 0}} {created here}
PROPER_NOUN_NT {refers: infs423} {eval: CONSTANT_NT {kind: ice cream cone} {instance: I120} {enumeration: 0}} {created here}
AND_NT
PROPER_NOUN_NT {refers: infs423} {eval: CONSTANT_NT {kind: ice cream cone} {instance: I121} {enumeration: 0}} {created here}
PROPER_NOUN_NT {refers: infs424} {eval: CONSTANT_NT {kind: ice cream cone} {instance: I121} {enumeration: 0}} {created here}
AND_NT
PROPER_NOUN_NT {refers: infs424} {eval: CONSTANT_NT {kind: ice cream cone} {instance: I122} {enumeration: 0}} {created here}
PROPER_NOUN_NT {refers: infs425} {eval: CONSTANT_NT {kind: ice cream cone} {instance: I122} {enumeration: 0}} {created here}
AND_NT
PROPER_NOUN_NT {refers: infs425} {eval: CONSTANT_NT {kind: ice cream cone} {instance: I123} {enumeration: 0}} {created here}
PROPER_NOUN_NT {refers: infs426} {eval: CONSTANT_NT {kind: ice cream cone} {instance: I123} {enumeration: 0}} {created here}
AND_NT
PROPER_NOUN_NT {refers: infs426} {eval: CONSTANT_NT {kind: ice cream cone} {instance: I124} {enumeration: 0}} {created here}
PROPER_NOUN_NT {refers: infs427} {eval: CONSTANT_NT {kind: ice cream cone} {instance: I124} {enumeration: 0}} {created here}
AND_NT
PROPER_NOUN_NT {refers: infs427} {eval: CONSTANT_NT {kind: ice cream cone} {instance: I125} {enumeration: 0}} {created here}
PROPER_NOUN_NT {refers: infs428} {eval: CONSTANT_NT {kind: ice cream cone} {instance: I125} {enumeration: 0}} {created here}
AND_NT
PROPER_NOUN_NT {refers: infs428} {eval: CONSTANT_NT {kind: ice cream cone} {instance: I126} {enumeration: 0}} {created here}
PROPER_NOUN_NT {refers: infs429} {eval: CONSTANT_NT {kind: ice cream cone} {instance: I126} {enumeration: 0}} {created here}
AND_NT
PROPER_NOUN_NT {refers: infs429} {eval: CONSTANT_NT {kind: ice cream cone} {instance: I127} {enumeration: 0}} {created here}
PROPER_NOUN_NT {refers: infs430} {eval: CONSTANT_NT {kind: ice cream cone} {instance: I128} {enumeration: 0}} {created here}
PROPER_NOUN_NT {refers: infs430} {eval: CONSTANT_NT {kind: ice cream cone} {instance: I127} {enumeration: 0}} {created here}
PROPER_NOUN_NT {refers: infs431} {eval: CONSTANT_NT {kind: ice cream cone} {instance: I128} {enumeration: 0}} {created here}
HEADING_NT'section 4 - other players' {heading 5} {under: H5'section 4 - other players'} {unit: 3}
SENTENCE_NT'vanessa is a woman in cold comfort' {unit: 3} {classified}
VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve}
@ -842,10 +842,10 @@ ROOT_NT
PROPER_NOUN_NT'lewis' {refined} {refers: infs'lewis'} {eval: CONSTANT_NT'lewis' {kind: man} {instance: I133'lewis'} {enumeration: 0}}
RELATIONSHIP_NT'carries' {meaning: is-carried-by} {refined}
AND_NT
PROPER_NOUN_NT {refers: infs436} {eval: CONSTANT_NT {kind: stamped envelope} {instance: I134} {enumeration: 0}} {created here}
PROPER_NOUN_NT {refers: infs437} {eval: CONSTANT_NT {kind: stamped envelope} {instance: I134} {enumeration: 0}} {created here}
AND_NT
PROPER_NOUN_NT {refers: infs437} {eval: CONSTANT_NT {kind: stamped envelope} {instance: I135} {enumeration: 0}} {created here}
PROPER_NOUN_NT {refers: infs438} {eval: CONSTANT_NT {kind: stamped envelope} {instance: I136} {enumeration: 0}} {created here}
PROPER_NOUN_NT {refers: infs438} {eval: CONSTANT_NT {kind: stamped envelope} {instance: I135} {enumeration: 0}} {created here}
PROPER_NOUN_NT {refers: infs439} {eval: CONSTANT_NT {kind: stamped envelope} {instance: I136} {enumeration: 0}} {created here}
SENTENCE_NT'lewis carries a book called idiot's guide to dating' {unit: 3} {classified} {interpretation of subject: infs'lewis'}
VERB_NT'carries' {verb 'carry' 3p s act IS_TENSE +ve}
PROPER_NOUN_NT'lewis' {refined} {refers: infs'lewis'} {eval: CONSTANT_NT'lewis' {kind: man} {instance: I133'lewis'} {enumeration: 0}}
@ -874,7 +874,7 @@ ROOT_NT
VERB_NT'carries' {verb 'carry' 3p s act IS_TENSE +ve}
PROPER_NOUN_NT'gene' {refined} {refers: infs'gene'} {eval: CONSTANT_NT'gene' {kind: man} {instance: I141'gene'} {enumeration: 0}}
RELATIONSHIP_NT'carries' {meaning: is-carried-by} {refined}
PROPER_NOUN_NT {refers: infs444} {eval: CONSTANT_NT {kind: stamped envelope} {instance: I142} {enumeration: 0}} {created here}
PROPER_NOUN_NT {refers: infs445} {eval: CONSTANT_NT {kind: stamped envelope} {instance: I142} {enumeration: 0}} {created here}
SENTENCE_NT'gene carries a dvd called casablanca' {unit: 3} {classified} {interpretation of subject: infs'gene'}
VERB_NT'carries' {verb 'carry' 3p s act IS_TENSE +ve}
PROPER_NOUN_NT'gene' {refined} {refers: infs'gene'} {eval: CONSTANT_NT'gene' {kind: man} {instance: I141'gene'} {enumeration: 0}}
@ -884,7 +884,7 @@ ROOT_NT
VERB_NT'carries' {verb 'carry' 3p s act IS_TENSE +ve}
PROPER_NOUN_NT'gene' {refined} {refers: infs'gene'} {eval: CONSTANT_NT'gene' {kind: man} {instance: I141'gene'} {enumeration: 0}}
RELATIONSHIP_NT'carries' {meaning: is-carried-by} {refined}
PROPER_NOUN_NT {refers: infs446} {eval: CONSTANT_NT {kind: coupon} {instance: I144} {enumeration: 0}} {created here}
PROPER_NOUN_NT {refers: infs447} {eval: CONSTANT_NT {kind: coupon} {instance: I144} {enumeration: 0}} {created here}
SENTENCE_NT'rhoda is a woman in marciony street' {unit: 3} {classified} {interpretation of subject: infs'gene'}
VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve}
PROPER_NOUN_NT'rhoda' {refined} {refers: infs'rhoda'} {eval: CONSTANT_NT'rhoda' {kind: object} {instance: I145'rhoda'} {enumeration: 0}} {created here}
@ -917,7 +917,7 @@ ROOT_NT
VERB_NT'carries' {verb 'carry' 3p s act IS_TENSE +ve}
PROPER_NOUN_NT'martin' {refined} {refers: infs'martin'} {eval: CONSTANT_NT'martin' {kind: man} {instance: I149'martin'} {enumeration: 0}}
RELATIONSHIP_NT'carries' {meaning: is-carried-by} {refined}
PROPER_NOUN_NT {refers: infs453} {eval: CONSTANT_NT {kind: coupon} {instance: I151} {enumeration: 0}} {created here}
PROPER_NOUN_NT {refers: infs454} {eval: CONSTANT_NT {kind: coupon} {instance: I151} {enumeration: 0}} {created here}
SENTENCE_NT'antony is a man in movie rental' {unit: 3} {classified} {interpretation of subject: infs'martin'}
VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve}
PROPER_NOUN_NT'antony' {refined} {refers: infs'antony'} {eval: CONSTANT_NT'antony' {kind: object} {instance: I152'antony'} {enumeration: 0}} {created here}
@ -926,7 +926,7 @@ ROOT_NT
VERB_NT'carries' {verb 'carry' 3p s act IS_TENSE +ve}
PROPER_NOUN_NT'antony' {refined} {refers: infs'antony'} {eval: CONSTANT_NT'antony' {kind: man} {instance: I152'antony'} {enumeration: 0}}
RELATIONSHIP_NT'carries' {meaning: is-carried-by} {refined}
PROPER_NOUN_NT {refers: infs455} {eval: CONSTANT_NT {kind: coupon} {instance: I153} {enumeration: 0}} {created here}
PROPER_NOUN_NT {refers: infs456} {eval: CONSTANT_NT {kind: coupon} {instance: I153} {enumeration: 0}} {created here}
SENTENCE_NT'antony carries a stamped envelope called a postcard' {unit: 3} {classified} {interpretation of subject: infs'antony'}
VERB_NT'carries' {verb 'carry' 3p s act IS_TENSE +ve}
PROPER_NOUN_NT'antony' {refined} {refers: infs'antony'} {eval: CONSTANT_NT'antony' {kind: man} {instance: I152'antony'} {enumeration: 0}}
@ -946,24 +946,24 @@ ROOT_NT
PROPER_NOUN_NT'shelby' {refined} {refers: infs'shelby'} {eval: CONSTANT_NT'shelby' {kind: man} {instance: I155'shelby'} {enumeration: 0}}
RELATIONSHIP_NT'carries' {meaning: is-carried-by} {refined}
AND_NT
PROPER_NOUN_NT {refers: infs459} {eval: CONSTANT_NT {kind: stamped envelope} {instance: I157} {enumeration: 0}} {created here}
PROPER_NOUN_NT {refers: infs460} {eval: CONSTANT_NT {kind: stamped envelope} {instance: I157} {enumeration: 0}} {created here}
AND_NT
PROPER_NOUN_NT {refers: infs460} {eval: CONSTANT_NT {kind: stamped envelope} {instance: I158} {enumeration: 0}} {created here}
PROPER_NOUN_NT {refers: infs461} {eval: CONSTANT_NT {kind: stamped envelope} {instance: I158} {enumeration: 0}} {created here}
AND_NT
PROPER_NOUN_NT {refers: infs461} {eval: CONSTANT_NT {kind: stamped envelope} {instance: I159} {enumeration: 0}} {created here}
PROPER_NOUN_NT {refers: infs462} {eval: CONSTANT_NT {kind: stamped envelope} {instance: I159} {enumeration: 0}} {created here}
AND_NT
PROPER_NOUN_NT {refers: infs462} {eval: CONSTANT_NT {kind: stamped envelope} {instance: I160} {enumeration: 0}} {created here}
PROPER_NOUN_NT {refers: infs463} {eval: CONSTANT_NT {kind: stamped envelope} {instance: I161} {enumeration: 0}} {created here}
PROPER_NOUN_NT {refers: infs463} {eval: CONSTANT_NT {kind: stamped envelope} {instance: I160} {enumeration: 0}} {created here}
PROPER_NOUN_NT {refers: infs464} {eval: CONSTANT_NT {kind: stamped envelope} {instance: I161} {enumeration: 0}} {created here}
SENTENCE_NT'shelby carries an ice cream cone' {unit: 3} {classified} {interpretation of subject: infs'shelby'}
VERB_NT'carries' {verb 'carry' 3p s act IS_TENSE +ve}
PROPER_NOUN_NT'shelby' {refined} {refers: infs'shelby'} {eval: CONSTANT_NT'shelby' {kind: man} {instance: I155'shelby'} {enumeration: 0}}
RELATIONSHIP_NT'carries' {meaning: is-carried-by} {refined}
PROPER_NOUN_NT {refers: infs464} {eval: CONSTANT_NT {kind: ice cream cone} {instance: I162} {enumeration: 0}} {created here}
PROPER_NOUN_NT {refers: infs465} {eval: CONSTANT_NT {kind: ice cream cone} {instance: I162} {enumeration: 0}} {created here}
SENTENCE_NT'shelby carries a coupon' {unit: 3} {classified} {interpretation of subject: infs'shelby'}
VERB_NT'carries' {verb 'carry' 3p s act IS_TENSE +ve}
PROPER_NOUN_NT'shelby' {refined} {refers: infs'shelby'} {eval: CONSTANT_NT'shelby' {kind: man} {instance: I155'shelby'} {enumeration: 0}}
RELATIONSHIP_NT'carries' {meaning: is-carried-by} {refined}
PROPER_NOUN_NT {refers: infs465} {eval: CONSTANT_NT {kind: coupon} {instance: I163} {enumeration: 0}} {created here}
PROPER_NOUN_NT {refers: infs466} {eval: CONSTANT_NT {kind: coupon} {instance: I163} {enumeration: 0}} {created here}
SENTENCE_NT'christopher is a man in the library' {unit: 3} {classified} {interpretation of subject: infs'shelby'}
VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve}
PROPER_NOUN_NT'christopher' {refined} {refers: infs'christopher'} {eval: CONSTANT_NT'christopher' {kind: object} {instance: I164'christopher'} {enumeration: 0}} {created here}
@ -1149,6 +1149,10 @@ ROOT_NT
VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve}
PROPER_NOUN_NT'external file understood' {refined} {eval: NONLOCAL_VARIABLE_NT'external file understood' {nonlocal: 'external file understood'(var)external file}} {created here}
COMMON_NOUN_NT'external file which varies' {indefinite 'a' n/m/f nom/acc s} {refined} {refers: infs'values variable-pointer'-k} {creation: << kind=external files variable-pointer(x) >>} {eval: TEST_VALUE_NT}
SENTENCE_NT'internal file understood is a internal file which varies' {classified}
VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve}
PROPER_NOUN_NT'internal file understood' {refined} {eval: NONLOCAL_VARIABLE_NT'internal file understood' {nonlocal: 'internal file understood'(var)internal file}} {created here}
COMMON_NOUN_NT'internal file which varies' {indefinite 'a' n/m/f nom/acc s} {refined} {refers: infs'values variable-pointer'-k} {creation: << kind=internal files variable-pointer(x) >>} {eval: TEST_VALUE_NT}
SENTENCE_NT'time understood is a time which varies' {classified}
VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve}
PROPER_NOUN_NT'time understood' {refined} {eval: NONLOCAL_VARIABLE_NT'time understood' {nonlocal: 'time understood'(var)time}} {created here}

View file

@ -1,33 +1,33 @@
100.0% in inform7 run
71.0% in compilation to Inter
50.0% in //Sequence::undertake_queued_tasks//
5.0% in //MajorNodes::pre_pass//
3.4% in //MajorNodes::pass_1//
2.0% in //RTPhrasebook::compile_entries//
1.8% in //ImperativeDefinitions::assess_all//
1.4% in //RTKindConstructors::compile//
1.0% in //Sequence::lint_inter//
0.6% in //MajorNodes::pass_2//
0.6% in //World::stage_V//
0.4% in //ImperativeDefinitions::compile_first_block//
0.4% in //Sequence::undertake_queued_tasks//
0.4% in //Sequence::undertake_queued_tasks//
0.2% in //CompletionModule::compile//
0.2% in //InferenceSubjects::emit_all//
0.2% in //RTKindConstructors::compile_permissions//
0.2% in //Task::make_built_in_kind_constructors//
0.2% in //World::stages_II_and_III//
3.0% not specifically accounted for
25.9% in running Inter pipeline
70.7% in compilation to Inter
49.9% in //Sequence::undertake_queued_tasks//
4.8% in //MajorNodes::pre_pass//
3.2% in //MajorNodes::pass_1//
1.9% in //RTPhrasebook::compile_entries//
1.7% in //ImperativeDefinitions::assess_all//
1.5% in //RTKindConstructors::compile//
1.1% in //Sequence::lint_inter//
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.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.7% not specifically accounted for
26.3% in running Inter pipeline
10.0% in step 14/15: generate inform6 -> auto.inf
5.6% in step 5/15: load-binary-kits
5.2% in step 6/15: make-synoptic-module
1.8% in step 9/15: make-identifiers-unique
0.4% in step 12/15: eliminate-redundant-operations
0.4% in step 4/15: compile-splats
0.4% in step 7/15: shorten-wiring
0.4% in step 8/15: detect-indirect-calls
0.2% in step 11/15: eliminate-redundant-labels
1.5% not specifically accounted for
2.6% in supervisor
0.5% not specifically accounted for
5.9% in step 5/15: load-binary-kits
5.4% in step 6/15: make-synoptic-module
1.7% in step 9/15: make-identifiers-unique
0.5% in step 4/15: compile-splats
0.3% in step 12/15: eliminate-redundant-operations
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.2% not specifically accounted for
2.5% in supervisor
0.4% not specifically accounted for

View file

@ -14,3 +14,18 @@ new base EXTERNAL_FILE_TY {
indexed-grey-if-empty: yes
specification-text: When made with the Glulx setting, an Inform project can make limited use of files stored on the computer which is operating the story at run-time. An external-file is just the name of one of these files (not the filename in the usual sense, but a name given to it in the Inform source text).
}
new base INTERNAL_FILE_TY {
conforms-to: ENUMERATED_VALUE_TY
singular: internal file
plural: internal files
default-value: 0
constant-compilation-method: quantitative
printing-routine: PrintInternalFileName
index-priority: 6
index-default-value: <i>a non-file</i>
indexed-grey-if-empty: yes
specification-text: When made with the Glulx setting, an Inform project can make limited use of files held internally within the 'blorb' which makes up the story.
}

View file

@ -0,0 +1,8 @@
Home is a room.
A tag is a kind of value.
Tagging relates various tags to various internal files. The verb to tag (he tags, they tag) implies the
tagging relation.
Outdoors is a tag. Outdoors tags internal data file of Glaciers.

View file

@ -0,0 +1,10 @@
Inform 7 v10.2.0 has started.
I've now read your source text, which is 42 words long.
I've also read Basic Inform by Graham Nelson, which is 7772 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 34310 words long.
Problem__ PM_BackdoorInternalFileCreation
>--> You wrote 'Outdoors tags internal data file of Glaciers' (source text, line 8):
but this is not the way to create a new internal file, which should be done
with a special 'The internal data file ... is called ...' sentence.
Inform 7 has finished.

View file

@ -317,8 +317,10 @@ DECLARE_CLASS_ALLOCATED_IN_ARRAYS(understanding_reference, 100)
@e figures_data_CLASS
@e sounds_data_CLASS
@e files_data_CLASS
@e internal_files_data_CLASS
=
DECLARE_CLASS(figures_data)
DECLARE_CLASS(sounds_data)
DECLARE_CLASS(files_data)
DECLARE_CLASS(internal_files_data)

View file

@ -16,7 +16,8 @@ to the other three; it doesn't even have an activation function.
@e MULTIMEDIA_CREATIONS_DA
=
compiler_feature *multimedia_feature, *figures_feature, *sounds_feature, *files_feature;
compiler_feature *multimedia_feature, *figures_feature, *sounds_feature,
*files_feature, *internal_files_feature;
void MultimediaModule::start(void) {
multimedia_feature = Features::new(NULL, I"multimedia", NULL);
@ -26,6 +27,8 @@ void MultimediaModule::start(void) {
multimedia_feature);
files_feature = Features::new(&ExternalFiles::start, I"glulx external files",
multimedia_feature);
internal_files_feature = Features::new(&InternalFiles::start, I"glulx internal files",
multimedia_feature);
Log::declare_aspect(MULTIMEDIA_CREATIONS_DA, L"figure creations", FALSE, FALSE);
}

View file

@ -56,12 +56,21 @@ int ExternalFiles::new_file_SMF(int task, parse_node *V, wording *NPs) {
@ And this is the Preform grammar needed for the subject phrase:
@d EXTERNAL_TEXT_FILE_NFSMF 1
@d EXTERNAL_BINARY_FILE_NFSMF 2
@d INTERNAL_TEXT_FILE_NFSMF 3
@d INTERNAL_BINARY_FILE_NFSMF 4
@d INTERNAL_FORM_FILE_NFSMF 5
=
<external-file-sentence-subject> ::=
<definite-article> <external-file-sentence-subject> | ==> { pass 2 }
text <external-file-name> | ==> { FALSE, -, <<ownership>> = R[1] }
binary <external-file-name> | ==> { TRUE, -, <<ownership>> = R[1] }
<external-file-name> ==> { FALSE, -, <<ownership>> = R[1] }
internal data/binary <external-file-name> | ==> { INTERNAL_BINARY_FILE_NFSMF, -, <<ownership>> = R[1] }
internal text <external-file-name> | ==> { INTERNAL_TEXT_FILE_NFSMF, -, <<ownership>> = R[1] }
internal form <external-file-name> | ==> { INTERNAL_FORM_FILE_NFSMF, -, <<ownership>> = R[1] }
text <external-file-name> | ==> { EXTERNAL_TEXT_FILE_NFSMF, -, <<ownership>> = R[1] }
binary <external-file-name> | ==> { EXTERNAL_BINARY_FILE_NFSMF, -, <<ownership>> = R[1] }
<external-file-name> ==> { EXTERNAL_TEXT_FILE_NFSMF, -, <<ownership>> = R[1] }
<external-file-name> ::=
{file ...} ( owned by <external-file-owner> ) | ==> { pass 1 }
@ -120,16 +129,30 @@ void ExternalFiles::register_file(wording W, wording FN) {
FN = Wordings::from(FN, <<r>>);
if (Wordings::empty(FN)) return;
wchar_t *p = Lexer::word_text(Wordings::first_wn(FN));
if (<external-file-sentence-subject>(W) == FALSE) internal_error("bad ef grammar");
wording NW = GET_RW(<external-file-name>, 1);
int format = <<r>>;
@<Vet the filename@>;
int binary = FALSE;
int ownership = OWNED_BY_THIS_PROJECT;
TEMPORARY_TEXT(ifid_of_file)
@<Determine the ownership@>;
ExternalFiles::files_create(W, binary, ownership, ifid_of_file, FN);
LOGIF(MULTIMEDIA_CREATIONS, "Created external file <%W> = filename '%N'\n", W, FN);
DISCARD_TEXT(ifid_of_file)
switch (format) {
case EXTERNAL_TEXT_FILE_NFSMF:
case EXTERNAL_BINARY_FILE_NFSMF: {
if (format == EXTERNAL_BINARY_FILE_NFSMF) binary = TRUE;
TEMPORARY_TEXT(ifid_of_file)
@<Determine the ownership@>;
ExternalFiles::files_create(W, binary, ownership, ifid_of_file, FN);
LOGIF(MULTIMEDIA_CREATIONS, "Created external file <%W> = filename '%N'\n", W, FN);
DISCARD_TEXT(ifid_of_file)
break;
}
case INTERNAL_TEXT_FILE_NFSMF:
case INTERNAL_BINARY_FILE_NFSMF:
case INTERNAL_FORM_FILE_NFSMF:
InternalFiles::files_create(<<r>>, W, FN);
LOGIF(MULTIMEDIA_CREATIONS, "Created internal file <%W> = filename '%N'\n", NW, FN);
break;
}
}
@ The restrictions here are really very conservative.
@ -144,6 +167,10 @@ void ExternalFiles::register_file(wording W, wording FN) {
}
if (i>24) bad_filename = TRUE;
if ((isalpha(p[i])) || (Characters::isdigit(p[i]))) continue;
if ((format == INTERNAL_TEXT_FILE_NFSMF) ||
(format == INTERNAL_BINARY_FILE_NFSMF) ||
(format == INTERNAL_FORM_FILE_NFSMF))
if ((p[i] == '.') || (p[i] == '_') || (p[i] == ' ')) continue;
LOG("Objected to character %c\n", p[i]);
bad_filename = TRUE;
}
@ -167,8 +194,6 @@ by an unspecified other project, or by a project identified by its IFID.
@d OWNED_BY_SPECIFIC_PROJECT 3
@<Determine the ownership@> =
if (<external-file-sentence-subject>(W) == FALSE) internal_error("bad ef grammar");
binary = <<r>>;
W = GET_RW(<external-file-name>, 1);
@<Make sure W can be the name of a new file anyway@>;
if (<<ownership>> == TRUE) {

View file

@ -0,0 +1,85 @@
[InternalFiles::] Internal Files.
To register the names associated with internal files, and build
the small I6 arrays associated with each.
@ The following is called to activate the feature:
=
void InternalFiles::start(void) {
PluginCalls::plug(PRODUCTION_LINE_PLUG, InternalFiles::production_line);
PluginCalls::plug(NEW_BASE_KIND_NOTIFY_PLUG, InternalFiles::files_new_base_kind_notify);
PluginCalls::plug(NEW_INSTANCE_NOTIFY_PLUG, InternalFiles::files_new_named_instance_notify);
}
int InternalFiles::production_line(int stage, int debugging,
stopwatch_timer *sequence_timer) {
if (stage == INTER1_CSEQ) {
BENCH(RTMultimedia::compile_internal_files);
}
return FALSE;
}
@h One significant kind.
= (early code)
kind *K_internal_file = NULL;
@ =
int InternalFiles::files_new_base_kind_notify(kind *new_base, text_stream *name, wording W) {
if (Str::eq_wide_string(name, L"INTERNAL_FILE_TY")) {
K_internal_file = new_base; return TRUE;
}
return FALSE;
}
@h Significant new instances.
This structure of additional data is attached to each figure instance.
=
typedef struct internal_files_data {
struct wording name; /* text of name */
int unextended_filename; /* word number of text like |"ice extents.usgs"| */
struct text_stream *inf_identifier; /* an Inter identifier */
int file_format; /* |INTERNAL_TEXT_FILE_NFSMF|, |INTERNAL_BINARY_FILE_NFSMF| or |INTERNAL_FORM_FILE_NFSMF| */
struct instance *as_instance;
struct parse_node *where_created;
CLASS_DEFINITION
} internal_files_data;
@ We allow instances of "internal file" to be created only through the code
from //External Files// calling //InternalFiles::files_create//. If any other
proposition somehow manages to make a file, a problem message is thrown.
=
int allow_inf_creations = FALSE;
instance *InternalFiles::files_create(int format, wording W, wording FN) {
allow_inf_creations = TRUE;
Assert::true(Propositions::Abstract::to_create_something(K_internal_file, W), CERTAIN_CE);
allow_inf_creations = FALSE;
instance *I = Instances::latest();
internal_files_data *ifd = FEATURE_DATA_ON_INSTANCE(internal_files, I);
ifd->name = W;
ifd->unextended_filename = Wordings::first_wn(FN);
ifd->file_format = format;
ifd->where_created = current_sentence;
ifd->as_instance = I;
return I;
}
int InternalFiles::files_new_named_instance_notify(instance *I) {
if (K_internal_file == NULL) return FALSE;
kind *K = Instances::to_kind(I);
if (Kinds::eq(K, K_internal_file)) {
if (allow_inf_creations == FALSE)
StandardProblems::sentence_problem(Task::syntax_tree(),
_p_(PM_BackdoorInternalFileCreation),
"this is not the way to create a new internal file",
"which should be done with a special 'The internal data file "
"... is called ...' sentence.");
ATTACH_FEATURE_DATA_TO_SUBJECT(internal_files, I->as_subject, CREATE(internal_files_data));
return TRUE;
}
return FALSE;
}

View file

@ -14,3 +14,4 @@ Chapter 2: Multimedia Features
Figures
Sound Effects
External Files
Internal Files

View file

@ -184,6 +184,7 @@ void Hierarchy::establish(void) {
@<Establish grammar@>;
@<Establish instances@>;
@<Establish int-fiction@>;
@<Establish internal files@>;
@<Establish kinds@>;
@<Establish literal patterns@>;
@<Establish mapping hints@>;
@ -897,6 +898,7 @@ void Hierarchy::establish(void) {
@e INSTANCE_SCENE_NEVER_ENDS_MD_HL
@e INSTANCE_IS_EXF_MD_HL
@e INSTANCE_FILE_VALUE_MD_HL
@e INSTANCE_INTERNAL_FILE_FORMAT_MD_HL
@e INSTANCE_FILE_IS_BINARY_MD_HL
@e INSTANCE_FILE_OWNED_MD_HL
@e INSTANCE_FILE_OWNED_BY_OTHER_MD_HL
@ -1035,6 +1037,7 @@ void Hierarchy::establish(void) {
H_C_U(INSTANCE_FILE_OWNED_MD_HL, I"^file_owned")
H_C_U(INSTANCE_FILE_OWNED_BY_OTHER_MD_HL, I"^file_owned_by_other")
H_C_U(INSTANCE_FILE_OWNER_MD_HL, I"^file_owner")
H_C_U(INSTANCE_INTERNAL_FILE_FORMAT_MD_HL, I"^internal_file_format")
H_C_U(INSTANCE_FILE_IS_BINARY_MD_HL, I"^is_binary")
H_C_U(INSTANCE_LEAFNAME_MD_HL, I"^leafname")
H_C_U(INSTANCE_IS_FIGURE_MD_HL, I"^is_figure")
@ -1136,6 +1139,20 @@ void Hierarchy::establish(void) {
H_C_T(INITIALSITUATION_HL, I"InitialSituation")
H_END
@h Internal files.
@e INTERNAL_FILES_HAP
@e INTERNAL_FILE_HL
@<Establish internal files@> =
submodule_identity *internal_files = LargeScale::register_submodule_identity(I"internal_files");
H_BEGIN(LocationRequirements::local_submodule(internal_files))
H_BEGIN_AP(INTERNAL_FILES_HAP, I"internal_file", I"_internal_file")
H_C_U(INTERNAL_FILE_HL, I"file")
H_END
H_END
@h Kinds.
@e K_UNCHECKED_HL
@ -1942,6 +1959,7 @@ void Hierarchy::establish(void) {
@e K_SOUND_NAME_XPACKAGE
@e K_USE_OPTION_XPACKAGE
@e K_EXTERNAL_FILE_XPACKAGE
@e K_INTERNAL_FILE_XPACKAGE
@e K_RULEBOOK_OUTCOME_XPACKAGE
@e K_RESPONSE_XPACKAGE
@e K_SCENE_XPACKAGE
@ -1959,6 +1977,7 @@ void Hierarchy::establish(void) {
@e PRINT_FIGURE_NAME_HL
@e PRINT_SOUND_NAME_HL
@e PRINT_EXTERNAL_FILE_NAME_HL
@e PRINT_INTERNAL_FILE_NAME_HL
@e PRINT_SCENE_HL
@e PRINT_DIALOGUE_BEAT_HL
@e PRINT_DIALOGUE_LINE_HL
@ -1994,6 +2013,10 @@ void Hierarchy::establish(void) {
H_F_T(PRINT_EXTERNAL_FILE_NAME_HL, I"print_fn", I"PrintExternalFileName")
H_END
H_BEGIN(LocationRequirements::this_exotic_package(K_INTERNAL_FILE_XPACKAGE))
H_F_T(PRINT_INTERNAL_FILE_NAME_HL, I"print_fn", I"PrintInternalFileName")
H_END
H_BEGIN(LocationRequirements::this_exotic_package(K_RULEBOOK_OUTCOME_XPACKAGE))
H_F_T(PRINT_RULEBOOK_OUTCOME_HL, I"print_fn", I"RulebookOutcomePrintingRule")
H_END
@ -2116,6 +2139,7 @@ package_request *Hierarchy::exotic_package(int x) {
case K_SOUND_NAME_XPACKAGE: return RTKindConstructors::kind_package(K_sound_name);
case K_USE_OPTION_XPACKAGE: return RTKindConstructors::kind_package(K_use_option);
case K_EXTERNAL_FILE_XPACKAGE: return RTKindConstructors::kind_package(K_external_file);
case K_INTERNAL_FILE_XPACKAGE: return RTKindConstructors::kind_package(K_internal_file);
case K_RULEBOOK_OUTCOME_XPACKAGE: return RTKindConstructors::kind_package(K_rulebook_outcome);
case K_RESPONSE_XPACKAGE: return RTKindConstructors::kind_package(K_response);
case K_SCENE_XPACKAGE: return RTKindConstructors::kind_package(K_scene);

View file

@ -248,6 +248,11 @@ inter_name *RTKindConstructors::get_iname(kind *K) {
Hierarchy::make_available(K->construct->compilation_data.pr_iname);
return K->construct->compilation_data.pr_iname;
}
if (Kinds::eq(K, K_internal_file)) {
K->construct->compilation_data.pr_iname = Hierarchy::find(PRINT_INTERNAL_FILE_NAME_HL);
Hierarchy::make_available(K->construct->compilation_data.pr_iname);
return K->construct->compilation_data.pr_iname;
}
if (Kinds::eq(K, K_scene)) {
K->construct->compilation_data.pr_iname = Hierarchy::find(PRINT_SCENE_HL);
Hierarchy::make_available(K->construct->compilation_data.pr_iname);

View file

@ -16,6 +16,16 @@ void RTMultimedia::compile_files(void) {
}
}
void RTMultimedia::compile_internal_files(void) {
internal_files_data *inf;
LOOP_OVER(inf, internal_files_data) {
text_stream *desc = Str::new();
WRITE_TO(desc, "internal file '%W'", inf->name);
Sequence::queue(&RTMultimedia::internal_compilation_agent,
STORE_POINTER_internal_files_data(inf), desc);
}
}
void RTMultimedia::compile_figures(void) {
figures_data *bf;
LOOP_OVER(bf, figures_data) {
@ -104,3 +114,22 @@ void RTMultimedia::compilation_agent(compilation_subtask *t) {
Hierarchy::apply_metadata(pack, INSTANCE_FILE_OWNER_MD_HL, exf->IFID_of_owner);
break;
}
@ Internal files are simpler:
=
void RTMultimedia::internal_compilation_agent(compilation_subtask *t) {
internal_files_data *inf = RETRIEVE_POINTER_internal_files_data(t->data);
wording W = inf->name;
package_request *P = Hierarchy::local_package_to(INTERNAL_FILES_HAP, inf->where_created);
inter_name *inf_iname = Hierarchy::make_iname_with_memo(INTERNAL_FILE_HL, P, W);
@<Make the internal value metadata@>;
}
@<Make the internal value metadata@> =
package_request *pack = RTInstances::package(inf->as_instance);
Hierarchy::apply_metadata_from_iname(pack, INSTANCE_FILE_VALUE_MD_HL, inf_iname);
Hierarchy::apply_metadata_from_raw_wording(pack, INSTANCE_LEAFNAME_MD_HL,
Wordings::one_word(inf->unextended_filename));
Hierarchy::apply_metadata_from_number(pack, INSTANCE_INTERNAL_FILE_FORMAT_MD_HL,
(inter_ti) inf->file_format);

View file

@ -1,15 +1,15 @@
Size of lexicon: 3118 excerpt meanings
Stored among 844 words out of total vocabulary of 10727
714 words have a start list: longest belongs to report (with 293 meanings)
Size of lexicon: 3121 excerpt meanings
Stored among 845 words out of total vocabulary of 10730
715 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: 106585
of which unsuccessful: 88864
of which successful: 17721
Number of attempts to retrieve: 106594
of which unsuccessful: 88870
of which successful: 17724
Total attempts to match against excerpt meanings: 264751
of which, total with incorrect hash codes: 242578
of which, total with correct hash codes: 22173
of which, total which matched: 19407
Total attempts to match against excerpt meanings: 264760
of which, total with incorrect hash codes: 242584
of which, total with correct hash codes: 22176
of which, total which matched: 19410

View file

@ -1,12 +1,12 @@
adjective: 137 items
article: 2 items
noun: 2387 items
noun: 2389 items
pronoun: 8 items
preposition: 274 items
determiner: 22 items
verb: 109 items
verb_form: 388 items
total in all categories: 3327
total in all categories: 3329
adjective: 'even'
adjective: 'odd'
@ -180,6 +180,7 @@ noun: common: 'property | k valued property'
noun: common: 'table column | k valued table column'
noun: common: 'combination | combination k | combination k and l'
noun: common: 'external file'
noun: common: 'internal file'
noun: common: 'described action'
noun: common: 'action'
noun: common: 'action name'
@ -2488,6 +2489,7 @@ noun: proper: 'number understood'
noun: proper: 'real number understood'
noun: proper: 'truth state understood'
noun: proper: 'external file understood'
noun: proper: 'internal file understood'
noun: proper: 'time understood'
noun: proper: 'scene understood'
noun: proper: 'figure name understood'