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

Bug fix for inblorb on releasing auxiliary files

This commit is contained in:
Graham Nelson 2022-04-07 22:37:19 +01:00
parent 1e23e65814
commit 4a252c10cc
15 changed files with 123 additions and 70 deletions

View file

@ -1118,16 +1118,13 @@ light to the Dark Room.")
<span class="plain-syntax"> </span><span class="identifier-syntax">statuswin_cursize</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">;</span> <span class="plain-syntax"> </span><span class="identifier-syntax">statuswin_cursize</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">gg_foregroundchan</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">;</span> <span class="plain-syntax"> </span><span class="identifier-syntax">gg_foregroundchan</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">gg_backgroundchan</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">;</span> <span class="plain-syntax"> </span><span class="identifier-syntax">gg_backgroundchan</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> #</span><span class="identifier-syntax">Ifdef</span><span class="plain-syntax"> </span><span class="identifier-syntax">DEBUG</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">gg_commandstr</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">;</span> <span class="plain-syntax"> </span><span class="identifier-syntax">gg_commandstr</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">gg_command_reading</span><span class="plain-syntax"> = </span><span class="reserved-syntax">false</span><span class="plain-syntax">;</span> <span class="plain-syntax"> </span><span class="identifier-syntax">gg_command_reading</span><span class="plain-syntax"> = </span><span class="reserved-syntax">false</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> #</span><span class="identifier-syntax">Endif</span><span class="plain-syntax">; </span><span class="comment-syntax">DEBUG</span>
<span class="plain-syntax"> </span><span class="comment-syntax">Also tell the game to clear its object references.</span> <span class="plain-syntax"> </span><span class="comment-syntax">Also tell the game to clear its object references.</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">IdentifyGlkObject</span><span class="plain-syntax">(0);</span> <span class="plain-syntax"> </span><span class="identifier-syntax">IdentifyGlkObject</span><span class="plain-syntax">(0);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">id</span><span class="plain-syntax"> = </span><span class="identifier-syntax">glk_stream_iterate</span><span class="plain-syntax">(0, </span><span class="identifier-syntax">gg_arguments</span><span class="plain-syntax">);</span> <span class="plain-syntax"> </span><span class="identifier-syntax">id</span><span class="plain-syntax"> = </span><span class="identifier-syntax">glk_stream_iterate</span><span class="plain-syntax">(0, </span><span class="identifier-syntax">gg_arguments</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">while</span><span class="plain-syntax"> (</span><span class="identifier-syntax">id</span><span class="plain-syntax">) {</span> <span class="plain-syntax"> </span><span class="reserved-syntax">while</span><span class="plain-syntax"> (</span><span class="identifier-syntax">id</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> #</span><span class="identifier-syntax">ifdef</span><span class="plain-syntax"> </span><span class="identifier-syntax">DEBUG</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">gg_arguments</span><span class="plain-syntax">--&gt;0) {</span> <span class="plain-syntax"> </span><span class="reserved-syntax">switch</span><span class="plain-syntax"> (</span><span class="identifier-syntax">gg_arguments</span><span class="plain-syntax">--&gt;0) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">GG_SAVESTR_ROCK</span><span class="plain-syntax">: </span><span class="identifier-syntax">gg_savestr</span><span class="plain-syntax"> = </span><span class="identifier-syntax">id</span><span class="plain-syntax">;</span> <span class="plain-syntax"> </span><span class="identifier-syntax">GG_SAVESTR_ROCK</span><span class="plain-syntax">: </span><span class="identifier-syntax">gg_savestr</span><span class="plain-syntax"> = </span><span class="identifier-syntax">id</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">GG_SCRIPTSTR_ROCK</span><span class="plain-syntax">: </span><span class="identifier-syntax">gg_scriptstr</span><span class="plain-syntax"> = </span><span class="identifier-syntax">id</span><span class="plain-syntax">;</span> <span class="plain-syntax"> </span><span class="identifier-syntax">GG_SCRIPTSTR_ROCK</span><span class="plain-syntax">: </span><span class="identifier-syntax">gg_scriptstr</span><span class="plain-syntax"> = </span><span class="identifier-syntax">id</span><span class="plain-syntax">;</span>
@ -1137,13 +1134,6 @@ light to the Dark Room.")
<span class="plain-syntax"> </span><span class="identifier-syntax">gg_command_reading</span><span class="plain-syntax"> = </span><span class="reserved-syntax">true</span><span class="plain-syntax">;</span> <span class="plain-syntax"> </span><span class="identifier-syntax">gg_command_reading</span><span class="plain-syntax"> = </span><span class="reserved-syntax">true</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">default</span><span class="plain-syntax">: </span><span class="identifier-syntax">IdentifyGlkObject</span><span class="plain-syntax">(1, </span><span class="constant-syntax">1</span><span class="plain-syntax">, </span><span class="identifier-syntax">id</span><span class="plain-syntax">, </span><span class="identifier-syntax">gg_arguments</span><span class="plain-syntax">--&gt;0);</span> <span class="plain-syntax"> </span><span class="reserved-syntax">default</span><span class="plain-syntax">: </span><span class="identifier-syntax">IdentifyGlkObject</span><span class="plain-syntax">(1, </span><span class="constant-syntax">1</span><span class="plain-syntax">, </span><span class="identifier-syntax">id</span><span class="plain-syntax">, </span><span class="identifier-syntax">gg_arguments</span><span class="plain-syntax">--&gt;0);</span>
<span class="plain-syntax"> }</span> <span class="plain-syntax"> }</span>
<span class="plain-syntax"> #</span><span class="identifier-syntax">ifnot</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">gg_arguments</span><span class="plain-syntax">--&gt;0) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">GG_SAVESTR_ROCK</span><span class="plain-syntax">: </span><span class="identifier-syntax">gg_savestr</span><span class="plain-syntax"> = </span><span class="identifier-syntax">id</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">GG_SCRIPTSTR_ROCK</span><span class="plain-syntax">: </span><span class="identifier-syntax">gg_scriptstr</span><span class="plain-syntax"> = </span><span class="identifier-syntax">id</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">default</span><span class="plain-syntax">: </span><span class="identifier-syntax">IdentifyGlkObject</span><span class="plain-syntax">(1, </span><span class="constant-syntax">1</span><span class="plain-syntax">, </span><span class="identifier-syntax">id</span><span class="plain-syntax">, </span><span class="identifier-syntax">gg_arguments</span><span class="plain-syntax">--&gt;0);</span>
<span class="plain-syntax"> }</span>
<span class="plain-syntax"> #</span><span class="identifier-syntax">endif</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">id</span><span class="plain-syntax"> = </span><span class="identifier-syntax">glk_stream_iterate</span><span class="plain-syntax">(</span><span class="identifier-syntax">id</span><span class="plain-syntax">, </span><span class="identifier-syntax">gg_arguments</span><span class="plain-syntax">);</span> <span class="plain-syntax"> </span><span class="identifier-syntax">id</span><span class="plain-syntax"> = </span><span class="identifier-syntax">glk_stream_iterate</span><span class="plain-syntax">(</span><span class="identifier-syntax">id</span><span class="plain-syntax">, </span><span class="identifier-syntax">gg_arguments</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> }</span> <span class="plain-syntax"> }</span>

