1
0
Fork 0
mirror of https://github.com/ganelson/inform.git synced 2024-06-26 04:00:43 +03:00

Fix for Jira bug I7-2136

This commit is contained in:
Graham Nelson 2022-05-29 10:03:23 +01:00
parent 1e6917f456
commit fae7ecc9d6
15 changed files with 243 additions and 224 deletions

View file

@ -1,6 +1,6 @@
# Inform 7
v10.1.0-beta+6V15 'Krypton' (27 May 2022)
v10.1.0-beta+6V16 'Krypton' (29 May 2022)
## About Inform 7

View file

@ -1,3 +1,3 @@
Prerelease: beta
Build Date: 27 May 2022
Build Number: 6V15
Build Date: 29 May 2022
Build Number: 6V16

View file

@ -186,7 +186,7 @@ or failed if —
<span class="plain-syntax"> }</span>
<span class="plain-syntax"> } </span><span class="reserved-syntax">else</span><span class="plain-syntax"> {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">say__p</span><span class="plain-syntax">) </span><span class="identifier-syntax">RulebookParBreak</span><span class="plain-syntax">(</span><span class="identifier-syntax">no_paragraph_skips</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">rv</span><span class="plain-syntax"> = </span><span class="reserved-syntax">indirect</span><span class="plain-syntax">(</span><span class="identifier-syntax">rulebook</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">rv</span><span class="plain-syntax"> = </span><span class="identifier-syntax">rulebook</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">rv</span><span class="plain-syntax"> == </span><span class="constant-syntax">2</span><span class="plain-syntax">) </span><span class="identifier-syntax">rv</span><span class="plain-syntax"> = </span><span class="identifier-syntax">reason_the_action_failed</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">rv</span><span class="plain-syntax">) </span><span class="identifier-syntax">rv</span><span class="plain-syntax"> = </span><span class="identifier-syntax">rulebook</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> }</span>

View file

@ -315,7 +315,7 @@ $$ C = 100 + N $$
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="identifier-syntax">i</span><span class="plain-syntax">=</span><span class="identifier-syntax">from</span><span class="plain-syntax">: </span><span class="identifier-syntax">i</span><span class="plain-syntax">&lt;=</span><span class="reserved-syntax">to</span><span class="plain-syntax">: </span><span class="identifier-syntax">i</span><span class="plain-syntax">++) </span><span class="reserved-syntax">print</span><span class="plain-syntax"> (</span><span class="identifier-syntax">char</span><span class="plain-syntax">) </span><span class="identifier-syntax">i</span><span class="plain-syntax">-&gt;0;</span>
<span class="plain-syntax">];</span>
<span class="plain-syntax">[ </span><span class="identifier-syntax">SpliceSnippet</span><span class="plain-syntax"> </span><span class="identifier-syntax">snip</span><span class="plain-syntax"> </span><span class="identifier-syntax">t</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax"> </span><span class="identifier-syntax">w1</span><span class="plain-syntax"> </span><span class="identifier-syntax">w2</span><span class="plain-syntax"> </span><span class="identifier-syntax">nextw</span><span class="plain-syntax"> </span><span class="identifier-syntax">at</span><span class="plain-syntax"> </span><span class="identifier-syntax">endsnippet</span><span class="plain-syntax"> </span><span class="identifier-syntax">newlen</span><span class="plain-syntax">;</span>
<span class="plain-syntax">[ </span><span class="identifier-syntax">SpliceSnippet</span><span class="plain-syntax"> </span><span class="identifier-syntax">snip</span><span class="plain-syntax"> </span><span class="identifier-syntax">t</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax"> </span><span class="identifier-syntax">w1</span><span class="plain-syntax"> </span><span class="identifier-syntax">w2</span><span class="plain-syntax"> </span><span class="identifier-syntax">nextw</span><span class="plain-syntax"> </span><span class="identifier-syntax">at</span><span class="plain-syntax"> </span><span class="identifier-syntax">endsnippet</span><span class="plain-syntax"> </span><span class="identifier-syntax">newlen</span><span class="plain-syntax"> </span><span class="identifier-syntax">saved</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">w1</span><span class="plain-syntax"> = </span><span class="identifier-syntax">snip</span><span class="plain-syntax">/100; </span><span class="identifier-syntax">w2</span><span class="plain-syntax"> = </span><span class="identifier-syntax">w1</span><span class="plain-syntax"> + (</span><span class="identifier-syntax">snip</span><span class="plain-syntax">%100) - </span><span class="constant-syntax">1</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> ((</span><span class="identifier-syntax">w2</span><span class="plain-syntax">&lt;</span><span class="identifier-syntax">w1</span><span class="plain-syntax">) || (</span><span class="identifier-syntax">w1</span><span class="plain-syntax">&lt;1)) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> ((</span><span class="identifier-syntax">w1</span><span class="plain-syntax"> == </span><span class="constant-syntax">1</span><span class="plain-syntax">) &amp;&amp; (</span><span class="identifier-syntax">w2</span><span class="plain-syntax"> == </span><span class="constant-syntax">0</span><span class="plain-syntax">)) </span><span class="reserved-syntax">return</span><span class="plain-syntax">;</span>
@ -325,6 +325,7 @@ $$ C = 100 + N $$
<span class="plain-syntax"> </span><span class="identifier-syntax">nextw</span><span class="plain-syntax"> = </span><span class="identifier-syntax">w2</span><span class="plain-syntax"> + </span><span class="constant-syntax">1</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">at</span><span class="plain-syntax"> = </span><span class="identifier-syntax">WordAddress</span><span class="plain-syntax">(</span><span class="identifier-syntax">w1</span><span class="plain-syntax">) - </span><span class="identifier-syntax">buffer</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">nextw</span><span class="plain-syntax"> &lt;= </span><span class="identifier-syntax">WordCount</span><span class="plain-syntax">()) </span><span class="identifier-syntax">endsnippet</span><span class="plain-syntax"> = </span><span class="constant-syntax">100</span><span class="plain-syntax">*</span><span class="identifier-syntax">nextw</span><span class="plain-syntax"> + (</span><span class="identifier-syntax">WordCount</span><span class="plain-syntax">() - </span><span class="identifier-syntax">nextw</span><span class="plain-syntax"> + </span><span class="constant-syntax">1</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">saved</span><span class="plain-syntax"> = </span><span class="identifier-syntax">buffer2</span><span class="plain-syntax">--&gt;0;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">buffer2</span><span class="plain-syntax">--&gt;0 = </span><span class="constant-syntax">120</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">newlen</span><span class="plain-syntax"> = </span><span class="identifier-syntax">VM_PrintToBuffer</span><span class="plain-syntax">(</span><span class="identifier-syntax">buffer2</span><span class="plain-syntax">, </span><span class="constant-syntax">120</span><span class="plain-syntax">, </span><span class="identifier-syntax">SpliceSnippet__TextPrinter</span><span class="plain-syntax">, </span><span class="identifier-syntax">t</span><span class="plain-syntax">, </span><span class="identifier-syntax">endsnippet</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="identifier-syntax">i</span><span class="plain-syntax">=0: (</span><span class="identifier-syntax">i</span><span class="plain-syntax">&lt;</span><span class="identifier-syntax">newlen</span><span class="plain-syntax">) &amp;&amp; (</span><span class="identifier-syntax">at</span><span class="plain-syntax">+</span><span class="identifier-syntax">i</span><span class="plain-syntax">&lt;120): </span><span class="identifier-syntax">i</span><span class="plain-syntax">++) </span><span class="identifier-syntax">buffer</span><span class="plain-syntax">-&gt;(</span><span class="identifier-syntax">at</span><span class="plain-syntax">+</span><span class="identifier-syntax">i</span><span class="plain-syntax">) = </span><span class="identifier-syntax">buffer2</span><span class="plain-syntax">-&gt;(</span><span class="identifier-syntax">WORDSIZE</span><span class="plain-syntax">+</span><span class="identifier-syntax">i</span><span class="plain-syntax">);</span>
@ -332,6 +333,7 @@ $$ C = 100 + N $$
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (:</span><span class="identifier-syntax">at</span><span class="plain-syntax">+</span><span class="identifier-syntax">i</span><span class="plain-syntax">&lt;120:</span><span class="identifier-syntax">i</span><span class="plain-syntax">++) </span><span class="identifier-syntax">buffer</span><span class="plain-syntax">-&gt;(</span><span class="identifier-syntax">at</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="plain-syntax"> </span><span class="identifier-syntax">VM_Tokenise</span><span class="plain-syntax">(</span><span class="identifier-syntax">buffer</span><span class="plain-syntax">, </span><span class="identifier-syntax">parse</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">players_command</span><span class="plain-syntax"> = </span><span class="constant-syntax">100</span><span class="plain-syntax"> + </span><span class="identifier-syntax">WordCount</span><span class="plain-syntax">();</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">buffer2</span><span class="plain-syntax">--&gt;0 = </span><span class="identifier-syntax">saved</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> @</span><span class="identifier-syntax">pull</span><span class="plain-syntax"> </span><span class="identifier-syntax">say__pc</span><span class="plain-syntax">; @</span><span class="identifier-syntax">pull</span><span class="plain-syntax"> </span><span class="identifier-syntax">say__p</span><span class="plain-syntax">;</span>
<span class="plain-syntax">];</span>
@ -1455,7 +1457,7 @@ in extensions, wn is left pointing at the first word not parsed as a command.
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">etype</span><span class="plain-syntax"> == </span><span class="identifier-syntax">TOTALK_PE</span><span class="plain-syntax">) { </span><span class="identifier-syntax">PARSER_ERROR_INTERNAL_RM</span><span class="plain-syntax">(</span><span class="character-syntax">'W'</span><span class="plain-syntax">); </span><span class="reserved-syntax">new_line</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">etype</span><span class="plain-syntax"> == </span><span class="identifier-syntax">ASKSCOPE_PE</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">3</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="reserved-syntax">indirect</span><span class="plain-syntax">(</span><span class="identifier-syntax">scope_error</span><span class="plain-syntax">) == -1) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">scope_error</span><span class="plain-syntax">() == -1) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">best_etype</span><span class="plain-syntax"> = </span><span class="identifier-syntax">nextbest_etype</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">etype</span><span class="plain-syntax"> </span><span class="reserved-syntax">ofclass</span><span class="plain-syntax"> </span><span class="identifier-syntax">Routine</span><span class="plain-syntax">) || (</span><span class="identifier-syntax">etype</span><span class="plain-syntax"> </span><span class="reserved-syntax">ofclass</span><span class="plain-syntax"> </span><span class="identifier-syntax">String</span><span class="plain-syntax">)))</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">EndActivity</span><span class="plain-syntax">(</span><span class="identifier-syntax">PRINTING_A_PARSER_ERROR_ACT</span><span class="plain-syntax">);</span>
@ -1703,7 +1705,7 @@ break down others into elementary tokens
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> -1;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">GPR_TT</span><span class="plain-syntax">:</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">l</span><span class="plain-syntax"> = </span><span class="reserved-syntax">indirect</span><span class="plain-syntax">(</span><span class="identifier-syntax">given_tdata</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">l</span><span class="plain-syntax"> = </span><span class="identifier-syntax">given_tdata</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">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">parser_trace</span><span class="plain-syntax"> &gt;= </span><span class="constant-syntax">3</span><span class="plain-syntax">) </span><span class="reserved-syntax">print</span><span class="plain-syntax"> </span><span class="string-syntax">" [Outside parsing routine returned "</span><span class="plain-syntax">, </span><span class="identifier-syntax">l</span><span class="plain-syntax">, </span><span class="string-syntax">"]^"</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> #</span><span class="identifier-syntax">Endif</span><span class="plain-syntax">; </span><span class="comment-syntax">DEBUG</span>
@ -1715,7 +1717,7 @@ break down others into elementary tokens
<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">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">parser_trace</span><span class="plain-syntax"> &gt;= </span><span class="constant-syntax">3</span><span class="plain-syntax">) </span><span class="reserved-syntax">print</span><span class="plain-syntax"> </span><span class="string-syntax">" [Scope routine called at stage 1]^"</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="identifier-syntax">l</span><span class="plain-syntax"> = </span><span class="reserved-syntax">indirect</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">l</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">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">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">parser_trace</span><span class="plain-syntax"> &gt;= </span><span class="constant-syntax">3</span><span class="plain-syntax">) </span><span class="reserved-syntax">print</span><span class="plain-syntax"> </span><span class="string-syntax">" [Scope routine returned multiple-flag of "</span><span class="plain-syntax">, </span><span class="identifier-syntax">l</span><span class="plain-syntax">, </span><span class="string-syntax">"]^"</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> #</span><span class="identifier-syntax">Endif</span><span class="plain-syntax">; </span><span class="comment-syntax">DEBUG</span>
@ -2943,7 +2945,7 @@ or "panic".
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">token_filter</span><span class="plain-syntax"> </span><span class="reserved-syntax">ofclass</span><span class="plain-syntax"> </span><span class="identifier-syntax">Routine</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">sn</span><span class="plain-syntax"> = </span><span class="identifier-syntax">noun</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">noun</span><span class="plain-syntax"> = </span><span class="identifier-syntax">obj</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">rv</span><span class="plain-syntax"> = </span><span class="reserved-syntax">indirect</span><span class="plain-syntax">(</span><span class="identifier-syntax">token_filter</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">rv</span><span class="plain-syntax"> = </span><span class="identifier-syntax">token_filter</span><span class="plain-syntax">();</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">noun</span><span class="plain-syntax"> = </span><span class="identifier-syntax">sn</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">rv</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> }</span>
@ -3460,7 +3462,7 @@ OPEN BOX only to be told that he can't see any such thing.)
<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">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">parser_trace</span><span class="plain-syntax"> &gt;= </span><span class="constant-syntax">3</span><span class="plain-syntax">) </span><span class="reserved-syntax">print</span><span class="plain-syntax"> </span><span class="string-syntax">" [Scope routine called at stage 2]^"</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="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="reserved-syntax">indirect</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="reserved-syntax">rtrue</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">scope_token</span><span class="plain-syntax">() ~= </span><span class="constant-syntax">0</span><span class="plain-syntax">) </span><span class="reserved-syntax">rtrue</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> }</span>
<span class="plain-syntax"> </span><span class="comment-syntax">(b)</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">BeginActivity</span><span class="plain-syntax">(</span><span class="identifier-syntax">DECIDING_SCOPE_ACT</span><span class="plain-syntax">, </span><span class="identifier-syntax">actor</span><span class="plain-syntax">);</span>
@ -3599,7 +3601,7 @@ mechanism.
<span class="plain-syntax"> </span><span class="reserved-syntax">switch</span><span class="plain-syntax">(</span><span class="identifier-syntax">scope_reason</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">TESTSCOPE_REASON</span><span class="plain-syntax">: </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">item</span><span class="plain-syntax"> == </span><span class="identifier-syntax">parser_one</span><span class="plain-syntax">) </span><span class="identifier-syntax">parser_two</span><span class="plain-syntax"> = </span><span class="constant-syntax">1</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOPOVERSCOPE_REASON</span><span class="plain-syntax">: </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">parser_one</span><span class="plain-syntax"> </span><span class="reserved-syntax">ofclass</span><span class="plain-syntax"> </span><span class="identifier-syntax">Routine</span><span class="plain-syntax">) </span><span class="reserved-syntax">indirect</span><span class="plain-syntax">(</span><span class="identifier-syntax">parser_one</span><span class="plain-syntax">, </span><span class="identifier-syntax">item</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOPOVERSCOPE_REASON</span><span class="plain-syntax">: </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">parser_one</span><span class="plain-syntax"> </span><span class="reserved-syntax">ofclass</span><span class="plain-syntax"> </span><span class="identifier-syntax">Routine</span><span class="plain-syntax">) </span><span class="identifier-syntax">parser_one</span><span class="plain-syntax">(</span><span class="identifier-syntax">item</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">PARSING_REASON</span><span class="plain-syntax">, </span><span class="identifier-syntax">TALKING_REASON</span><span class="plain-syntax">: </span><span class="identifier-syntax">MatchTextAgainstObject</span><span class="plain-syntax">(</span><span class="identifier-syntax">item</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> }</span>
@ -3762,7 +3764,7 @@ complex in languages other than English.
<span class="plain-syntax"> </span><span class="identifier-syntax">k</span><span class="plain-syntax"> = </span><span class="identifier-syntax">wn</span><span class="plain-syntax">; </span><span class="identifier-syntax">wn</span><span class="plain-syntax"> = </span><span class="identifier-syntax">wnum</span><span class="plain-syntax">; </span><span class="identifier-syntax">wd</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NextWordStopped</span><span class="plain-syntax">(); </span><span class="identifier-syntax">wn</span><span class="plain-syntax"> = </span><span class="identifier-syntax">k</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">indirect_parser_inflection</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">k</span><span class="plain-syntax"> = </span><span class="reserved-syntax">indirect</span><span class="plain-syntax">(</span><span class="identifier-syntax">parser_inflection</span><span class="plain-syntax">, </span><span class="identifier-syntax">obj</span><span class="plain-syntax">, </span><span class="identifier-syntax">wd</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">k</span><span class="plain-syntax"> = </span><span class="identifier-syntax">parser_inflection</span><span class="plain-syntax">(</span><span class="identifier-syntax">obj</span><span class="plain-syntax">, </span><span class="identifier-syntax">wd</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</span><span class="plain-syntax"> &gt;= </span><span class="constant-syntax">0</span><span class="plain-syntax">) </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">k</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">m</span><span class="plain-syntax"> = -</span><span class="identifier-syntax">k</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> }</span>

View file

@ -286,7 +286,7 @@ compared to the Z-machine's: hence the <span class="extract"><span class="extrac
<pre class="displayed-code all-displayed-code code-font">
<span class="plain-syntax">[ </span><span class="identifier-syntax">DESCEND_TO_SPECIFIC_ACTION_R</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">indirect</span><span class="plain-syntax">(#</span><span class="identifier-syntax">actions_table</span><span class="plain-syntax">--&gt;(</span><span class="identifier-syntax">action</span><span class="plain-syntax">+1));</span>
<span class="plain-syntax"> ( #</span><span class="identifier-syntax">actions_table</span><span class="plain-syntax">--&gt;(</span><span class="identifier-syntax">action</span><span class="plain-syntax">+1) )();</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">rtrue</span><span class="plain-syntax">;</span>
<span class="plain-syntax">];</span>
</pre>

View file

@ -324,10 +324,10 @@ current room, or a named item.
<span class="plain-syntax"> }</span>
<span class="plain-syntax"> }</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">print</span><span class="plain-syntax"> </span><span class="string-syntax">"^"</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">obj</span><span class="plain-syntax">.</span><span class="identifier-syntax">component_child</span><span class="plain-syntax">) </span><span class="identifier-syntax">c</span><span class="plain-syntax"> = </span><span class="identifier-syntax">c</span><span class="plain-syntax"> | </span><span class="identifier-syntax">ShowMeRecursively</span><span class="plain-syntax">(</span><span class="identifier-syntax">obj</span><span class="plain-syntax">.</span><span class="identifier-syntax">component_child</span><span class="plain-syntax">, </span><span class="identifier-syntax">depth</span><span class="plain-syntax">+2, </span><span class="identifier-syntax">f</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">obj</span><span class="plain-syntax">.</span><span class="identifier-syntax">component_child</span><span class="plain-syntax">) </span><span class="identifier-syntax">c</span><span class="plain-syntax"> = </span><span class="identifier-syntax">c</span><span class="plain-syntax"> | </span><span class="identifier-syntax">ShowMeRecursively</span><span class="plain-syntax">(</span><span class="identifier-syntax">obj</span><span class="plain-syntax">.</span><span class="identifier-syntax">component_child</span><span class="plain-syntax">, </span><span class="identifier-syntax">depth</span><span class="plain-syntax">+2, </span><span class="identifier-syntax">f</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="reserved-syntax">child</span><span class="plain-syntax">(</span><span class="identifier-syntax">obj</span><span class="plain-syntax">)) </span><span class="identifier-syntax">c</span><span class="plain-syntax"> = </span><span class="identifier-syntax">c</span><span class="plain-syntax"> | </span><span class="identifier-syntax">ShowMeRecursively</span><span class="plain-syntax">(</span><span class="reserved-syntax">child</span><span class="plain-syntax">(</span><span class="identifier-syntax">obj</span><span class="plain-syntax">), </span><span class="identifier-syntax">depth</span><span class="plain-syntax">+2, </span><span class="identifier-syntax">f</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">depth</span><span class="plain-syntax">&gt;0) &amp;&amp; (</span><span class="identifier-syntax">obj</span><span class="plain-syntax">.</span><span class="identifier-syntax">component_sibling</span><span class="plain-syntax">))</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">c</span><span class="plain-syntax"> = </span><span class="identifier-syntax">c</span><span class="plain-syntax"> | </span><span class="identifier-syntax">ShowMeRecursively</span><span class="plain-syntax">(</span><span class="identifier-syntax">obj</span><span class="plain-syntax">.</span><span class="identifier-syntax">component_sibling</span><span class="plain-syntax">, </span><span class="identifier-syntax">depth</span><span class="plain-syntax">, </span><span class="identifier-syntax">f</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="reserved-syntax">child</span><span class="plain-syntax">(</span><span class="identifier-syntax">obj</span><span class="plain-syntax">)) </span><span class="identifier-syntax">c</span><span class="plain-syntax"> = </span><span class="identifier-syntax">c</span><span class="plain-syntax"> | </span><span class="identifier-syntax">ShowMeRecursively</span><span class="plain-syntax">(</span><span class="reserved-syntax">child</span><span class="plain-syntax">(</span><span class="identifier-syntax">obj</span><span class="plain-syntax">), </span><span class="identifier-syntax">depth</span><span class="plain-syntax">+2, </span><span class="identifier-syntax">f</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">depth</span><span class="plain-syntax">&gt;0) &amp;&amp; (</span><span class="reserved-syntax">sibling</span><span class="plain-syntax">(</span><span class="identifier-syntax">obj</span><span class="plain-syntax">))) </span><span class="identifier-syntax">c</span><span class="plain-syntax"> = </span><span class="identifier-syntax">c</span><span class="plain-syntax"> | </span><span class="identifier-syntax">ShowMeRecursively</span><span class="plain-syntax">(</span><span class="reserved-syntax">sibling</span><span class="plain-syntax">(</span><span class="identifier-syntax">obj</span><span class="plain-syntax">), </span><span class="identifier-syntax">depth</span><span class="plain-syntax">, </span><span class="identifier-syntax">f</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">c</span><span class="plain-syntax">;</span>
<span class="plain-syntax">];</span>

View file

@ -218,7 +218,7 @@ compared to the Z-machine's: hence the <span class="extract"><span class="extrac
<pre class="displayed-code all-displayed-code code-font">
<span class="plain-syntax">[ </span><span class="identifier-syntax">DESCEND_TO_SPECIFIC_ACTION_R</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">indirect</span><span class="plain-syntax">(#</span><span class="identifier-syntax">actions_table</span><span class="plain-syntax">--&gt;</span><span class="identifier-syntax">action</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> ( #</span><span class="identifier-syntax">actions_table</span><span class="plain-syntax">--&gt;</span><span class="identifier-syntax">action</span><span class="plain-syntax"> )();</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">rtrue</span><span class="plain-syntax">;</span>
<span class="plain-syntax">];</span>
</pre>

View file

@ -131,7 +131,7 @@ Inform documentation.
<pre class="displayed-code all-displayed-code code-font">
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Examples::scan_examples</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">Examples::scan_examples</span></span>:<br/>Main - <a href="1-mn.html#SP1_2">&#167;1.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="reserved-syntax">linked_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">L</span><span class="plain-syntax"> = </span><a href="../../../inweb/foundation-module/3-drc.html#SP3" class="function-link"><span class="function-syntax">Directories::listing</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">indoc_settings</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">examples_directory</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">linked_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">L</span><span class="plain-syntax"> = </span><a href="../../../inweb/foundation-module/3-drc.html#SP4" class="function-link"><span class="function-syntax">Directories::listing</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">indoc_settings</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">examples_directory</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">entry</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER_LINKED_LIST</span><span class="plain-syntax">(</span><span class="identifier-syntax">entry</span><span class="plain-syntax">, </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</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/foundation-module/1-wp.html#SP4" class="function-link"><span class="function-syntax">Platform::is_folder_separator</span></a><span class="plain-syntax">(</span><a href="../../../inweb/foundation-module/4-sm.html#SP13" class="function-link"><span class="function-syntax">Str::get_last_char</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">entry</span><span class="plain-syntax">))) </span><span class="reserved-syntax">continue</span><span class="plain-syntax">;</span>

View file

@ -52,7 +52,7 @@
<ul class="crumbs"><li><a href="../index.html">Home</a></li><li><a href="index.html">indoc</a></li><li><a href="index.html#M">Manual</a></li><li><b>Introduction to Indoc</b></li></ul></div>
<p class="purpose">What Indoc is, and its limited but complicated uses.</p>
<p class="commentary firstcommentary"><a id="SP1" class="paragraph-anchor"></a><b>&#167;1. </b>Intest is a command line tool for generating (mainly) HTML or EPUB format
<p class="commentary firstcommentary"><a id="SP1" class="paragraph-anchor"></a><b>&#167;1. </b>Indoc is a command line tool for generating (mainly) HTML or EPUB format
documentation. A million of those have been written, and Indoc has no
ambition to replace them. It is needed because Inform 7's documentation
source consists of many small text files with idiosyncratic markup, while