View file

@ -47,7 +47,9 @@ MathJax = {
<li><a href="../inform6.html">inform6</a></li> <li><a href="../inform6.html">inform6</a></li>
<li><a href="../inpolicyn.html">inpolicy</a></li> <li><a href="../inpolicyn.html">inpolicy</a></li>
<li><a href="../inrtpsn.html">inrtps</a></li> <li><a href="../inrtpsn.html">inrtps</a></li>
<li><a href="../extensions.html">extensions and kits</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> </ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inform"><img src="../docs-assets/github.png" height=18> github</a></li> <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> </ul><h2>Related Projects</h2><ul>
@ -3375,13 +3377,16 @@ code above.
</p> </p>
<pre class="displayed-code all-displayed-code code-font"> <pre class="displayed-code all-displayed-code code-font">
<span class="plain-syntax">[ </span><span class="identifier-syntax">TestScope</span><span class="plain-syntax"> </span><span class="identifier-syntax">obj</span><span class="plain-syntax"> </span><span class="identifier-syntax">act</span><span class="plain-syntax"> </span><span class="identifier-syntax">a</span><span class="plain-syntax"> </span><span class="identifier-syntax">al</span><span class="plain-syntax"> </span><span class="identifier-syntax">sr</span><span class="plain-syntax"> </span><span class="identifier-syntax">x</span><span class="plain-syntax"> </span><span class="identifier-syntax">y</span><span class="plain-syntax">;</span> <span class="plain-syntax">[ </span><span class="identifier-syntax">TestScope</span><span class="plain-syntax"> </span><span class="identifier-syntax">obj</span><span class="plain-syntax"> </span><span class="identifier-syntax">act</span><span class="plain-syntax"> </span><span class="identifier-syntax">a</span><span class="plain-syntax"> </span><span class="identifier-syntax">al</span><span class="plain-syntax"> </span><span class="identifier-syntax">sr</span><span class="plain-syntax"> </span><span class="identifier-syntax">ss</span><span class="plain-syntax"> </span><span class="identifier-syntax">st</span><span class="plain-syntax"> </span><span class="identifier-syntax">x</span><span class="plain-syntax"> </span><span class="identifier-syntax">y</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">x</span><span class="plain-syntax"> = </span><span class="identifier-syntax">parser_one</span><span class="plain-syntax">; </span><span class="identifier-syntax">y</span><span class="plain-syntax"> = </span><span class="identifier-syntax">parser_two</span><span class="plain-syntax">;</span> <span class="plain-syntax"> </span><span class="identifier-syntax">x</span><span class="plain-syntax"> = </span><span class="identifier-syntax">parser_one</span><span class="plain-syntax">; </span><span class="identifier-syntax">y</span><span class="plain-syntax"> = </span><span class="identifier-syntax">parser_two</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">parser_one</span><span class="plain-syntax"> = </span><span class="identifier-syntax">obj</span><span class="plain-syntax">; </span><span class="identifier-syntax">parser_two</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">; </span><span class="identifier-syntax">a</span><span class="plain-syntax"> = </span><span class="identifier-syntax">actor</span><span class="plain-syntax">; </span><span class="identifier-syntax">al</span><span class="plain-syntax"> = </span><span class="identifier-syntax">actors_location</span><span class="plain-syntax">;</span> <span class="plain-syntax"> </span><span class="identifier-syntax">parser_one</span><span class="plain-syntax"> = </span><span class="identifier-syntax">obj</span><span class="plain-syntax">; </span><span class="identifier-syntax">parser_two</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">; </span><span class="identifier-syntax">a</span><span class="plain-syntax"> = </span><span class="identifier-syntax">actor</span><span class="plain-syntax">; </span><span class="identifier-syntax">al</span><span class="plain-syntax"> = </span><span class="identifier-syntax">actors_location</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">ss</span><span class="plain-syntax"> = </span><span class="identifier-syntax">scope_stage</span><span class="plain-syntax">; </span><span class="identifier-syntax">st</span><span class="plain-syntax"> = </span><span class="identifier-syntax">scope_token</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">scope_stage</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">; </span><span class="identifier-syntax">scope_token</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">sr</span><span class="plain-syntax"> = </span><span class="identifier-syntax">scope_reason</span><span class="plain-syntax">; </span><span class="identifier-syntax">scope_reason</span><span class="plain-syntax"> = </span><span class="identifier-syntax">TESTSCOPE_REASON</span><span class="plain-syntax">;</span> <span class="plain-syntax"> </span><span class="identifier-syntax">sr</span><span class="plain-syntax"> = </span><span class="identifier-syntax">scope_reason</span><span class="plain-syntax">; </span><span class="identifier-syntax">scope_reason</span><span class="plain-syntax"> = </span><span class="identifier-syntax">TESTSCOPE_REASON</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">act</span><span class="plain-syntax"> == </span><span class="constant-syntax">0</span><span class="plain-syntax">) </span><span class="identifier-syntax">actor</span><span class="plain-syntax"> = </span><span class="identifier-syntax">player</span><span class="plain-syntax">; </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="identifier-syntax">actor</span><span class="plain-syntax"> = </span><span class="identifier-syntax">act</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">act</span><span class="plain-syntax"> == </span><span class="constant-syntax">0</span><span class="plain-syntax">) </span><span class="identifier-syntax">actor</span><span class="plain-syntax"> = </span><span class="identifier-syntax">player</span><span class="plain-syntax">; </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="identifier-syntax">actor</span><span class="plain-syntax"> = </span><span class="identifier-syntax">act</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">actors_location</span><span class="plain-syntax"> = </span><span class="identifier-syntax">ScopeCeiling</span><span class="plain-syntax">(</span><span class="identifier-syntax">actor</span><span class="plain-syntax">);</span> <span class="plain-syntax"> </span><span class="identifier-syntax">actors_location</span><span class="plain-syntax"> = </span><span class="identifier-syntax">ScopeCeiling</span><span class="plain-syntax">(</span><span class="identifier-syntax">actor</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">SearchScope</span><span class="plain-syntax">(</span><span class="identifier-syntax">actors_location</span><span class="plain-syntax">, </span><span class="identifier-syntax">actor</span><span class="plain-syntax">, </span><span class="constant-syntax">0</span><span class="plain-syntax">); </span><span class="identifier-syntax">scope_reason</span><span class="plain-syntax"> = </span><span class="identifier-syntax">sr</span><span class="plain-syntax">; </span><span class="identifier-syntax">actor</span><span class="plain-syntax"> = </span><span class="identifier-syntax">a</span><span class="plain-syntax">;</span> <span class="plain-syntax"> </span><span class="identifier-syntax">SearchScope</span><span class="plain-syntax">(</span><span class="identifier-syntax">actors_location</span><span class="plain-syntax">, </span><span class="identifier-syntax">actor</span><span class="plain-syntax">, </span><span class="constant-syntax">0</span><span class="plain-syntax">); </span><span class="identifier-syntax">scope_reason</span><span class="plain-syntax"> = </span><span class="identifier-syntax">sr</span><span class="plain-syntax">; </span><span class="identifier-syntax">actor</span><span class="plain-syntax"> = </span><span class="identifier-syntax">a</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">scope_stage</span><span class="plain-syntax"> = </span><span class="identifier-syntax">ss</span><span class="plain-syntax">; </span><span class="identifier-syntax">scope_token</span><span class="plain-syntax"> = </span><span class="identifier-syntax">st</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">actors_location</span><span class="plain-syntax"> = </span><span class="identifier-syntax">al</span><span class="plain-syntax">; </span><span class="identifier-syntax">parser_one</span><span class="plain-syntax"> = </span><span class="identifier-syntax">x</span><span class="plain-syntax">; </span><span class="identifier-syntax">x</span><span class="plain-syntax"> = </span><span class="identifier-syntax">parser_two</span><span class="plain-syntax">; </span><span class="identifier-syntax">parser_two</span><span class="plain-syntax"> = </span><span class="identifier-syntax">y</span><span class="plain-syntax">;</span> <span class="plain-syntax"> </span><span class="identifier-syntax">actors_location</span><span class="plain-syntax"> = </span><span class="identifier-syntax">al</span><span class="plain-syntax">; </span><span class="identifier-syntax">parser_one</span><span class="plain-syntax"> = </span><span class="identifier-syntax">x</span><span class="plain-syntax">; </span><span class="identifier-syntax">x</span><span class="plain-syntax"> = </span><span class="identifier-syntax">parser_two</span><span class="plain-syntax">; </span><span class="identifier-syntax">parser_two</span><span class="plain-syntax"> = </span><span class="identifier-syntax">y</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">x</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">x</span><span class="plain-syntax">;</span>
<span class="plain-syntax">];</span> <span class="plain-syntax">];</span>

View file

@ -47,7 +47,9 @@ MathJax = {
<li><a href="../inform6.html">inform6</a></li> <li><a href="../inform6.html">inform6</a></li>
<li><a href="../inpolicyn.html">inpolicy</a></li> <li><a href="../inpolicyn.html">inpolicy</a></li>
<li><a href="../inrtpsn.html">inrtps</a></li> <li><a href="../inrtpsn.html">inrtps</a></li>
<li><a href="../extensions.html">extensions and kits</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> </ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inform"><img src="../docs-assets/github.png" height=18> github</a></li> <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> </ul><h2>Related Projects</h2><ul>

View file

@ -31,7 +31,9 @@
<li><a href="../inform6.html">inform6</a></li> <li><a href="../inform6.html">inform6</a></li>
<li><a href="../inpolicyn.html">inpolicy</a></li> <li><a href="../inpolicyn.html">inpolicy</a></li>
<li><a href="../inrtpsn.html">inrtps</a></li> <li><a href="../inrtpsn.html">inrtps</a></li>
<li><a href="../extensions.html">extensions and kits</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> </ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inform"><img src="../docs-assets/github.png" height=18> github</a></li> <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> </ul><h2>Related Projects</h2><ul>

View file

@ -287,7 +287,12 @@ returns <span class="extract"><span class="extract-syntax">TRUE</span></span> if
</p> </p>
<p class="commentary">After that, there are two cases: existential sentences (such as "there are <p class="commentary">After that, there are two cases: existential sentences (such as "there are
two cases") and all others (such as "regular meaning are more subtle"). two cases") and all others (such as "regular meanings are more subtle").
</p>
<p class="commentary">The trickiest form is "There is a container with carrying capacity 30", say,
which equates <span class="extract"><span class="extract-syntax">DEFECTIVE_NOUN_NT</span></span> with <span class="extract"><span class="extract-syntax">WITH_NT</span></span>. This is somehow both cases
at once, and we have to perform both an existential assertion and a coupling.
</p> </p>
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Act on regular meaning</span><span class="named-paragraph-number">3.1.2.3</span></span><span class="comment-syntax"> =</span> <p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Act on regular meaning</span><span class="named-paragraph-number">3.1.2.3</span></span><span class="comment-syntax"> =</span>
@ -300,7 +305,14 @@ two cases") and all others (such as "regular meaning are more subtle").
<span class="plain-syntax"> (</span><a href="4-rpt.html#SP8" class="function-link"><span class="function-syntax">Refiner::refine_coupling</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">px</span><span class="plain-syntax">, </span><span class="identifier-syntax">py</span><span class="plain-syntax">, </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">))) {</span> <span class="plain-syntax"> (</span><a href="4-rpt.html#SP8" class="function-link"><span class="function-syntax">Refiner::refine_coupling</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">px</span><span class="plain-syntax">, </span><span class="identifier-syntax">py</span><span class="plain-syntax">, </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">))) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Node::get_type</span><span class="plain-syntax">(</span><span class="identifier-syntax">px</span><span class="plain-syntax">) == </span><span class="identifier-syntax">DEFECTIVE_NOUN_NT</span><span class="plain-syntax">) {</span> <span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Node::get_type</span><span class="plain-syntax">(</span><span class="identifier-syntax">px</span><span class="plain-syntax">) == </span><span class="identifier-syntax">DEFECTIVE_NOUN_NT</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><a href="4-ass.html#SP1" class="function-link"><span class="function-syntax">Assertions::make_existential</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">py</span><span class="plain-syntax">);</span> <span class="plain-syntax"> </span><a href="4-ass.html#SP1" class="function-link"><span class="function-syntax">Assertions::make_existential</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">py</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="2-ar.html#SP3" class="function-link"><span class="function-syntax">Anaphora::change_discussion_from_coupling</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">py</span><span class="plain-syntax">, </span><span class="identifier-syntax">py</span><span class="plain-syntax">);</span> <span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Node::get_type</span><span class="plain-syntax">(</span><span class="identifier-syntax">py</span><span class="plain-syntax">) == </span><span class="identifier-syntax">WITH_NT</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">px</span><span class="plain-syntax"> = </span><span class="identifier-syntax">py</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">down</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">py</span><span class="plain-syntax"> = </span><span class="identifier-syntax">py</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">down</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">next</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><a href="4-ass.html#SP6" class="function-link"><span class="function-syntax">Assertions::make_coupling</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">px</span><span class="plain-syntax">, </span><span class="identifier-syntax">py</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="2-ar.html#SP3" class="function-link"><span class="function-syntax">Anaphora::change_discussion_from_coupling</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">px</span><span class="plain-syntax">, </span><span class="identifier-syntax">py</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> } </span><span class="reserved-syntax">else</span><span class="plain-syntax"> {</span>
<span class="plain-syntax"> </span><a href="2-ar.html#SP3" class="function-link"><span class="function-syntax">Anaphora::change_discussion_from_coupling</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">py</span><span class="plain-syntax">, </span><span class="identifier-syntax">py</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> }</span>
<span class="plain-syntax"> } </span><span class="reserved-syntax">else</span><span class="plain-syntax"> {</span> <span class="plain-syntax"> } </span><span class="reserved-syntax">else</span><span class="plain-syntax"> {</span>
<span class="plain-syntax"> </span><a href="4-ass.html#SP6" class="function-link"><span class="function-syntax">Assertions::make_coupling</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">px</span><span class="plain-syntax">, </span><span class="identifier-syntax">py</span><span class="plain-syntax">);</span> <span class="plain-syntax"> </span><a href="4-ass.html#SP6" class="function-link"><span class="function-syntax">Assertions::make_coupling</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">px</span><span class="plain-syntax">, </span><span class="identifier-syntax">py</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="2-ar.html#SP3" class="function-link"><span class="function-syntax">Anaphora::change_discussion_from_coupling</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">px</span><span class="plain-syntax">, </span><span class="identifier-syntax">py</span><span class="plain-syntax">);</span> <span class="plain-syntax"> </span><a href="2-ar.html#SP3" class="function-link"><span class="function-syntax">Anaphora::change_discussion_from_coupling</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">px</span><span class="plain-syntax">, </span><span class="identifier-syntax">py</span><span class="plain-syntax">);</span>

View file

@ -743,7 +743,8 @@ parser, recording how it most recently failed.
<span class="plain-syntax"> </span><span class="string-syntax">"is '%2'. %3 did not make sense as a description of an action."</span><span class="plain-syntax">);</span> <span class="plain-syntax"> </span><span class="string-syntax">"is '%2'. %3 did not make sense as a description of an action."</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-rf.html#SP11_1_1_5_1" class="named-paragraph-link"><span class="named-paragraph">See if it starts with a valid action name, at least</span><span class="named-paragraph-number">11.1.1.5.1</span></a></span><span class="plain-syntax">;</span> <span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-rf.html#SP11_1_1_5_1" class="named-paragraph-link"><span class="named-paragraph">See if it starts with a valid action name, at least</span><span class="named-paragraph-number">11.1.1.5.1</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-rf.html#SP11_1_1_5_2" class="named-paragraph-link"><span class="named-paragraph">See if this might be a when-for confusion</span><span class="named-paragraph-number">11.1.1.5.2</span></a></span><span class="plain-syntax">;</span> <span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-rf.html#SP11_1_1_5_2" class="named-paragraph-link"><span class="named-paragraph">See if this might be a when-for confusion</span><span class="named-paragraph-number">11.1.1.5.2</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-rf.html#SP11_1_1_5_3" class="named-paragraph-link"><span class="named-paragraph">Break down the action list and say which are okay</span><span class="named-paragraph-number">11.1.1.5.3</span></a></span><span class="plain-syntax">;</span> <span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-rf.html#SP11_1_1_5_3" class="named-paragraph-link"><span class="named-paragraph">See if this might be an it-something confusion</span><span class="named-paragraph-number">11.1.1.5.3</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-rf.html#SP11_1_1_5_4" class="named-paragraph-link"><span class="named-paragraph">Break down the action list and say which are okay</span><span class="named-paragraph-number">11.1.1.5.4</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::issue_problem_segment</span><span class="plain-syntax">(</span> <span class="plain-syntax"> </span><span class="identifier-syntax">Problems::issue_problem_segment</span><span class="plain-syntax">(</span>
<span class="plain-syntax"> </span><span class="string-syntax">" I am unable to place this rule into any rulebook."</span><span class="plain-syntax">);</span> <span class="plain-syntax"> </span><span class="string-syntax">" I am unable to place this rule into any rulebook."</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::issue_problem_end</span><span class="plain-syntax">();</span> <span class="plain-syntax"> </span><span class="identifier-syntax">Problems::issue_problem_end</span><span class="plain-syntax">();</span>
@ -783,14 +784,35 @@ parser, recording how it most recently failed.
<span class="plain-syntax"> }</span> <span class="plain-syntax"> }</span>
</pre> </pre>
<ul class="endnotetexts"><li>This code is used in <a href="5-rf.html#SP11_1_1_5">&#167;11.1.1.5</a>.</li></ul> <ul class="endnotetexts"><li>This code is used in <a href="5-rf.html#SP11_1_1_5">&#167;11.1.1.5</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP11_1_1_5_3" class="paragraph-anchor"></a><b>&#167;11.1.1.5.3. </b>If the action pattern contains what looks like a list of action names, as for example <p class="commentary firstcommentary"><a id="SP11_1_1_5_3" class="paragraph-anchor"></a><b>&#167;11.1.1.5.3. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">See if this might be an it-something confusion</span><span class="named-paragraph-number">11.1.1.5.3</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">
<span class="plain-syntax"> </span><span class="identifier-syntax">action_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">an</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER</span><span class="plain-syntax">(</span><span class="identifier-syntax">an</span><span class="plain-syntax">, </span><span class="identifier-syntax">action_name</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">wording</span><span class="plain-syntax"> </span><span class="identifier-syntax">N</span><span class="plain-syntax"> = </span><span class="identifier-syntax">ActionNameNames::tensed</span><span class="plain-syntax">(</span><span class="identifier-syntax">an</span><span class="plain-syntax">, </span><span class="identifier-syntax">IS_TENSE</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> ((</span><span class="identifier-syntax">ActionSemantics::max_parameters</span><span class="plain-syntax">(</span><span class="identifier-syntax">an</span><span class="plain-syntax">) &gt; </span><span class="constant-syntax">1</span><span class="plain-syntax">) &amp;&amp;</span>
<span class="plain-syntax"> ((</span><span class="identifier-syntax">Wordings::length</span><span class="plain-syntax">(</span><span class="identifier-syntax">rfd</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">applicability</span><span class="plain-syntax">) &gt;= </span><span class="identifier-syntax">Wordings::length</span><span class="plain-syntax">(</span><span class="identifier-syntax">N</span><span class="plain-syntax">)) &amp;&amp;</span>
<span class="plain-syntax"> (</span><span class="identifier-syntax">Wordings::match</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">Wordings::truncate</span><span class="plain-syntax">(</span><span class="identifier-syntax">rfd</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">applicability</span><span class="plain-syntax">, </span><span class="identifier-syntax">Wordings::length</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">Problems::quote_wording</span><span class="plain-syntax">(3, </span><span class="identifier-syntax">ActionNameNames::tensed</span><span class="plain-syntax">(</span><span class="identifier-syntax">an</span><span class="plain-syntax">, </span><span class="identifier-syntax">IS_TENSE</span><span class="plain-syntax">));</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::issue_problem_segment</span><span class="plain-syntax">(</span>
<span class="plain-syntax"> </span><span class="string-syntax">" (I notice that there's an action called '%3': the 'it' in the name "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"is meant to be where something is specified about the first thing "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"it acts on. Try using 'something' rather than 'it'?)"</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>
<ul class="endnotetexts"><li>This code is used in <a href="5-rf.html#SP11_1_1_5">&#167;11.1.1.5</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP11_1_1_5_4" class="paragraph-anchor"></a><b>&#167;11.1.1.5.4. </b>If the action pattern contains what looks like a list of action names, as for example
"Instead of taking or dropping the magnet: ..." then the &lt;anl-diagnosis&gt; grammar will "Instead of taking or dropping the magnet: ..." then the &lt;anl-diagnosis&gt; grammar will
parse this and return N equal to 2, the apparent number of action names. We then parse this and return N equal to 2, the apparent number of action names. We then
run the grammar again, but this time allowing it to print comments on each apparent run the grammar again, but this time allowing it to print comments on each apparent
action name it sees. action name it sees.
</p> </p>
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Break down the action list and say which are okay</span><span class="named-paragraph-number">11.1.1.5.3</span></span><span class="comment-syntax"> =</span> <p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Break down the action list and say which are okay</span><span class="named-paragraph-number">11.1.1.5.4</span></span><span class="comment-syntax"> =</span>
</p> </p>
<pre class="displayed-code all-displayed-code code-font"> <pre class="displayed-code all-displayed-code code-font">

View file

@ -268,6 +268,7 @@ own credits.
<pre class="displayed-code all-displayed-code code-font"> <pre class="displayed-code all-displayed-code code-font">
<span class="plain-syntax"> </span><span class="reserved-syntax">auxiliary_file</span><span class="plain-syntax"> *</span><span class="identifier-syntax">af</span><span class="plain-syntax">;</span> <span class="plain-syntax"> </span><span class="reserved-syntax">auxiliary_file</span><span class="plain-syntax"> *</span><span class="identifier-syntax">af</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">af</span><span class="plain-syntax">, </span><span class="reserved-syntax">auxiliary_file</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">af</span><span class="plain-syntax">, </span><span class="reserved-syntax">auxiliary_file</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">"afftrt %p, trp %p\n"</span><span class="plain-syntax">, </span><span class="identifier-syntax">af</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">folder_to_release_to</span><span class="plain-syntax">, </span><span class="identifier-syntax">Task::release_path</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">rel</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">rel</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Pathnames::to_text_relative</span><span class="plain-syntax">(</span><span class="identifier-syntax">rel</span><span class="plain-syntax">, </span><span class="identifier-syntax">af</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">folder_to_release_to</span><span class="plain-syntax">, </span><span class="identifier-syntax">Task::release_path</span><span class="plain-syntax">());</span> <span class="plain-syntax"> </span><span class="identifier-syntax">Pathnames::to_text_relative</span><span class="plain-syntax">(</span><span class="identifier-syntax">rel</span><span class="plain-syntax">, </span><span class="identifier-syntax">af</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">folder_to_release_to</span><span class="plain-syntax">, </span><span class="identifier-syntax">Task::release_path</span><span class="plain-syntax">());</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"auxiliary \"%f\" \"%S\" \"%S\"\n"</span><span class="plain-syntax">,</span> <span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"auxiliary \"%f\" \"%S\" \"%S\"\n"</span><span class="plain-syntax">,</span>

View file

@ -781,15 +781,24 @@ it, one at a time, by previous Understand sentences.
<span class="plain-syntax"> (</span><span class="identifier-syntax">Str::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">RTKindConstructors::get_recognition_only_GPR</span><span class="plain-syntax">(</span><span class="identifier-syntax">ValueProperties::kind</span><span class="plain-syntax">(</span><span class="identifier-syntax">pr</span><span class="plain-syntax">))) == </span><span class="constant-syntax">0</span><span class="plain-syntax">) &amp;&amp;</span> <span class="plain-syntax"> (</span><span class="identifier-syntax">Str::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">RTKindConstructors::get_recognition_only_GPR</span><span class="plain-syntax">(</span><span class="identifier-syntax">ValueProperties::kind</span><span class="plain-syntax">(</span><span class="identifier-syntax">pr</span><span class="plain-syntax">))) == </span><span class="constant-syntax">0</span><span class="plain-syntax">) &amp;&amp;</span>
<span class="plain-syntax"> ((</span><span class="identifier-syntax">Kinds::Behaviour::is_object</span><span class="plain-syntax">(</span><span class="identifier-syntax">ValueProperties::kind</span><span class="plain-syntax">(</span><span class="identifier-syntax">pr</span><span class="plain-syntax">))) ||</span> <span class="plain-syntax"> ((</span><span class="identifier-syntax">Kinds::Behaviour::is_object</span><span class="plain-syntax">(</span><span class="identifier-syntax">ValueProperties::kind</span><span class="plain-syntax">(</span><span class="identifier-syntax">pr</span><span class="plain-syntax">))) ||</span>
<span class="plain-syntax"> (</span><span class="identifier-syntax">RTKindConstructors::request_I6_GPR</span><span class="plain-syntax">(</span><span class="identifier-syntax">ValueProperties::kind</span><span class="plain-syntax">(</span><span class="identifier-syntax">pr</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">RTKindConstructors::request_I6_GPR</span><span class="plain-syntax">(</span><span class="identifier-syntax">ValueProperties::kind</span><span class="plain-syntax">(</span><span class="identifier-syntax">pr</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="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Kinds::Behaviour::is_object</span><span class="plain-syntax">(</span><span class="identifier-syntax">ValueProperties::kind</span><span class="plain-syntax">(</span><span class="identifier-syntax">pr</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_BadReferringProperty</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="string-syntax">"that property is of a kind which I can't recognise in "</span> <span class="plain-syntax"> </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_ThingReferringProperty</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="string-syntax">"typed commands"</span><span class="plain-syntax">,</span> <span class="plain-syntax"> </span><span class="string-syntax">"the value of that property is itself a kind of object"</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="string-syntax">"so that it cannot be understand as describing or referring to "</span> <span class="plain-syntax"> </span><span class="string-syntax">"so that it cannot be understand as describing or referring to "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"something. I can understand either/or properties, properties "</span> <span class="plain-syntax"> </span><span class="string-syntax">"something. I can understand either/or properties, properties "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"with a limited list of named possible values, numbers, times "</span> <span class="plain-syntax"> </span><span class="string-syntax">"with a limited list of named possible values, numbers, times "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"of day, or units; but certain built-into-Inform kinds of value "</span> <span class="plain-syntax"> </span><span class="string-syntax">"of day, or units."</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="string-syntax">"(like snippet or rulebook, for instance) I can't use."</span><span class="plain-syntax">);</span> <span class="plain-syntax"> </span><span class="reserved-syntax">else</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">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_BadReferringProperty</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="string-syntax">"that property is of a kind which I can't recognise in "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"typed commands"</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="string-syntax">"so that it cannot be understand as describing or referring to "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"something. I can understand either/or properties, properties "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"with a limited list of named possible values, numbers, times "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"of day, or units; but certain built-into-Inform kinds of value "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"(like snippet or rulebook, for instance) I can't use."</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> }</span> <span class="plain-syntax"> }</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="5-pv.html#SP2" class="function-link"><span class="function-syntax">Visibility::set</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">pr</span><span class="plain-syntax">, </span><span class="identifier-syntax">subj</span><span class="plain-syntax">, </span><span class="identifier-syntax">level</span><span class="plain-syntax">, </span><span class="identifier-syntax">WHENW</span><span class="plain-syntax">) == </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">) {</span> <span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="5-pv.html#SP2" class="function-link"><span class="function-syntax">Visibility::set</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">pr</span><span class="plain-syntax">, </span><span class="identifier-syntax">subj</span><span class="plain-syntax">, </span><span class="identifier-syntax">level</span><span class="plain-syntax">, </span><span class="identifier-syntax">WHENW</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">StandardProblems::sentence_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(),</span>

View file

@ -203,7 +203,7 @@ for the loop hasn't been compiled yet.)
<span class="plain-syntax"> </span><a href="3-cb.html#SP6" class="function-link"><span class="function-syntax">CodeBlocks::pop_stack</span></a><span class="plain-syntax">();</span> <span class="plain-syntax"> </span><a href="3-cb.html#SP6" class="function-link"><span class="function-syntax">CodeBlocks::pop_stack</span></a><span class="plain-syntax">();</span>
<span class="plain-syntax"> }</span> <span class="plain-syntax"> }</span>
<span class="plain-syntax"> </span><a href="3-cb.html#SP4" class="function-link"><span class="function-syntax">CodeBlocks::prepush_stack</span></a><span class="plain-syntax">();</span> <span class="plain-syntax"> </span><a href="3-cb.html#SP4" class="function-link"><span class="function-syntax">CodeBlocks::prepush_stack</span></a><span class="plain-syntax">();</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-cb.html#SP9_1" class="named-paragraph-link"><span class="named-paragraph">Construct the next phrase block</span><span class="named-paragraph-number">9.1</span></a></span><span class="plain-syntax">;</span> <span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">block_being_opened</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="3-cb.html#SP9_1" class="named-paragraph-link"><span class="named-paragraph">Construct the next phrase block</span><span class="named-paragraph-number">9.1</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax">}</span> <span class="plain-syntax">}</span>
</pre> </pre>
<p class="commentary firstcommentary"><a id="SP9_1" class="paragraph-anchor"></a><b>&#167;9.1. </b>In the case of a repeat through a Table, we need to create two loop <p class="commentary firstcommentary"><a id="SP9_1" class="paragraph-anchor"></a><b>&#167;9.1. </b>In the case of a repeat through a Table, we need to create two loop
@ -228,12 +228,16 @@ the loop begins, and pull them again when it finishes.
</p> </p>
<pre class="displayed-code all-displayed-code code-font"> <pre class="displayed-code all-displayed-code code-font">
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">CodeBlocks::attach_back_schema</span><button class="popup" onclick="togglePopup('usagePopup8')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup8">Usage of <span class="code-font"><span class="function-syntax">CodeBlocks::attach_back_schema</span></span>:<br/>Compile Invocations Inline - <a href="5-cii.html#SP3">&#167;3</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_schema</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="reserved-syntax">csi_state</span><span class="plain-syntax"> </span><span class="identifier-syntax">CSIS</span><span class="plain-syntax">) {</span> <span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">CodeBlocks::attach_back_schema</span><button class="popup" onclick="togglePopup('usagePopup8')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup8">Usage of <span class="code-font"><span class="function-syntax">CodeBlocks::attach_back_schema</span></span>:<br/>Compile Invocations Inline - <a href="5-cii.html#SP3">&#167;3</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_schema</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="reserved-syntax">csi_state</span><span class="plain-syntax"> </span><span class="identifier-syntax">CSIS</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">block_being_opened</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">switch_val</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span> <span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">block_being_opened</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">Invocations::get_no_tokens</span><span class="plain-syntax">(</span><span class="identifier-syntax">CSIS</span><span class="plain-syntax">.</span><span class="element-syntax">inv</span><span class="plain-syntax">) &gt; </span><span class="constant-syntax">0</span><span class="plain-syntax">)</span> <span class="plain-syntax"> </span><span class="identifier-syntax">block_being_opened</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">switch_val</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">block_being_opened</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">switch_val</span><span class="plain-syntax"> = </span><span class="identifier-syntax">CSIS</span><span class="plain-syntax">.</span><span class="element-syntax">tokens</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">token_vals</span><span class="plain-syntax">[0];</span> <span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Invocations::get_no_tokens</span><span class="plain-syntax">(</span><span class="identifier-syntax">CSIS</span><span class="plain-syntax">.</span><span class="element-syntax">inv</span><span class="plain-syntax">) &gt; </span><span class="constant-syntax">0</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">block_being_opened</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">tail_schema</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">block_being_opened</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">switch_val</span><span class="plain-syntax"> = </span><span class="identifier-syntax">CSIS</span><span class="plain-syntax">.</span><span class="element-syntax">tokens</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">token_vals</span><span class="plain-syntax">[0];</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">block_being_opened</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">compilation_state</span><span class="plain-syntax"> = </span><span class="identifier-syntax">CSIS</span><span class="plain-syntax">;</span> <span class="plain-syntax"> </span><span class="identifier-syntax">block_being_opened</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">tail_schema</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">block_being_opened</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">compilation_state</span><span class="plain-syntax"> = </span><span class="identifier-syntax">CSIS</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> <span class="plain-syntax">}</span>
</pre> </pre>
<p class="commentary firstcommentary"><a id="SP11" class="paragraph-anchor"></a><b>&#167;11. </b>At this next stage, the preliminary code for the loop (if it's a loop) <p class="commentary firstcommentary"><a id="SP11" class="paragraph-anchor"></a><b>&#167;11. </b>At this next stage, the preliminary code for the loop (if it's a loop)

View file

@ -141,10 +141,17 @@ the code block in question.
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-cii.html#SP3_2" class="named-paragraph-link"><span class="named-paragraph">Create any new local variables explicitly called for</span><span class="named-paragraph-number">3.2</span></a></span><span class="plain-syntax">;</span> <span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-cii.html#SP3_2" class="named-paragraph-link"><span class="named-paragraph">Create any new local variables explicitly called for</span><span class="named-paragraph-number">3.2</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><a href="5-cii.html#SP5" class="function-link"><span class="function-syntax">CSIInline::from_schema</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">idb</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">head_of_defn</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">at</span><span class="plain-syntax">,</span> <span class="plain-syntax"> </span><a href="5-cii.html#SP5" class="function-link"><span class="function-syntax">CSIInline::from_schema</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">idb</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">head_of_defn</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">at</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><a href="3-cid.html#SP6" class="function-link"><span class="function-syntax">CompileImperativeDefn::get_front_schema</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">idb</span><span class="plain-syntax">), &amp;</span><span class="identifier-syntax">CSIS</span><span class="plain-syntax">);</span> <span class="plain-syntax"> </span><a href="3-cid.html#SP6" class="function-link"><span class="function-syntax">CompileImperativeDefn::get_front_schema</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">idb</span><span class="plain-syntax">), &amp;</span><span class="identifier-syntax">CSIS</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">IDTypeData::block_follows</span><span class="plain-syntax">(</span><span class="identifier-syntax">idb</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">IDTypeData::block_follows</span><span class="plain-syntax">(</span><span class="identifier-syntax">idb</span><span class="plain-syntax">)) {</span>
<span class="plain-syntax"> </span><a href="3-cb.html#SP10" class="function-link"><span class="function-syntax">CodeBlocks::attach_back_schema</span></a><span class="plain-syntax">(</span><a href="3-cid.html#SP6" class="function-link"><span class="function-syntax">CompileImperativeDefn::get_back_schema</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">idb</span><span class="plain-syntax">), </span><span class="identifier-syntax">CSIS</span><span class="plain-syntax">);</span> <span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="3-cb.html#SP10" class="function-link"><span class="function-syntax">CodeBlocks::attach_back_schema</span></a><span class="plain-syntax">(</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span> <span class="plain-syntax"> </span><a href="3-cid.html#SP6" class="function-link"><span class="function-syntax">CompileImperativeDefn::get_back_schema</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">idb</span><span class="plain-syntax">), </span><span class="identifier-syntax">CSIS</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_LoopWithoutBody</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="string-syntax">"there doesn't seem to be any body to this phrase"</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="string-syntax">"in the way that a 'repeat', 'if' or 'while' is expected to have."</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> }</span>
<span class="plain-syntax"> } </span><span class="reserved-syntax">else</span><span class="plain-syntax"> {</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-cii.html#SP3_3" class="named-paragraph-link"><span class="named-paragraph">Release any my-variables created inline</span><span class="named-paragraph-number">3.3</span></a></span><span class="plain-syntax">;</span> <span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-cii.html#SP3_3" class="named-paragraph-link"><span class="named-paragraph">Release any my-variables created inline</span><span class="named-paragraph-number">3.3</span></a></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">idb</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">compilation_data</span><span class="plain-syntax">.</span><span class="identifier-syntax">inline_mor</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">idb</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">compilation_data</span><span class="plain-syntax">.</span><span class="identifier-syntax">inline_mor</span><span class="plain-syntax">;</span>
<span class="plain-syntax">}</span> <span class="plain-syntax">}</span>
</pre> </pre>

View file

@ -219,8 +219,8 @@ will not work.
<pre class="displayed-code all-displayed-code code-font"> <pre class="displayed-code all-displayed-code code-font">
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Links::request_copy_of_auxiliaries</span><button class="popup" onclick="togglePopup('usagePopup7')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup7">Usage of <span class="code-font"><span class="function-syntax">Links::request_copy_of_auxiliaries</span></span>:<br/>Releaser - <a href="3-rls.html#SP5">&#167;5</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">void</span><span class="plain-syntax">) {</span> <span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Links::request_copy_of_auxiliaries</span><button class="popup" onclick="togglePopup('usagePopup7')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup7">Usage of <span class="code-font"><span class="function-syntax">Links::request_copy_of_auxiliaries</span></span>:<br/>Releaser - <a href="3-rls.html#SP5">&#167;5</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">void</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">auxiliary_file</span><span class="plain-syntax"> *</span><span class="identifier-syntax">aux</span><span class="plain-syntax">;</span> <span class="plain-syntax"> </span><span class="reserved-syntax">auxiliary_file</span><span class="plain-syntax"> *</span><span class="identifier-syntax">aux</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">aux</span><span class="plain-syntax">, </span><span class="reserved-syntax">auxiliary_file</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">aux</span><span class="plain-syntax">, </span><span class="reserved-syntax">auxiliary_file</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="../../../inweb/docs/foundation-module/4-sm.html#SP19" class="function-link"><span class="function-syntax">Str::eq</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">aux</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">format</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"link"</span><span class="plain-syntax">)) {</span> <span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="../../../inweb/docs/foundation-module/4-sm.html#SP19" class="function-link"><span class="function-syntax">Str::ne</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">aux</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">format</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"link"</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">verbose_mode</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">verbose_mode</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">PRINT</span><span class="plain-syntax">(</span><span class="string-syntax">"! COPY &lt;%f&gt; as &lt;%S&gt;\n"</span><span class="plain-syntax">, </span><span class="identifier-syntax">aux</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">full_filename</span><span class="plain-syntax">, </span><span class="identifier-syntax">aux</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">aux_leafname</span><span class="plain-syntax">);</span> <span class="plain-syntax"> </span><span class="identifier-syntax">PRINT</span><span class="plain-syntax">(</span><span class="string-syntax">"! COPY &lt;%f&gt; as &lt;%S&gt;\n"</span><span class="plain-syntax">, </span><span class="identifier-syntax">aux</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">full_filename</span><span class="plain-syntax">, </span><span class="identifier-syntax">aux</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">aux_leafname</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">as_text</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">as_text</span><span class="plain-syntax">)</span>
@ -228,6 +228,7 @@ will not work.
<span class="plain-syntax"> </span><a href="3-rls.html#SP4" class="function-link"><span class="function-syntax">Requests::request_copy</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">as_text</span><span class="plain-syntax">, </span><span class="identifier-syntax">aux</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">aux_leafname</span><span class="plain-syntax">, </span><span class="identifier-syntax">aux</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">aux_subfolder</span><span class="plain-syntax">);</span> <span class="plain-syntax"> </span><a href="3-rls.html#SP4" class="function-link"><span class="function-syntax">Requests::request_copy</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">as_text</span><span class="plain-syntax">, </span><span class="identifier-syntax">aux</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">aux_leafname</span><span class="plain-syntax">, </span><span class="identifier-syntax">aux</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">aux_subfolder</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">as_text</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">as_text</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> }</span> <span class="plain-syntax"> }</span>
<span class="plain-syntax"> }</span>
<span class="plain-syntax">}</span> <span class="plain-syntax">}</span>
</pre> </pre>
<nav role="progress"><div class="progresscontainer"> <nav role="progress"><div class="progresscontainer">

View file

@ -151,8 +151,8 @@ When we generate a website, we need to copy the auxiliary files into it
= =
void Links::request_copy_of_auxiliaries(void) { void Links::request_copy_of_auxiliaries(void) {
auxiliary_file *aux; auxiliary_file *aux;
LOOP_OVER(aux, auxiliary_file) LOOP_OVER(aux, auxiliary_file) {
if (Str::eq(aux->format, I"link")) { if (Str::ne(aux->format, I"link")) {
if (verbose_mode) if (verbose_mode)
PRINT("! COPY <%f> as <%S>\n", aux->full_filename, aux->aux_leafname); PRINT("! COPY <%f> as <%S>\n", aux->full_filename, aux->aux_leafname);
TEMPORARY_TEXT(as_text) TEMPORARY_TEXT(as_text)
@ -160,4 +160,5 @@ void Links::request_copy_of_auxiliaries(void) {
Requests::request_copy(as_text, aux->aux_leafname, aux->aux_subfolder); Requests::request_copy(as_text, aux->aux_leafname, aux->aux_subfolder);
DISCARD_TEXT(as_text) DISCARD_TEXT(as_text)
} }
}
} }

View file

@ -1,4 +1,4 @@
Total memory consumption was 126312K = 123 MB Total memory consumption was 126302K = 123 MB
---- was used for 2008048 objects, in 360823 frames in 0 x 800K = 0K = 0 MB: ---- was used for 2008048 objects, in 360823 frames in 0 x 800K = 0K = 0 MB:
@ -237,7 +237,7 @@ Total memory consumption was 126312K = 123 MB
100.0% was used for memory not allocated for objects: 100.0% was used for memory not allocated for objects:
59.2% text stream storage 76630492 bytes in 452157 claims 59.2% text stream storage 76620548 bytes in 452156 claims
3.5% dictionary storage 4544512 bytes in 6619 claims 3.5% dictionary storage 4544512 bytes in 6619 claims
---- sorting 744 bytes in 3 claims ---- sorting 744 bytes in 3 claims
5.5% source text 7200000 bytes in 3 claims 5.5% source text 7200000 bytes in 3 claims

View file

@ -1,37 +1,33 @@
100.0% in inform7 run 100.0% in inform7 run
68.6% in compilation to Inter 68.4% in compilation to Inter
48.1% in //Sequence::undertake_queued_tasks// 47.5% in //Sequence::undertake_queued_tasks//
4.4% in //MajorNodes::pre_pass// 4.6% in //MajorNodes::pre_pass//
3.2% in //MajorNodes::pass_1// 3.3% in //MajorNodes::pass_1//
2.4% in //RTPhrasebook::compile_entries// 2.4% in //RTPhrasebook::compile_entries//
1.9% in //ImperativeDefinitions::assess_all// 1.8% in //ImperativeDefinitions::assess_all//
1.4% in //RTKindConstructors::compile// 1.5% in //RTKindConstructors::compile//
1.2% in //Sequence::lint_inter// 0.9% in //Sequence::lint_inter//
0.5% in //ImperativeDefinitions::compile_first_block//
0.5% in //MajorNodes::pass_2// 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.5% in //World::stage_V//
0.4% in //ImperativeDefinitions::compile_first_block// 0.3% in //Sequence::undertake_queued_tasks//
0.4% in //Sequence::undertake_queued_tasks// 0.1% in //CompletionModule::compile//
0.2% in //CompletionModule::compile//
0.2% in //RTKindConstructors::compile_permissions//
0.1% in //InferenceSubjects::emit_all// 0.1% in //InferenceSubjects::emit_all//
0.1% in //RTKindConstructors::compile_permissions//
0.1% in //Task::make_built_in_kind_constructors// 0.1% in //Task::make_built_in_kind_constructors//
0.1% in //Understand::traverse//
0.1% in //World::stages_II_and_III// 0.1% in //World::stages_II_and_III//
2.1% not specifically accounted for 2.5% not specifically accounted for
28.7% in running Inter pipeline 28.9% in running Inter pipeline
10.0% in step 14/14: generate inform6 -> auto.inf 10.7% in step 14/14: generate inform6 -> auto.inf
7.4% in step 5/14: load-binary-kits 7.5% in step 5/14: load-binary-kits
6.7% in step 6/14: make-synoptic-module 6.3% in step 6/14: make-synoptic-module
1.6% in step 9/14: make-identifiers-unique 1.5% in step 9/14: make-identifiers-unique
0.5% in step 4/14: compile-splats 0.3% in step 12/14: eliminate-redundant-operations
0.4% in step 12/14: eliminate-redundant-operations 0.3% in step 4/14: compile-splats
0.3% in step 7/14: shorten-wiring 0.3% in step 7/14: shorten-wiring
0.3% in step 8/14: detect-indirect-calls 0.3% in step 8/14: detect-indirect-calls
0.2% in step 11/14: eliminate-redundant-labels 0.1% in step 11/14: eliminate-redundant-labels
0.1% in step 10/14: reconcile-verbs 1.1% not specifically accounted for
0.1% in step 2/14: parse-insertions 2.2% in supervisor
0.1% in step 3/14: resolve-conditional-compilation
0.6% not specifically accounted for
2.1% in supervisor
0.4% not specifically accounted for 0.4% not specifically accounted for

View file

@ -169,6 +169,7 @@ own credits.
@<Give instructions about auxiliary files@> = @<Give instructions about auxiliary files@> =
auxiliary_file *af; auxiliary_file *af;
LOOP_OVER(af, auxiliary_file) { LOOP_OVER(af, auxiliary_file) {
LOG("afftrt %p, trp %p\n", af->folder_to_release_to, Task::release_path());
TEMPORARY_TEXT(rel) TEMPORARY_TEXT(rel)
Pathnames::to_text_relative(rel, af->folder_to_release_to, Task::release_path()); Pathnames::to_text_relative(rel, af->folder_to_release_to, Task::release_path());
WRITE("auxiliary \"%f\" \"%S\" \"%S\"\n", WRITE("auxiliary \"%f\" \"%S\" \"%S\"\n",