View file

@ -51,7 +51,7 @@
<ul class="crumbs"><li><a href="../index.html">Home</a></li><li><a href="index.html">inform7</a></li><li><a href="index.html#M">Manual</a></li><li><b>Interacting with the GUI</b></li></ul></div>
<p class="purpose">A few notes on how the GUI apps should use the Inform command line.</p>
<ul class="toc"><li><a href="M-iwtg.html#SP1">&#167;1. How the application should install extensions</a></li><li><a href="M-iwtg.html#SP2">&#167;2. The extension census</a></li><li><a href="M-iwtg.html#SP3">&#167;3. What happens in census mode</a></li></ul><hr class="tocbar">
<ul class="toc"><li><a href="M-iwtg.html#SP1">&#167;1. How the application should install extensions</a></li><li><a href="M-iwtg.html#SP3">&#167;3. The extension census</a></li><li><a href="M-iwtg.html#SP4">&#167;4. What happens in census mode</a></li></ul><hr class="tocbar">
<p class="commentary firstcommentary"><a id="SP1" class="paragraph-anchor"></a><b>&#167;1. How the application should install extensions. </b>When the Inform 7 application looks at a file chosen by the user to
be installed, it should look at the first line. (Note that this might have
@ -73,11 +73,15 @@ but definitely without line breaks before:
</blockquote>
<blockquote>
<p>Version 060430 of Locksmith Extra by Emily Short begins here.</p>
<p>Version 2.7 of Locksmith Extra by Emily Short begins here.</p>
</blockquote>
<blockquote>
<p>Version 2/060430 of Locksmith Extra by Emily Short begins here.</p>
<p>Version 2.1.32 of Locksmith Extra by Emily Short begins here.</p>
</blockquote>
<blockquote>
<p>Version 2/081121 of Locksmith Extra by Emily Short begins here.</p>
</blockquote>
<p class="commentary">If the name of the extension finishes with a bracketed clause, that
@ -94,7 +98,12 @@ later, so let's reserve them now.
purported extension file whose first line does not conform to the above.
</p>
<p class="commentary">Ignoring any version number given, the Inform application should then
<p class="commentary">(Note that the inbuild command-line tool can be used to verify that an
extension is properly formatted, and extract its identity and version. See
the <a href="../inbuild/index.html" class="internal">inbuild</a> manual.)
</p>
<p class="commentary firstcommentary"><a id="SP2" class="paragraph-anchor"></a><b>&#167;2. </b>Ignoring any version number given, the Inform application should then
store the file in the external extensions area. For instance,
</p>
@ -117,7 +126,7 @@ application must not allow the user to uninstall any extension from
the built-in area. We must assume that the latter could be on a read-only
disc, or could be part of a cryptographically signed application bundle.
</pre>
<p class="commentary firstcommentary"><a id="SP2" class="paragraph-anchor"></a><b>&#167;2. The extension census. </b>The Inform application should run Inform in "census mode" in order to
<p class="commentary firstcommentary"><a id="SP3" class="paragraph-anchor"></a><b>&#167;3. The extension census. </b>The Inform application should run Inform in "census mode" in order to
keep extension documentation up to date. Inform should be run in census mode
on three occasions:
</p>
@ -133,7 +142,7 @@ census doesn't work for some file-system reason, never mind &mdash; it's not
mission-critical.
</p>
<p class="commentary firstcommentary"><a id="SP3" class="paragraph-anchor"></a><b>&#167;3. What happens in census mode. </b>The census has two purposes: first, to create provisional documentation
<p class="commentary firstcommentary"><a id="SP4" class="paragraph-anchor"></a><b>&#167;4. What happens in census mode. </b>The census has two purposes: first, to create provisional documentation
where needed for new and unused extensions; and second, to create the
following index files in the external documentation area (not in
the external extension area):

View file

@ -70,12 +70,12 @@ which take more than 1/1000th of the total running time.
<pre class="undisplayed-code all-displayed-code code-font">
<span class="plain-syntax">100.0% in inform7 run</span>
<span class="plain-syntax"> 71.1% in compilation to Inter</span>
<span class="plain-syntax"> 50.3% in </span><a href="../core-module/1-htc.html#SP9" class="internal">Sequence::undertake_queued_tasks</a>
<span class="plain-syntax"> 71.9% in compilation to Inter</span>
<span class="plain-syntax"> 50.7% in </span><a href="../core-module/1-htc.html#SP9" class="internal">Sequence::undertake_queued_tasks</a>
<span class="plain-syntax"> 4.7% in </span><a href="../assertions-module/2-ptmn.html#SP1" class="internal">MajorNodes::pre_pass</a>
<span class="plain-syntax"> 3.5% in </span><a href="../assertions-module/2-ptmn.html#SP1" class="internal">MajorNodes::pass_1</a>
<span class="plain-syntax"> 2.4% in </span><a href="../runtime-module/6-pi.html#SP1" class="internal">RTPhrasebook::compile_entries</a>
<span class="plain-syntax"> 1.8% in </span><a href="../assertions-module/5-id.html#SP4" class="internal">ImperativeDefinitions::assess_all</a>
<span class="plain-syntax"> 1.8% in </span><a href="../runtime-module/6-pi.html#SP1" class="internal">RTPhrasebook::compile_entries</a>
<span class="plain-syntax"> 1.4% in </span><a href="../runtime-module/5-kc.html#SP10" class="internal">RTKindConstructors::compile</a>
<span class="plain-syntax"> 1.0% in </span><a href="../core-module/1-htc.html#SP12" class="internal">Sequence::lint_inter</a>
<span class="plain-syntax"> 0.6% in </span><a href="../assertions-module/2-ptmn.html#SP1" class="internal">MajorNodes::pass_2</a>
@ -87,11 +87,11 @@ which take more than 1/1000th of the total running time.
<span class="plain-syntax"> 0.2% in </span><a href="../knowledge-module/4-is.html#SP27" class="internal">InferenceSubjects::emit_all</a>
<span class="plain-syntax"> 0.2% in </span><a href="../runtime-module/5-kc.html#SP10_7" class="internal">RTKindConstructors::compile_permissions</a>
<span class="plain-syntax"> 0.2% in </span><a href="../core-module/1-wtc.html#SP9" class="internal">Task::make_built_in_kind_constructors</a>
<span class="plain-syntax"> 3.0% not specifically accounted for</span>
<span class="plain-syntax"> 26.1% in running Inter pipeline</span>
<span class="plain-syntax"> 9.9% in step 14/15: generate inform6 -&gt; auto.inf</span>
<span class="plain-syntax"> 6.0% in step 6/15: make-synoptic-module</span>
<span class="plain-syntax"> 5.6% in step 5/15: load-binary-kits</span>
<span class="plain-syntax"> 2.9% not specifically accounted for</span>
<span class="plain-syntax"> 25.3% in running Inter pipeline</span>
<span class="plain-syntax"> 9.8% in step 14/15: generate inform6 -&gt; auto.inf</span>
<span class="plain-syntax"> 5.5% in step 5/15: load-binary-kits</span>
<span class="plain-syntax"> 5.3% in step 6/15: make-synoptic-module</span>
<span class="plain-syntax"> 1.4% in step 9/15: make-identifiers-unique</span>
<span class="plain-syntax"> 0.4% in step 12/15: eliminate-redundant-operations</span>
<span class="plain-syntax"> 0.4% in step 4/15: compile-splats</span>
@ -109,71 +109,71 @@ represent less than 1/1000th of the total.
</p>
<pre class="undisplayed-code all-displayed-code code-font">
<span class="plain-syntax">Total memory consumption was 123345K = 120 MB</span>
<span class="plain-syntax">Total memory consumption was 129432K = 126 MB</span>
<span class="plain-syntax"> ---- was used for 2044504 objects, in 362823 frames in 0 x 800K = 0K = 0 MB:</span>
<span class="plain-syntax"> ---- was used for 2044964 objects, in 362887 frames in 0 x 800K = 0K = 0 MB:</span>
<span class="plain-syntax"> 33.1% inter_tree_node_array 58 x 8192 = 475136 objects, 41813824 bytes</span>
<span class="plain-syntax"> 20.5% text_stream_array 4603 x 100 = 460300 objects, 25924096 bytes</span>
<span class="plain-syntax"> 19.2% linked_list 43446 objects, 24329760 bytes</span>
<span class="plain-syntax"> 11.1% inter_symbol_array 132 x 1024 = 135168 objects, 14061696 bytes</span>
<span class="plain-syntax"> 10.4% inter_error_stash_array 101 x 1024 = 103424 objects, 13241504 bytes</span>
<span class="plain-syntax"> 8.2% parse_node 129720 objects, 10377600 bytes</span>
<span class="plain-syntax"> 5.8% verb_conjugation 160 objects, 7425280 bytes</span>
<span class="plain-syntax"> 4.3% parse_node_annotation_array 346 x 500 = 173000 objects, 5547072 bytes</span>
<span class="plain-syntax"> 2.6% pcalc_prop_array 25 x 1000 = 25000 objects, 3400800 bytes</span>
<span class="plain-syntax"> 2.5% inter_name_array 67 x 1000 = 67000 objects, 3218144 bytes</span>
<span class="plain-syntax"> 2.0% kind_array 66 x 1000 = 66000 objects, 2642112 bytes</span>
<span class="plain-syntax"> 1.6% inter_name_generator_array 51 x 1000 = 51000 objects, 2041632 bytes</span>
<span class="plain-syntax"> 31.5% inter_tree_node_array 58 x 8192 = 475136 objects, 41813824 bytes</span>
<span class="plain-syntax"> 19.5% text_stream_array 4605 x 100 = 460500 objects, 25935360 bytes</span>
<span class="plain-syntax"> 18.3% linked_list 43461 objects, 24338160 bytes</span>
<span class="plain-syntax"> 10.6% inter_symbol_array 132 x 1024 = 135168 objects, 14061696 bytes</span>
<span class="plain-syntax"> 9.9% inter_error_stash_array 101 x 1024 = 103424 objects, 13241504 bytes</span>
<span class="plain-syntax"> 7.8% parse_node 129722 objects, 10377760 bytes</span>
<span class="plain-syntax"> 5.6% verb_conjugation 160 objects, 7425280 bytes</span>
<span class="plain-syntax"> 4.1% parse_node_annotation_array 346 x 500 = 173000 objects, 5547072 bytes</span>
<span class="plain-syntax"> 2.5% pcalc_prop_array 25 x 1000 = 25000 objects, 3400800 bytes</span>
<span class="plain-syntax"> 2.4% inter_name_array 67 x 1000 = 67000 objects, 3218144 bytes</span>
<span class="plain-syntax"> 1.9% kind_array 66 x 1000 = 66000 objects, 2642112 bytes</span>
<span class="plain-syntax"> 1.5% inter_name_generator_array 51 x 1000 = 51000 objects, 2041632 bytes</span>
<span class="plain-syntax"> 1.5% inter_schema_token 13969 objects, 2011536 bytes</span>
<span class="plain-syntax"> 1.4% package_request 21151 objects, 1861288 bytes</span>
<span class="plain-syntax"> 1.4% vocabulary_entry_array 161 x 100 = 16100 objects, 1808352 bytes</span>
<span class="plain-syntax"> 1.1% dict_entry_array 468 x 100 = 46800 objects, 1512576 bytes</span>
<span class="plain-syntax"> 1.4% package_request 21153 objects, 1861464 bytes</span>
<span class="plain-syntax"> 1.3% vocabulary_entry_array 161 x 100 = 16100 objects, 1808352 bytes</span>
<span class="plain-syntax"> 1.1% dict_entry_array 470 x 100 = 47000 objects, 1519040 bytes</span>
<span class="plain-syntax"> 1.1% match_trie_array 11 x 1000 = 11000 objects, 1496352 bytes</span>
<span class="plain-syntax"> 1.1% inter_symbols_table 26588 objects, 1488928 bytes</span>
<span class="plain-syntax"> 1.1% inter_symbols_table 26592 objects, 1489152 bytes</span>
<span class="plain-syntax"> 1.0% i6_schema_array 23 x 100 = 2300 objects, 1380736 bytes</span>
<span class="plain-syntax"> 1.0% scan_directory 314 objects, 1296192 bytes</span>
<span class="plain-syntax"> 1.0% inter_package 26588 objects, 1276224 bytes</span>
<span class="plain-syntax"> 0.8% map_data 670 objects, 1125600 bytes</span>
<span class="plain-syntax"> 0.9% scan_directory 314 objects, 1296192 bytes</span>
<span class="plain-syntax"> 0.9% inter_package 26592 objects, 1276416 bytes</span>
<span class="plain-syntax"> 0.8% map_data 671 objects, 1127280 bytes</span>
<span class="plain-syntax"> 0.8% id_body 942 objects, 1077648 bytes</span>
<span class="plain-syntax"> 0.7% adjective_meaning 202 objects, 1000304 bytes</span>
<span class="plain-syntax"> 0.7% excerpt_meaning 3101 objects, 967512 bytes</span>
<span class="plain-syntax"> 0.7% production 3877 objects, 899464 bytes</span>
<span class="plain-syntax"> 0.6% ptoken 8396 objects, 873184 bytes</span>
<span class="plain-syntax"> 0.6% grammatical_usage 3612 objects, 866880 bytes</span>
<span class="plain-syntax"> 0.6% individual_form 2562 objects, 860832 bytes</span>
<span class="plain-syntax"> 0.7% excerpt_meaning 3102 objects, 967824 bytes</span>
<span class="plain-syntax"> 0.6% production 3878 objects, 899696 bytes</span>
<span class="plain-syntax"> 0.6% ptoken 8397 objects, 873288 bytes</span>
<span class="plain-syntax"> 0.6% grammatical_usage 3613 objects, 867120 bytes</span>
<span class="plain-syntax"> 0.6% individual_form 2563 objects, 861168 bytes</span>
<span class="plain-syntax"> 0.6% inter_schema_node 8920 objects, 856320 bytes</span>
<span class="plain-syntax"> 0.5% unary_predicate_array 16 x 1000 = 16000 objects, 640512 bytes</span>
<span class="plain-syntax"> 0.4% unary_predicate_array 16 x 1000 = 16000 objects, 640512 bytes</span>
<span class="plain-syntax"> 0.3% local_variable_array 47 x 100 = 4700 objects, 452704 bytes</span>
<span class="plain-syntax"> 0.3% verb_usage 1128 objects, 388032 bytes</span>
<span class="plain-syntax"> 0.2% verb_usage 1128 objects, 388032 bytes</span>
<span class="plain-syntax"> 0.2% rule 470 objects, 368480 bytes</span>
<span class="plain-syntax"> 0.2% dictionary 7517 objects, 360816 bytes</span>
<span class="plain-syntax"> 0.2% dictionary 7520 objects, 360960 bytes</span>
<span class="plain-syntax"> 0.2% verb_form 386 objects, 348944 bytes</span>
<span class="plain-syntax"> 0.2% noun 2381 objects, 285720 bytes</span>
<span class="plain-syntax"> 0.2% compilation_subtask 3353 objects, 268240 bytes</span>
<span class="plain-syntax"> 0.2% inter_annotation_array 2 x 8192 = 16384 objects, 262208 bytes</span>
<span class="plain-syntax"> 0.2% inference_subject 665 objects, 260680 bytes</span>
<span class="plain-syntax"> 0.1% vanilla_function 3682 objects, 235648 bytes</span>
<span class="plain-syntax"> 0.1% binary_predicate 321 objects, 169488 bytes</span>
<span class="plain-syntax"> 0.2% noun 2382 objects, 285840 bytes</span>
<span class="plain-syntax"> 0.2% compilation_subtask 3355 objects, 268400 bytes</span>
<span class="plain-syntax"> 0.1% inter_annotation_array 2 x 8192 = 16384 objects, 262208 bytes</span>
<span class="plain-syntax"> 0.1% inference_subject 666 objects, 261072 bytes</span>
<span class="plain-syntax"> 0.1% vanilla_function 3683 objects, 235712 bytes</span>
<span class="plain-syntax"> 0.1% binary_predicate 322 objects, 170016 bytes</span>
<span class="plain-syntax"> 0.1% hierarchy_location 1122 objects, 161568 bytes</span>
<span class="plain-syntax"> 0.1% linguistic_stock_item 3317 objects, 159216 bytes</span>
<span class="plain-syntax"> 0.1% linguistic_stock_item 3318 objects, 159264 bytes</span>
<span class="plain-syntax"> 0.1% rule_family_data 401 objects, 147568 bytes</span>
<span class="plain-syntax"> 0.1% nonterminal 760 objects, 139840 bytes</span>
<span class="plain-syntax"> 0.1% nascent_array 2125 objects, 136000 bytes</span>
<span class="plain-syntax"> 0.1% nascent_array 2127 objects, 136128 bytes</span>
<span class="plain-syntax"> ---- documentation_ref 1273 objects, 112024 bytes</span>
<span class="plain-syntax"> ---- inference 1703 objects, 108992 bytes</span>
<span class="plain-syntax"> ---- imperative_defn 1379 objects, 99288 bytes</span>
<span class="plain-syntax"> ---- noun_usage 2403 objects, 96120 bytes</span>
<span class="plain-syntax"> ---- noun_usage 2404 objects, 96160 bytes</span>
<span class="plain-syntax"> ---- anl_entry_array 2 x 1000 = 2000 objects, 96064 bytes</span>
<span class="plain-syntax"> ---- preposition 273 objects, 87360 bytes</span>
<span class="plain-syntax"> ---- inter_schema 1512 objects, 84672 bytes</span>
<span class="plain-syntax"> ---- lexical_cluster 2518 objects, 80576 bytes</span>
<span class="plain-syntax"> ---- lexical_cluster 2519 objects, 80608 bytes</span>
<span class="plain-syntax"> ---- pcalc_term_array 2 x 1000 = 2000 objects, 80064 bytes</span>
<span class="plain-syntax"> ---- kind_variable_declaration 1655 objects, 79440 bytes</span>
<span class="plain-syntax"> ---- inter_tree 6 objects, 79248 bytes</span>
<span class="plain-syntax"> ---- label_namespace 1472 objects, 70656 bytes</span>
<span class="plain-syntax"> ---- rulebook 407 objects, 68376 bytes</span>
<span class="plain-syntax"> ---- spatial_data 670 objects, 64320 bytes</span>
<span class="plain-syntax"> ---- spatial_data 671 objects, 64416 bytes</span>
<span class="plain-syntax"> ---- linked_list_item_array 4 x 1000 = 4000 objects, 64128 bytes</span>
<span class="plain-syntax"> ---- kind_macro_definition 9 objects, 62280 bytes</span>
<span class="plain-syntax"> ---- booking 861 objects, 61992 bytes</span>
@ -194,24 +194,24 @@ represent less than 1/1000th of the total.
<span class="plain-syntax"> ---- activity_list_array 1 x 1000 objects, 40032 bytes</span>
<span class="plain-syntax"> ---- to_family_data 497 objects, 39760 bytes</span>
<span class="plain-syntax"> ---- shared_variable_access_list_array 12 x 100 = 1200 objects, 38784 bytes</span>
<span class="plain-syntax"> ---- parsing_data 670 objects, 37520 bytes</span>
<span class="plain-syntax"> ---- parsing_data 671 objects, 37576 bytes</span>
<span class="plain-syntax"> ---- heading 198 objects, 36432 bytes</span>
<span class="plain-syntax"> ---- production_list 617 objects, 34552 bytes</span>
<span class="plain-syntax"> ---- regions_data 670 objects, 32160 bytes</span>
<span class="plain-syntax"> ---- counting_data 670 objects, 32160 bytes</span>
<span class="plain-syntax"> ---- regions_data 671 objects, 32208 bytes</span>
<span class="plain-syntax"> ---- counting_data 671 objects, 32208 bytes</span>
<span class="plain-syntax"> ---- property_permission 96 objects, 31488 bytes</span>
<span class="plain-syntax"> ---- stack_frame_box 305 objects, 29280 bytes</span>
<span class="plain-syntax"> ---- verb_sense 403 objects, 29016 bytes</span>
<span class="plain-syntax"> ---- action_pattern_array 7 x 100 = 700 objects, 28224 bytes</span>
<span class="plain-syntax"> ---- shared_variable_set_array 6 x 100 = 600 objects, 24192 bytes</span>
<span class="plain-syntax"> ---- backdrops_data 670 objects, 21440 bytes</span>
<span class="plain-syntax"> ---- backdrops_data 671 objects, 21472 bytes</span>
<span class="plain-syntax"> ---- inter_node_list 654 objects, 20928 bytes</span>
<span class="plain-syntax"> ---- pipeline_step 15 objects, 20280 bytes</span>
<span class="plain-syntax"> ---- action_name 90 objects, 20160 bytes</span>
<span class="plain-syntax"> ---- nonlocal_variable 93 objects, 20088 bytes</span>
<span class="plain-syntax"> ---- property 146 objects, 19856 bytes</span>
<span class="plain-syntax"> ---- timed_rules_rfd_data 401 objects, 19248 bytes</span>
<span class="plain-syntax"> ---- method 374 objects, 17952 bytes</span>
<span class="plain-syntax"> ---- method 380 objects, 18240 bytes</span>
<span class="plain-syntax"> ---- pcalc_prop_deferral 86 objects, 17888 bytes</span>
<span class="plain-syntax"> ---- instance 167 objects, 17368 bytes</span>
<span class="plain-syntax"> ---- parse_node_tree 20 objects, 17280 bytes</span>
@ -249,7 +249,7 @@ represent less than 1/1000th of the total.
<span class="plain-syntax"> ---- submodule_request 94 objects, 3760 bytes</span>
<span class="plain-syntax"> ---- parse_node_annotation_type 114 objects, 3648 bytes</span>
<span class="plain-syntax"> ---- property_setting_bp_data 84 objects, 3360 bytes</span>
<span class="plain-syntax"> ---- method_set 103 objects, 3296 bytes</span>
<span class="plain-syntax"> ---- method_set 104 objects, 3328 bytes</span>
<span class="plain-syntax"> ---- kind_constructor_comparison_schema_array 1 x 100 objects, 3232 bytes</span>
<span class="plain-syntax"> ---- inform_extension 19 objects, 3192 bytes</span>
<span class="plain-syntax"> ---- definition 44 objects, 3168 bytes</span>
@ -298,9 +298,9 @@ represent less than 1/1000th of the total.
<span class="plain-syntax"> ---- equation 4 objects, 480 bytes</span>
<span class="plain-syntax"> ---- i6_memory_setting 14 objects, 448 bytes</span>
<span class="plain-syntax"> ---- inference_family 11 objects, 440 bytes</span>
<span class="plain-syntax"> ---- bp_family 13 objects, 416 bytes</span>
<span class="plain-syntax"> ---- inter_annotation_form 10 objects, 400 bytes</span>
<span class="plain-syntax"> ---- article_usage 8 objects, 384 bytes</span>
<span class="plain-syntax"> ---- bp_family 12 objects, 384 bytes</span>
<span class="plain-syntax"> ---- source_file 5 objects, 360 bytes</span>
<span class="plain-syntax"> ---- inbuild_genre 7 objects, 336 bytes</span>
<span class="plain-syntax"> ---- pronoun 8 objects, 320 bytes</span>
@ -348,25 +348,25 @@ represent less than 1/1000th of the total.
<span class="plain-syntax">100.0% was used for memory not allocated for objects:</span>
<span class="plain-syntax"> 57.7% text stream storage 72912928 bytes in 477842 claims</span>
<span class="plain-syntax"> 4.1% dictionary storage 5227008 bytes in 7517 claims</span>
<span class="plain-syntax"> 59.7% text stream storage 79137136 bytes in 478473 claims</span>
<span class="plain-syntax"> 3.9% dictionary storage 5228544 bytes in 7520 claims</span>
<span class="plain-syntax"> ---- sorting 1448 bytes in 149 claims</span>
<span class="plain-syntax"> 5.7% source text 7200000 bytes in 3 claims</span>
<span class="plain-syntax"> 8.5% source text details 10800000 bytes in 2 claims</span>
<span class="plain-syntax"> 0.2% documentation fragments 262144 bytes in 1 claim</span>
<span class="plain-syntax"> 5.4% source text 7200000 bytes in 3 claims</span>
<span class="plain-syntax"> 8.1% source text details 10800000 bytes in 2 claims</span>
<span class="plain-syntax"> 0.1% documentation fragments 262144 bytes in 1 claim</span>
<span class="plain-syntax"> ---- linguistic stock array 81920 bytes in 2 claims</span>
<span class="plain-syntax"> ---- small word set array 105600 bytes in 22 claims</span>
<span class="plain-syntax"> 3.5% inter symbols storage 4518768 bytes in 27943 claims</span>
<span class="plain-syntax"> 13.2% inter bytecode storage 16767648 bytes in 14 claims</span>
<span class="plain-syntax"> 4.9% inter links storage 6222976 bytes in 11 claims</span>
<span class="plain-syntax"> 3.4% inter symbols storage 4520272 bytes in 27949 claims</span>
<span class="plain-syntax"> 12.6% inter bytecode storage 16767680 bytes in 14 claims</span>
<span class="plain-syntax"> 4.6% inter links storage 6222976 bytes in 11 claims</span>
<span class="plain-syntax"> 0.1% inter tree location list storage 191232 bytes in 32 claims</span>
<span class="plain-syntax"> 1.3% instance-of-kind counting 1695204 bytes in 1 claim</span>
<span class="plain-syntax"> ---- compilation workspace for objects 21856 bytes in 25 claims</span>
<span class="plain-syntax"> 1.2% instance-of-kind counting 1700416 bytes in 1 claim</span>
<span class="plain-syntax"> ---- compilation workspace for objects 21896 bytes in 25 claims</span>
<span class="plain-syntax"> ---- lists for type-checking invocations 16000 bytes in 1 claim</span>
<span class="plain-syntax"> ---- code generation workspace for objects 1336 bytes in 4 claims</span>
<span class="plain-syntax"> 0.2% emitter array storage 280032 bytes in 1997 claims</span>
<span class="plain-syntax"> 0.2% emitter array storage 280288 bytes in 1999 claims</span>
<span class="plain-syntax">-146.-1% was overhead - -184624848 bytes = -180297K = -176 MB</span>
<span class="plain-syntax">-139.-3% was overhead - -184656920 bytes = -180329K = -176 MB</span>
</pre>
<p class="commentary firstcommentary"><a id="SP4" class="paragraph-anchor"></a><b>&#167;4. Preform grammar. </b>The full annotated description of the Preform grammar (see <a href="../words-module/4-ap.html" class="internal">About Preform (in words)</a>),
with optimisation details and hit/miss statistics added, is also long: it's
@ -384,7 +384,7 @@ sample, showing the nonterminal used to parse literals in Inform 7 source text:
<span class="plain-syntax"> (@1)&lt;quoted-text&gt;=1 (@2)( (@3)&lt;response-letter&gt;=2 (@4)) </span>
<span class="plain-syntax"> (hits 274/731) (matched: '"[current item from the multiple object list]: [run paragraph on]" ( a )') constraint DS = {23} extremes [4, 4]</span>
<span class="plain-syntax"> (@1)&lt;quoted-text&gt;=1 </span>
<span class="plain-syntax"> (hits 1566/5559) (matched: 'Represents geographical locations, both indoor</span>
<span class="plain-syntax"> (hits 1566/5560) (matched: 'Represents geographical locations, both indoor</span>
<span class="plain-syntax"> and outdoor, which are not necessarily areas in a building. A player in one</span>
<span class="plain-syntax"> room is mostly unable to sense, or interact with, anything in a different room.</span>
<span class="plain-syntax"> Rooms are arranged in a map.') constraint (none) extremes [1, 1]</span>
@ -409,7 +409,7 @@ sample, showing the nonterminal used to parse literals in Inform 7 source text:
<a href="preform-diagnostics.txt" download>
<button class="download-button">
<img src="../docs-assets/download.png" alt="download icon" height=16 width=16>
Download <b>preform-diagnostics.txt</b> (Preform diagnostics file, 391.5kB)
Download <b>preform-diagnostics.txt</b> (Preform diagnostics file, 391.6kB)
</button>
</a>
</p>
@ -1207,34 +1207,34 @@ for a lengthy read:
<span class="plain-syntax"> PROPER_NOUN_NT'blank' {refined} {refers: infs'blank'} {eval: CONSTANT_NT'blank' {kind: room} {instance: I113'blank'} {enumeration: 0}}</span>
<span class="plain-syntax"> RELATIONSHIP_NT'contains' {meaning: is-in} {refined}</span>
<span class="plain-syntax"> AND_NT</span>
<span class="plain-syntax"> PROPER_NOUN_NT {refers: infs411} {eval: CONSTANT_NT {kind: ice cream cone} {instance: I114} {enumeration: 0}} {created here}</span>
<span class="plain-syntax"> PROPER_NOUN_NT {refers: infs412} {eval: CONSTANT_NT {kind: ice cream cone} {instance: I114} {enumeration: 0}} {created here}</span>
<span class="plain-syntax"> AND_NT</span>
<span class="plain-syntax"> PROPER_NOUN_NT {refers: infs412} {eval: CONSTANT_NT {kind: ice cream cone} {instance: I115} {enumeration: 0}} {created here}</span>
<span class="plain-syntax"> PROPER_NOUN_NT {refers: infs413} {eval: CONSTANT_NT {kind: ice cream cone} {instance: I115} {enumeration: 0}} {created here}</span>
<span class="plain-syntax"> AND_NT</span>
<span class="plain-syntax"> PROPER_NOUN_NT {refers: infs413} {eval: CONSTANT_NT {kind: ice cream cone} {instance: I116} {enumeration: 0}} {created here}</span>
<span class="plain-syntax"> PROPER_NOUN_NT {refers: infs414} {eval: CONSTANT_NT {kind: ice cream cone} {instance: I116} {enumeration: 0}} {created here}</span>
<span class="plain-syntax"> AND_NT</span>
<span class="plain-syntax"> PROPER_NOUN_NT {refers: infs414} {eval: CONSTANT_NT {kind: ice cream cone} {instance: I117} {enumeration: 0}} {created here}</span>
<span class="plain-syntax"> PROPER_NOUN_NT {refers: infs415} {eval: CONSTANT_NT {kind: ice cream cone} {instance: I117} {enumeration: 0}} {created here}</span>
<span class="plain-syntax"> AND_NT</span>
<span class="plain-syntax"> PROPER_NOUN_NT {refers: infs415} {eval: CONSTANT_NT {kind: ice cream cone} {instance: I118} {enumeration: 0}} {created here}</span>
<span class="plain-syntax"> PROPER_NOUN_NT {refers: infs416} {eval: CONSTANT_NT {kind: ice cream cone} {instance: I118} {enumeration: 0}} {created here}</span>
<span class="plain-syntax"> AND_NT</span>
<span class="plain-syntax"> PROPER_NOUN_NT {refers: infs416} {eval: CONSTANT_NT {kind: ice cream cone} {instance: I119} {enumeration: 0}} {created here}</span>
<span class="plain-syntax"> PROPER_NOUN_NT {refers: infs417} {eval: CONSTANT_NT {kind: ice cream cone} {instance: I119} {enumeration: 0}} {created here}</span>
<span class="plain-syntax"> AND_NT</span>
<span class="plain-syntax"> PROPER_NOUN_NT {refers: infs417} {eval: CONSTANT_NT {kind: ice cream cone} {instance: I120} {enumeration: 0}} {created here}</span>
<span class="plain-syntax"> PROPER_NOUN_NT {refers: infs418} {eval: CONSTANT_NT {kind: ice cream cone} {instance: I120} {enumeration: 0}} {created here}</span>
<span class="plain-syntax"> AND_NT</span>
<span class="plain-syntax"> PROPER_NOUN_NT {refers: infs418} {eval: CONSTANT_NT {kind: ice cream cone} {instance: I121} {enumeration: 0}} {created here}</span>
<span class="plain-syntax"> PROPER_NOUN_NT {refers: infs419} {eval: CONSTANT_NT {kind: ice cream cone} {instance: I121} {enumeration: 0}} {created here}</span>
<span class="plain-syntax"> AND_NT</span>
<span class="plain-syntax"> PROPER_NOUN_NT {refers: infs419} {eval: CONSTANT_NT {kind: ice cream cone} {instance: I122} {enumeration: 0}} {created here}</span>
<span class="plain-syntax"> PROPER_NOUN_NT {refers: infs420} {eval: CONSTANT_NT {kind: ice cream cone} {instance: I122} {enumeration: 0}} {created here}</span>
<span class="plain-syntax"> AND_NT</span>
<span class="plain-syntax"> PROPER_NOUN_NT {refers: infs420} {eval: CONSTANT_NT {kind: ice cream cone} {instance: I123} {enumeration: 0}} {created here}</span>
<span class="plain-syntax"> PROPER_NOUN_NT {refers: infs421} {eval: CONSTANT_NT {kind: ice cream cone} {instance: I123} {enumeration: 0}} {created here}</span>
<span class="plain-syntax"> AND_NT</span>
<span class="plain-syntax"> PROPER_NOUN_NT {refers: infs421} {eval: CONSTANT_NT {kind: ice cream cone} {instance: I124} {enumeration: 0}} {created here}</span>
<span class="plain-syntax"> PROPER_NOUN_NT {refers: infs422} {eval: CONSTANT_NT {kind: ice cream cone} {instance: I124} {enumeration: 0}} {created here}</span>
<span class="plain-syntax"> AND_NT</span>
<span class="plain-syntax"> PROPER_NOUN_NT {refers: infs422} {eval: CONSTANT_NT {kind: ice cream cone} {instance: I125} {enumeration: 0}} {created here}</span>
<span class="plain-syntax"> PROPER_NOUN_NT {refers: infs423} {eval: CONSTANT_NT {kind: ice cream cone} {instance: I125} {enumeration: 0}} {created here}</span>
<span class="plain-syntax"> AND_NT</span>
<span class="plain-syntax"> PROPER_NOUN_NT {refers: infs423} {eval: CONSTANT_NT {kind: ice cream cone} {instance: I126} {enumeration: 0}} {created here}</span>
<span class="plain-syntax"> PROPER_NOUN_NT {refers: infs424} {eval: CONSTANT_NT {kind: ice cream cone} {instance: I126} {enumeration: 0}} {created here}</span>
<span class="plain-syntax"> AND_NT</span>
<span class="plain-syntax"> PROPER_NOUN_NT {refers: infs424} {eval: CONSTANT_NT {kind: ice cream cone} {instance: I127} {enumeration: 0}} {created here}</span>
<span class="plain-syntax"> PROPER_NOUN_NT {refers: infs425} {eval: CONSTANT_NT {kind: ice cream cone} {instance: I128} {enumeration: 0}} {created here}</span>
<span class="plain-syntax"> PROPER_NOUN_NT {refers: infs425} {eval: CONSTANT_NT {kind: ice cream cone} {instance: I127} {enumeration: 0}} {created here}</span>
<span class="plain-syntax"> PROPER_NOUN_NT {refers: infs426} {eval: CONSTANT_NT {kind: ice cream cone} {instance: I128} {enumeration: 0}} {created here}</span>
<span class="plain-syntax"> HEADING_NT'section 4 - other players' {heading 5} {under: H5'section 4 - other players'} {unit: 4}</span>
<span class="plain-syntax"> SENTENCE_NT'vanessa is a woman in cold comfort' {unit: 4} {classified}</span>
<span class="plain-syntax"> VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve}</span>
@ -1268,10 +1268,10 @@ for a lengthy read:
<span class="plain-syntax"> PROPER_NOUN_NT'lewis' {refined} {refers: infs'lewis'} {eval: CONSTANT_NT'lewis' {kind: man} {instance: I133'lewis'} {enumeration: 0}}</span>
<span class="plain-syntax"> RELATIONSHIP_NT'carries' {meaning: is-carried-by} {refined}</span>
<span class="plain-syntax"> AND_NT</span>
<span class="plain-syntax"> PROPER_NOUN_NT {refers: infs431} {eval: CONSTANT_NT {kind: stamped envelope} {instance: I134} {enumeration: 0}} {created here}</span>
<span class="plain-syntax"> PROPER_NOUN_NT {refers: infs432} {eval: CONSTANT_NT {kind: stamped envelope} {instance: I134} {enumeration: 0}} {created here}</span>
<span class="plain-syntax"> AND_NT</span>
<span class="plain-syntax"> PROPER_NOUN_NT {refers: infs432} {eval: CONSTANT_NT {kind: stamped envelope} {instance: I135} {enumeration: 0}} {created here}</span>
<span class="plain-syntax"> PROPER_NOUN_NT {refers: infs433} {eval: CONSTANT_NT {kind: stamped envelope} {instance: I136} {enumeration: 0}} {created here}</span>
<span class="plain-syntax"> PROPER_NOUN_NT {refers: infs433} {eval: CONSTANT_NT {kind: stamped envelope} {instance: I135} {enumeration: 0}} {created here}</span>
<span class="plain-syntax"> PROPER_NOUN_NT {refers: infs434} {eval: CONSTANT_NT {kind: stamped envelope} {instance: I136} {enumeration: 0}} {created here}</span>
<span class="plain-syntax"> SENTENCE_NT'lewis carries a book called idiot's guide to dating' {unit: 4} {classified} {interpretation of subject: infs'lewis'}</span>
<span class="plain-syntax"> VERB_NT'carries' {verb 'carry' 3p s act IS_TENSE +ve}</span>
<span class="plain-syntax"> PROPER_NOUN_NT'lewis' {refined} {refers: infs'lewis'} {eval: CONSTANT_NT'lewis' {kind: man} {instance: I133'lewis'} {enumeration: 0}}</span>
@ -1300,7 +1300,7 @@ for a lengthy read:
<span class="plain-syntax"> VERB_NT'carries' {verb 'carry' 3p s act IS_TENSE +ve}</span>
<span class="plain-syntax"> PROPER_NOUN_NT'gene' {refined} {refers: infs'gene'} {eval: CONSTANT_NT'gene' {kind: man} {instance: I141'gene'} {enumeration: 0}}</span>
<span class="plain-syntax"> RELATIONSHIP_NT'carries' {meaning: is-carried-by} {refined}</span>
<span class="plain-syntax"> PROPER_NOUN_NT {refers: infs439} {eval: CONSTANT_NT {kind: stamped envelope} {instance: I142} {enumeration: 0}} {created here}</span>
<span class="plain-syntax"> PROPER_NOUN_NT {refers: infs440} {eval: CONSTANT_NT {kind: stamped envelope} {instance: I142} {enumeration: 0}} {created here}</span>
<span class="plain-syntax"> SENTENCE_NT'gene carries a dvd called casablanca' {unit: 4} {classified} {interpretation of subject: infs'gene'}</span>
<span class="plain-syntax"> VERB_NT'carries' {verb 'carry' 3p s act IS_TENSE +ve}</span>
<span class="plain-syntax"> PROPER_NOUN_NT'gene' {refined} {refers: infs'gene'} {eval: CONSTANT_NT'gene' {kind: man} {instance: I141'gene'} {enumeration: 0}}</span>
@ -1310,7 +1310,7 @@ for a lengthy read:
<span class="plain-syntax"> VERB_NT'carries' {verb 'carry' 3p s act IS_TENSE +ve}</span>
<span class="plain-syntax"> PROPER_NOUN_NT'gene' {refined} {refers: infs'gene'} {eval: CONSTANT_NT'gene' {kind: man} {instance: I141'gene'} {enumeration: 0}}</span>
<span class="plain-syntax"> RELATIONSHIP_NT'carries' {meaning: is-carried-by} {refined}</span>
<span class="plain-syntax"> PROPER_NOUN_NT {refers: infs441} {eval: CONSTANT_NT {kind: coupon} {instance: I144} {enumeration: 0}} {created here}</span>
<span class="plain-syntax"> PROPER_NOUN_NT {refers: infs442} {eval: CONSTANT_NT {kind: coupon} {instance: I144} {enumeration: 0}} {created here}</span>
<span class="plain-syntax"> SENTENCE_NT'rhoda is a woman in marciony street' {unit: 4} {classified} {interpretation of subject: infs'gene'}</span>
<span class="plain-syntax"> VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve}</span>
<span class="plain-syntax"> PROPER_NOUN_NT'rhoda' {refined} {refers: infs'rhoda'} {eval: CONSTANT_NT'rhoda' {kind: object} {instance: I145'rhoda'} {enumeration: 0}} {created here}</span>
@ -1343,7 +1343,7 @@ for a lengthy read:
<span class="plain-syntax"> VERB_NT'carries' {verb 'carry' 3p s act IS_TENSE +ve}</span>
<span class="plain-syntax"> PROPER_NOUN_NT'martin' {refined} {refers: infs'martin'} {eval: CONSTANT_NT'martin' {kind: man} {instance: I149'martin'} {enumeration: 0}}</span>
<span class="plain-syntax"> RELATIONSHIP_NT'carries' {meaning: is-carried-by} {refined}</span>
<span class="plain-syntax"> PROPER_NOUN_NT {refers: infs448} {eval: CONSTANT_NT {kind: coupon} {instance: I151} {enumeration: 0}} {created here}</span>
<span class="plain-syntax"> PROPER_NOUN_NT {refers: infs449} {eval: CONSTANT_NT {kind: coupon} {instance: I151} {enumeration: 0}} {created here}</span>
<span class="plain-syntax"> SENTENCE_NT'antony is a man in movie rental' {unit: 4} {classified} {interpretation of subject: infs'martin'}</span>
<span class="plain-syntax"> VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve}</span>
<span class="plain-syntax"> PROPER_NOUN_NT'antony' {refined} {refers: infs'antony'} {eval: CONSTANT_NT'antony' {kind: object} {instance: I152'antony'} {enumeration: 0}} {created here}</span>
@ -1352,7 +1352,7 @@ for a lengthy read:
<span class="plain-syntax"> VERB_NT'carries' {verb 'carry' 3p s act IS_TENSE +ve}</span>
<span class="plain-syntax"> PROPER_NOUN_NT'antony' {refined} {refers: infs'antony'} {eval: CONSTANT_NT'antony' {kind: man} {instance: I152'antony'} {enumeration: 0}}</span>
<span class="plain-syntax"> RELATIONSHIP_NT'carries' {meaning: is-carried-by} {refined}</span>
<span class="plain-syntax"> PROPER_NOUN_NT {refers: infs450} {eval: CONSTANT_NT {kind: coupon} {instance: I153} {enumeration: 0}} {created here}</span>
<span class="plain-syntax"> PROPER_NOUN_NT {refers: infs451} {eval: CONSTANT_NT {kind: coupon} {instance: I153} {enumeration: 0}} {created here}</span>
<span class="plain-syntax"> SENTENCE_NT'antony carries a stamped envelope called a postcard' {unit: 4} {classified} {interpretation of subject: infs'antony'}</span>
<span class="plain-syntax"> VERB_NT'carries' {verb 'carry' 3p s act IS_TENSE +ve}</span>
<span class="plain-syntax"> PROPER_NOUN_NT'antony' {refined} {refers: infs'antony'} {eval: CONSTANT_NT'antony' {kind: man} {instance: I152'antony'} {enumeration: 0}}</span>
@ -1372,24 +1372,24 @@ for a lengthy read:
<span class="plain-syntax"> PROPER_NOUN_NT'shelby' {refined} {refers: infs'shelby'} {eval: CONSTANT_NT'shelby' {kind: man} {instance: I155'shelby'} {enumeration: 0}}</span>
<span class="plain-syntax"> RELATIONSHIP_NT'carries' {meaning: is-carried-by} {refined}</span>
<span class="plain-syntax"> AND_NT</span>
<span class="plain-syntax"> PROPER_NOUN_NT {refers: infs454} {eval: CONSTANT_NT {kind: stamped envelope} {instance: I157} {enumeration: 0}} {created here}</span>
<span class="plain-syntax"> PROPER_NOUN_NT {refers: infs455} {eval: CONSTANT_NT {kind: stamped envelope} {instance: I157} {enumeration: 0}} {created here}</span>
<span class="plain-syntax"> AND_NT</span>
<span class="plain-syntax"> PROPER_NOUN_NT {refers: infs455} {eval: CONSTANT_NT {kind: stamped envelope} {instance: I158} {enumeration: 0}} {created here}</span>
<span class="plain-syntax"> PROPER_NOUN_NT {refers: infs456} {eval: CONSTANT_NT {kind: stamped envelope} {instance: I158} {enumeration: 0}} {created here}</span>
<span class="plain-syntax"> AND_NT</span>
<span class="plain-syntax"> PROPER_NOUN_NT {refers: infs456} {eval: CONSTANT_NT {kind: stamped envelope} {instance: I159} {enumeration: 0}} {created here}</span>
<span class="plain-syntax"> PROPER_NOUN_NT {refers: infs457} {eval: CONSTANT_NT {kind: stamped envelope} {instance: I159} {enumeration: 0}} {created here}</span>
<span class="plain-syntax"> AND_NT</span>
<span class="plain-syntax"> PROPER_NOUN_NT {refers: infs457} {eval: CONSTANT_NT {kind: stamped envelope} {instance: I160} {enumeration: 0}} {created here}</span>
<span class="plain-syntax"> PROPER_NOUN_NT {refers: infs458} {eval: CONSTANT_NT {kind: stamped envelope} {instance: I161} {enumeration: 0}} {created here}</span>
<span class="plain-syntax"> PROPER_NOUN_NT {refers: infs458} {eval: CONSTANT_NT {kind: stamped envelope} {instance: I160} {enumeration: 0}} {created here}</span>
<span class="plain-syntax"> PROPER_NOUN_NT {refers: infs459} {eval: CONSTANT_NT {kind: stamped envelope} {instance: I161} {enumeration: 0}} {created here}</span>
<span class="plain-syntax"> SENTENCE_NT'shelby carries an ice cream cone' {unit: 4} {classified} {interpretation of subject: infs'shelby'}</span>
<span class="plain-syntax"> VERB_NT'carries' {verb 'carry' 3p s act IS_TENSE +ve}</span>
<span class="plain-syntax"> PROPER_NOUN_NT'shelby' {refined} {refers: infs'shelby'} {eval: CONSTANT_NT'shelby' {kind: man} {instance: I155'shelby'} {enumeration: 0}}</span>
<span class="plain-syntax"> RELATIONSHIP_NT'carries' {meaning: is-carried-by} {refined}</span>
<span class="plain-syntax"> PROPER_NOUN_NT {refers: infs459} {eval: CONSTANT_NT {kind: ice cream cone} {instance: I162} {enumeration: 0}} {created here}</span>
<span class="plain-syntax"> PROPER_NOUN_NT {refers: infs460} {eval: CONSTANT_NT {kind: ice cream cone} {instance: I162} {enumeration: 0}} {created here}</span>
<span class="plain-syntax"> SENTENCE_NT'shelby carries a coupon' {unit: 4} {classified} {interpretation of subject: infs'shelby'}</span>
<span class="plain-syntax"> VERB_NT'carries' {verb 'carry' 3p s act IS_TENSE +ve}</span>
<span class="plain-syntax"> PROPER_NOUN_NT'shelby' {refined} {refers: infs'shelby'} {eval: CONSTANT_NT'shelby' {kind: man} {instance: I155'shelby'} {enumeration: 0}}</span>
<span class="plain-syntax"> RELATIONSHIP_NT'carries' {meaning: is-carried-by} {refined}</span>
<span class="plain-syntax"> PROPER_NOUN_NT {refers: infs460} {eval: CONSTANT_NT {kind: coupon} {instance: I163} {enumeration: 0}} {created here}</span>
<span class="plain-syntax"> PROPER_NOUN_NT {refers: infs461} {eval: CONSTANT_NT {kind: coupon} {instance: I163} {enumeration: 0}} {created here}</span>
<span class="plain-syntax"> SENTENCE_NT'christopher is a man in the library' {unit: 4} {classified} {interpretation of subject: infs'shelby'}</span>
<span class="plain-syntax"> VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve}</span>
<span class="plain-syntax"> PROPER_NOUN_NT'christopher' {refined} {refers: infs'christopher'} {eval: CONSTANT_NT'christopher' {kind: object} {instance: I164'christopher'} {enumeration: 0}} {created here}</span>

View file

@ -16,7 +16,7 @@
<any-integer> internal nti 21 constraint (none) extremes [1, 1]
<quoted-text> internal hits 2901/25366 nti 22 constraint (none) extremes [1, 1]
<quoted-text> internal hits 2901/25368 nti 22 constraint (none) extremes [1, 1]
<quoted-text-with-subs> internal nti 23 constraint (none) extremes [1, 1]
@ -4742,7 +4742,7 @@
twelfth
constraint CS = {7} extremes [1, 1]
<cardinal-number> internal hits 200/25152 nti r0 constraint CS = {r0} extremes [1, 1]
<cardinal-number> internal hits 200/25148 nti r0 constraint CS = {r0} extremes [1, 1]
<ordinal-number> internal nti r1 constraint CS = {r1} extremes [1, 1]
@ -4750,12 +4750,12 @@
<adjective-name> internal hits 0/258 nti 16 constraint (none) extremes [1, infinity)
<optional-definite-article> hits 36376/72752 nti 13 constraint (none) extremes [1, infinity)
<optional-definite-article> hits 36369/72738 nti 13 constraint (none) extremes [1, infinity)
English:
<definite-article> {...}
(hits 7870/36376) (matched long text) constraint (none) extremes [2, infinity)
(hits 7870/36369) (matched long text) constraint (none) extremes [2, infinity)
{...}
(hits 28506/28506) (matched long text) constraint (none) extremes [1, infinity)
(hits 28499/28499) (matched long text) constraint (none) extremes [1, infinity)
<optional-indefinite-article> nti 14 constraint (none) extremes [1, infinity)
English:
@ -4764,23 +4764,23 @@
{...}
constraint (none) extremes [1, infinity)
<optional-article> hits 83029/166058 nti 15 constraint (none) extremes [1, infinity)
<optional-article> hits 83028/166056 nti 15 constraint (none) extremes [1, infinity)
English:
<article> {...}
(hits 16068/47448) (matched long text) constraint (none) extremes [2, infinity)
(hits 16068/47441) (matched long text) constraint (none) extremes [2, infinity)
{...}
(hits 66961/66961) (matched long text) constraint (none) extremes [1, infinity)
(hits 66960/66960) (matched long text) constraint (none) extremes [1, infinity)
<compulsory-article> nti 16 constraint (none) extremes [2, infinity)
English:
<article> {...}
constraint (none) extremes [2, infinity)
<article> internal hits 16522/98954 nti r2 constraint (none) extremes [1, 1]
<article> internal hits 16522/98940 nti r2 constraint (none) extremes [1, 1]
<definite-article> internal hits 20353/236434 nti r2 constraint (none) extremes [1, 1]
<definite-article> internal hits 20353/236406 nti r2 constraint (none) extremes [1, 1]
<indefinite-article> internal hits 2350/41386 nti r2 constraint (none) extremes [1, 1]
<indefinite-article> internal hits 2350/41380 nti r2 constraint (none) extremes [1, 1]
<definite-article-table> nti r2 constraint CS = {r2} extremes [6, 6]
English:
@ -4841,7 +4841,7 @@
other than
constraint CS = {8} extremes [2, 2]
<negated-clause> hits 16/21868 nti 9 constraint DS = {9} extremes [2, infinity)
<negated-clause> hits 16/21864 nti 9 constraint DS = {9} extremes [2, infinity)
English:
not {...}
(hits 16/6930) (matched long text) constraint DS = {9} extremes [2, infinity)
@ -4855,7 +4855,7 @@
{...}
(hits 79/79) (matched: 'dvd carried by the person asked') constraint (none) extremes [1, infinity)
<excluded-from-determiners> hits 0/21584 nti 11 constraint DS = {11} extremes [2, infinity)
<excluded-from-determiners> hits 0/21580 nti 11 constraint DS = {11} extremes [2, infinity)
English:
no one {***}
(hits 0/1910) constraint DS = {11} extremes [2, infinity)
@ -4939,7 +4939,7 @@
<adaptive-verb> internal hits 211/5172 nti 25 constraint (none) extremes [1, infinity)
<adaptive-verb-infinitive> internal hits 59/4040 nti 26 constraint (none) extremes [1, infinity)
<adaptive-verb-infinitive> internal hits 59/4038 nti 26 constraint (none) extremes [1, infinity)
<instance-of-verb> internal hits 1/2 nti 27 constraint (none) extremes [1, infinity)
@ -5137,7 +5137,7 @@
thing/something
(hits 83/85) (matched: 'thing') constraint CS = {10} extremes [1, 1]
<probable-participle> internal hits 476/23860 nti 17 constraint (none) extremes [1, 1]
<probable-participle> internal hits 476/23858 nti 17 constraint (none) extremes [1, 1]
<np-relative-phrase-implicit> nti 28 constraint CS = {28} extremes [1, 2]
English:
@ -5185,16 +5185,16 @@
<np-nonrelative>
(hits 431/431) (matched long text) constraint (none) extremes [1, infinity)
<np-with-or-having-tail> hits 0/10192 nti 30 constraint DS = {30} extremes [2, infinity)
<np-with-or-having-tail> hits 0/10196 nti 30 constraint DS = {30} extremes [2, infinity)
English:
it with action {***}
(hits 0/3874) constraint DS = {30} extremes [3, infinity)
(hits 0/3876) constraint DS = {30} extremes [3, infinity)
{with/having} (/) {***}
(hits 0/4067) constraint DS = {30} extremes [2, infinity)
(hits 0/4069) constraint DS = {30} extremes [2, infinity)
{with/having} {...} ( <response-letter> )
(hits 0/3482) constraint DS = {30} extremes [5, infinity)
(hits 0/3484) constraint DS = {30} extremes [5, infinity)
{with/having} <np-new-property-list>
(hits 0/4067) constraint DS = {30} extremes [2, infinity)
(hits 0/4069) constraint DS = {30} extremes [2, infinity)
<np-new-property-list> nti 19 constraint (none) extremes [1, infinity)
English:
@ -5267,10 +5267,10 @@
{...} called {...}
constraint DS = {12} extremes [3, infinity)
<np-x-of-y> hits 196/9056 nti 13 constraint DS = {13} extremes [2, infinity)
<np-x-of-y> hits 194/9064 nti 13 constraint DS = {13} extremes [2, infinity)
English:
of {...}
(hits 196/2552) (matched: 'of day -- documented at var_time --') constraint DS = {13} extremes [2, infinity)
(hits 194/2554) (matched: 'of day -- documented at var_time --') constraint DS = {13} extremes [2, infinity)
<notable-linguistic-kinds> hits 5/60 nti 14 constraint CS = {14} extremes [2, 2]
English:
@ -5311,7 +5311,7 @@
<k-kind>
(hits 5/5) (matched: 'value of kind k') constraint (none) extremes [1, infinity)
<k-kind> hits 5802/103676 nti r5 constraint (none) extremes [1, infinity)
<k-kind> hits 5802/103672 nti r5 constraint (none) extremes [1, infinity)
English:
( <k-kind> )
(hits 0/2047) constraint DS = {r5} & CW = {r2, r5} extremes [3, infinity)
@ -5823,6 +5823,8 @@
constraint CS = {20} extremes [1, 1]
meaning
constraint CS = {20} extremes [1, 1]
never-holding
constraint CS = {20} extremes [1, 1]
provision
constraint CS = {20} extremes [1, 1]
numerically-greater-than-or-equal-to
@ -5888,12 +5890,12 @@
<negated-verb> {...}
constraint FS = {10} extremes [2, infinity)
<allow-of-x> hits 104/392 nti 22 constraint (none) extremes [1, infinity)
<allow-of-x> hits 104/388 nti 22 constraint (none) extremes [1, infinity)
English:
in the presence
constraint CS = {22} extremes [3, 3]
<property-name-v>
(hits 104/196) (matched: 'adaptive text viewpoint') constraint (none) extremes [1, infinity)
(hits 104/194) (matched: 'adaptive text viewpoint') constraint (none) extremes [1, infinity)
<allow-of-y> hits 104/208 nti 23 constraint (none) extremes [1, infinity)
English:
@ -7618,7 +7620,7 @@
<quoted-text> ( <response-letter> )
(hits 274/731) (matched: '"[current item from the multiple object list]: [run paragraph on]" ( a )') constraint DS = {23} extremes [4, 4]
<quoted-text>
(hits 1566/5559) (matched: 'Represents geographical locations, both indoor
(hits 1566/5560) (matched: 'Represents geographical locations, both indoor
and outdoor, which are not necessarily areas in a building. A player in one
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]
@ -7651,13 +7653,13 @@
<s-literal-real-number> hits 11/19870 nti 15 constraint (none) extremes [1, infinity)
English:
_pi
(hits 1/1160) (matched: 'pi') constraint CS = {15} extremes [1, 1]
(hits 1/1161) (matched: 'pi') constraint CS = {15} extremes [1, 1]
_e
(hits 1/1159) (matched: 'e') constraint CS = {15} extremes [1, 1]
(hits 1/1160) (matched: 'e') constraint CS = {15} extremes [1, 1]
plus infinity
(hits 4/544) (matched: 'plus infinity') constraint CS = {15} extremes [2, 2]
(hits 4/543) (matched: 'plus infinity') constraint CS = {15} extremes [2, 2]
minus infinity
(hits 4/540) (matched: 'minus infinity') constraint CS = {15} extremes [2, 2]
(hits 4/539) (matched: 'minus infinity') constraint CS = {15} extremes [2, 2]
<literal-real-in-digits>
(hits 1/9925) (matched: '0.5') constraint (none) extremes [1, infinity)
@ -7804,7 +7806,7 @@
not <indefinite-article> <s-adjective-list-unarticled>
(hits 0/3064) constraint DS = {27} extremes [3, infinity)
<indefinite-article> <s-adjective-list-unarticled>
(hits 0/6955) constraint (none) extremes [2, infinity)
(hits 0/6954) constraint (none) extremes [2, infinity)
<s-adjective-list-unarticled>
(hits 1442/13799) (matched: 'marked for listing other') constraint (none) extremes [1, infinity)
@ -7817,14 +7819,14 @@
not <s-adjective> <s-adjective-list-unarticled>
(hits 0/3078) constraint DS = {26} extremes [3, infinity)
<s-adjective> <s-adjective-list-unarticled>
(hits 71/7276) (matched: 'marked for listing other') constraint (none) extremes [2, infinity)
(hits 71/7275) (matched: 'marked for listing other') constraint (none) extremes [2, infinity)
<s-adjective> internal hits 2217/19102 nti r3 constraint CS = {r3} extremes [1, infinity)
<s-adjective> internal hits 2217/19100 nti r3 constraint CS = {r3} extremes [1, infinity)
<s-qualifiable-noun> hits 3632/90336 nti 23 constraint (none) extremes [1, infinity)
<s-qualifiable-noun> hits 3632/90332 nti 23 constraint (none) extremes [1, infinity)
English:
<k-kind>
(hits 2595/45168) (matched: 'value of kind k') constraint (none) extremes [1, infinity)
(hits 2595/45166) (matched: 'value of kind k') constraint (none) extremes [1, infinity)
<s-object-instance>
(hits 1037/2020) (matched: 'the alfred cralle pool hall') constraint CW = {r2, r4} extremes [1, infinity)
@ -7865,19 +7867,19 @@
<s-desc-uncalled> hits 1644/41018 nti 29 constraint (none) extremes [1, infinity)
English:
<s-specifier> <s-desc-unspecified>
(hits 51/10639) (matched: 'at least two stamped envelopes') constraint (none) extremes [2, infinity)
(hits 51/10637) (matched: 'at least two stamped envelopes') constraint (none) extremes [2, infinity)
<s-specifying-noun>
(hits 156/20458) (matched: 'something') constraint (none) extremes [1, infinity)
<s-specifying-noun> <s-adjective-list>
(hits 22/10588) (matched: 'something switched on') constraint (none) extremes [2, infinity)
(hits 22/10586) (matched: 'something switched on') constraint (none) extremes [2, infinity)
<if-can-omit-trying> <definite-article> <s-common-desc-unspecified>
(hits 2/10566) (matched: 'the person') constraint (none) extremes [2, infinity)
(hits 2/10564) (matched: 'the person') constraint (none) extremes [2, infinity)
^<if-can-omit-trying> ^<if-multiplicitous> <definite-article> <s-common-desc-unspecified>
(hits 0/10564) constraint (none) extremes [2, infinity)
(hits 0/10562) constraint (none) extremes [2, infinity)
<definite-article> <s-proper-desc-unspecified>
(hits 54/10564) (matched: 'the alfred cralle pool hall') constraint (none) extremes [2, infinity)
(hits 54/10562) (matched: 'the alfred cralle pool hall') constraint (none) extremes [2, infinity)
<indefinite-article> <s-desc-unspecified>
(hits 613/10510) (matched: 'a marked for listing person') constraint (none) extremes [2, infinity)
(hits 613/10508) (matched: 'a marked for listing person') constraint (none) extremes [2, infinity)
<s-desc-unspecified>
(hits 746/19611) (matched: 'marked for listing other people') constraint (none) extremes [1, infinity)
@ -7886,7 +7888,7 @@
<s-qualifiable-noun>
(hits 1026/20490) (matched: 'nancy johnson memorial square') constraint (none) extremes [1, infinity)
<s-applicable-adjective-list> <s-qualifiable-noun>
(hits 384/10210) (matched: 'marked for listing other people') constraint (none) extremes [2, infinity)
(hits 384/10208) (matched: 'marked for listing other people') constraint (none) extremes [2, infinity)
<s-common-desc-unspecified> hits 2/300 nti 6 constraint (none) extremes [1, infinity)
English:
@ -7953,9 +7955,9 @@
{...}
(hits 35/35) (matched: 'random bystander') constraint (none) extremes [1, infinity)
<s-specifier> internal hits 79/21584 nti 13 constraint (none) extremes [1, infinity)
<s-specifier> internal hits 79/21580 nti 13 constraint (none) extremes [1, infinity)
<s-specifying-noun> internal hits 288/62910 nti 14 constraint (none) extremes [1, infinity)
<s-specifying-noun> internal hits 288/62906 nti 14 constraint (none) extremes [1, infinity)
<s-type-expression-uncached> hits 1950/4834 nti 15 constraint (none) extremes [1, infinity)
English:
@ -8026,7 +8028,7 @@
<if-let-equation-mode> internal hits 8/18486 nti 19 constraint (none) extremes [0, 0]
<if-pronoun-present> internal hits 2/9388 nti 20 constraint (none) extremes [0, 0]
<if-pronoun-present> internal hits 2/9386 nti 20 constraint (none) extremes [0, 0]
<if-table-column-expected> internal hits 9/18594 nti 21 constraint (none) extremes [0, 0]
@ -8065,7 +8067,7 @@
<s-property-name> of <s-value-uncached>
(hits 2/1620) (matched: 'the destination of the player') constraint DS = {7} extremes [3, infinity)
<if-pronoun-present> <possessive-third-person> <s-property-name>
(hits 0/4694) constraint (none) extremes [2, infinity)
(hits 0/4693) constraint (none) extremes [2, infinity)
entry <s-value-uncached> of/in/from <s-value-uncached>
(hits 0/1242) constraint DS = {7} extremes [4, infinity)
<s-description>
@ -8087,7 +8089,7 @@
<s-variable> hits 5834/24156 nti 23 constraint (none) extremes [1, infinity)
English:
<definite-article> <s-variable>
(hits 1641/6152) (matched: 'the room back the other way') constraint (none) extremes [2, infinity)
(hits 1641/6151) (matched: 'the room back the other way') constraint (none) extremes [2, infinity)
<s-local-variable>
(hits 1075/10437) (matched: 'room back the other way') constraint (none) extremes [1, infinity)
<s-stacked-variable>
@ -8303,7 +8305,7 @@
<s-say-command> hits 2632/5264 nti 26 constraint (none) extremes [1, infinity)
English:
( <s-say-command> )
(hits 0/490) constraint DS = {26} extremes [3, infinity)
(hits 0/489) constraint DS = {26} extremes [3, infinity)
<s-adaptive-text>
(hits 240/2632) (matched: 'might not appreciate') constraint (none) extremes [1, infinity)
<s-text-substitution>
@ -8477,7 +8479,7 @@
<value-property-name> internal hits 127/2212 nti 30 constraint (none) extremes [1, infinity)
<property-name-v> internal hits 104/392 nti 6 constraint (none) extremes [1, infinity)
<property-name-v> internal hits 104/388 nti 6 constraint (none) extremes [1, infinity)
<name-looking-like-property-test> hits 0/292 nti 12 constraint DS = {12} extremes [1, infinity)
English:
@ -8742,7 +8744,7 @@
matching key
(hits 1/1) (matched: 'matching key') constraint CS = {7} extremes [2, 2]
<spatial-specifying-nouns> hits 288/61706 nti 8 constraint DS = {8} extremes [1, infinity)
<spatial-specifying-nouns> hits 288/61702 nti 8 constraint DS = {8} extremes [1, infinity)
English:
_something/anything {***}
(hits 207/14029) (matched long text) constraint DS = {8} extremes [1, infinity)
@ -9293,7 +9295,7 @@
<clause-opening> internal hits 0/662 nti 12 constraint (none) extremes [1, infinity)
<if-can-omit-trying> internal hits 1197/31648 nti 13 constraint (none) extremes [0, 0]
<if-can-omit-trying> internal hits 1197/31644 nti 13 constraint (none) extremes [0, 0]
<if-nonconstant-action-context> internal hits 1268/2536 nti 14 constraint (none) extremes [0, 0]
@ -9347,7 +9349,7 @@
<ap-three-present>
(hits 60/10262) (matched long text) constraint (none) extremes [1, infinity)
<actor-description> <ap-three-present>
(hits 65/5436) (matched long text) constraint (none) extremes [2, infinity)
(hits 65/5435) (matched long text) constraint (none) extremes [2, infinity)
<we-are-action-pattern> hits 27/2756 nti 19 constraint (none) extremes [1, infinity)
English:
@ -9425,7 +9427,7 @@
we have not <ap-three-past>
(hits 0/1002) constraint DS = {18} extremes [4, infinity)
<actor-description> internal hits 94/13124 nti 21 constraint (none) extremes [1, infinity)
<actor-description> internal hits 94/13122 nti 21 constraint (none) extremes [1, infinity)
<ap-three-present> internal hits 585/24334 nti 22 constraint (none) extremes [1, infinity)

View file

@ -1,47 +1,47 @@
Total memory consumption was 123375K = 120 MB
Total memory consumption was 129432K = 126 MB
---- was used for 2044964 objects, in 362887 frames in 0 x 800K = 0K = 0 MB:
33.0% inter_tree_node_array 58 x 8192 = 475136 objects, 41813824 bytes
20.5% text_stream_array 4605 x 100 = 460500 objects, 25935360 bytes
19.2% linked_list 43461 objects, 24338160 bytes
11.1% inter_symbol_array 132 x 1024 = 135168 objects, 14061696 bytes
10.4% inter_error_stash_array 101 x 1024 = 103424 objects, 13241504 bytes
8.2% parse_node 129722 objects, 10377760 bytes
5.8% verb_conjugation 160 objects, 7425280 bytes
4.3% parse_node_annotation_array 346 x 500 = 173000 objects, 5547072 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
1.6% inter_name_generator_array 51 x 1000 = 51000 objects, 2041632 bytes
31.5% inter_tree_node_array 58 x 8192 = 475136 objects, 41813824 bytes
19.5% text_stream_array 4605 x 100 = 460500 objects, 25935360 bytes
18.3% linked_list 43461 objects, 24338160 bytes
10.6% inter_symbol_array 132 x 1024 = 135168 objects, 14061696 bytes
9.9% inter_error_stash_array 101 x 1024 = 103424 objects, 13241504 bytes
7.8% parse_node 129722 objects, 10377760 bytes
5.6% verb_conjugation 160 objects, 7425280 bytes
4.1% parse_node_annotation_array 346 x 500 = 173000 objects, 5547072 bytes
2.5% pcalc_prop_array 25 x 1000 = 25000 objects, 3400800 bytes
2.4% inter_name_array 67 x 1000 = 67000 objects, 3218144 bytes
1.9% kind_array 66 x 1000 = 66000 objects, 2642112 bytes
1.5% inter_name_generator_array 51 x 1000 = 51000 objects, 2041632 bytes
1.5% inter_schema_token 13969 objects, 2011536 bytes
1.4% package_request 21153 objects, 1861464 bytes
1.4% vocabulary_entry_array 161 x 100 = 16100 objects, 1808352 bytes
1.2% dict_entry_array 470 x 100 = 47000 objects, 1519040 bytes
1.3% vocabulary_entry_array 161 x 100 = 16100 objects, 1808352 bytes
1.1% dict_entry_array 470 x 100 = 47000 objects, 1519040 bytes
1.1% match_trie_array 11 x 1000 = 11000 objects, 1496352 bytes
1.1% inter_symbols_table 26592 objects, 1489152 bytes
1.0% i6_schema_array 23 x 100 = 2300 objects, 1380736 bytes
1.0% scan_directory 314 objects, 1296192 bytes
1.0% inter_package 26592 objects, 1276416 bytes
0.9% scan_directory 314 objects, 1296192 bytes
0.9% inter_package 26592 objects, 1276416 bytes
0.8% map_data 671 objects, 1127280 bytes
0.8% id_body 942 objects, 1077648 bytes
0.7% adjective_meaning 202 objects, 1000304 bytes
0.7% excerpt_meaning 3102 objects, 967824 bytes
0.7% production 3878 objects, 899696 bytes
0.6% production 3878 objects, 899696 bytes
0.6% ptoken 8397 objects, 873288 bytes
0.6% grammatical_usage 3613 objects, 867120 bytes
0.6% individual_form 2563 objects, 861168 bytes
0.6% inter_schema_node 8920 objects, 856320 bytes
0.5% unary_predicate_array 16 x 1000 = 16000 objects, 640512 bytes
0.4% 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 1128 objects, 388032 bytes
0.2% verb_usage 1128 objects, 388032 bytes
0.2% rule 470 objects, 368480 bytes
0.2% dictionary 7520 objects, 360960 bytes
0.2% verb_form 386 objects, 348944 bytes
0.2% noun 2382 objects, 285840 bytes
0.2% compilation_subtask 3355 objects, 268400 bytes
0.2% inter_annotation_array 2 x 8192 = 16384 objects, 262208 bytes
0.2% inference_subject 666 objects, 261072 bytes
0.1% inter_annotation_array 2 x 8192 = 16384 objects, 262208 bytes
0.1% inference_subject 666 objects, 261072 bytes
0.1% vanilla_function 3683 objects, 235712 bytes
0.1% binary_predicate 322 objects, 170016 bytes
0.1% hierarchy_location 1122 objects, 161568 bytes
@ -237,23 +237,23 @@ Total memory consumption was 123375K = 120 MB
100.0% was used for memory not allocated for objects:
57.7% text stream storage 72934504 bytes in 478023 claims
4.1% dictionary storage 5228544 bytes in 7520 claims
59.7% text stream storage 79137136 bytes in 478473 claims
3.9% dictionary storage 5228544 bytes in 7520 claims
---- sorting 1448 bytes in 149 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
5.4% source text 7200000 bytes in 3 claims
8.1% source text details 10800000 bytes in 2 claims
0.1% 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.5% inter symbols storage 4520272 bytes in 27949 claims
13.2% inter bytecode storage 16767680 bytes in 14 claims
4.9% inter links storage 6222976 bytes in 11 claims
3.4% inter symbols storage 4520272 bytes in 27949 claims
12.6% inter bytecode storage 16767680 bytes in 14 claims
4.6% 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 1700416 bytes in 1 claim
1.2% instance-of-kind counting 1700416 bytes in 1 claim
---- compilation workspace for objects 21896 bytes in 25 claims
---- lists for type-checking invocations 16000 bytes in 1 claim
---- code generation workspace for objects 1336 bytes in 4 claims
0.2% emitter array storage 280288 bytes in 1999 claims
-146.-1% was overhead - -184656920 bytes = -180329K = -176 MB
-139.-3% was overhead - -184656920 bytes = -180329K = -176 MB

View file

@ -1,32 +1,32 @@
100.0% in inform7 run
71.4% in compilation to Inter
51.2% in //Sequence::undertake_queued_tasks//
4.6% in //MajorNodes::pre_pass//
3.4% in //MajorNodes::pass_1//
71.9% in compilation to Inter
50.7% in //Sequence::undertake_queued_tasks//
4.7% in //MajorNodes::pre_pass//
3.5% in //MajorNodes::pass_1//
2.4% in //RTPhrasebook::compile_entries//
1.8% in //ImperativeDefinitions::assess_all//
1.8% in //RTPhrasebook::compile_entries//
1.4% in //RTKindConstructors::compile//
1.2% in //Sequence::lint_inter//
1.0% in //Sequence::lint_inter//
0.6% in //MajorNodes::pass_2//
0.6% in //Sequence::undertake_queued_tasks//
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//
2.4% not specifically accounted for
25.9% in running Inter pipeline
10.3% 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
2.9% not specifically accounted for
25.3% in running Inter pipeline
9.8% in step 14/15: generate inform6 -> auto.inf
5.5% in step 5/15: load-binary-kits
5.3% in step 6/15: make-synoptic-module
1.4% 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
0.2% in step 8/15: detect-indirect-calls
1.4% not specifically accounted for
2.2% in supervisor
0.5% not specifically accounted for

View file

@ -17,9 +17,11 @@ but definitely without line breaks before:
>> Version 2 of Locksmith Extra by Emily Short begins here.
>> Version 060430 of Locksmith Extra by Emily Short begins here.
>> Version 2.7 of Locksmith Extra by Emily Short begins here.
>> Version 2/060430 of Locksmith Extra by Emily Short begins here.
>> Version 2.1.32 of Locksmith Extra by Emily Short begins here.
>> Version 2/081121 of Locksmith Extra by Emily Short begins here.
If the name of the extension finishes with a bracketed clause, that
should be disregarded. Such clauses are used to specify virtual machine
@ -31,7 +33,11 @@ later, so let's reserve them now.
The application should reject (that is, politely refuse to install) any
purported extension file whose first line does not conform to the above.
Ignoring any version number given, the Inform application should then
(Note that the inbuild command-line tool can be used to verify that an
extension is properly formatted, and extract its identity and version. See
the //inbuild// manual.)
@ Ignoring any version number given, the Inform application should then
store the file in the external extensions area. For instance,
|~/Library/Inform/Extensions/Emily Short/Glulx Text Effects| (OS X)