1
0
Fork 0
mirror of https://github.com/ganelson/inform.git synced 2024-05-17 00:18:39 +03:00

Corrected retrospectives content

This commit is contained in:
Graham Nelson 2019-04-16 08:15:15 +01:00
parent 1aec1fdacd
commit 0806f3bc16
156 changed files with 10861 additions and 9825 deletions

View file

@ -241,9 +241,7 @@ noun for it; for example, the "announcing activity".
<span class="identifier">av</span><span class="plain">-</span><span class="element">&gt;name</span><span class="plain"> = </span><span class="identifier">W</span><span class="plain">;</span>
<span class="identifier">av</span><span class="plain">-</span><span class="element">&gt;av_package</span><span class="plain"> = </span><span class="functiontext">Hierarchy::local_package</span><span class="plain">(</span><span class="constant">ACTIVITIES_HAP</span><span class="plain">);</span>
<span class="identifier">av</span><span class="plain">-</span><span class="element">&gt;av_iname</span><span class="plain"> = </span><span class="functiontext">InterNames::new</span><span class="plain">(</span><span class="constant">ACTIVITY_INAMEF</span><span class="plain">);</span>
<span class="identifier">av</span><span class="plain">-</span><span class="element">&gt;av_iname</span><span class="plain">-</span><span class="element">&gt;eventual_owner</span><span class="plain"> = </span><span class="identifier">av</span><span class="plain">-</span><span class="element">&gt;av_package</span><span class="plain">;</span>
<span class="functiontext">InterNames::attach_memo</span><span class="plain">(</span><span class="identifier">av</span><span class="plain">-</span><span class="element">&gt;av_iname</span><span class="plain">, </span><span class="identifier">av</span><span class="plain">-</span><span class="element">&gt;name</span><span class="plain">);</span>
<span class="identifier">av</span><span class="plain">-</span><span class="element">&gt;av_iname</span><span class="plain"> = </span><span class="functiontext">Hierarchy::make_iname_with_memo</span><span class="plain">(</span><span class="constant">ACTIVITY_HL</span><span class="plain">, </span><span class="identifier">av</span><span class="plain">-</span><span class="element">&gt;av_package</span><span class="plain">, </span><span class="identifier">av</span><span class="plain">-</span><span class="element">&gt;name</span><span class="plain">);</span>
<span class="reserved">packaging_state</span><span class="plain"> </span><span class="identifier">save</span><span class="plain"> = </span><span class="functiontext">Packaging::enter_home_of</span><span class="plain">(</span><span class="identifier">av</span><span class="plain">-</span><span class="element">&gt;av_iname</span><span class="plain">);</span>
<span class="functiontext">Emit::named_numeric_constant</span><span class="plain">(</span><span class="identifier">av</span><span class="plain">-</span><span class="element">&gt;av_iname</span><span class="plain">, (</span><span class="identifier">inter_t</span><span class="plain">) </span><span class="identifier">av</span><span class="plain">-&gt;</span><span class="identifier">allocation_id</span><span class="plain">);</span>
<span class="functiontext">Packaging::exit</span><span class="plain">(</span><span class="identifier">save</span><span class="plain">);</span>

View file

@ -726,10 +726,8 @@ do.
<pre class="display">
<span class="reserved">inter_name</span><span class="plain"> *</span><span class="functiontext">Rules::shell_iname</span><span class="plain">(</span><span class="reserved">rule</span><span class="plain"> *</span><span class="identifier">R</span><span class="plain">) {</span>
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">R</span><span class="plain">-</span><span class="element">&gt;shell_routine_iname</span><span class="plain"> == </span><span class="identifier">NULL</span><span class="plain">) {</span>
<span class="identifier">R</span><span class="plain">-</span><span class="element">&gt;shell_routine_iname</span><span class="plain"> =</span>
<span class="functiontext">Packaging::function</span><span class="plain">(</span><span class="functiontext">InterNames::one_off</span><span class="plain">(</span><span class="identifier">I</span><span class="string">"shell_fn"</span><span class="plain">, </span><span class="identifier">R</span><span class="plain">-</span><span class="element">&gt;rule_package</span><span class="plain">), </span><span class="identifier">R</span><span class="plain">-</span><span class="element">&gt;rule_package</span><span class="plain">, </span><span class="functiontext">InterNames::new</span><span class="plain">(</span><span class="constant">RULE_SHELL_ROUTINE_INAMEF</span><span class="plain">));</span>
<span class="plain">}</span>
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">R</span><span class="plain">-</span><span class="element">&gt;shell_routine_iname</span><span class="plain"> == </span><span class="identifier">NULL</span><span class="plain">)</span>
<span class="identifier">R</span><span class="plain">-</span><span class="element">&gt;shell_routine_iname</span><span class="plain"> = </span><span class="functiontext">Hierarchy::make_iname_in</span><span class="plain">(</span><span class="constant">SHELL_FN_HL</span><span class="plain">, </span><span class="identifier">R</span><span class="plain">-</span><span class="element">&gt;rule_package</span><span class="plain">);</span>
<span class="reserved">return</span><span class="plain"> </span><span class="identifier">R</span><span class="plain">-</span><span class="element">&gt;shell_routine_iname</span><span class="plain">;</span>
<span class="plain">}</span>

View file

@ -66,10 +66,7 @@ storage: the following simple structures are used for this.
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">Chronology::compile_past_action_pattern</span><span class="plain">(</span><span class="reserved">value_holster</span><span class="plain"> *</span><span class="identifier">VH</span><span class="plain">, </span><span class="identifier">time_period</span><span class="plain"> </span><span class="identifier">duration</span><span class="plain">, </span><span class="identifier">action_pattern</span><span class="plain"> </span><span class="identifier">ap</span><span class="plain">) {</span>
<span class="reserved">char</span><span class="plain"> *</span><span class="identifier">op</span><span class="plain"> = </span><span class="identifier">duration</span><span class="plain">.</span><span class="identifier">inform6_operator</span><span class="plain">;</span>
<span class="reserved">package_request</span><span class="plain"> *</span><span class="identifier">PR</span><span class="plain"> = </span><span class="functiontext">Hierarchy::local_package</span><span class="plain">(</span><span class="constant">PAST_ACTION_PATTERNS_HAP</span><span class="plain">);</span>
<span class="reserved">inter_name</span><span class="plain"> *</span><span class="identifier">pta_routine</span><span class="plain"> = </span><span class="functiontext">Packaging::function</span><span class="plain">(</span>
<span class="functiontext">InterNames::one_off</span><span class="plain">(</span><span class="identifier">I</span><span class="string">"pap_fn"</span><span class="plain">, </span><span class="identifier">PR</span><span class="plain">),</span>
<span class="identifier">PR</span><span class="plain">,</span>
<span class="functiontext">InterNames::new</span><span class="plain">(</span><span class="constant">PAST_ACTION_ROUTINE_INAMEF</span><span class="plain">));</span>
<span class="reserved">inter_name</span><span class="plain"> *</span><span class="identifier">pta_routine</span><span class="plain"> = </span><span class="functiontext">Hierarchy::make_iname_in</span><span class="plain">(</span><span class="constant">PAP_FN_HL</span><span class="plain">, </span><span class="identifier">PR</span><span class="plain">);</span>
<span class="identifier">LOGIF</span><span class="plain">(</span><span class="identifier">TIME_PERIODS</span><span class="plain">,</span>
<span class="string">"Chronology::compile_past_action_pattern on: $A\</span><span class="plain">n</span><span class="string">at: $t\</span><span class="plain">n</span><span class="string">"</span><span class="plain">, &amp;</span><span class="identifier">ap</span><span class="plain">, &amp;</span><span class="identifier">duration</span><span class="plain">);</span>
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">PL::Actions::Patterns::makes_callings</span><span class="plain">(&amp;</span><span class="identifier">ap</span><span class="plain">)) {</span>

View file

@ -36,9 +36,9 @@ an I6 routine. Sometimes that's in order to define a phrase, but often not.
<p class="inwebparagraph"></p>
<p class="endnote">The function Routines::begin is used in 4/am (<a href="4-am.html#SP43">&#167;43</a>), 5/lp (<a href="5-lp.html#SP27">&#167;27</a>), 5/nv (<a href="5-nv.html#SP16">&#167;16</a>), 6/bp (<a href="6-bp.html#SP33">&#167;33</a>), 6/rlt (<a href="6-rlt.html#SP15">&#167;15</a>, <a href="6-rlt.html#SP15_2">&#167;15.2</a>, <a href="6-rlt.html#SP17">&#167;17</a>, <a href="6-rlt.html#SP29_1">&#167;29.1</a>, <a href="6-rlt.html#SP29_2">&#167;29.2</a>, <a href="6-rlt.html#SP29_3">&#167;29.3</a>, <a href="6-rlt.html#SP29_4">&#167;29.4</a>, <a href="6-rlt.html#SP29_5">&#167;29.5</a>, <a href="6-rlt.html#SP29_6">&#167;29.6</a>, <a href="6-rlt.html#SP30">&#167;30</a>), 6/nv (<a href="6-nv.html#SP18_1">&#167;18.1</a>, <a href="6-nv.html#SP18_2">&#167;18.2</a>), 8/ef (<a href="8-ef.html#SP19">&#167;19</a>), 12/cdp (<a href="12-cdp.html#SP2_1">&#167;2.1</a>), 13/rsfk (<a href="13-rsfk.html#SP16_3">&#167;16.3</a>, <a href="13-rsfk.html#SP26_1">&#167;26.1</a>, <a href="13-rsfk.html#SP26_2">&#167;26.2</a>, <a href="13-rsfk.html#SP26_3">&#167;26.3</a>, <a href="13-rsfk.html#SP26_4">&#167;26.4</a>, <a href="13-rsfk.html#SP26_5">&#167;26.5</a>, <a href="13-rsfk.html#SP26_6_1">&#167;26.6.1</a>, <a href="13-rsfk.html#SP26_6_2">&#167;26.6.2</a>, <a href="13-rsfk.html#SP26_6_3">&#167;26.6.3</a>, <a href="13-rsfk.html#SP26_6_4">&#167;26.6.4</a>, <a href="13-rsfk.html#SP26_6_5">&#167;26.6.5</a>, <a href="13-rsfk.html#SP26_6_6">&#167;26.6.6</a>, <a href="13-rsfk.html#SP27">&#167;27</a>), 15/ma (<a href="15-ma.html#SP13">&#167;13</a>), 17/tl (<a href="17-tl.html#SP14_2">&#167;14.2</a>), 17/ts (<a href="17-ts.html#SP11">&#167;11</a>), 17/rs (<a href="17-rs.html#SP6_1">&#167;6.1</a>, <a href="17-rs.html#SP6_2">&#167;6.2</a>, <a href="17-rs.html#SP7_2">&#167;7.2</a>), 19/tc (<a href="19-tc.html#SP8">&#167;8</a>), 19/rsft (<a href="19-rsft.html#SP2">&#167;2</a>), 20/eq (<a href="20-eq.html#SP43">&#167;43</a>), 21/rl (<a href="21-rl.html#SP20">&#167;20</a>, <a href="21-rl.html#SP22_1">&#167;22.1</a>), 21/rb (<a href="21-rb.html#SP23">&#167;23</a>), 21/rl2 (<a href="21-rl2.html#SP14_1">&#167;14.1</a>), 21/fao (<a href="21-fao.html#SP10">&#167;10</a>), 21/sv (<a href="21-sv.html#SP3">&#167;3</a>), 22/pav (<a href="22-pav.html#SP9_2">&#167;9.2</a>), 24/ch (<a href="24-ch.html#SP6">&#167;6</a>, <a href="24-ch.html#SP7">&#167;7</a>), 26/uo (<a href="26-uo.html#SP21_1">&#167;21.1</a>, <a href="26-uo.html#SP21_2">&#167;21.2</a>), 26/lt (<a href="26-lt.html#SP4_1">&#167;4.1</a>), 26/ts (<a href="26-ts.html#SP10">&#167;10</a>, <a href="26-ts.html#SP11">&#167;11</a>).</p>
<p class="endnote">The function Routines::begin is used in 4/am (<a href="4-am.html#SP34_2">&#167;34.2</a>, <a href="4-am.html#SP43">&#167;43</a>), 5/lp (<a href="5-lp.html#SP27">&#167;27</a>), 5/nv (<a href="5-nv.html#SP16">&#167;16</a>), 6/bp (<a href="6-bp.html#SP33">&#167;33</a>), 6/rlt (<a href="6-rlt.html#SP15">&#167;15</a>, <a href="6-rlt.html#SP15_2">&#167;15.2</a>, <a href="6-rlt.html#SP17">&#167;17</a>, <a href="6-rlt.html#SP29_1">&#167;29.1</a>, <a href="6-rlt.html#SP29_2">&#167;29.2</a>, <a href="6-rlt.html#SP29_3">&#167;29.3</a>, <a href="6-rlt.html#SP29_4">&#167;29.4</a>, <a href="6-rlt.html#SP29_5">&#167;29.5</a>, <a href="6-rlt.html#SP29_6">&#167;29.6</a>, <a href="6-rlt.html#SP30">&#167;30</a>), 6/nv (<a href="6-nv.html#SP18_1">&#167;18.1</a>, <a href="6-nv.html#SP18_2">&#167;18.2</a>), 8/ef (<a href="8-ef.html#SP19">&#167;19</a>), 12/cdp (<a href="12-cdp.html#SP2_1">&#167;2.1</a>), 13/rsfk (<a href="13-rsfk.html#SP16_3">&#167;16.3</a>, <a href="13-rsfk.html#SP26_1">&#167;26.1</a>, <a href="13-rsfk.html#SP26_2">&#167;26.2</a>, <a href="13-rsfk.html#SP26_3">&#167;26.3</a>, <a href="13-rsfk.html#SP26_4">&#167;26.4</a>, <a href="13-rsfk.html#SP26_5">&#167;26.5</a>, <a href="13-rsfk.html#SP26_6_1">&#167;26.6.1</a>, <a href="13-rsfk.html#SP26_6_2">&#167;26.6.2</a>, <a href="13-rsfk.html#SP26_6_3">&#167;26.6.3</a>, <a href="13-rsfk.html#SP26_6_4">&#167;26.6.4</a>, <a href="13-rsfk.html#SP26_6_5">&#167;26.6.5</a>, <a href="13-rsfk.html#SP26_6_6">&#167;26.6.6</a>, <a href="13-rsfk.html#SP27">&#167;27</a>), 15/ma (<a href="15-ma.html#SP13">&#167;13</a>), 17/tl (<a href="17-tl.html#SP14_2">&#167;14.2</a>), 17/ts (<a href="17-ts.html#SP11">&#167;11</a>), 17/rs (<a href="17-rs.html#SP6_1">&#167;6.1</a>, <a href="17-rs.html#SP6_2">&#167;6.2</a>, <a href="17-rs.html#SP7_2">&#167;7.2</a>), 19/tc (<a href="19-tc.html#SP8">&#167;8</a>), 19/rsft (<a href="19-rsft.html#SP2">&#167;2</a>), 20/eq (<a href="20-eq.html#SP43">&#167;43</a>), 21/rl (<a href="21-rl.html#SP20">&#167;20</a>, <a href="21-rl.html#SP22_1">&#167;22.1</a>), 21/rb (<a href="21-rb.html#SP23">&#167;23</a>), 21/rl2 (<a href="21-rl2.html#SP14_1">&#167;14.1</a>), 21/fao (<a href="21-fao.html#SP10">&#167;10</a>), 21/sv (<a href="21-sv.html#SP3">&#167;3</a>), 22/pav (<a href="22-pav.html#SP9_2">&#167;9.2</a>), 24/ch (<a href="24-ch.html#SP6">&#167;6</a>, <a href="24-ch.html#SP7">&#167;7</a>), 26/uo (<a href="26-uo.html#SP21_1">&#167;21.1</a>, <a href="26-uo.html#SP21_2">&#167;21.2</a>), 26/lt (<a href="26-lt.html#SP4_1">&#167;4.1</a>), 26/ts (<a href="26-ts.html#SP10">&#167;10</a>, <a href="26-ts.html#SP11">&#167;11</a>).</p>
<p class="endnote">The function Routines::begin_in_current_package is used in 4/am (<a href="4-am.html#SP34_2">&#167;34.2</a>), 21/rb (<a href="21-rb.html#SP24_1_1">&#167;24.1.1</a>).</p>
<p class="endnote">The function Routines::begin_in_current_package is used in 21/rb (<a href="21-rb.html#SP24_1_1">&#167;24.1.1</a>).</p>
<p class="inwebparagraph"><a id="SP2"></a><b>&#167;2. </b>During the time when we're compiling the body of the routine,
we need to keep track of:
@ -133,8 +133,11 @@ create a new nonphrasal stack frame.
<span class="reserved">if</span><span class="plain"> (</span><span class="functiontext">Packaging::houseed_in_function</span><span class="plain">(</span><span class="identifier">public_name</span><span class="plain">)) {</span>
<span class="identifier">kernel_name</span><span class="plain"> = </span><span class="functiontext">InterNames::one_off</span><span class="plain">(</span><span class="identifier">I</span><span class="string">"kernel"</span><span class="plain">, </span><span class="identifier">public_name</span><span class="plain">-</span><span class="element">&gt;eventual_owner</span><span class="plain">);</span>
<span class="identifier">Inter::Symbols::set_flag</span><span class="plain">(</span><span class="functiontext">InterNames::to_symbol</span><span class="plain">(</span><span class="identifier">kernel_name</span><span class="plain">), </span><span class="identifier">MAKE_NAME_UNIQUE</span><span class="plain">);</span>
<span class="plain">} </span><span class="reserved">else</span>
<span class="plain">} </span><span class="reserved">else</span><span class="plain"> {</span>
<span class="identifier">kernel_name</span><span class="plain"> = </span><span class="functiontext">InterNames::new_in</span><span class="plain">(</span><span class="constant">KERNEL_ROUTINE_INAMEF</span><span class="plain">, </span><span class="functiontext">InterNames::to_module</span><span class="plain">(</span><span class="identifier">public_name</span><span class="plain">));</span>
<span class="identifier">LOG</span><span class="plain">(</span><span class="string">"PN is %n\</span><span class="plain">n</span><span class="string">"</span><span class="plain">, </span><span class="identifier">public_name</span><span class="plain">);</span>
<span class="identifier">internal_error</span><span class="plain">(</span><span class="string">"Routine not in function"</span><span class="plain">);</span>
<span class="plain">}</span>
<span class="functiontext">Packaging::house_with</span><span class="plain">(</span><span class="identifier">kernel_name</span><span class="plain">, </span><span class="identifier">public_name</span><span class="plain">);</span>
<span class="plain">}</span>

View file

@ -229,34 +229,108 @@
<span class="identifier">LOG</span><span class="plain">(</span><span class="string">"Have type: $3, required: $3\</span><span class="plain">n</span><span class="string">"</span><span class="plain">, </span><span class="identifier">P</span><span class="plain">-</span><span class="element">&gt;eventual_type</span><span class="plain">, </span><span class="identifier">nrl</span><span class="plain">-</span><span class="element">&gt;requirements.any_package_of_this_type</span><span class="plain">);</span>
<span class="identifier">internal_error</span><span class="plain">(</span><span class="string">"constant in wrong superpackage"</span><span class="plain">);</span>
<span class="plain">}</span>
<span class="reserved">inter_name</span><span class="plain"> *</span><span class="identifier">iname</span><span class="plain"> = </span><span class="identifier">NULL</span><span class="plain">;</span>
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">nrl</span><span class="plain">-</span><span class="element">&gt;trans.translate_to</span><span class="plain">) {</span>
<span class="identifier">text_stream</span><span class="plain"> *</span><span class="identifier">T</span><span class="plain"> = </span><span class="identifier">nrl</span><span class="plain">-</span><span class="element">&gt;trans.translate_to</span><span class="plain">;</span>
&lt;<span class="cwebmacro">Make the actual iname</span> <span class="cwebmacronumber">1.1</span>&gt;<span class="plain">;</span>
<span class="plain">} </span><span class="reserved">else</span><span class="plain"> </span><span class="reserved">if</span><span class="plain"> (</span><span class="identifier">nrl</span><span class="plain">-</span><span class="element">&gt;trans.generate_from</span><span class="plain"> &gt;= 0) {</span>
<span class="identifier">TEMPORARY_TEXT</span><span class="plain">(</span><span class="identifier">T</span><span class="plain">);</span>
<span class="reserved">inter_name</span><span class="plain"> *</span><span class="identifier">temp_iname</span><span class="plain"> = </span><span class="identifier">NULL</span><span class="plain">;</span>
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">nrl</span><span class="plain">-</span><span class="element">&gt;trans.localise</span><span class="plain">)</span>
<span class="identifier">temp_iname</span><span class="plain"> = </span><span class="functiontext">InterNames::new_in</span><span class="plain">(</span><span class="identifier">nrl</span><span class="plain">-</span><span class="element">&gt;trans.generate_from</span><span class="plain">, </span><span class="identifier">C</span><span class="plain">);</span>
<span class="reserved">else</span>
<span class="identifier">temp_iname</span><span class="plain"> = </span><span class="functiontext">InterNames::new</span><span class="plain">(</span><span class="identifier">nrl</span><span class="plain">-</span><span class="element">&gt;trans.generate_from</span><span class="plain">);</span>
<span class="identifier">WRITE_TO</span><span class="plain">(</span><span class="identifier">T</span><span class="plain">, </span><span class="string">"%n"</span><span class="plain">, </span><span class="identifier">temp_iname</span><span class="plain">);</span>
&lt;<span class="cwebmacro">Make the actual iname</span> <span class="cwebmacronumber">1.1</span>&gt;<span class="plain">;</span>
<span class="identifier">DISCARD_TEXT</span><span class="plain">(</span><span class="identifier">T</span><span class="plain">);</span>
<span class="plain">} </span><span class="reserved">else</span><span class="plain"> {</span>
<span class="identifier">text_stream</span><span class="plain"> *</span><span class="identifier">T</span><span class="plain"> = </span><span class="identifier">NULL</span><span class="plain">;</span>
&lt;<span class="cwebmacro">Make the actual iname</span> <span class="cwebmacronumber">1.1</span>&gt;<span class="plain">;</span>
<span class="plain">}</span>
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">nrl</span><span class="plain">-</span><span class="element">&gt;trans.then_make_unique</span><span class="plain">)</span>
<span class="identifier">Inter::Symbols::set_flag</span><span class="plain">(</span><span class="functiontext">InterNames::to_symbol</span><span class="plain">(</span><span class="identifier">iname</span><span class="plain">), </span><span class="identifier">MAKE_NAME_UNIQUE</span><span class="plain">);</span>
<span class="reserved">return</span><span class="plain"> </span><span class="identifier">iname</span><span class="plain">;</span>
<span class="plain">}</span>
</pre>
<p class="inwebparagraph"></p>
<p class="endnote">The function HierarchyLocations::blank is used in 27/hr (<a href="27-hr.html#SP1">&#167;1</a>).</p>
<p class="endnote">The function HierarchyLocations::local_submodule is used in 27/hr (<a href="27-hr.html#SP1_4">&#167;1.4</a>, <a href="27-hr.html#SP1_6">&#167;1.6</a>, <a href="27-hr.html#SP1_8">&#167;1.8</a>, <a href="27-hr.html#SP1_12">&#167;1.12</a>, <a href="27-hr.html#SP1_14">&#167;1.14</a>, <a href="27-hr.html#SP1_16">&#167;1.16</a>, <a href="27-hr.html#SP1_20">&#167;1.20</a>, <a href="27-hr.html#SP1_22">&#167;1.22</a>, <a href="27-hr.html#SP1_24">&#167;1.24</a>, <a href="27-hr.html#SP1_28">&#167;1.28</a>, <a href="27-hr.html#SP1_30">&#167;1.30</a>, <a href="27-hr.html#SP1_32">&#167;1.32</a>, <a href="27-hr.html#SP1_34">&#167;1.34</a>, <a href="27-hr.html#SP1_36">&#167;1.36</a>, <a href="27-hr.html#SP1_38">&#167;1.38</a>, <a href="27-hr.html#SP1_40">&#167;1.40</a>, <a href="27-hr.html#SP1_42">&#167;1.42</a>, <a href="27-hr.html#SP1_44">&#167;1.44</a>).</p>
<p class="endnote">The function HierarchyLocations::generic_submodule is used in 27/hr (<a href="27-hr.html#SP1_2">&#167;1.2</a>, <a href="27-hr.html#SP1_4">&#167;1.4</a>, <a href="27-hr.html#SP1_14">&#167;1.14</a>, <a href="27-hr.html#SP1_28">&#167;1.28</a>, <a href="27-hr.html#SP1_36">&#167;1.36</a>, <a href="27-hr.html#SP1_38">&#167;1.38</a>).</p>
<p class="endnote">The function HierarchyLocations::synoptic_submodule is used in 27/hr (<a href="27-hr.html#SP1_2">&#167;1.2</a>, <a href="27-hr.html#SP1_4">&#167;1.4</a>, <a href="27-hr.html#SP1_6">&#167;1.6</a>, <a href="27-hr.html#SP1_10">&#167;1.10</a>, <a href="27-hr.html#SP1_12">&#167;1.12</a>, <a href="27-hr.html#SP1_18">&#167;1.18</a>, <a href="27-hr.html#SP1_22">&#167;1.22</a>, <a href="27-hr.html#SP1_26">&#167;1.26</a>, <a href="27-hr.html#SP1_28">&#167;1.28</a>, <a href="27-hr.html#SP1_32">&#167;1.32</a>, <a href="27-hr.html#SP1_34">&#167;1.34</a>, <a href="27-hr.html#SP1_36">&#167;1.36</a>, <a href="27-hr.html#SP1_38">&#167;1.38</a>, <a href="27-hr.html#SP1_40">&#167;1.40</a>, <a href="27-hr.html#SP1_42">&#167;1.42</a>).</p>
<p class="endnote">The function HierarchyLocations::any_package_of_type is used in 27/hr (<a href="27-hr.html#SP1_4">&#167;1.4</a>, <a href="27-hr.html#SP1_6">&#167;1.6</a>, <a href="27-hr.html#SP1_8">&#167;1.8</a>, <a href="27-hr.html#SP1_12">&#167;1.12</a>, <a href="27-hr.html#SP1_14">&#167;1.14</a>, <a href="27-hr.html#SP1_16">&#167;1.16</a>, <a href="27-hr.html#SP1_20">&#167;1.20</a>, <a href="27-hr.html#SP1_22">&#167;1.22</a>, <a href="27-hr.html#SP1_24">&#167;1.24</a>, <a href="27-hr.html#SP1_28">&#167;1.28</a>, <a href="27-hr.html#SP1_30">&#167;1.30</a>, <a href="27-hr.html#SP1_32">&#167;1.32</a>, <a href="27-hr.html#SP1_34">&#167;1.34</a>, <a href="27-hr.html#SP1_36">&#167;1.36</a>, <a href="27-hr.html#SP1_38">&#167;1.38</a>, <a href="27-hr.html#SP1_40">&#167;1.40</a>, <a href="27-hr.html#SP1_42">&#167;1.42</a>, <a href="27-hr.html#SP1_44">&#167;1.44</a>).</p>
<p class="endnote">The function HierarchyLocations::this_package is used in 27/hr (<a href="27-hr.html#SP1_48">&#167;1.48</a>, <a href="27-hr.html#SP5">&#167;5</a>).</p>
<p class="endnote">The function HierarchyLocations::this_exotic_package is used in 27/hr (<a href="27-hr.html#SP1_46">&#167;1.46</a>).</p>
<p class="endnote">The function HierarchyLocations::new appears nowhere else.</p>
<p class="endnote">The function HierarchyLocations::con is used in 27/hr (<a href="27-hr.html#SP1_2">&#167;1.2</a>, <a href="27-hr.html#SP1_4">&#167;1.4</a>, <a href="27-hr.html#SP1_6">&#167;1.6</a>, <a href="27-hr.html#SP1_8">&#167;1.8</a>, <a href="27-hr.html#SP1_10">&#167;1.10</a>, <a href="27-hr.html#SP1_12">&#167;1.12</a>, <a href="27-hr.html#SP1_14">&#167;1.14</a>, <a href="27-hr.html#SP1_20">&#167;1.20</a>, <a href="27-hr.html#SP1_22">&#167;1.22</a>, <a href="27-hr.html#SP1_26">&#167;1.26</a>, <a href="27-hr.html#SP1_28">&#167;1.28</a>, <a href="27-hr.html#SP1_30">&#167;1.30</a>, <a href="27-hr.html#SP1_32">&#167;1.32</a>, <a href="27-hr.html#SP1_34">&#167;1.34</a>, <a href="27-hr.html#SP1_36">&#167;1.36</a>, <a href="27-hr.html#SP1_38">&#167;1.38</a>, <a href="27-hr.html#SP1_40">&#167;1.40</a>, <a href="27-hr.html#SP1_42">&#167;1.42</a>, <a href="27-hr.html#SP1_44">&#167;1.44</a>, <a href="27-hr.html#SP1_46">&#167;1.46</a>, <a href="27-hr.html#SP1_48">&#167;1.48</a>, <a href="27-hr.html#SP5">&#167;5</a>).</p>
<p class="endnote">The function HierarchyLocations::package is used in 27/hr (<a href="27-hr.html#SP1_4">&#167;1.4</a>, <a href="27-hr.html#SP1_6">&#167;1.6</a>).</p>
<p class="endnote">The function HierarchyLocations::make_as is used in 27/hr (<a href="27-hr.html#SP5">&#167;5</a>).</p>
<p class="endnote">The function HierarchyLocations::func is used in 27/hr (<a href="27-hr.html#SP1_4">&#167;1.4</a>, <a href="27-hr.html#SP1_6">&#167;1.6</a>, <a href="27-hr.html#SP1_8">&#167;1.8</a>, <a href="27-hr.html#SP1_12">&#167;1.12</a>, <a href="27-hr.html#SP1_14">&#167;1.14</a>, <a href="27-hr.html#SP1_16">&#167;1.16</a>, <a href="27-hr.html#SP1_18">&#167;1.18</a>, <a href="27-hr.html#SP1_22">&#167;1.22</a>, <a href="27-hr.html#SP1_24">&#167;1.24</a>, <a href="27-hr.html#SP1_26">&#167;1.26</a>, <a href="27-hr.html#SP1_28">&#167;1.28</a>, <a href="27-hr.html#SP1_30">&#167;1.30</a>, <a href="27-hr.html#SP1_32">&#167;1.32</a>, <a href="27-hr.html#SP1_34">&#167;1.34</a>, <a href="27-hr.html#SP1_36">&#167;1.36</a>, <a href="27-hr.html#SP1_38">&#167;1.38</a>, <a href="27-hr.html#SP1_40">&#167;1.40</a>, <a href="27-hr.html#SP1_42">&#167;1.42</a>, <a href="27-hr.html#SP1_46">&#167;1.46</a>).</p>
<p class="endnote">The function HierarchyLocations::datum is used in 27/hr (<a href="27-hr.html#SP1_10">&#167;1.10</a>).</p>
<p class="endnote">The function HierarchyLocations::create_nrls is used in <a href="#SP2">&#167;2</a>.</p>
<p class="endnote">The function HierarchyLocations::index appears nowhere else.</p>
<p class="endnote">The function HierarchyLocations::find is used in 27/hr (<a href="27-hr.html#SP5">&#167;5</a>).</p>
<p class="endnote">The function HierarchyLocations::find_by_name is used in 27/hr (<a href="27-hr.html#SP5">&#167;5</a>).</p>
<p class="endnote">The function HierarchyLocations::function appears nowhere else.</p>
<p class="endnote">The function HierarchyLocations::nrl_to_iname appears nowhere else.</p>
<p class="endnote">The function HierarchyLocations::find_in_package is used in 27/hr (<a href="27-hr.html#SP5">&#167;5</a>).</p>
<p class="endnote">The structure location_requirement is accessed in 27/hr and here.</p>
<p class="endnote">The structure named_resource_location is private to this section.</p>
<p class="inwebparagraph"><a id="SP1_1"></a><b>&#167;1.1. </b><code class="display">
&lt;<span class="cwebmacrodefn">Make the actual iname</span> <span class="cwebmacronumber">1.1</span>&gt; =
</code></p>
<pre class="displaydefn">
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">Str::len</span><span class="plain">(</span><span class="identifier">nrl</span><span class="plain">-</span><span class="element">&gt;function_package_name</span><span class="plain">) &gt; 0) {</span>
<span class="identifier">iname</span><span class="plain"> = </span><span class="functiontext">Packaging::function_text</span><span class="plain">(</span>
<span class="functiontext">InterNames::one_off</span><span class="plain">(</span><span class="identifier">nrl</span><span class="plain">-</span><span class="element">&gt;function_package_name</span><span class="plain">, </span><span class="identifier">P</span><span class="plain">),</span>
<span class="identifier">P</span><span class="plain">,</span>
<span class="identifier">NULL</span><span class="plain">);</span>
<span class="plain">} </span><span class="reserved">else</span><span class="plain"> {</span>
<span class="identifier">iname</span><span class="plain"> = </span><span class="functiontext">InterNames::one_off</span><span class="plain">(</span><span class="identifier">nrl</span><span class="plain">-</span><span class="element">&gt;access_name</span><span class="plain">, </span><span class="identifier">P</span><span class="plain">);</span>
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">Str::len</span><span class="plain">(</span><span class="identifier">nrl</span><span class="plain">-</span><span class="element">&gt;access_name</span><span class="plain">) == 0) {</span>
<span class="identifier">LOG</span><span class="plain">(</span><span class="string">"********** %S\</span><span class="plain">n</span><span class="string">"</span><span class="plain">, </span><span class="identifier">T</span><span class="plain">);</span>
<span class="identifier">iname</span><span class="plain"> = </span><span class="functiontext">InterNames::one_off</span><span class="plain">(</span><span class="identifier">T</span><span class="plain">, </span><span class="identifier">P</span><span class="plain">);</span>
<span class="plain">} </span><span class="reserved">else</span>
<span class="identifier">iname</span><span class="plain"> = </span><span class="functiontext">InterNames::one_off</span><span class="plain">(</span><span class="identifier">nrl</span><span class="plain">-</span><span class="element">&gt;access_name</span><span class="plain">, </span><span class="identifier">P</span><span class="plain">);</span>
<span class="plain">}</span>
<span class="reserved">if</span><span class="plain"> (!</span><span class="identifier">Wordings::empty</span><span class="plain">(</span><span class="identifier">W</span><span class="plain">)) </span><span class="functiontext">InterNames::attach_memo</span><span class="plain">(</span><span class="identifier">iname</span><span class="plain">, </span><span class="identifier">W</span><span class="plain">);</span>
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">nrl</span><span class="plain">-</span><span class="element">&gt;trans.translate_to</span><span class="plain">)</span>
<span class="functiontext">InterNames::translate</span><span class="plain">(</span><span class="identifier">iname</span><span class="plain">, </span><span class="identifier">nrl</span><span class="plain">-</span><span class="element">&gt;trans.translate_to</span><span class="plain">);</span>
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">nrl</span><span class="plain">-</span><span class="element">&gt;trans.then_make_unique</span><span class="plain">)</span>
<span class="identifier">Inter::Symbols::set_flag</span><span class="plain">(</span><span class="functiontext">InterNames::to_symbol</span><span class="plain">(</span><span class="identifier">iname</span><span class="plain">), </span><span class="identifier">MAKE_NAME_UNIQUE</span><span class="plain">);</span>
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">nrl</span><span class="plain">-</span><span class="element">&gt;trans.generate_from</span><span class="plain"> &gt;= 0) {</span>
<span class="reserved">inter_name</span><span class="plain"> *</span><span class="identifier">temp_iname</span><span class="plain"> = </span><span class="identifier">NULL</span><span class="plain">;</span>
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">nrl</span><span class="plain">-</span><span class="element">&gt;trans.localise</span><span class="plain">)</span>
<span class="identifier">temp_iname</span><span class="plain"> = </span><span class="functiontext">InterNames::new_in</span><span class="plain">(</span><span class="identifier">nrl</span><span class="plain">-</span><span class="element">&gt;trans.generate_from</span><span class="plain">, </span><span class="identifier">C</span><span class="plain">);</span>
<span class="reserved">else</span>
<span class="identifier">temp_iname</span><span class="plain"> = </span><span class="functiontext">InterNames::new</span><span class="plain">(</span><span class="identifier">nrl</span><span class="plain">-</span><span class="element">&gt;trans.generate_from</span><span class="plain">);</span>
<span class="identifier">TEMPORARY_TEXT</span><span class="plain">(</span><span class="identifier">T</span><span class="plain">);</span>
<span class="identifier">WRITE_TO</span><span class="plain">(</span><span class="identifier">T</span><span class="plain">, </span><span class="string">"%n"</span><span class="plain">, </span><span class="identifier">temp_iname</span><span class="plain">);</span>
<span class="functiontext">InterNames::translate</span><span class="plain">(</span><span class="identifier">iname</span><span class="plain">, </span><span class="identifier">T</span><span class="plain">);</span>
<span class="identifier">DISCARD_TEXT</span><span class="plain">(</span><span class="identifier">T</span><span class="plain">);</span>
<span class="plain">}</span>
<span class="reserved">return</span><span class="plain"> </span><span class="identifier">iname</span><span class="plain">;</span>
<span class="plain">}</span>
<span class="reserved">if</span><span class="plain"> ((</span><span class="identifier">Str::len</span><span class="plain">(</span><span class="identifier">T</span><span class="plain">) &gt; 0) &amp;&amp; (</span><span class="identifier">nrl</span><span class="plain">-</span><span class="element">&gt;access_name</span><span class="plain">)) </span><span class="functiontext">InterNames::translate</span><span class="plain">(</span><span class="identifier">iname</span><span class="plain">, </span><span class="identifier">T</span><span class="plain">);</span>
</pre>
<p class="inwebparagraph"></p>
<p class="endnote">This code is used in <a href="#SP1">&#167;1</a> (three times).</p>
<p class="inwebparagraph"><a id="SP2"></a><b>&#167;2. </b></p>
<pre class="display">
<span class="reserved">package_request</span><span class="plain"> *</span><span class="functiontext">HierarchyLocations::package_in_package</span><span class="plain">(</span><span class="reserved">int</span><span class="plain"> </span><span class="identifier">id</span><span class="plain">, </span><span class="reserved">package_request</span><span class="plain"> *</span><span class="identifier">P</span><span class="plain">) {</span>
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">nrls_created</span><span class="plain"> == </span><span class="identifier">FALSE</span><span class="plain">) </span><span class="functiontext">HierarchyLocations::create_nrls</span><span class="plain">();</span>
<span class="reserved">if</span><span class="plain"> ((</span><span class="identifier">id</span><span class="plain"> &lt; 0) || (</span><span class="identifier">id</span><span class="plain"> &gt;= </span><span class="constant">MAX_HL</span><span class="plain">) || (</span><span class="identifier">nrls_indexed_by_id</span><span class="plain">[</span><span class="identifier">id</span><span class="plain">] == </span><span class="identifier">NULL</span><span class="plain">))</span>
@ -271,53 +345,9 @@
<p class="inwebparagraph"></p>
<p class="endnote">The function HierarchyLocations::blank is used in 27/hr (<a href="27-hr.html#SP1">&#167;1</a>).</p>
<p class="endnote">The function HierarchyLocations::local_submodule is used in 27/hr (<a href="27-hr.html#SP1_4">&#167;1.4</a>, <a href="27-hr.html#SP1_6">&#167;1.6</a>, <a href="27-hr.html#SP1_8">&#167;1.8</a>, <a href="27-hr.html#SP1_12">&#167;1.12</a>, <a href="27-hr.html#SP1_14">&#167;1.14</a>, <a href="27-hr.html#SP1_16">&#167;1.16</a>, <a href="27-hr.html#SP1_20">&#167;1.20</a>, <a href="27-hr.html#SP1_22">&#167;1.22</a>, <a href="27-hr.html#SP1_24">&#167;1.24</a>, <a href="27-hr.html#SP1_28">&#167;1.28</a>, <a href="27-hr.html#SP1_30">&#167;1.30</a>, <a href="27-hr.html#SP1_32">&#167;1.32</a>, <a href="27-hr.html#SP1_34">&#167;1.34</a>, <a href="27-hr.html#SP1_36">&#167;1.36</a>, <a href="27-hr.html#SP1_38">&#167;1.38</a>, <a href="27-hr.html#SP1_40">&#167;1.40</a>, <a href="27-hr.html#SP1_42">&#167;1.42</a>, <a href="27-hr.html#SP1_44">&#167;1.44</a>).</p>
<p class="endnote">The function HierarchyLocations::generic_submodule is used in 27/hr (<a href="27-hr.html#SP1_2">&#167;1.2</a>, <a href="27-hr.html#SP1_4">&#167;1.4</a>, <a href="27-hr.html#SP1_14">&#167;1.14</a>, <a href="27-hr.html#SP1_28">&#167;1.28</a>, <a href="27-hr.html#SP1_36">&#167;1.36</a>, <a href="27-hr.html#SP1_38">&#167;1.38</a>).</p>
<p class="endnote">The function HierarchyLocations::synoptic_submodule is used in 27/hr (<a href="27-hr.html#SP1_2">&#167;1.2</a>, <a href="27-hr.html#SP1_4">&#167;1.4</a>, <a href="27-hr.html#SP1_6">&#167;1.6</a>, <a href="27-hr.html#SP1_10">&#167;1.10</a>, <a href="27-hr.html#SP1_12">&#167;1.12</a>, <a href="27-hr.html#SP1_18">&#167;1.18</a>, <a href="27-hr.html#SP1_22">&#167;1.22</a>, <a href="27-hr.html#SP1_26">&#167;1.26</a>, <a href="27-hr.html#SP1_28">&#167;1.28</a>, <a href="27-hr.html#SP1_32">&#167;1.32</a>, <a href="27-hr.html#SP1_34">&#167;1.34</a>, <a href="27-hr.html#SP1_36">&#167;1.36</a>, <a href="27-hr.html#SP1_38">&#167;1.38</a>, <a href="27-hr.html#SP1_40">&#167;1.40</a>, <a href="27-hr.html#SP1_42">&#167;1.42</a>).</p>
<p class="endnote">The function HierarchyLocations::any_package_of_type is used in 27/hr (<a href="27-hr.html#SP1_4">&#167;1.4</a>, <a href="27-hr.html#SP1_6">&#167;1.6</a>, <a href="27-hr.html#SP1_8">&#167;1.8</a>, <a href="27-hr.html#SP1_16">&#167;1.16</a>, <a href="27-hr.html#SP1_20">&#167;1.20</a>, <a href="27-hr.html#SP1_22">&#167;1.22</a>, <a href="27-hr.html#SP1_24">&#167;1.24</a>, <a href="27-hr.html#SP1_28">&#167;1.28</a>, <a href="27-hr.html#SP1_30">&#167;1.30</a>, <a href="27-hr.html#SP1_32">&#167;1.32</a>, <a href="27-hr.html#SP1_34">&#167;1.34</a>, <a href="27-hr.html#SP1_36">&#167;1.36</a>, <a href="27-hr.html#SP1_38">&#167;1.38</a>, <a href="27-hr.html#SP1_40">&#167;1.40</a>, <a href="27-hr.html#SP1_42">&#167;1.42</a>).</p>
<p class="endnote">The function HierarchyLocations::this_package is used in 27/hr (<a href="27-hr.html#SP1_48">&#167;1.48</a>, <a href="27-hr.html#SP5">&#167;5</a>).</p>
<p class="endnote">The function HierarchyLocations::this_exotic_package is used in 27/hr (<a href="27-hr.html#SP1_46">&#167;1.46</a>).</p>
<p class="endnote">The function HierarchyLocations::new appears nowhere else.</p>
<p class="endnote">The function HierarchyLocations::con is used in 27/hr (<a href="27-hr.html#SP1_2">&#167;1.2</a>, <a href="27-hr.html#SP1_4">&#167;1.4</a>, <a href="27-hr.html#SP1_6">&#167;1.6</a>, <a href="27-hr.html#SP1_8">&#167;1.8</a>, <a href="27-hr.html#SP1_10">&#167;1.10</a>, <a href="27-hr.html#SP1_12">&#167;1.12</a>, <a href="27-hr.html#SP1_14">&#167;1.14</a>, <a href="27-hr.html#SP1_20">&#167;1.20</a>, <a href="27-hr.html#SP1_22">&#167;1.22</a>, <a href="27-hr.html#SP1_26">&#167;1.26</a>, <a href="27-hr.html#SP1_28">&#167;1.28</a>, <a href="27-hr.html#SP1_30">&#167;1.30</a>, <a href="27-hr.html#SP1_32">&#167;1.32</a>, <a href="27-hr.html#SP1_34">&#167;1.34</a>, <a href="27-hr.html#SP1_36">&#167;1.36</a>, <a href="27-hr.html#SP1_38">&#167;1.38</a>, <a href="27-hr.html#SP1_40">&#167;1.40</a>, <a href="27-hr.html#SP1_42">&#167;1.42</a>, <a href="27-hr.html#SP1_46">&#167;1.46</a>, <a href="27-hr.html#SP1_48">&#167;1.48</a>, <a href="27-hr.html#SP5">&#167;5</a>).</p>
<p class="endnote">The function HierarchyLocations::package is used in 27/hr (<a href="27-hr.html#SP1_4">&#167;1.4</a>, <a href="27-hr.html#SP1_6">&#167;1.6</a>).</p>
<p class="endnote">The function HierarchyLocations::make_as is used in 27/hr (<a href="27-hr.html#SP5">&#167;5</a>).</p>
<p class="endnote">The function HierarchyLocations::func is used in 27/hr (<a href="27-hr.html#SP1_4">&#167;1.4</a>, <a href="27-hr.html#SP1_6">&#167;1.6</a>, <a href="27-hr.html#SP1_8">&#167;1.8</a>, <a href="27-hr.html#SP1_12">&#167;1.12</a>, <a href="27-hr.html#SP1_16">&#167;1.16</a>, <a href="27-hr.html#SP1_18">&#167;1.18</a>, <a href="27-hr.html#SP1_22">&#167;1.22</a>, <a href="27-hr.html#SP1_24">&#167;1.24</a>, <a href="27-hr.html#SP1_26">&#167;1.26</a>, <a href="27-hr.html#SP1_28">&#167;1.28</a>, <a href="27-hr.html#SP1_30">&#167;1.30</a>, <a href="27-hr.html#SP1_32">&#167;1.32</a>, <a href="27-hr.html#SP1_34">&#167;1.34</a>, <a href="27-hr.html#SP1_36">&#167;1.36</a>, <a href="27-hr.html#SP1_38">&#167;1.38</a>, <a href="27-hr.html#SP1_40">&#167;1.40</a>, <a href="27-hr.html#SP1_42">&#167;1.42</a>, <a href="27-hr.html#SP1_46">&#167;1.46</a>).</p>
<p class="endnote">The function HierarchyLocations::datum is used in 27/hr (<a href="27-hr.html#SP1_10">&#167;1.10</a>).</p>
<p class="endnote">The function HierarchyLocations::create_nrls appears nowhere else.</p>
<p class="endnote">The function HierarchyLocations::index appears nowhere else.</p>
<p class="endnote">The function HierarchyLocations::find is used in 27/hr (<a href="27-hr.html#SP5">&#167;5</a>).</p>
<p class="endnote">The function HierarchyLocations::find_by_name is used in 27/hr (<a href="27-hr.html#SP5">&#167;5</a>).</p>
<p class="endnote">The function HierarchyLocations::function appears nowhere else.</p>
<p class="endnote">The function HierarchyLocations::nrl_to_iname appears nowhere else.</p>
<p class="endnote">The function HierarchyLocations::find_in_package is used in 27/hr (<a href="27-hr.html#SP5">&#167;5</a>).</p>
<p class="endnote">The function HierarchyLocations::package_in_package is used in 27/hr (<a href="27-hr.html#SP5">&#167;5</a>).</p>
<p class="endnote">The structure location_requirement is accessed in 27/hr and here.</p>
<p class="endnote">The structure named_resource_location is private to this section.</p>
<p class="inwebparagraph"><a id="SP2"></a><b>&#167;2. </b></p>
<p class="inwebparagraph"><a id="SP3"></a><b>&#167;3. </b></p>
<pre class="definitions">
@ -388,7 +418,7 @@
<p class="endnote">The structure hierarchy_attachment_point is accessed in 8/ed and here.</p>
<p class="inwebparagraph"><a id="SP3"></a><b>&#167;3. </b></p>
<p class="inwebparagraph"><a id="SP4"></a><b>&#167;4. </b></p>
<pre class="display">
@ -412,7 +442,7 @@
<p class="inwebparagraph"></p>
<p class="endnote">The function HierarchyLocations::ptype is used in <a href="#SP1">&#167;1</a>, <a href="#SP2">&#167;2</a>.</p>
<p class="endnote">The function HierarchyLocations::ptype is used in <a href="#SP1">&#167;1</a>, <a href="#SP3">&#167;3</a>.</p>
<hr class="tocbar">
<ul class="toc"><li><a href="27-tr.html">Back to 'Translation'</a></li><li><a href="27-hr.html">Continue with 'Hierarchy'</a></li></ul><hr class="tocbar">

View file

@ -22,7 +22,6 @@
<span class="definitionkeyword">enum</span> <span class="constant">PROPOSITION_PR_COUNTER</span>
<span class="definitionkeyword">enum</span> <span class="constant">SUBSTITUTION_PR_COUNTER</span>
<span class="definitionkeyword">enum</span> <span class="constant">SUBSTITUTIONF_PR_COUNTER</span>
<span class="definitionkeyword">enum</span> <span class="constant">TASK_PR_COUNTER</span>
</pre>
<pre class="display">
@ -217,6 +216,7 @@
<pre class="definitions">
<span class="definitionkeyword">enum</span> <span class="constant">ACTIVITIES_HAP</span>
<span class="definitionkeyword">enum</span> <span class="constant">ACTIVITY_HL</span>
<span class="definitionkeyword">enum</span> <span class="constant">BEFORE_RB_HL</span>
<span class="definitionkeyword">enum</span> <span class="constant">FOR_RB_HL</span>
<span class="definitionkeyword">enum</span> <span class="constant">AFTER_RB_HL</span>
@ -238,6 +238,7 @@
<span class="reserved">location_requirement</span><span class="plain"> </span><span class="identifier">local_activities</span><span class="plain"> = </span><span class="functiontext">HierarchyLocations::local_submodule</span><span class="plain">(</span><span class="identifier">activities</span><span class="plain">);</span>
<span class="functiontext">HierarchyLocations::ap</span><span class="plain">(</span><span class="constant">ACTIVITIES_HAP</span><span class="plain">, </span><span class="identifier">local_activities</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"activity"</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"_activity"</span><span class="plain">);</span>
<span class="reserved">location_requirement</span><span class="plain"> </span><span class="identifier">in_activity</span><span class="plain"> = </span><span class="functiontext">HierarchyLocations::any_package_of_type</span><span class="plain">(</span><span class="identifier">I</span><span class="string">"_activity"</span><span class="plain">);</span>
<span class="functiontext">HierarchyLocations::con</span><span class="plain">(</span><span class="constant">ACTIVITY_HL</span><span class="plain">, </span><span class="identifier">NULL</span><span class="plain">, </span><span class="functiontext">Translation::generate</span><span class="plain">(</span><span class="constant">ACTIVITY_INAMEF</span><span class="plain">), </span><span class="identifier">in_activity</span><span class="plain">);</span>
<span class="functiontext">HierarchyLocations::package</span><span class="plain">(</span><span class="constant">BEFORE_RB_HL</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"before_rb"</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"_rulebook"</span><span class="plain">, </span><span class="identifier">in_activity</span><span class="plain">);</span>
<span class="functiontext">HierarchyLocations::package</span><span class="plain">(</span><span class="constant">FOR_RB_HL</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"for_rb"</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"_rulebook"</span><span class="plain">, </span><span class="identifier">in_activity</span><span class="plain">);</span>
<span class="functiontext">HierarchyLocations::package</span><span class="plain">(</span><span class="constant">AFTER_RB_HL</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"after_rb"</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"_rulebook"</span><span class="plain">, </span><span class="identifier">in_activity</span><span class="plain">);</span>
@ -265,6 +266,8 @@
<span class="definitionkeyword">enum</span> <span class="constant">MEASUREMENT_FN_HL</span>
<span class="definitionkeyword">enum</span> <span class="constant">ADJECTIVE_PHRASES_HAP</span>
<span class="definitionkeyword">enum</span> <span class="constant">DEFINITION_FN_HL</span>
<span class="definitionkeyword">enum</span> <span class="constant">ADJECTIVE_TASKS_HAP</span>
<span class="definitionkeyword">enum</span> <span class="constant">TASK_FN_HL</span>
</pre>
<p class="inwebparagraph"><a id="SP1_8"></a><b>&#167;1.8. </b><code class="display">
&lt;<span class="cwebmacrodefn">Establish adjectives</span> <span class="cwebmacronumber">1.8</span>&gt; =
@ -278,6 +281,9 @@
<span class="functiontext">HierarchyLocations::ap</span><span class="plain">(</span><span class="constant">ADJECTIVES_HAP</span><span class="plain">, </span><span class="identifier">local_adjectives</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"adjective"</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"_adjective"</span><span class="plain">);</span>
<span class="reserved">location_requirement</span><span class="plain"> </span><span class="identifier">in_adjective</span><span class="plain"> = </span><span class="functiontext">HierarchyLocations::any_package_of_type</span><span class="plain">(</span><span class="identifier">I</span><span class="string">"_adjective"</span><span class="plain">);</span>
<span class="functiontext">HierarchyLocations::con</span><span class="plain">(</span><span class="constant">ADJECTIVE_HL</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"adjective"</span><span class="plain">, </span><span class="functiontext">Translation::uniqued</span><span class="plain">(), </span><span class="identifier">in_adjective</span><span class="plain">);</span>
<span class="functiontext">HierarchyLocations::ap</span><span class="plain">(</span><span class="constant">ADJECTIVE_TASKS_HAP</span><span class="plain">, </span><span class="identifier">in_adjective</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"adjective_task"</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"_adjective_task"</span><span class="plain">);</span>
<span class="reserved">location_requirement</span><span class="plain"> </span><span class="identifier">in_adjective_task</span><span class="plain"> = </span><span class="functiontext">HierarchyLocations::any_package_of_type</span><span class="plain">(</span><span class="identifier">I</span><span class="string">"_adjective_task"</span><span class="plain">);</span>
<span class="functiontext">HierarchyLocations::func</span><span class="plain">(</span><span class="constant">TASK_FN_HL</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"task_fn"</span><span class="plain">, </span><span class="functiontext">Translation::uniqued</span><span class="plain">(), </span><span class="identifier">in_adjective_task</span><span class="plain">);</span>
<span class="functiontext">HierarchyLocations::ap</span><span class="plain">(</span><span class="constant">ADJECTIVE_MEANINGS_HAP</span><span class="plain">, </span><span class="identifier">local_adjectives</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"adjective_meaning"</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"_adjective_meaning"</span><span class="plain">);</span>
<span class="reserved">location_requirement</span><span class="plain"> </span><span class="identifier">in_adjective_meaning</span><span class="plain"> = </span><span class="functiontext">HierarchyLocations::any_package_of_type</span><span class="plain">(</span><span class="identifier">I</span><span class="string">"_adjective_meaning"</span><span class="plain">);</span>
<span class="functiontext">HierarchyLocations::func</span><span class="plain">(</span><span class="constant">MEASUREMENT_FN_HL</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"measurement_fn"</span><span class="plain">, </span><span class="functiontext">Translation::generate</span><span class="plain">(</span><span class="constant">MEASUREMENT_ADJECTIVE_INAMEF</span><span class="plain">), </span><span class="identifier">in_adjective_meaning</span><span class="plain">);</span>
@ -327,6 +333,7 @@
<pre class="definitions">
<span class="definitionkeyword">enum</span> <span class="constant">PAST_ACTION_PATTERNS_HAP</span>
<span class="definitionkeyword">enum</span> <span class="constant">PAP_FN_HL</span>
<span class="definitionkeyword">enum</span> <span class="constant">TIMEDEVENTSTABLE_HL</span>
<span class="definitionkeyword">enum</span> <span class="constant">TIMEDEVENTTIMESTABLE_HL</span>
<span class="definitionkeyword">enum</span> <span class="constant">PASTACTIONSI6ROUTINES_HL</span>
@ -344,6 +351,8 @@
<span class="reserved">location_requirement</span><span class="plain"> </span><span class="identifier">local_chronology</span><span class="plain"> = </span><span class="functiontext">HierarchyLocations::local_submodule</span><span class="plain">(</span><span class="identifier">chronology</span><span class="plain">);</span>
<span class="functiontext">HierarchyLocations::ap</span><span class="plain">(</span><span class="constant">PAST_ACTION_PATTERNS_HAP</span><span class="plain">, </span><span class="identifier">local_chronology</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"past_action_pattern"</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"_past_action_pattern"</span><span class="plain">);</span>
<span class="reserved">location_requirement</span><span class="plain"> </span><span class="identifier">in_past_action_pattern</span><span class="plain"> = </span><span class="functiontext">HierarchyLocations::any_package_of_type</span><span class="plain">(</span><span class="identifier">I</span><span class="string">"_past_action_pattern"</span><span class="plain">);</span>
<span class="functiontext">HierarchyLocations::func</span><span class="plain">(</span><span class="constant">PAP_FN_HL</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"pap_fn"</span><span class="plain">, </span><span class="functiontext">Translation::generate</span><span class="plain">(</span><span class="constant">PAST_ACTION_ROUTINE_INAMEF</span><span class="plain">), </span><span class="identifier">in_past_action_pattern</span><span class="plain">);</span>
<span class="reserved">location_requirement</span><span class="plain"> </span><span class="identifier">synoptic_chronology</span><span class="plain"> = </span><span class="functiontext">HierarchyLocations::synoptic_submodule</span><span class="plain">(</span><span class="identifier">chronology</span><span class="plain">);</span>
<span class="functiontext">HierarchyLocations::con</span><span class="plain">(</span><span class="constant">TIMEDEVENTSTABLE_HL</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"TimedEventsTable"</span><span class="plain">, </span><span class="functiontext">Translation::same</span><span class="plain">(), </span><span class="identifier">synoptic_chronology</span><span class="plain">);</span>
@ -367,7 +376,10 @@
<span class="definitionkeyword">enum</span> <span class="constant">CV_NEG_HL</span>
<span class="definitionkeyword">enum</span> <span class="constant">CV_POS_HL</span>
<span class="definitionkeyword">enum</span> <span class="constant">MVERBS_HAP</span>
<span class="definitionkeyword">enum</span> <span class="constant">MODAL_CONJUGATION_FN_HL</span>
<span class="definitionkeyword">enum</span> <span class="constant">VERBS_HAP</span>
<span class="definitionkeyword">enum</span> <span class="constant">NONMODAL_CONJUGATION_FN_HL</span>
<span class="definitionkeyword">enum</span> <span class="constant">CONJUGATION_FN_HL</span>
</pre>
<p class="inwebparagraph"><a id="SP1_14"></a><b>&#167;1.14. </b><code class="display">
&lt;<span class="cwebmacrodefn">Establish conjugations</span> <span class="cwebmacronumber">1.14</span>&gt; =
@ -385,7 +397,11 @@
<span class="reserved">location_requirement</span><span class="plain"> </span><span class="identifier">local_conjugations</span><span class="plain"> = </span><span class="functiontext">HierarchyLocations::local_submodule</span><span class="plain">(</span><span class="identifier">conjugations</span><span class="plain">);</span>
<span class="functiontext">HierarchyLocations::ap</span><span class="plain">(</span><span class="constant">MVERBS_HAP</span><span class="plain">, </span><span class="identifier">local_conjugations</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"mverb"</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"_modal_verb"</span><span class="plain">);</span>
<span class="reserved">location_requirement</span><span class="plain"> </span><span class="identifier">in_modal_verb</span><span class="plain"> = </span><span class="functiontext">HierarchyLocations::any_package_of_type</span><span class="plain">(</span><span class="identifier">I</span><span class="string">"_modal_verb"</span><span class="plain">);</span>
<span class="functiontext">HierarchyLocations::func</span><span class="plain">(</span><span class="constant">MODAL_CONJUGATION_FN_HL</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"conjugation_fn"</span><span class="plain">, </span><span class="functiontext">Translation::generate</span><span class="plain">(</span><span class="constant">CONJUGATE_VERB_ROUTINE_INAMEF</span><span class="plain">), </span><span class="identifier">in_modal_verb</span><span class="plain">);</span>
<span class="functiontext">HierarchyLocations::ap</span><span class="plain">(</span><span class="constant">VERBS_HAP</span><span class="plain">, </span><span class="identifier">local_conjugations</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"verb"</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"_verb"</span><span class="plain">);</span>
<span class="reserved">location_requirement</span><span class="plain"> </span><span class="identifier">in_verb</span><span class="plain"> = </span><span class="functiontext">HierarchyLocations::any_package_of_type</span><span class="plain">(</span><span class="identifier">I</span><span class="string">"_verb"</span><span class="plain">);</span>
<span class="functiontext">HierarchyLocations::func</span><span class="plain">(</span><span class="constant">NONMODAL_CONJUGATION_FN_HL</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"conjugation_fn"</span><span class="plain">, </span><span class="functiontext">Translation::generate</span><span class="plain">(</span><span class="constant">CONJUGATE_VERB_ROUTINE_INAMEF</span><span class="plain">), </span><span class="identifier">in_verb</span><span class="plain">);</span>
</pre>
<p class="inwebparagraph"></p>
@ -859,6 +875,7 @@
<span class="definitionkeyword">enum</span> <span class="constant">TTF_SUM_HL</span>
<span class="definitionkeyword">enum</span> <span class="constant">MEANINGLESS_RR_HL</span>
<span class="definitionkeyword">enum</span> <span class="constant">RELATIONS_HAP</span>
<span class="definitionkeyword">enum</span> <span class="constant">RELATION_RECORD_HL</span>
<span class="definitionkeyword">enum</span> <span class="constant">BITMAP_HL</span>
<span class="definitionkeyword">enum</span> <span class="constant">ROUTE_CACHE_HL</span>
<span class="definitionkeyword">enum</span> <span class="constant">HANDLER_FN_HL</span>
@ -904,6 +921,7 @@
<span class="reserved">location_requirement</span><span class="plain"> </span><span class="identifier">local_rels</span><span class="plain"> = </span><span class="functiontext">HierarchyLocations::local_submodule</span><span class="plain">(</span><span class="identifier">relations</span><span class="plain">);</span>
<span class="functiontext">HierarchyLocations::ap</span><span class="plain">(</span><span class="constant">RELATIONS_HAP</span><span class="plain">, </span><span class="identifier">local_rels</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"relation"</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"_relation"</span><span class="plain">);</span>
<span class="reserved">location_requirement</span><span class="plain"> </span><span class="identifier">in_relation</span><span class="plain"> = </span><span class="functiontext">HierarchyLocations::any_package_of_type</span><span class="plain">(</span><span class="identifier">I</span><span class="string">"_relation"</span><span class="plain">);</span>
<span class="functiontext">HierarchyLocations::con</span><span class="plain">(</span><span class="constant">RELATION_RECORD_HL</span><span class="plain">, </span><span class="identifier">NULL</span><span class="plain">, </span><span class="functiontext">Translation::generate</span><span class="plain">(</span><span class="constant">RELATION_RECORD_INAMEF</span><span class="plain">), </span><span class="identifier">in_relation</span><span class="plain">);</span>
<span class="functiontext">HierarchyLocations::con</span><span class="plain">(</span><span class="constant">BITMAP_HL</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"as_constant"</span><span class="plain">, </span><span class="functiontext">Translation::uniqued</span><span class="plain">(), </span><span class="identifier">in_relation</span><span class="plain">);</span>
<span class="functiontext">HierarchyLocations::con</span><span class="plain">(</span><span class="constant">ROUTE_CACHE_HL</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"route_cache"</span><span class="plain">, </span><span class="functiontext">Translation::uniqued</span><span class="plain">(), </span><span class="identifier">in_relation</span><span class="plain">);</span>
<span class="functiontext">HierarchyLocations::func</span><span class="plain">(</span><span class="constant">HANDLER_FN_HL</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"handler_fn"</span><span class="plain">, </span><span class="functiontext">Translation::uniqued</span><span class="plain">(), </span><span class="identifier">in_relation</span><span class="plain">);</span>
@ -976,6 +994,7 @@
<pre class="definitions">
<span class="definitionkeyword">enum</span> <span class="constant">RULES_HAP</span>
<span class="definitionkeyword">enum</span> <span class="constant">SHELL_FN_HL</span>
<span class="definitionkeyword">enum</span> <span class="constant">RULE_FN_HL</span>
<span class="definitionkeyword">enum</span> <span class="constant">EXTERIOR_RULE_HL</span>
<span class="definitionkeyword">enum</span> <span class="constant">RESPONSES_HAP</span>
@ -996,6 +1015,7 @@
<span class="reserved">location_requirement</span><span class="plain"> </span><span class="identifier">local_rules</span><span class="plain"> = </span><span class="functiontext">HierarchyLocations::local_submodule</span><span class="plain">(</span><span class="identifier">rules</span><span class="plain">);</span>
<span class="functiontext">HierarchyLocations::ap</span><span class="plain">(</span><span class="constant">RULES_HAP</span><span class="plain">, </span><span class="identifier">local_rules</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"rule"</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"_rule"</span><span class="plain">);</span>
<span class="reserved">location_requirement</span><span class="plain"> </span><span class="identifier">in_rule</span><span class="plain"> = </span><span class="functiontext">HierarchyLocations::any_package_of_type</span><span class="plain">(</span><span class="identifier">I</span><span class="string">"_rule"</span><span class="plain">);</span>
<span class="functiontext">HierarchyLocations::func</span><span class="plain">(</span><span class="constant">SHELL_FN_HL</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"shell_fn"</span><span class="plain">, </span><span class="functiontext">Translation::generate_in</span><span class="plain">(</span><span class="constant">RULE_SHELL_ROUTINE_INAMEF</span><span class="plain">), </span><span class="identifier">in_rule</span><span class="plain">);</span>
<span class="functiontext">HierarchyLocations::func</span><span class="plain">(</span><span class="constant">RULE_FN_HL</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"rule_fn"</span><span class="plain">, </span><span class="functiontext">Translation::generate_in</span><span class="plain">(</span><span class="constant">PHRASE_INAMEF</span><span class="plain">), </span><span class="identifier">in_rule</span><span class="plain">);</span>
<span class="functiontext">HierarchyLocations::con</span><span class="plain">(</span><span class="constant">EXTERIOR_RULE_HL</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"exterior_rule"</span><span class="plain">, </span><span class="functiontext">Translation::uniqued</span><span class="plain">(), </span><span class="identifier">in_rule</span><span class="plain">);</span>
<span class="functiontext">HierarchyLocations::ap</span><span class="plain">(</span><span class="constant">RESPONSES_HAP</span><span class="plain">, </span><span class="identifier">in_rule</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"response"</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"_response"</span><span class="plain">);</span>
@ -1054,6 +1074,7 @@
<pre class="definitions">
<span class="definitionkeyword">enum</span> <span class="constant">VARIABLES_HAP</span>
<span class="definitionkeyword">enum</span> <span class="constant">VARIABLE_HL</span>
</pre>
<p class="inwebparagraph"><a id="SP1_44"></a><b>&#167;1.44. </b><code class="display">
&lt;<span class="cwebmacrodefn">Establish variables</span> <span class="cwebmacronumber">1.44</span>&gt; =
@ -1065,6 +1086,8 @@
<span class="reserved">location_requirement</span><span class="plain"> </span><span class="identifier">local_variables</span><span class="plain"> = </span><span class="functiontext">HierarchyLocations::local_submodule</span><span class="plain">(</span><span class="identifier">variables</span><span class="plain">);</span>
<span class="functiontext">HierarchyLocations::ap</span><span class="plain">(</span><span class="constant">VARIABLES_HAP</span><span class="plain">, </span><span class="identifier">local_variables</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"variable"</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"_variable"</span><span class="plain">);</span>
<span class="reserved">location_requirement</span><span class="plain"> </span><span class="identifier">in_variable</span><span class="plain"> = </span><span class="functiontext">HierarchyLocations::any_package_of_type</span><span class="plain">(</span><span class="identifier">I</span><span class="string">"_variable"</span><span class="plain">);</span>
<span class="functiontext">HierarchyLocations::con</span><span class="plain">(</span><span class="constant">VARIABLE_HL</span><span class="plain">, </span><span class="identifier">NULL</span><span class="plain">, </span><span class="functiontext">Translation::generate</span><span class="plain">(</span><span class="constant">VARIABLE_INAMEF</span><span class="plain">), </span><span class="identifier">in_variable</span><span class="plain">);</span>
</pre>
<p class="inwebparagraph"></p>
@ -1659,7 +1682,7 @@
<p class="inwebparagraph"></p>
<p class="endnote">The function Hierarchy::exotic_package is used in 27/hl (<a href="27-hl.html#SP1">&#167;1</a>, <a href="27-hl.html#SP2">&#167;2</a>).</p>
<p class="endnote">The function Hierarchy::exotic_package is used in 27/hl (<a href="27-hl.html#SP1">&#167;1</a>, <a href="27-hl.html#SP3">&#167;3</a>).</p>
<p class="inwebparagraph"><a id="SP4"></a><b>&#167;4. </b></p>
@ -1802,13 +1825,13 @@
<p class="endnote">The function Hierarchy::local_package is used in 5/ins (<a href="5-ins.html#SP14">&#167;14</a>), 9/tc (<a href="9-tc.html#SP5_4_2_4">&#167;5.4.2.4</a>), 19/tb (<a href="19-tb.html#SP9">&#167;9</a>), 20/eq (<a href="20-eq.html#SP10_1">&#167;10.1</a>), 21/rl (<a href="21-rl.html#SP5">&#167;5</a>), 21/fao (<a href="21-fao.html#SP10">&#167;10</a>), 21/ac (<a href="21-ac.html#SP6">&#167;6</a>), 24/ch (<a href="24-ch.html#SP3">&#167;3</a>), 26/lt (<a href="26-lt.html#SP3">&#167;3</a>), 26/ts (<a href="26-ts.html#SP9_1">&#167;9.1</a>).</p>
<p class="endnote">The function Hierarchy::package_within is used in 17/rs (<a href="17-rs.html#SP5">&#167;5</a>), 19/tc (<a href="19-tc.html#SP9">&#167;9</a>), 22/pav (<a href="22-pav.html#SP7">&#167;7</a>), 22/tp (<a href="22-tp.html#SP7">&#167;7</a>).</p>
<p class="endnote">The function Hierarchy::package_within is used in 4/am (<a href="4-am.html#SP6">&#167;6</a>), 17/rs (<a href="17-rs.html#SP5">&#167;5</a>), 19/tc (<a href="19-tc.html#SP9">&#167;9</a>), 22/pav (<a href="22-pav.html#SP7">&#167;7</a>), 22/tp (<a href="22-tp.html#SP7">&#167;7</a>).</p>
<p class="endnote">The function Hierarchy::make_iname_in is used in 6/bp (<a href="6-bp.html#SP32">&#167;32</a>), 6/rlt (<a href="6-rlt.html#SP9">&#167;9</a>, <a href="6-rlt.html#SP9_13">&#167;9.13</a>, <a href="6-rlt.html#SP20">&#167;20</a>, <a href="6-rlt.html#SP20_3">&#167;20.3</a>), 13/rsfk (<a href="13-rsfk.html#SP13_1_1">&#167;13.1.1</a>, <a href="13-rsfk.html#SP15">&#167;15</a>), 15/ma (<a href="15-ma.html#SP11_3">&#167;11.3</a>), 17/rs (<a href="17-rs.html#SP5">&#167;5</a>, <a href="17-rs.html#SP6_1">&#167;6.1</a>), 19/tc (<a href="19-tc.html#SP9">&#167;9</a>), 19/tb (<a href="19-tb.html#SP9">&#167;9</a>), 20/eq (<a href="20-eq.html#SP10_1">&#167;10.1</a>), 21/rl (<a href="21-rl.html#SP9">&#167;9</a>), 21/rl2 (<a href="21-rl2.html#SP10">&#167;10</a>, <a href="21-rl2.html#SP14">&#167;14</a>), 21/ac (<a href="21-ac.html#SP8">&#167;8</a>), 22/ph (<a href="22-ph.html#SP11">&#167;11</a>), 22/pav (<a href="22-pav.html#SP7">&#167;7</a>, <a href="22-pav.html#SP9">&#167;9</a>), 26/lt (<a href="26-lt.html#SP3">&#167;3</a>), 26/jl (<a href="26-jl.html#SP3">&#167;3</a>), 26/ts (<a href="26-ts.html#SP9_1">&#167;9.1</a>).</p>
<p class="endnote">The function Hierarchy::make_iname_in is used in 4/am (<a href="4-am.html#SP6">&#167;6</a>), 6/bp (<a href="6-bp.html#SP32">&#167;32</a>, <a href="6-bp.html#SP42">&#167;42</a>), 6/rlt (<a href="6-rlt.html#SP9">&#167;9</a>, <a href="6-rlt.html#SP9_13">&#167;9.13</a>, <a href="6-rlt.html#SP20">&#167;20</a>, <a href="6-rlt.html#SP20_3">&#167;20.3</a>), 13/rsfk (<a href="13-rsfk.html#SP13_1_1">&#167;13.1.1</a>, <a href="13-rsfk.html#SP15">&#167;15</a>), 15/ma (<a href="15-ma.html#SP11_3">&#167;11.3</a>), 17/rs (<a href="17-rs.html#SP5">&#167;5</a>, <a href="17-rs.html#SP6_1">&#167;6.1</a>), 19/tc (<a href="19-tc.html#SP9">&#167;9</a>), 19/tb (<a href="19-tb.html#SP9">&#167;9</a>), 20/eq (<a href="20-eq.html#SP10_1">&#167;10.1</a>), 21/rl (<a href="21-rl.html#SP9">&#167;9</a>, <a href="21-rl.html#SP19">&#167;19</a>), 21/rl2 (<a href="21-rl2.html#SP10">&#167;10</a>, <a href="21-rl2.html#SP14">&#167;14</a>), 21/ac (<a href="21-ac.html#SP8">&#167;8</a>), 22/ph (<a href="22-ph.html#SP11">&#167;11</a>), 22/pav (<a href="22-pav.html#SP7">&#167;7</a>, <a href="22-pav.html#SP9">&#167;9</a>), 24/ch (<a href="24-ch.html#SP3">&#167;3</a>), 26/lt (<a href="26-lt.html#SP3">&#167;3</a>), 26/jl (<a href="26-jl.html#SP3">&#167;3</a>), 26/ts (<a href="26-ts.html#SP9_1">&#167;9.1</a>).</p>
<p class="endnote">The function Hierarchy::make_localised_iname_in is used in 22/pu (<a href="22-pu.html#SP6">&#167;6</a>), 22/tp (<a href="22-tp.html#SP7">&#167;7</a>).</p>
<p class="endnote">The function Hierarchy::make_iname_with_memo appears nowhere else.</p>
<p class="endnote">The function Hierarchy::make_iname_with_memo is used in 5/nv (<a href="5-nv.html#SP16">&#167;16</a>), 21/ac (<a href="21-ac.html#SP6">&#167;6</a>).</p>
<p class="endnote">The function Hierarchy::make_package_in is used in 21/ac (<a href="21-ac.html#SP6">&#167;6</a>).</p>

File diff suppressed because one or more lines are too long

View file

@ -112,7 +112,7 @@
<p class="inwebparagraph"></p>
<p class="endnote">The function Packaging::request is used in <a href="#SP7">&#167;7</a>, <a href="#SP7_1">&#167;7.1</a>, <a href="#SP8">&#167;8</a>, 27/hl (<a href="27-hl.html#SP1">&#167;1</a>, <a href="27-hl.html#SP2">&#167;2</a>), 27/hr (<a href="27-hr.html#SP5">&#167;5</a>).</p>
<p class="endnote">The function Packaging::request is used in <a href="#SP7">&#167;7</a>, <a href="#SP7_1">&#167;7.1</a>, <a href="#SP8">&#167;8</a>, 27/hl (<a href="27-hl.html#SP2">&#167;2</a>, <a href="27-hl.html#SP3">&#167;3</a>), 27/hr (<a href="27-hr.html#SP5">&#167;5</a>).</p>
<p class="endnote">The function Packaging::log is used in 1/cm (<a href="1-cm.html#SP5">&#167;5</a>, <a href="1-cm.html#SP6_6">&#167;6.6</a>).</p>
@ -236,7 +236,7 @@
<p class="inwebparagraph"></p>
<p class="endnote">The function Packaging::enter is used in <a href="#SP5">&#167;5</a>, 4/am (<a href="4-am.html#SP34_2">&#167;34.2</a>), 5/ins (<a href="5-ins.html#SP34">&#167;34</a>), 5/nv (<a href="5-nv.html#SP16">&#167;16</a>), 13/rsfk (<a href="13-rsfk.html#SP16_1">&#167;16.1</a>, <a href="13-rsfk.html#SP26">&#167;26</a>), 15/epv (<a href="15-epv.html#SP2">&#167;2</a>), 16/ic (<a href="16-ic.html#SP10">&#167;10</a>), 17/rs (<a href="17-rs.html#SP6_1">&#167;6.1</a>, <a href="17-rs.html#SP7_1">&#167;7.1</a>), 21/rl (<a href="21-rl.html#SP9">&#167;9</a>), 21/rl2 (<a href="21-rl2.html#SP20">&#167;20</a>), 22/ph (<a href="22-ph.html#SP12">&#167;12</a>), 27/ei (<a href="27-ei.html#SP3">&#167;3</a>, <a href="27-ei.html#SP4">&#167;4</a>), 27/hl (<a href="27-hl.html#SP1">&#167;1</a>).</p>
<p class="endnote">The function Packaging::enter is used in <a href="#SP5">&#167;5</a>, 5/ins (<a href="5-ins.html#SP34">&#167;34</a>), 5/nv (<a href="5-nv.html#SP16">&#167;16</a>), 13/rsfk (<a href="13-rsfk.html#SP16_1">&#167;16.1</a>, <a href="13-rsfk.html#SP26">&#167;26</a>), 15/epv (<a href="15-epv.html#SP2">&#167;2</a>), 16/ic (<a href="16-ic.html#SP10">&#167;10</a>), 17/rs (<a href="17-rs.html#SP6_1">&#167;6.1</a>, <a href="17-rs.html#SP7_1">&#167;7.1</a>), 21/rl (<a href="21-rl.html#SP9">&#167;9</a>), 21/rl2 (<a href="21-rl2.html#SP20">&#167;20</a>), 22/ph (<a href="22-ph.html#SP12">&#167;12</a>), 27/ei (<a href="27-ei.html#SP3">&#167;3</a>, <a href="27-ei.html#SP4">&#167;4</a>), 27/hl (<a href="27-hl.html#SP1">&#167;1</a>).</p>
<p class="endnote">The function Packaging::exit is used in 5/ins (<a href="5-ins.html#SP34">&#167;34</a>), 5/nv (<a href="5-nv.html#SP16">&#167;16</a>), 6/bp (<a href="6-bp.html#SP42">&#167;42</a>), 6/rlt (<a href="6-rlt.html#SP14">&#167;14</a>, <a href="6-rlt.html#SP15_1">&#167;15.1</a>, <a href="6-rlt.html#SP20">&#167;20</a>, <a href="6-rlt.html#SP20_3">&#167;20.3</a>), 6/nv (<a href="6-nv.html#SP18">&#167;18</a>), 12/cdp (<a href="12-cdp.html#SP2_1_1">&#167;2.1.1</a>), 13/kak (<a href="13-kak.html#SP5">&#167;5</a>), 13/rsfk (<a href="13-rsfk.html#SP4">&#167;4</a>, <a href="13-rsfk.html#SP16_1">&#167;16.1</a>, <a href="13-rsfk.html#SP16_2">&#167;16.2</a>, <a href="13-rsfk.html#SP26">&#167;26</a>), 15/pr (<a href="15-pr.html#SP27">&#167;27</a>), 15/epv (<a href="15-epv.html#SP1_1_2">&#167;1.1.2</a>, <a href="15-epv.html#SP2">&#167;2</a>), 16/ic (<a href="16-ic.html#SP10">&#167;10</a>), 17/tl (<a href="17-tl.html#SP14_1">&#167;14.1</a>, <a href="17-tl.html#SP14_2">&#167;14.2</a>, <a href="17-tl.html#SP16">&#167;16</a>), 17/ts (<a href="17-ts.html#SP8_1">&#167;8.1</a>, <a href="17-ts.html#SP11">&#167;11</a>), 17/rs (<a href="17-rs.html#SP6_1">&#167;6.1</a>, <a href="17-rs.html#SP7_1">&#167;7.1</a>, <a href="17-rs.html#SP7_3">&#167;7.3</a>), 18/lc (<a href="18-lc.html#SP11">&#167;11</a>, <a href="18-lc.html#SP12_1">&#167;12.1</a>), 19/rsft (<a href="19-rsft.html#SP1_1_1_1">&#167;1.1.1.1</a>, <a href="19-rsft.html#SP1_1_1_1_1">&#167;1.1.1.1.1</a>, <a href="19-rsft.html#SP1_2">&#167;1.2</a>, <a href="19-rsft.html#SP1_3">&#167;1.3</a>), 21/rl (<a href="21-rl.html#SP9">&#167;9</a>), 21/rl2 (<a href="21-rl2.html#SP14">&#167;14</a>, <a href="21-rl2.html#SP20">&#167;20</a>), 21/fao (<a href="21-fao.html#SP10">&#167;10</a>), 21/ac (<a href="21-ac.html#SP6">&#167;6</a>, <a href="21-ac.html#SP8">&#167;8</a>, <a href="21-ac.html#SP14">&#167;14</a>), 22/cs (<a href="22-cs.html#SP8">&#167;8</a>), 22/ph (<a href="22-ph.html#SP12">&#167;12</a>), 22/pav (<a href="22-pav.html#SP8_1">&#167;8.1</a>), 22/tp2 (<a href="22-tp2.html#SP4">&#167;4</a>), 24/ch (<a href="24-ch.html#SP6">&#167;6</a>, <a href="24-ch.html#SP8">&#167;8</a>), 26/vm (<a href="26-vm.html#SP8">&#167;8</a>), 26/uo (<a href="26-uo.html#SP21">&#167;21</a>), 26/lt (<a href="26-lt.html#SP4_1">&#167;4.1</a>), 26/jl (<a href="26-jl.html#SP6">&#167;6</a>), 26/rt (<a href="26-rt.html#SP4">&#167;4</a>), 26/iti (<a href="26-iti.html#SP10">&#167;10</a>), 26/pl (<a href="26-pl.html#SP12">&#167;12</a>), 26/ts (<a href="26-ts.html#SP10">&#167;10</a>), 27/ei (<a href="27-ei.html#SP3">&#167;3</a>, <a href="27-ei.html#SP4">&#167;4</a>), 27/hl (<a href="27-hl.html#SP1">&#167;1</a>), 27/hr (<a href="27-hr.html#SP4">&#167;4</a>).</p>
@ -358,7 +358,7 @@
<p class="endnote">The function Packaging::initialise_submodules appears nowhere else.</p>
<p class="endnote">The function Packaging::request_resource is used in 27/hl (<a href="27-hl.html#SP2">&#167;2</a>).</p>
<p class="endnote">The function Packaging::request_resource is used in 27/hl (<a href="27-hl.html#SP3">&#167;3</a>).</p>
<p class="endnote">The function Packaging::local_resource appears nowhere else.</p>
@ -494,15 +494,15 @@
<p class="inwebparagraph"></p>
<p class="endnote">The function Packaging::register_counter is used in 27/hl (<a href="27-hl.html#SP2">&#167;2</a>), 27/hr (<a href="27-hr.html#SP1">&#167;1</a>).</p>
<p class="endnote">The function Packaging::register_counter is used in 27/hl (<a href="27-hl.html#SP3">&#167;3</a>), 27/hr (<a href="27-hr.html#SP1">&#167;1</a>).</p>
<p class="endnote">The function Packaging::register_ptype is used in 27/hl (<a href="27-hl.html#SP3">&#167;3</a>).</p>
<p class="endnote">The function Packaging::register_ptype is used in 27/hl (<a href="27-hl.html#SP4">&#167;4</a>).</p>
<p class="endnote">The function Packaging::supply_iname is used in 4/am (<a href="4-am.html#SP6">&#167;6</a>), 6/rlt (<a href="6-rlt.html#SP15_1_2">&#167;15.1.2</a>), 12/dtd (<a href="12-dtd.html#SP4">&#167;4</a>), 13/rsfk (<a href="13-rsfk.html#SP19">&#167;19</a>), 17/tl (<a href="17-tl.html#SP7">&#167;7</a>, <a href="17-tl.html#SP10_2_1">&#167;10.2.1</a>, <a href="17-tl.html#SP14_2">&#167;14.2</a>), 17/ts (<a href="17-ts.html#SP5">&#167;5</a>), 18/lc (<a href="18-lc.html#SP11">&#167;11</a>), 27/ei (<a href="27-ei.html#SP4">&#167;4</a>), 27/hl (<a href="27-hl.html#SP2">&#167;2</a>).</p>
<p class="endnote">The function Packaging::supply_iname is used in 6/rlt (<a href="6-rlt.html#SP15_1_2">&#167;15.1.2</a>), 12/dtd (<a href="12-dtd.html#SP4">&#167;4</a>), 13/rsfk (<a href="13-rsfk.html#SP19">&#167;19</a>), 17/tl (<a href="17-tl.html#SP7">&#167;7</a>, <a href="17-tl.html#SP10_2_1">&#167;10.2.1</a>, <a href="17-tl.html#SP14_2">&#167;14.2</a>), 17/ts (<a href="17-ts.html#SP5">&#167;5</a>), 18/lc (<a href="18-lc.html#SP11">&#167;11</a>), 27/ei (<a href="27-ei.html#SP4">&#167;4</a>), 27/hl (<a href="27-hl.html#SP3">&#167;3</a>).</p>
<p class="endnote">The function Packaging::function is used in 12/dtd (<a href="12-dtd.html#SP4">&#167;4</a>), 17/tl (<a href="17-tl.html#SP14_2">&#167;14.2</a>), 17/ts (<a href="17-ts.html#SP5">&#167;5</a>), 21/rl (<a href="21-rl.html#SP19">&#167;19</a>), 24/ch (<a href="24-ch.html#SP3">&#167;3</a>), 27/hl (<a href="27-hl.html#SP1">&#167;1</a>).</p>
<p class="endnote">The function Packaging::function is used in 12/dtd (<a href="12-dtd.html#SP4">&#167;4</a>), 17/tl (<a href="17-tl.html#SP14_2">&#167;14.2</a>), 17/ts (<a href="17-ts.html#SP5">&#167;5</a>), 27/hl (<a href="27-hl.html#SP1">&#167;1</a>).</p>
<p class="endnote">The function Packaging::function_text is used in 21/rl (<a href="21-rl.html#SP9">&#167;9</a>), 27/hl (<a href="27-hl.html#SP1">&#167;1</a>).</p>
<p class="endnote">The function Packaging::function_text is used in 21/rl (<a href="21-rl.html#SP9">&#167;9</a>), 27/hl (<a href="27-hl.html#SP1">&#167;1</a>, <a href="27-hl.html#SP1_1">&#167;1.1</a>).</p>
<p class="endnote">The function Packaging::datum_text is used in 27/hl (<a href="27-hl.html#SP1">&#167;1</a>).</p>

View file

@ -72,7 +72,7 @@
<p class="endnote">The function Translation::to_uniqued appears nowhere else.</p>
<p class="endnote">The function Translation::generate is used in 27/hr (<a href="27-hr.html#SP1_8">&#167;1.8</a>, <a href="27-hr.html#SP1_22">&#167;1.22</a>, <a href="27-hr.html#SP1_24">&#167;1.24</a>, <a href="27-hr.html#SP1_28">&#167;1.28</a>, <a href="27-hr.html#SP1_30">&#167;1.30</a>, <a href="27-hr.html#SP1_34">&#167;1.34</a>).</p>
<p class="endnote">The function Translation::generate is used in 27/hr (<a href="27-hr.html#SP1_6">&#167;1.6</a>, <a href="27-hr.html#SP1_8">&#167;1.8</a>, <a href="27-hr.html#SP1_12">&#167;1.12</a>, <a href="27-hr.html#SP1_14">&#167;1.14</a>, <a href="27-hr.html#SP1_22">&#167;1.22</a>, <a href="27-hr.html#SP1_24">&#167;1.24</a>, <a href="27-hr.html#SP1_28">&#167;1.28</a>, <a href="27-hr.html#SP1_30">&#167;1.30</a>, <a href="27-hr.html#SP1_34">&#167;1.34</a>, <a href="27-hr.html#SP1_36">&#167;1.36</a>, <a href="27-hr.html#SP1_44">&#167;1.44</a>).</p>
<p class="endnote">The function Translation::generate_in is used in 27/hr (<a href="27-hr.html#SP1_32">&#167;1.32</a>, <a href="27-hr.html#SP1_40">&#167;1.40</a>).</p>

View file

@ -201,10 +201,8 @@ adjectival phrase in sorted order, so:
<span class="identifier">aih</span><span class="plain">-</span><span class="element">&gt;aph_held</span><span class="plain"> = </span><span class="identifier">aph</span><span class="plain">;</span>
<span class="identifier">aih</span><span class="plain">-</span><span class="element">&gt;task_code</span><span class="plain"> = </span><span class="identifier">task</span><span class="plain">;</span>
<span class="identifier">aih</span><span class="plain">-</span><span class="element">&gt;weak_ID_of_domain</span><span class="plain"> = </span><span class="identifier">weak_id</span><span class="plain">;</span>
<span class="identifier">aih</span><span class="plain">-</span><span class="element">&gt;iname_held</span><span class="plain"> = </span><span class="functiontext">Packaging::supply_iname</span><span class="plain">(</span><span class="identifier">aph</span><span class="plain">-&gt;</span><span class="identifier">aph_package</span><span class="plain">, </span><span class="constant">TASK_PR_COUNTER</span><span class="plain">);</span>
<span class="identifier">Inter::Symbols::set_flag</span><span class="plain">(</span><span class="functiontext">InterNames::to_symbol</span><span class="plain">(</span><span class="identifier">aih</span><span class="plain">-</span><span class="element">&gt;iname_held</span><span class="plain">), </span><span class="identifier">MAKE_NAME_UNIQUE</span><span class="plain">);</span>
<span class="reserved">package_request</span><span class="plain"> *</span><span class="identifier">PR</span><span class="plain"> = </span><span class="functiontext">Hierarchy::package_within</span><span class="plain">(</span><span class="constant">ADJECTIVE_TASKS_HAP</span><span class="plain">, </span><span class="identifier">aph</span><span class="plain">-&gt;</span><span class="identifier">aph_package</span><span class="plain">);</span>
<span class="identifier">aih</span><span class="plain">-</span><span class="element">&gt;iname_held</span><span class="plain"> = </span><span class="functiontext">Hierarchy::make_iname_in</span><span class="plain">(</span><span class="constant">TASK_FN_HL</span><span class="plain">, </span><span class="identifier">PR</span><span class="plain">);</span>
<span class="reserved">return</span><span class="plain"> </span><span class="identifier">aih</span><span class="plain">-</span><span class="element">&gt;iname_held</span><span class="plain">;</span>
<span class="plain">}</span>
</pre>
@ -1409,10 +1407,8 @@ known in order to sort.
<span class="identifier">LOGIF</span><span class="plain">(</span><span class="identifier">VARIABLE_CREATIONS</span><span class="plain">, </span><span class="string">"Compiling support code for %W applying to $u, task %d\</span><span class="plain">n</span><span class="string">"</span><span class="plain">,</span>
<span class="identifier">W</span><span class="plain">, </span><span class="identifier">K</span><span class="plain">, </span><span class="identifier">T</span><span class="plain">);</span>
<span class="reserved">packaging_state</span><span class="plain"> </span><span class="identifier">save</span><span class="plain"> = </span><span class="functiontext">Packaging::enter</span><span class="plain">(</span><span class="identifier">aph</span><span class="plain">-&gt;</span><span class="identifier">aph_iname</span><span class="plain">-</span><span class="element">&gt;eventual_owner</span><span class="plain">);</span>
<span class="functiontext">Routines::begin_in_current_package</span><span class="plain">(</span><span class="functiontext">Adjectives::Meanings::iname</span><span class="plain">(</span><span class="identifier">aph</span><span class="plain">, </span><span class="identifier">T</span><span class="plain">,</span>
<span class="functiontext">Kinds::RunTime::weak_id</span><span class="plain">(</span><span class="identifier">K</span><span class="plain">)));</span>
<span class="reserved">inter_name</span><span class="plain"> *</span><span class="identifier">iname</span><span class="plain"> = </span><span class="functiontext">Adjectives::Meanings::iname</span><span class="plain">(</span><span class="identifier">aph</span><span class="plain">, </span><span class="identifier">T</span><span class="plain">, </span><span class="functiontext">Kinds::RunTime::weak_id</span><span class="plain">(</span><span class="identifier">K</span><span class="plain">));</span>
<span class="reserved">packaging_state</span><span class="plain"> </span><span class="identifier">save</span><span class="plain"> = </span><span class="functiontext">Routines::begin</span><span class="plain">(</span><span class="identifier">iname</span><span class="plain">);</span>
&lt;<span class="cwebmacro">Add an it-variable to represent the value or object in the domain</span> <span class="cwebmacronumber">34.2.1</span>&gt;<span class="plain">;</span>
<span class="identifier">TEMPORARY_TEXT</span><span class="plain">(</span><span class="identifier">C</span><span class="plain">);</span>

View file

@ -575,9 +575,8 @@ there's very little to say.
<pre class="display">
<span class="reserved">inter_name</span><span class="plain"> *</span><span class="functiontext">NonlocalVariables::iname</span><span class="plain">(</span><span class="reserved">nonlocal_variable</span><span class="plain"> *</span><span class="identifier">nlv</span><span class="plain">) {</span>
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">nlv</span><span class="plain">-</span><span class="element">&gt;nlv_iname</span><span class="plain"> == </span><span class="identifier">NULL</span><span class="plain">) {</span>
<span class="identifier">nlv</span><span class="plain">-</span><span class="element">&gt;nlv_iname</span><span class="plain"> = </span><span class="functiontext">InterNames::new</span><span class="plain">(</span><span class="constant">VARIABLE_INAMEF</span><span class="plain">);</span>
<span class="functiontext">InterNames::attach_memo</span><span class="plain">(</span><span class="identifier">nlv</span><span class="plain">-</span><span class="element">&gt;nlv_iname</span><span class="plain">, </span><span class="identifier">nlv</span><span class="plain">-</span><span class="element">&gt;name</span><span class="plain">);</span>
<span class="identifier">nlv</span><span class="plain">-</span><span class="element">&gt;nlv_iname</span><span class="plain">-</span><span class="element">&gt;eventual_owner</span><span class="plain"> = </span><span class="functiontext">Hierarchy::package</span><span class="plain">(</span><span class="functiontext">Modules::find</span><span class="plain">(</span><span class="identifier">nlv</span><span class="plain">-</span><span class="element">&gt;nlv_created_at</span><span class="plain">), </span><span class="constant">VARIABLES_HAP</span><span class="plain">);</span>
<span class="reserved">package_request</span><span class="plain"> *</span><span class="identifier">R</span><span class="plain"> = </span><span class="functiontext">Hierarchy::package</span><span class="plain">(</span><span class="functiontext">Modules::find</span><span class="plain">(</span><span class="identifier">nlv</span><span class="plain">-</span><span class="element">&gt;nlv_created_at</span><span class="plain">), </span><span class="constant">VARIABLES_HAP</span><span class="plain">);</span>
<span class="identifier">nlv</span><span class="plain">-</span><span class="element">&gt;nlv_iname</span><span class="plain"> = </span><span class="functiontext">Hierarchy::make_iname_with_memo</span><span class="plain">(</span><span class="constant">VARIABLE_HL</span><span class="plain">, </span><span class="identifier">R</span><span class="plain">, </span><span class="identifier">nlv</span><span class="plain">-</span><span class="element">&gt;name</span><span class="plain">);</span>
<span class="plain">}</span>
<span class="reserved">return</span><span class="plain"> </span><span class="identifier">nlv</span><span class="plain">-</span><span class="element">&gt;nlv_iname</span><span class="plain">;</span>
<span class="plain">}</span>

View file

@ -1174,13 +1174,12 @@ relation itself.)
<span class="reserved">inter_name</span><span class="plain"> *</span><span class="identifier">default_rr</span><span class="plain"> = </span><span class="identifier">NULL</span><span class="plain">;</span>
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">BinaryPredicates::mark_as_needed</span><span class="plain">(</span><span class="reserved">binary_predicate</span><span class="plain"> *</span><span class="identifier">bp</span><span class="plain">) {</span>
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">bp</span><span class="plain">-</span><span class="element">&gt;record_needed</span><span class="plain"> == </span><span class="identifier">FALSE</span><span class="plain">) {</span>
<span class="identifier">bp</span><span class="plain">-</span><span class="element">&gt;bp_iname</span><span class="plain"> = </span><span class="functiontext">InterNames::new</span><span class="plain">(</span><span class="constant">RELATION_RECORD_INAMEF</span><span class="plain">);</span>
<span class="identifier">bp</span><span class="plain">-</span><span class="element">&gt;bp_iname</span><span class="plain">-</span><span class="element">&gt;eventual_owner</span><span class="plain"> = </span><span class="functiontext">BinaryPredicates::package</span><span class="plain">(</span><span class="identifier">bp</span><span class="plain">);</span>
<span class="identifier">bp</span><span class="plain">-</span><span class="element">&gt;bp_iname</span><span class="plain"> = </span><span class="functiontext">Hierarchy::make_iname_in</span><span class="plain">(</span><span class="constant">RELATION_RECORD_HL</span><span class="plain">, </span><span class="functiontext">BinaryPredicates::package</span><span class="plain">(</span><span class="identifier">bp</span><span class="plain">));</span>
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">default_rr</span><span class="plain"> == </span><span class="identifier">NULL</span><span class="plain">) {</span>
<span class="identifier">default_rr</span><span class="plain"> = </span><span class="identifier">bp</span><span class="plain">-</span><span class="element">&gt;bp_iname</span><span class="plain">;</span>
<span class="reserved">inter_name</span><span class="plain"> *</span><span class="identifier">iname</span><span class="plain"> = </span><span class="functiontext">Hierarchy::find</span><span class="plain">(</span><span class="constant">MEANINGLESS_RR_HL</span><span class="plain">);</span>
<span class="reserved">packaging_state</span><span class="plain"> </span><span class="identifier">save</span><span class="plain"> = </span><span class="functiontext">Packaging::enter_home_of</span><span class="plain">(</span><span class="identifier">iname</span><span class="plain">);</span>
<span class="functiontext">Emit::named_iname_constant</span><span class="plain">(</span><span class="identifier">iname</span><span class="plain">, </span><span class="identifier">K_value</span><span class="plain">, </span><span class="identifier">bp</span><span class="plain">-</span><span class="element">&gt;bp_iname</span><span class="plain">);</span>
<span class="functiontext">Emit::named_iname_constant</span><span class="plain">(</span><span class="identifier">iname</span><span class="plain">, </span><span class="identifier">K_value</span><span class="plain">, </span><span class="identifier">default_rr</span><span class="plain">);</span>
<span class="functiontext">Packaging::exit</span><span class="plain">(</span><span class="identifier">save</span><span class="plain">);</span>
<span class="plain">}</span>
<span class="plain">}</span>

View file

@ -322,17 +322,13 @@ and negative senses.
<span class="plain">#</span><span class="identifier">ifdef</span><span class="plain"> </span><span class="identifier">CORE_MODULE</span>
<span class="identifier">inter_name</span><span class="plain"> *</span><span class="functiontext">Conjugation::conj_iname</span><span class="plain">(</span><span class="reserved">verb_conjugation</span><span class="plain"> *</span><span class="identifier">vc</span><span class="plain">) {</span>
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">vc</span><span class="plain">-</span><span class="element">&gt;vc_iname</span><span class="plain"> == </span><span class="identifier">NULL</span><span class="plain">) {</span>
<span class="identifier">package_request</span><span class="plain"> *</span><span class="identifier">R</span><span class="plain"> = </span><span class="identifier">NULL</span><span class="plain">;</span>
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">vc</span><span class="plain">-</span><span class="element">&gt;vc_conjugates</span><span class="plain"> == </span><span class="identifier">NULL</span><span class="plain">) {</span>
<span class="identifier">R</span><span class="plain"> = </span><span class="identifier">Hierarchy::package</span><span class="plain">(</span><span class="identifier">Modules::find</span><span class="plain">(</span><span class="identifier">vc</span><span class="plain">-</span><span class="element">&gt;where_vc_created</span><span class="plain">), </span><span class="identifier">MVERBS_HAP</span><span class="plain">);</span>
<span class="identifier">package_request</span><span class="plain"> *</span><span class="identifier">R</span><span class="plain"> = </span><span class="identifier">Hierarchy::package</span><span class="plain">(</span><span class="identifier">Modules::find</span><span class="plain">(</span><span class="identifier">vc</span><span class="plain">-</span><span class="element">&gt;where_vc_created</span><span class="plain">), </span><span class="identifier">MVERBS_HAP</span><span class="plain">);</span>
<span class="identifier">vc</span><span class="plain">-</span><span class="element">&gt;vc_iname</span><span class="plain"> = </span><span class="identifier">Hierarchy::make_iname_in</span><span class="plain">(</span><span class="identifier">MODAL_CONJUGATION_FN_HL</span><span class="plain">, </span><span class="identifier">R</span><span class="plain">);</span>
<span class="plain">} </span><span class="reserved">else</span><span class="plain"> {</span>
<span class="identifier">R</span><span class="plain"> = </span><span class="identifier">Verbs::verb_package</span><span class="plain">(</span><span class="identifier">vc</span><span class="plain">-</span><span class="element">&gt;vc_conjugates</span><span class="plain">, </span><span class="identifier">vc</span><span class="plain">-</span><span class="element">&gt;where_vc_created</span><span class="plain">);</span>
<span class="identifier">package_request</span><span class="plain"> *</span><span class="identifier">R</span><span class="plain"> = </span><span class="identifier">Verbs::verb_package</span><span class="plain">(</span><span class="identifier">vc</span><span class="plain">-</span><span class="element">&gt;vc_conjugates</span><span class="plain">, </span><span class="identifier">vc</span><span class="plain">-</span><span class="element">&gt;where_vc_created</span><span class="plain">);</span>
<span class="identifier">vc</span><span class="plain">-</span><span class="element">&gt;vc_iname</span><span class="plain"> = </span><span class="identifier">Hierarchy::make_iname_in</span><span class="plain">(</span><span class="identifier">NONMODAL_CONJUGATION_FN_HL</span><span class="plain">, </span><span class="identifier">R</span><span class="plain">);</span>
<span class="plain">}</span>
<span class="identifier">vc</span><span class="plain">-</span><span class="element">&gt;vc_iname</span><span class="plain"> =</span>
<span class="identifier">Packaging::function</span><span class="plain">(</span>
<span class="identifier">InterNames::one_off</span><span class="plain">(</span><span class="identifier">I</span><span class="string">"conjugation_fn"</span><span class="plain">, </span><span class="identifier">R</span><span class="plain">),</span>
<span class="identifier">R</span><span class="plain">,</span>
<span class="identifier">InterNames::new</span><span class="plain">(</span><span class="identifier">CONJUGATE_VERB_ROUTINE_INAMEF</span><span class="plain">));</span>
<span class="plain">}</span>
<span class="reserved">return</span><span class="plain"> </span><span class="identifier">vc</span><span class="plain">-</span><span class="element">&gt;vc_iname</span><span class="plain">;</span>
<span class="plain">}</span>

View file

@ -187,9 +187,7 @@ activity *Activities::new(kind *creation_kind, wording W) {
av->name = W;
av->av_package = Hierarchy::local_package(ACTIVITIES_HAP);
av->av_iname = InterNames::new(ACTIVITY_INAMEF);
av->av_iname->eventual_owner = av->av_package;
InterNames::attach_memo(av->av_iname, av->name);
av->av_iname = Hierarchy::make_iname_with_memo(ACTIVITY_HL, av->av_package, av->name);
packaging_state save = Packaging::enter_home_of(av->av_iname);
Emit::named_numeric_constant(av->av_iname, (inter_t) av->allocation_id);
Packaging::exit(save);

View file

@ -512,10 +512,8 @@ do.
=
inter_name *Rules::shell_iname(rule *R) {
if (R->shell_routine_iname == NULL) {
R->shell_routine_iname =
Packaging::function(InterNames::one_off(I"shell_fn", R->rule_package), R->rule_package, InterNames::new(RULE_SHELL_ROUTINE_INAMEF));
}
if (R->shell_routine_iname == NULL)
R->shell_routine_iname = Hierarchy::make_iname_in(SHELL_FN_HL, R->rule_package);
return R->shell_routine_iname;
}

View file

@ -46,10 +46,7 @@ void Chronology::ap_compile_forced_to_present(action_pattern ap) {
void Chronology::compile_past_action_pattern(value_holster *VH, time_period duration, action_pattern ap) {
char *op = duration.inform6_operator;
package_request *PR = Hierarchy::local_package(PAST_ACTION_PATTERNS_HAP);
inter_name *pta_routine = Packaging::function(
InterNames::one_off(I"pap_fn", PR),
PR,
InterNames::new(PAST_ACTION_ROUTINE_INAMEF));
inter_name *pta_routine = Hierarchy::make_iname_in(PAP_FN_HL, PR);
LOGIF(TIME_PERIODS,
"Chronology::compile_past_action_pattern on: $A\nat: $t\n", &ap, &duration);
if (PL::Actions::Patterns::makes_callings(&ap)) {

View file

@ -86,8 +86,11 @@ void Routines::end_in_current_package(void) {
if (Packaging::houseed_in_function(public_name)) {
kernel_name = InterNames::one_off(I"kernel", public_name->eventual_owner);
Inter::Symbols::set_flag(InterNames::to_symbol(kernel_name), MAKE_NAME_UNIQUE);
} else
} else {
kernel_name = InterNames::new_in(KERNEL_ROUTINE_INAMEF, InterNames::to_module(public_name));
LOG("PN is %n\n", public_name);
internal_error("Routine not in function");
}
Packaging::house_with(kernel_name, public_name);
}

View file

@ -219,34 +219,48 @@ inter_name *HierarchyLocations::find_in_package(int id, package_request *P, word
LOG("Have type: $3, required: $3\n", P->eventual_type, nrl->requirements.any_package_of_this_type);
internal_error("constant in wrong superpackage");
}
inter_name *iname = NULL;
if (nrl->trans.translate_to) {
text_stream *T = nrl->trans.translate_to;
@<Make the actual iname@>;
} else if (nrl->trans.generate_from >= 0) {
TEMPORARY_TEXT(T);
inter_name *temp_iname = NULL;
if (nrl->trans.localise)
temp_iname = InterNames::new_in(nrl->trans.generate_from, C);
else
temp_iname = InterNames::new(nrl->trans.generate_from);
WRITE_TO(T, "%n", temp_iname);
@<Make the actual iname@>;
DISCARD_TEXT(T);
} else {
text_stream *T = NULL;
@<Make the actual iname@>;
}
if (nrl->trans.then_make_unique)
Inter::Symbols::set_flag(InterNames::to_symbol(iname), MAKE_NAME_UNIQUE);
return iname;
}
@<Make the actual iname@> =
if (Str::len(nrl->function_package_name) > 0) {
iname = Packaging::function_text(
InterNames::one_off(nrl->function_package_name, P),
P,
NULL);
} else {
iname = InterNames::one_off(nrl->access_name, P);
if (Str::len(nrl->access_name) == 0) {
LOG("********** %S\n", T);
iname = InterNames::one_off(T, P);
} else
iname = InterNames::one_off(nrl->access_name, P);
}
if (!Wordings::empty(W)) InterNames::attach_memo(iname, W);
if (nrl->trans.translate_to)
InterNames::translate(iname, nrl->trans.translate_to);
if (nrl->trans.then_make_unique)
Inter::Symbols::set_flag(InterNames::to_symbol(iname), MAKE_NAME_UNIQUE);
if (nrl->trans.generate_from >= 0) {
inter_name *temp_iname = NULL;
if (nrl->trans.localise)
temp_iname = InterNames::new_in(nrl->trans.generate_from, C);
else
temp_iname = InterNames::new(nrl->trans.generate_from);
TEMPORARY_TEXT(T);
WRITE_TO(T, "%n", temp_iname);
InterNames::translate(iname, T);
DISCARD_TEXT(T);
}
return iname;
}
if ((Str::len(T) > 0) && (nrl->access_name)) InterNames::translate(iname, T);
@ =
package_request *HierarchyLocations::package_in_package(int id, package_request *P) {
if (nrls_created == FALSE) HierarchyLocations::create_nrls();
if ((id < 0) || (id >= MAX_HL) || (nrls_indexed_by_id[id] == NULL))

View file

@ -11,7 +11,6 @@
@e PROPOSITION_PR_COUNTER
@e SUBSTITUTION_PR_COUNTER
@e SUBSTITUTIONF_PR_COUNTER
@e TASK_PR_COUNTER
=
location_requirement home_for_weak_type_IDs;
@ -177,6 +176,7 @@ void Hierarchy::establish(void) {
@h Activities.
@e ACTIVITIES_HAP
@e ACTIVITY_HL
@e BEFORE_RB_HL
@e FOR_RB_HL
@e AFTER_RB_HL
@ -194,6 +194,7 @@ void Hierarchy::establish(void) {
location_requirement local_activities = HierarchyLocations::local_submodule(activities);
HierarchyLocations::ap(ACTIVITIES_HAP, local_activities, I"activity", I"_activity");
location_requirement in_activity = HierarchyLocations::any_package_of_type(I"_activity");
HierarchyLocations::con(ACTIVITY_HL, NULL, Translation::generate(ACTIVITY_INAMEF), in_activity);
HierarchyLocations::package(BEFORE_RB_HL, I"before_rb", I"_rulebook", in_activity);
HierarchyLocations::package(FOR_RB_HL, I"for_rb", I"_rulebook", in_activity);
HierarchyLocations::package(AFTER_RB_HL, I"after_rb", I"_rulebook", in_activity);
@ -214,6 +215,8 @@ void Hierarchy::establish(void) {
@e MEASUREMENT_FN_HL
@e ADJECTIVE_PHRASES_HAP
@e DEFINITION_FN_HL
@e ADJECTIVE_TASKS_HAP
@e TASK_FN_HL
@<Establish adjectives@> =
submodule_identity *adjectives = Packaging::register_submodule(I"adjectives");
@ -222,6 +225,9 @@ void Hierarchy::establish(void) {
HierarchyLocations::ap(ADJECTIVES_HAP, local_adjectives, I"adjective", I"_adjective");
location_requirement in_adjective = HierarchyLocations::any_package_of_type(I"_adjective");
HierarchyLocations::con(ADJECTIVE_HL, I"adjective", Translation::uniqued(), in_adjective);
HierarchyLocations::ap(ADJECTIVE_TASKS_HAP, in_adjective, I"adjective_task", I"_adjective_task");
location_requirement in_adjective_task = HierarchyLocations::any_package_of_type(I"_adjective_task");
HierarchyLocations::func(TASK_FN_HL, I"task_fn", Translation::uniqued(), in_adjective_task);
HierarchyLocations::ap(ADJECTIVE_MEANINGS_HAP, local_adjectives, I"adjective_meaning", I"_adjective_meaning");
location_requirement in_adjective_meaning = HierarchyLocations::any_package_of_type(I"_adjective_meaning");
HierarchyLocations::func(MEASUREMENT_FN_HL, I"measurement_fn", Translation::generate(MEASUREMENT_ADJECTIVE_INAMEF), in_adjective_meaning);
@ -252,6 +258,7 @@ void Hierarchy::establish(void) {
@h Chronology.
@e PAST_ACTION_PATTERNS_HAP
@e PAP_FN_HL
@e TIMEDEVENTSTABLE_HL
@e TIMEDEVENTTIMESTABLE_HL
@ -265,6 +272,8 @@ void Hierarchy::establish(void) {
location_requirement local_chronology = HierarchyLocations::local_submodule(chronology);
HierarchyLocations::ap(PAST_ACTION_PATTERNS_HAP, local_chronology, I"past_action_pattern", I"_past_action_pattern");
location_requirement in_past_action_pattern = HierarchyLocations::any_package_of_type(I"_past_action_pattern");
HierarchyLocations::func(PAP_FN_HL, I"pap_fn", Translation::generate(PAST_ACTION_ROUTINE_INAMEF), in_past_action_pattern);
location_requirement synoptic_chronology = HierarchyLocations::synoptic_submodule(chronology);
HierarchyLocations::con(TIMEDEVENTSTABLE_HL, I"TimedEventsTable", Translation::same(), synoptic_chronology);
@ -282,7 +291,10 @@ void Hierarchy::establish(void) {
@e CV_POS_HL
@e MVERBS_HAP
@e MODAL_CONJUGATION_FN_HL
@e VERBS_HAP
@e NONMODAL_CONJUGATION_FN_HL
@e CONJUGATION_FN_HL
@<Establish conjugations@> =
submodule_identity *conjugations = Packaging::register_submodule(I"conjugations");
@ -295,7 +307,11 @@ void Hierarchy::establish(void) {
location_requirement local_conjugations = HierarchyLocations::local_submodule(conjugations);
HierarchyLocations::ap(MVERBS_HAP, local_conjugations, I"mverb", I"_modal_verb");
location_requirement in_modal_verb = HierarchyLocations::any_package_of_type(I"_modal_verb");
HierarchyLocations::func(MODAL_CONJUGATION_FN_HL, I"conjugation_fn", Translation::generate(CONJUGATE_VERB_ROUTINE_INAMEF), in_modal_verb);
HierarchyLocations::ap(VERBS_HAP, local_conjugations, I"verb", I"_verb");
location_requirement in_verb = HierarchyLocations::any_package_of_type(I"_verb");
HierarchyLocations::func(NONMODAL_CONJUGATION_FN_HL, I"conjugation_fn", Translation::generate(CONJUGATE_VERB_ROUTINE_INAMEF), in_verb);
@h Equations.
@ -647,6 +663,7 @@ void Hierarchy::establish(void) {
@e MEANINGLESS_RR_HL
@e RELATIONS_HAP
@e RELATION_RECORD_HL
@e BITMAP_HL
@e ROUTE_CACHE_HL
@e HANDLER_FN_HL
@ -688,6 +705,7 @@ void Hierarchy::establish(void) {
location_requirement local_rels = HierarchyLocations::local_submodule(relations);
HierarchyLocations::ap(RELATIONS_HAP, local_rels, I"relation", I"_relation");
location_requirement in_relation = HierarchyLocations::any_package_of_type(I"_relation");
HierarchyLocations::con(RELATION_RECORD_HL, NULL, Translation::generate(RELATION_RECORD_INAMEF), in_relation);
HierarchyLocations::con(BITMAP_HL, I"as_constant", Translation::uniqued(), in_relation);
HierarchyLocations::con(ROUTE_CACHE_HL, I"route_cache", Translation::uniqued(), in_relation);
HierarchyLocations::func(HANDLER_FN_HL, I"handler_fn", Translation::uniqued(), in_relation);
@ -743,6 +761,7 @@ void Hierarchy::establish(void) {
@h Rules.
@e RULES_HAP
@e SHELL_FN_HL
@e RULE_FN_HL
@e EXTERIOR_RULE_HL
@e RESPONSES_HAP
@ -759,6 +778,7 @@ void Hierarchy::establish(void) {
location_requirement local_rules = HierarchyLocations::local_submodule(rules);
HierarchyLocations::ap(RULES_HAP, local_rules, I"rule", I"_rule");
location_requirement in_rule = HierarchyLocations::any_package_of_type(I"_rule");
HierarchyLocations::func(SHELL_FN_HL, I"shell_fn", Translation::generate_in(RULE_SHELL_ROUTINE_INAMEF), in_rule);
HierarchyLocations::func(RULE_FN_HL, I"rule_fn", Translation::generate_in(PHRASE_INAMEF), in_rule);
HierarchyLocations::con(EXTERIOR_RULE_HL, I"exterior_rule", Translation::uniqued(), in_rule);
HierarchyLocations::ap(RESPONSES_HAP, in_rule, I"response", I"_response");
@ -799,12 +819,15 @@ void Hierarchy::establish(void) {
@h Variables.
@e VARIABLES_HAP
@e VARIABLE_HL
@<Establish variables@> =
submodule_identity *variables = Packaging::register_submodule(I"variables");
location_requirement local_variables = HierarchyLocations::local_submodule(variables);
HierarchyLocations::ap(VARIABLES_HAP, local_variables, I"variable", I"_variable");
location_requirement in_variable = HierarchyLocations::any_package_of_type(I"_variable");
HierarchyLocations::con(VARIABLE_HL, NULL, Translation::generate(VARIABLE_INAMEF), in_variable);
@

View file

@ -138,10 +138,8 @@ inter_name *Adjectives::Meanings::iname(adjectival_phrase *aph, int task, int we
aih->aph_held = aph;
aih->task_code = task;
aih->weak_ID_of_domain = weak_id;
aih->iname_held = Packaging::supply_iname(aph->aph_package, TASK_PR_COUNTER);
Inter::Symbols::set_flag(InterNames::to_symbol(aih->iname_held), MAKE_NAME_UNIQUE);
package_request *PR = Hierarchy::package_within(ADJECTIVE_TASKS_HAP, aph->aph_package);
aih->iname_held = Hierarchy::make_iname_in(TASK_FN_HL, PR);
return aih->iname_held;
}
@ -983,10 +981,8 @@ known in order to sort.
LOGIF(VARIABLE_CREATIONS, "Compiling support code for %W applying to $u, task %d\n",
W, K, T);
packaging_state save = Packaging::enter(aph->aph_iname->eventual_owner);
Routines::begin_in_current_package(Adjectives::Meanings::iname(aph, T,
Kinds::RunTime::weak_id(K)));
inter_name *iname = Adjectives::Meanings::iname(aph, T, Kinds::RunTime::weak_id(K));
packaging_state save = Routines::begin(iname);
@<Add an it-variable to represent the value or object in the domain@>;
TEMPORARY_TEXT(C);

View file

@ -395,9 +395,8 @@ inference_subject *NonlocalVariables::get_knowledge(nonlocal_variable *nlv) {
=
inter_name *NonlocalVariables::iname(nonlocal_variable *nlv) {
if (nlv->nlv_iname == NULL) {
nlv->nlv_iname = InterNames::new(VARIABLE_INAMEF);
InterNames::attach_memo(nlv->nlv_iname, nlv->name);
nlv->nlv_iname->eventual_owner = Hierarchy::package(Modules::find(nlv->nlv_created_at), VARIABLES_HAP);
package_request *R = Hierarchy::package(Modules::find(nlv->nlv_created_at), VARIABLES_HAP);
nlv->nlv_iname = Hierarchy::make_iname_with_memo(VARIABLE_HL, R, nlv->name);
}
return nlv->nlv_iname;
}

View file

@ -862,13 +862,12 @@ int BinaryPredicates::allows_function_simplification(binary_predicate *bp) {
inter_name *default_rr = NULL;
void BinaryPredicates::mark_as_needed(binary_predicate *bp) {
if (bp->record_needed == FALSE) {
bp->bp_iname = InterNames::new(RELATION_RECORD_INAMEF);
bp->bp_iname->eventual_owner = BinaryPredicates::package(bp);
bp->bp_iname = Hierarchy::make_iname_in(RELATION_RECORD_HL, BinaryPredicates::package(bp));
if (default_rr == NULL) {
default_rr = bp->bp_iname;
inter_name *iname = Hierarchy::find(MEANINGLESS_RR_HL);
packaging_state save = Packaging::enter_home_of(iname);
Emit::named_iname_constant(iname, K_value, bp->bp_iname);
Emit::named_iname_constant(iname, K_value, default_rr);
Packaging::exit(save);
}
}

View file

@ -202,17 +202,13 @@ and negative senses.
#ifdef CORE_MODULE
inter_name *Conjugation::conj_iname(verb_conjugation *vc) {
if (vc->vc_iname == NULL) {
package_request *R = NULL;
if (vc->vc_conjugates == NULL) {
R = Hierarchy::package(Modules::find(vc->where_vc_created), MVERBS_HAP);
package_request *R = Hierarchy::package(Modules::find(vc->where_vc_created), MVERBS_HAP);
vc->vc_iname = Hierarchy::make_iname_in(MODAL_CONJUGATION_FN_HL, R);
} else {
R = Verbs::verb_package(vc->vc_conjugates, vc->where_vc_created);
package_request *R = Verbs::verb_package(vc->vc_conjugates, vc->where_vc_created);
vc->vc_iname = Hierarchy::make_iname_in(NONMODAL_CONJUGATION_FN_HL, R);
}
vc->vc_iname =
Packaging::function(
InterNames::one_off(I"conjugation_fn", R),
R,
InterNames::new(CONJUGATE_VERB_ROUTINE_INAMEF));
}
return vc->vc_iname;
}

View file

@ -1,331 +0,0 @@
Version 4/140425 of Glulx Text Effects (for Glulx only) by Emily Short begins here.
"Glulx Text Effects provides an easy way to set up special text effects for Glulx."
Glulx color value is a kind of value. Some glulx color values are defined by the Table of Common Color Values.
Table of Common Color Values
glulx color value assigned number
g-black 0
g-dark-grey 4473924
g-medium-grey 8947848
g-light-grey 14540253
g-white 16777215
[It is important that the values be specified in just the order given, because otherwise the I6 assumptions about the relation of named values to number constants will be wrong.]
text-justification is a kind of value. The text-justifications are left-justified, left-right-justified, center-justified, and right-justified.
special-style is a kind of value. The special-styles are italic-style, fixed-letter-spacing-style, header-style, bold-style, alert-style, note-style, blockquote-style, input-style, special-style-1 and special-style-2.
boldness is a kind of value. The boldnesses are light-weight, regular-weight, and bold-weight.
obliquity is a kind of value. The obliquities are no-obliquity and italic-obliquity.
fixity is a kind of value. The fixities are fixed-width-font and proportional-font.
Before starting the virtual machine:
initialize user styles.
Table of User Styles
style name (a special-style) justification (a text-justification) obliquity (an obliquity) indentation (a number) first-line indentation (a number) boldness (a boldness) fixed width (a fixity) relative size (a number) glulx color (a glulx color value)
-- -- -- -- -- -- -- -- --
To initialize user styles:
repeat through the Table of User Styles
begin;
if there is a justification entry, apply justification of (justification entry) to (style name entry);
if there is an obliquity entry, apply obliquity (obliquity entry) to (style name entry);
if there is an indentation entry, apply (indentation entry) indentation to (style name entry);
if there is a first-line indentation entry, apply (first-line indentation entry) first-line indentation to (style name entry);
if there is a boldness entry, apply (boldness entry) boldness to (style name entry);
if there is a fixed width entry, apply fixed-width-ness (fixed width entry) to (style name entry);
if there is a relative size entry, apply (relative size entry) size-change to (style name entry);
if there is a glulx color entry, apply (assigned number of glulx color entry) color to (style name entry);
end repeat.
To apply (color change - a number) color to (chosen style - a special-style):
(- SetColor({chosen style}, {color change}); -)
To apply (relative size change - a number) size-change to (chosen style - a special-style):
(- SetSize({chosen style}, {relative size change}); -)
To apply (chosen boldness - a boldness) boldness to (chosen style - a special-style):
(- BoldnessSet({chosen style}, {chosen boldness}); -)
To apply (indentation amount - a number) indentation to (chosen style - a special-style):
(- Indent({chosen style}, {indentation amount}); -)
To apply (indentation amount - a number) first-line indentation to (chosen style - a special-style):
(- ParaIndent({chosen style}, {indentation amount}); -)
To apply justification of (justify - a text-justification) to (chosen style - a special-style):
(- Justification({justify}, {chosen style}); -)
To apply fixed-width-ness (chosen fixity - a fixity) to (chosen style - a special-style):
(- FixitySet({chosen style}, {chosen fixity}); -)
To apply obliquity (chosen obliquity - an obliquity) to (chosen style - a special-style):
(- Obliquify({chosen style}, {chosen obliquity}); -)
Include (-
[ SetColor S N;
glk_stylehint_set(wintype_TextBuffer, S, stylehint_TextColor, N);
];
[ FixitySet S N;
N--;
glk_stylehint_set(wintype_TextBuffer, S, stylehint_Proportional, N);
];
[ SetSize S N;
glk_stylehint_set(wintype_TextBuffer, S, stylehint_Size, N);
];
[ BoldnessSet S N;
N = N-2;
glk_stylehint_set(wintype_TextBuffer, S, stylehint_Weight, N);
];
[ ParaIndent S N;
glk_stylehint_set(wintype_TextBuffer, S, stylehint_ParaIndentation, N);
];
[ Indent S N;
glk_stylehint_set(wintype_TextBuffer, S, stylehint_Indentation, N);
];
[ Justification N S;
N--;
glk_stylehint_set(wintype_TextBuffer, S, stylehint_Justification, N);
];
[ Obliquify S N;
N--;
glk_stylehint_set(wintype_TextBuffer, S, stylehint_Oblique, N);
];
-)
To say first custom style:
(- glk_set_style(style_User1); -)
To say second custom style:
(- glk_set_style(style_User2); -)
Glulx Text Effects ends here.
---- Documentation ----
Glulx Text Effects provides an easy way to set up special text effects for Glulx.
Chapter: Styles in Glulx
Section: Built-in Styles
Unlike the z-machine, which allows arbitrary combinations of features (such as color and boldness) to be applied to text, Glulx requires the author to define and then use text styles.
A number of styles are predefined by Glulx. These are named as follow here:
italic-style
fixed-letter-spacing-style
header-style
bold-style
alert-style
note-style
blockquote-style
input-style
"italic-style" is the style used to produce italic text, which means that if you change this style, it will change the way the "italic type" instruction works. (You could even make the output not be italic, if you're feeling perverse.)
"bold-style" is, along the same lines, the style used to produce bold text, which means that if you change this style, it will change the way the "bold type" instruction works.
"fixed-letter-spacing-style" is the style invoked by "fixed letter spacing".
The other styles occur less often:
-- "header-style" is the style used when printing the title of the game;
-- "alert-style" when printing an end of game message such as "*** You have died. ***";
-- "note-style" when printing messages such as "[Your score has increased by one point.]";
-- "blockquote-style" when printing quotations; and
-- "input-style" for formatting the player's own input.
Section: Custom styles
The author is also allowed to define two text styles of his own, which we will call special-style-1 and special-style-2.
Section: Features of styles
A text style in Glulx can have the following features:
indentation: the number of units of indentation for the whole block of text, where units are defined by interpreter, but are often equivalent to spaces
first-line indentation: additional indentation of the first line of the text block
justification: can be left-justified, right-justified, justified on both the left and the right, or centered
obliqueness: whether the font is italic or not
weight: may be light, regular, or bold
relative size: increase (or decrease) from the regular font size being used
Section: Setting style instructions
To set up style instructions with Glulx Text Effects, we create a table, like this:
Table of User Styles (continued)
style name justification obliquity indentation first-line indentation boldness fixed width relative size glulx color
special-style-1 center-justified no-obliquity 0 0 regular-weight proportional-font 0 g-black
special-style-2 right-justified italic-obliquity 0 4 regular-weight proportional-font 0 g-black
Note that we *may* have multiple lines in this table referring to the same style. In that case, the last such line is the one that will take effect. This means that if the author is using an extension that includes a table of user styles, he may further continue the table in order to edit the styles defined by that extension.
The names of the style names (special-style-1 and special-style-2) may not be changed. However, we may set the justification to any of these:
left-justified
right-justified
left-right-justified
center-justified
We may set the obliquity to
no-obliquity
italic-obliquity
We may set the indentation and first-line indentation to numbers.
We may set the boldness to
light-weight
regular-weight
bold-weight
We may set fixed width to
proportional-font
fixed-width-font
We set relative size to a number. This indicates by how many points the font size should be changed from the baseline size: a positive number if this text style should be larger than normal, a negative one if smaller.
Section: Color
Color is the most complicated thing to affect: color can be set to any value of the kind "glulx color value". This extension provides a table of glulx color values to start from, as follows:
Table of Common Color Values
glulx color value assigned number
g-black 0 [== $000000]
g-dark-grey 4473924 [== $444444]
g-medium-grey 8947848 [== $888888]
g-light-grey 14540253 [== $DDDDDD]
g-white 16777215 [== $FFFFFF]
where the assigned number of each value is the decimal representation of a hex color code. It is likely that we'll want to use other colors besides those provided by this extension. We may do this by continuing the table thus:
Table of Common Color Values (continued)
glulx color value assigned number
g-bright-cyan 39423 [== $0099FF]
g-peach 15645627 [== $EEBBBB]
These numbers are conversions of hex color numbers. The principle is that the hex number represents the amount of red in the first two digits (from 00 to FF); the amount of green in the next two digits; and the amount of blue in the last two digits. Thus $0000FF has no red or green in it, but the maximum possible amount of blue. Where each pair of digits is equal (as in $444444 or $A0A0A0), we will have equal components of each color and the result will be some shade of grey. The number for g-peach was selected by formulating a hex color number with a large amount of red and a moderate amount of green and blue ($EEBBBB). Similarly, the number for g-bright-cyan is the conversion of ($0099FF), with the maximum amount of blue, a fair amount of green, and no red.
Converting a hex number to a decimal one can be performed with a scientific calculator or with a hexadecimal conversion application found online; if we're at a loss, googling "hexadecimal conversion calculator" will likely turn up an appropriate application.
For reference, other common colors one might want to add might include
Table of Common Color Values (continued)
glulx color value assigned number
g-pure-blue 255 [== $0000FF]
g-pure-green 65280 [== $00FF00]
g-pure-cyan 65535 [== $00FFFF]
g-pure-yellow 16776960 [== $FFFF00]
g-pure-magenta 16711935 [== $FF00FF]
g-pure-red 16711680 [== $FF0000]
g-dark-red 11141120 [== $AA0000]
Once we have defined custom text styles, we may invoke them ourselves with
say first custom style
say second custom style
We may also use lines of the table to change the behavior of the built-in styles. For instance, the following would make bold text also appear larger and medium grey:
Table of User Styles (continued)
style name relative size glulx color
bold-style 2 g-medium-grey
Section: Technical note
A technical note for people familiar with Glk:
In Glk's internal parlance, "italic-style" is equivalent to style_Emphasized; "bold-style" is style_Subheader; "fixed-width-style" is style_Preformatted. Other styles are named after their manifestations in the Glk specification.
Example: * Gaudy - A visually overpowering exercise in modifying all the built-in text styles.
*: "Gaudy"
Include Version 4 of Glulx Text Effects by Emily Short.
Texty Room is a room. "This is a room of [bold type]bold[roman type] and [italic type]italic[roman type] texts as well as messages in [fixed letter spacing]fixed width[variable letter spacing] text."
Table of User Styles (continued)
style name relative size glulx color
italic-style -1 g-pure-blue
fixed-letter-spacing-style -- g-dark-grey
header-style 10 --
bold-style 2 g-medium-grey
alert-style 5 g-pure-red
note-style -- g-pure-green
blockquote-style -- g-pure-yellow
input-style -1 g-pure-magenta
Table of Common Color Values (continued)
glulx color value assigned number
g-pure-blue 255 [== $0000FF]
g-pure-green 65280 [== $00FF00]
g-pure-cyan 65535 [== $00FFFF]
g-pure-yellow 16776960 [== $FFFF00]
g-pure-magenta 16711935 [== $FF00FF]
g-pure-red 16711680 [== $FF0000]
g-dark-red 11141120 [== $AA0000]
Instead of waiting:
award one point.
Instead of jumping:
end the game in death.
Every turn:
display the boxed quotation "Tempus fugit."
Test me with "z / z / z / jump".
Example: ** The Gallic War - An excuse to print a large, fancily-formatted bit of text using custom styles.
*: "The Gallic War" by Julius Caesar.
The story headline is "An interactive campaign".
Lessons is a room.
Include Glulx Text Effects by Emily Short. Include Basic Screen Effects by Emily Short.
Table of User Styles (continued)
style name justification obliquity indentation first-line indentation boldness fixed width relative size glulx color
special-style-2 left-right-justified italic-obliquity 15 -4 light-weight proportional-font 0 g-medium-grey
When play begins:
change left hand status line to ""; change right hand status line to "";
say "[second custom style]Gallia est omnis divisa in partes tres, quarum unam incolunt Belgae, aliam Aquitani, tertiam qui ipsorum lingua Celtae, nostra Galli appellantur. Hi omnes lingua, institutis, legibus inter se differunt. Gallos ab Aquitanis Garumna flumen, a Belgis Matrona et Sequana dividit.
Horum omnium fortissimi sunt Belgae, propterea quod a cultu atque humanitate provinciae longissime absunt, minimeque ad eos mercatores saepe commeant atque ea quae ad effeminandos animos pertinent important, proximique sunt Germanis, qui trans Rhenum incolunt, quibuscum continenter bellum gerunt. Qua de causa Helvetii quoque reliquos Gallos virtute praecedunt, quod fere cotidianis proeliis cum Germanis contendunt, cum aut suis finibus eos prohibent aut ipsi in eorum finibus bellum gerunt.";
pause the game;
say roman type;
change left hand status line to "[location]"; change right hand status line to "[turn count]".
Bank of the Garumna is a room.

View file

@ -1,556 +0,0 @@
<!doctype HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Play Some Interactive Fiction</title>
<style type="text/css">
body {
background: #F0F0F8;
}
#card {
position: relative;
background: white;
width: 790px;
height: 575px;
font-family: "Times New Roman", Times, serif;
font-size: 14px;
}
#zork {
position: absolute;
left: 0px;
top: 155px;
width: 520px;
background: inherit;
z-index: 1;
border: double black 3px;
padding: 6px 12px;
font-size: 19px;
line-height: 25px;
}
#mailbox {
position: absolute;
right: 8px;
bottom: 0px;
font-size: 12px;
}
.highlight {
border: dotted black 1px;
padding: 0px 1px;
}
.bullets {
text-align: center;
font-weight: bold;
margin-top: 4px;
margin-bottom: 4px;
}
#col1a {
position: absolute;
left: 20px;
top: 10px;
width: 250px;
text-indent: -14px;
}
#cursor {
float: right;
}
#cursorparen {
font-size: 42px;
}
#cursorprompt {
font-family: Helvetica, Arial, sans-serif;
font-size: 30px;
color: #00A1F0;
}
#started {
margin-right: 60px;
font-size: 15px;
}
#uncle {
margin-top: 4px;
font-size: 16px;
line-height: 19px;
font-weight: bold;
}
#col1b {
position: absolute;
left: 20px;
top: 217px;
width: 250px;
text-indent: -14px;
}
#col1b div {
margin-bottom: 4px;
}
#try {
font-size: 16px;
}
#sense {
font-size: 16px;
}
#arefor {
font-size: 14px;
}
#areforpie {
font-size: 12px;
font-style: italic;
}
#eachgame {
margin-top: 8px;
font-size: 15px;
font-style: italic;
}
#living {
text-indent: 0px;
font-size: 13px;
}
#col2a {
position: absolute;
left: 280px;
top: 0px;
width: 240px;
padding: 4px 8px;
border: dashed black 1px;
}
#col2b {
position: absolute;
left: 280px;
top: 208px;
width: 240px;
padding: 4px 8px;
border: dashed black 1px;
}
table.commands {
width: 100%;
border-spacing: 0px;
}
td {
padding: 0px;
}
.leftcell {
vertical-align: top;
width: 140px;
}
.rightcell {
vertical-align: top;
width: 100px;
}
.bothcell {
vertical-align: top;
}
.cmdheader {
margin: 4px 0px;
}
.verb {
font-weight: bold;
}
.noun {
font-style: italic;
padding: 0px 1px;
}
#doubt {
margin: 4px 0px;
text-align: center;
font-style: italic;
font-weight: bold;
color: #00A1F0;
}
#handy {
margin: 4px 0px;
font-size: 12px;
font-style: italic;
}
.dagger {
font-size: 9px;
vertical-align: super;
font-style: normal;
color: #00A1F0;
}
.asterisk {
color: #00A1F0;
}
#col3a {
position: absolute;
left: 560px;
top: 0px;
width: 230px;
}
table.tryfirst {
border-spacing: 0px;
}
.bracecell {
font-size: 60px;
}
.trycell {
padding-top: 8px;
text-align: center;
}
.compass {
margin-left: 20px;
margin-top: 4px;
margin-bottom: 8px;
}
.comcell {
text-align: center;
font-size: 20px;
line-height: 20px;
}
.dircell {
font-size: 16px;
font-weight: bold;
font-style: italic;
text-align: center;
}
.subdircell {
font-size: 12px;
font-weight: bold;
font-style: italic;
text-align: center;
}
.gonorth {
font-style: italic;
font-size: 12px;
}
.alsocell {
vertical-align: top;
padding-left: 10px;
font-size: 12px;
}
#letters {
font-size: 16px;
line-height: 18px;
margin-top: 4px;
margin-left: 14px;
text-indent: -12px;
}
.lettersquote {
font-size: 22px;
}
.verbdesc {
font-style: italic;
margin-left: 14px;
}
#service {
font-size: 12px;
font-style: italic;
}
#service a {
color: #00A1F0;
font-weight: bold;
}
</style>
<body>
<div id="card">
<div id="zork">
You are standing in an open
<span class="highlight">field</span>
west of a white
<span class="highlight">house,</span>
with a boarded front
<span class="highlight">door.</span>
There is a small
<span class="highlight">mailbox</span><span class="asterisk">*</span>
here.
<div id="mailbox"><span class="asterisk">*</span>Try opening!</div>
</div>
<div id="col1a">
<div id="cursor"><span id="cursorparen">(</span><span id="cursorprompt">&gt;|</span><span id="cursorparen">)</span></div>
<div id="started">
You just started up a game and now you&#x2019;re staring at <i>text</i>
and a <i>blinking cursor</i> and you <i>don&#x2019;t know what to do!</i>
</div>
<div id="uncle">
Don&#x2019;t panic kids&#x2014;<br>
Crazy Uncle Zarf is here to help you get started...
</div>
</div>
<div id="col1b">
<div>&nbsp;</div>
<div id="try">
You can try all sorts of commands on the
<span class="highlight">things</span> you see.
</div>
<div id="sense">
Try the commands that make sense!
</div>
<div id="arefor">
Doors are for opening; buttons are for pushing; pie is for eating.
<span id="areforpie">(Mmm, pie.)</span>
</div>
<div class="bullets">&#x25C7;&#x25C7;&#x25C7;&#x25C7;</div>
<div id="person">
If you meet a person, these should work:
</div>
<div id="living">
<span class="verb">TALK TO</span> <span class="noun">name</span><br>
<span class="verb">ASK</span> <span class="noun">name</span>
<span class="verb">ABOUT</span> <span class="noun">something</span><br>
<span class="verb">TELL</span> <span class="noun">name</span>
<span class="verb">ABOUT</span> <span class="noun">something</span><br>
<span class="verb">GIVE</span> <span class="noun">something</span>
<span class="verb">TO</span> <span class="noun">name</span><br>
<span class="verb">SHOW</span> <span class="noun">something</span>
<span class="verb">TO</span> <span class="noun">name</span><br>
</div>
<div id="eachgame">
Each game has slightly different commands, but they all look
<b>pretty much like these.</b>
</div>
</div>
<div id="col2a">
<div class="cmdheader"><u>These commands are very common</u>:</div>
<table class="commands" id="cmd1">
<tr>
<td class="leftcell">
<span class="verb">EXAMINE</span> <span class="noun">it</span><br>
<span class="verb">TAKE</span> <span class="noun">it</span><br>
<span class="verb">DROP</span> <span class="noun">it</span><br>
<span class="verb">OPEN</span> <span class="noun">it</span><br>
<span class="verb">PUT</span> <span class="noun">it</span>
<span class="verb">IN</span> <span class="noun">something</span><br>
<span class="verb">PUT</span> <span class="noun">it</span>
<span class="verb">ON</span> <span class="noun">something</span><br>
</td>
<td class="rightcell">
<span class="verb">PUSH</span> <span class="noun">it</span><br>
<span class="verb">PULL</span> <span class="noun">it</span><br>
<span class="verb">TURN</span> <span class="noun">it</span><br>
<span class="verb">FEEL</span> <span class="noun">it</span><br>
</td>
</tr>
</table>
<div id="doubt">
When in doubt, examine more.
</div>
<div>&nbsp;</div>
</div>
<div id="col2b">
<div>&nbsp;</div>
<div class="cmdheader"><u>You could also try</u>:</div>
<table class="commands" id="cmd2">
<tr>
<td class="leftcell">
<span class="verb">EAT</span> <span class="noun">it</span><br>
<span class="verb">DRINK</span> <span class="noun">it</span><br>
<span class="verb">FILL</span> <span class="noun">it</span><br>
<span class="verb">SMELL</span> <span class="noun">it</span><br>
<span class="verb">LISTEN TO</span> <span class="noun">it</span><br>
<span class="verb">BREAK</span> <span class="noun">it</span><br>
<span class="verb">BURN</span> <span class="noun">it</span><br>
<span class="verb">LOOK UNDER</span> <span class="noun">it</span><br>
</td>
<td class="rightcell">
<span class="verb">CLIMB</span> <span class="noun">it</span><br>
<span class="verb">WAVE</span> <span class="noun">it</span><br>
<span class="verb">WEAR</span> <span class="noun">it</span><br>
<span class="verb">TAKE</span> <span class="noun">it</span>
<span class="verb">OFF</span><br>
<span class="verb">TURN</span> <span class="noun">it</span>
<span class="verb">ON</span><br>
<span class="verb">DIG IN</span> <span class="noun">it</span><br>
<span class="verb">ENTER</span> <span class="noun">it</span><br>
<span class="verb">SEARCH</span> <span class="noun">it</span><br>
</td>
</tr>
<tr>
<td class="bothcell" colspan="2">
<span class="verb">UNLOCK</span> <span class="noun">it</span>
<span class="verb">WITH</span> <span class="noun">something</span><br>
</td>
</tr>
</table>
<div class="cmdheader"><u>Or even</u>:</div>
<table class="commands" id="cmd3">
<tr>
<td class="leftcell">
<span class="verb">LISTEN</span><br>
<span class="verb">SLEEP</span><br>
<span class="verb">WAKE UP</span><br>
<span class="verb">UNDO</span><span class="dagger">&#x2020;</span><br>
</td>
<td class="rightcell">
<span class="verb">JUMP</span><br>
<span class="verb">PRAY</span><br>
<span class="verb">CURSE</span><br>
<span class="verb">SING</span><br>
</td>
</tr>
</table>
<div id="handy">
<span class="dagger">&#x2020;</span>Take back one move &#x2014; handy!
</div>
</div>
<div id="col3a">
<table class="tryfirst">
<tr>
<td class="bracecell">{</td>
<td class="trycell">
<span class="noun">Does the game intro suggest</span><br>
<span class="verb">ABOUT, INFO, HELP</span><span class="noun">?</span><br>
<span class="noun">Try them first!</span>
</td>
<td class="bracecell">}</td>
</tr>
</table>
<table class="compass">
<tr>
<td></td>
<td></td>
<td class="dircell">N</td>
<td class="gonorth" colspan="3">(&#x201C;Go north.&#x201D;)</td>
</tr>
<tr>
<td class="subdircell">NW</td>
<td></td>
<td class="comcell">&#x2503;</td>
<td></td>
<td class="subdircell">NE</td>
</tr>
<tr>
<td></td>
<td class="comcell">&#x2572;</td>
<td class="comcell">&#x2503;</td>
<td class="comcell">&#x2571;</td>
<td></td>
</tr>
<tr>
<td class="dircell">W</td>
<td class="comcell">&#x2501;</td>
<td class="comcell">&#x254B;</td>
<td class="comcell">&#x2501;</td>
<td class="dircell">E</td>
<td class="alsocell" rowspan="3">
Also:<br>
<span class="verb">Up, Down,</span><br>
<span class="verb">IN,</span>
and <span class="verb">OUT</span>
</td>
</tr>
<tr>
<td></td>
<td class="comcell">&#x2571;</td>
<td class="comcell">&#x2503;</td>
<td class="comcell">&#x2572;</td>
<td></td>
</tr>
<tr>
<td class="subdircell">SW</td>
<td></td>
<td class="dircell">S</td>
<td></td>
<td class="subdircell">SE</td>
</tr>
</table>
<div id="letters">
<span class="lettersquote">&#x201C;</span>What if I only want to<br>
type one or two letters?<span class="lettersquote">&#x201D;</span>
</div>
<div class="bullets">&#x25C7;&#x25C7;&#x25C7;&#x25C7;</div>
<div class="verbline"><span class="verb">N/E/S/W/NE/SE/NW/SW: GO</span></div>
<div class="verbdesc">in the indicated compass direction.</div>
<div class="verbline"><span class="verb">L: LOOK</span></div>
<div class="verbdesc">around to see what is nearby.</div>
<div class="verbline"><span class="verb">X: EXAMINE</span></div>
<div class="verbdesc">a thing in more detail.</div>
<div class="verbline"><span class="verb">I:</span> <span class="noun">take</span> <span class="verb">INVENTORY</span></div>
<div class="verbdesc">of what you posess.</div>
<div class="verbline"><span class="verb">Z: WAIT</span></div>
<div class="verbdesc">a turn without doing anything.</div>
<div class="verbline"><span class="verb">G:</span> <span class="noun">do the same thing</span> <span class="verb">AGAIN</span></div>
<div class="bullets">&#x25C7;&#x25C7;&#x25C7;&#x25C7;</div>
<div id="service">
A service of the People&#x2019;s Republic of<br>
Interactive Fiction:
<a href="http://pr-if.org/">http://pr-if.org/</a>
</div>
</div>
</div>
</body>
</html>

View file

@ -0,0 +1,387 @@
Version 5/140516 of Glulx Text Effects (for Glulx only) by Emily Short begins here.
"Gives control over text formatting in Glulx."
[ Version 5 was rewritten by Dannii Willis ]
Use authorial modesty.
Chapter - Specifying styles
[ It is important that the values be specified precisely in the following orders, because otherwise the I6 assumptions about the relation of named values to number constants will be wrong. ]
A glulx text style is a kind of value.
The glulx text styles are all-styles, normal-style, italic-style, fixed-letter-spacing-style, header-style, bold-style, alert-style, note-style, blockquote-style, input-style, special-style-1 and special-style-2.
A text justification is a kind of value.
The text justifications are left-justified, left-right-justified, center-justified, and right-justified.
A font weight is a kind of value.
The font weights are light-weight, regular-weight, and bold-weight.
Section - The Table of User Styles definition
[ This table is given its own section so that it can be replaced to add extra columns needed by other extensions (such as Flexible Windows) ]
Table of User Styles
style name (a glulx text style) background color (a text) color (a text) first line indentation (a number) fixed width (a truth state) font weight (a font weight) indentation (a number) italic (a truth state) justification (a text justification) relative size (a number) reversed (a truth state)
with 1 blank row
Chapter - Sorting the Table of User Styles
[ We sort the table of styles to combine style definitions together ]
Before starting the virtual machine (this is the sort the Table of User Styles rule):
[ First change empty style names to all-styles ]
repeat through the Table of User Styles:
if there is no style name entry:
now the style name entry is all-styles;
sort the Table of User Styles in style name order;
let row1 be 1;
let row2 be 2;
[ Overwrite the first row of each style with the specifications of subsequent rows of the style ]
while row2 <= the number of rows in the Table of User Styles:
choose row row2 in the Table of User Styles;
if there is a style name entry:
if (the style name in row row1 of the Table of User Styles) is the style name entry:
if there is a background color entry:
now the background color in row row1 of the Table of User Styles is the background color entry;
if there is a color entry:
now the color in row row1 of the Table of User Styles is the color entry;
if there is a first line indentation entry:
now the first line indentation in row row1 of the Table of User Styles is the first line indentation entry;
if there is a fixed width entry:
now the fixed width in row row1 of the Table of User Styles is the fixed width entry;
if there is a font weight entry:
now the font weight in row row1 of the Table of User Styles is the font weight entry;
if there is a indentation entry:
now the indentation in row row1 of the Table of User Styles is the indentation entry;
if there is a italic entry:
now the italic in row row1 of the Table of User Styles is the italic entry;
if there is a justification entry:
now the justification in row row1 of the Table of User Styles is the justification entry;
if there is a relative size entry:
now the relative size in row row1 of the Table of User Styles is the relative size entry;
if there is a reversed entry:
now the reversed in row row1 of the Table of User Styles is the reversed entry;
blank out the whole row;
otherwise:
now row1 is row2;
increment row2;
Chapter - Setting the styles - unindexed
Last before starting the virtual machine (this is the set text styles rule):
repeat through the Table of User Styles:
if there is a background color entry:
set the background color for the style name entry to the background color entry;
if there is a color entry:
set the color for the style name entry to the color entry;
if there is a first line indentation entry:
set the first line indentation for the style name entry to the first line indentation entry;
if there is a fixed width entry:
set fixed width for the style name entry to the fixed width entry;
if there is a font weight entry:
set the font weight for the style name entry to the font weight entry;
if there is a indentation entry:
set the indentation for the style name entry to the indentation entry;
if there is a italic entry:
set italic for the style name entry to the italic entry;
if there is a justification entry:
set the justification for the style name entry to the justification entry;
if there is a relative size entry:
set the relative size for the style name entry to the relative size entry;
if there is a reversed entry:
set reversed for the style name entry to the reversed entry;
To set the background color for (style - a glulx text style) to (N - a text):
(- GTE_SetStylehint( wintype_TextBuffer, {style}, stylehint_BackColor, GTE_ConvertColour( {N} ) ); -).
To set the color for (style - a glulx text style) to (N - a text):
(- GTE_SetStylehint( wintype_TextBuffer, {style}, stylehint_TextColor, GTE_ConvertColour( {N} ) ); -).
To set the first line indentation for (style - a glulx text style) to (N - a number):
(- GTE_SetStylehint( wintype_TextBuffer, {style}, stylehint_ParaIndentation, {N} ); -).
To set fixed width for (style - a glulx text style) to (N - truth state):
(- GTE_SetStylehint( wintype_TextBuffer, {style}, stylehint_Proportional, ( {N} + 1 ) % 2 ); -).
To set the font weight for (style - a glulx text style) to (N - a font weight):
(- GTE_SetStylehint( wintype_TextBuffer, {style}, stylehint_Weight, {N} - 2 ); -).
To set the indentation for (style - a glulx text style) to (N - a number):
(- GTE_SetStylehint( wintype_TextBuffer, {style}, stylehint_Indentation, {N} ); -).
To set italic for (style - a glulx text style) to (N - a truth state):
(- GTE_SetStylehint( wintype_TextBuffer, {style}, stylehint_Oblique, {N} ); -).
To set the justification for (style - a glulx text style) to (N - a text justification):
(- GTE_SetStylehint( wintype_TextBuffer, {style}, stylehint_Justification, {N} - 1 ); -).
To set the relative size for (style - a glulx text style) to (N - a number):
(- GTE_SetStylehint( wintype_TextBuffer, {style}, stylehint_Size, {N} ); -).
To set reversed for (style - a glulx text style) to (N - a truth state):
(- GTE_SetStylehint( wintype_TextBuffer, {style}, stylehint_ReverseColor, {N} ); -).
Include (-
[ GTE_SetStylehint wintype style hint N i;
if ( style == (+ all-styles +) )
{
for ( i = 0: i < style_NUMSTYLES : i++ )
{
glk_stylehint_set( wintype, i, hint, N );
}
}
else
{
glk_stylehint_set( wintype, style - 2, hint, N );
}
];
-).
[ Previously you would have to manually convert colours to their integer values, but in version 5 the extension will do it for you. Short (#FFF) web colours aren't supported. ]
Include (-
[ GTE_ConvertColour txt p1 cp1 dsize i ch progress;
! Transmute the text
cp1 = txt-->0;
p1 = TEXT_TY_Temporarily_Transmute( txt );
dsize = BlkValueLBCapacity( txt );
for ( i = 0 : i < dsize : i++ )
{
! Decode the hex characters
ch = BlkValueRead( txt, i );
if ( ch == 0 )
{
break;
}
else if ( ch > 47 && ch < 58 )
{
progress = progress * 16 + ch - 48;
}
else if ( ch > 64 && ch < 71 )
{
progress = progress * 16 + ch - 55;
}
else if ( ch > 96 && ch < 103 )
{
progress = progress * 16 + ch - 87;
}
}
! Clean up and return
TEXT_TY_Untransmute( txt, p1, cp1 );
return progress;
];
-).
Chapter - Additional style phrases
To say alert style:
(- glk_set_style( style_Alert ); -).
To say blockquote style:
(- glk_set_style( style_BlockQuote ); -).
To say header style:
(- glk_set_style( style_Header ); -).
To say input style:
(- glk_set_style( style_Input ); -).
To say note style:
(- glk_set_style( style_Note ); -).
To say special-style-1:
(- glk_set_style( style_User1 ); -).
To say special style 1:
(- glk_set_style( style_User1 ); -).
To say first special/custom style:
(- glk_set_style( style_User1 ); -).
To say special-style-2:
(- glk_set_style( style_User2 ); -).
To say special style 2:
(- glk_set_style( style_User2 ); -).
To say second special/custom style:
(- glk_set_style( style_User2 ); -).
Glulx Text Effects ends here.
---- Documentation ----
Glulx Text Effects provides an easy way to set up special text effects for Glulx.
Chapter: Styles in Glulx
Unlike the Z-Machine, which allows arbitrary combinations of features (such as color and boldness) to be applied to text, Glulx requires the author to define and then use text styles.
There are eleven of these styles:
Table of styles
normal-style the style used for regular text
italic-style used for italic text (this is what the "[italic type]" phrase uses)
bold-style used for bold text (this is what the "[bold type]" phrase uses)
fixed-letter-spacing-style used for monospaced text (this is what the "[fixed letter spacing]" phrase uses)
alert-style used when printing an end of game message such as "*** You have died. ***"
blockquote-style used for printing box quotations
header-style used to print the title of the game
input-style used for the player's own input
note-style used for messages such as "[Your score has increased by one point.]"
special-style-1 these two styles are not used by Inform, and you are free to use them for any purpose you want
special-style-2
Additionally, when defining styles you can set "all-styles" which will define all eleven styles at once.
Chapter: Style features
Each text style has the following features:
Table of style features
background color specifies the background color of the text
color specifies the color of the text itself
fixed width a truth state (default: false). If true then the text will be displayed with a fixed width (monospace) font
font weight specifies the weight of the font. Can be set to "light-weight", "regular-weight" (the default), or "bold-weight"
indentation a number (default: 0) specifying the number of units of indentation for the whole block of text. Units are defined by interpreter, but are often equivalent to spaces
first line indentation a number (default: 0) specifying additional indentation for the first line of the text block
italic a truth state (default: false). If true then the text will be displayed in italics
justification can be set to "left-justified", "center-justified", "right-justified", or "left-right-justified" for justified on the left and right (often called full justification)
relative size a number (default: 0) specifying how many font sizes above or below the browser's default a style should be set to
reversed a truth state (default: false). If true then the foreground and background colors of the text will be reversed. This is most commonly used for the status line
Not all interpreters support all of these features. Notably, Gargoyle does not support justification or font sizes. If the interpreter does not support one of the features it will just be quietly ignored.
Chapter: Defining styles
To define the features each style should have, add a table continuation to the Table of User Styles in your code. For example:
Table of User Styles (continued)
style name color italic relative size
all-styles "#FF0000" true --
header-style "#0000FF" false 1
special-style-1 "#00FF00"
This definition table above will make everything red and italics, except for the title which will be blue and a size bigger. Special style 1 is set to green, but it won't be used without the author manually turning it on.
Your table continuation does not need to include every column in the Table of User Styles, nor does it need to define every style. You can also continue the table multiple times, and even define a style in multiple places; if you do then the definitions will be combined together. If you do not want to set a feature for a style you can leave it blank with "--".
Colors are defined by specifying a web (CSS) color in a text. Web colors specify the red/green/blue components of a color in hexadecimal, and a correctly specified color will be 6 characters long (with an optional # at the beginning.) Note that short (#000) web colors are not supported.
If you use a color many times you can define it as a text constant, and then use that in the table:
Red is always "#FF0000".
Table of User Styles (continued)
style name color
special-style-1 red
Chapter: Using the styles
You may invoke the text styles by using the following phrases
Table of style phrases
normal-style "[roman type]"
italic-style "[italic type]"
bold-style "[bold type]"
fixed-letter-spacing-style "[fixed letter spacing]" (Return to regular variable spaced type with either "[variable letter spacing]" or just "[roman type]")
alert-style "[alert style]"
blockquote-style "[blockquote style]"
header-style "[header style]"
input-style "[input style]"
note-style "[note style]"
special-style-1 "[special-style-1]", "[first special style]", or "[first custom style]" (there are multiple options to support older code)
special-style-2 "[special-style-2]", "[second special style]", or "[second custom style]"
Chapter: About this extension
This extension was originally by Emily Short. Version 5 was rewritten by Dannii Willis.
The latest version of this extension can be found at <https://github.com/i7/extensions>. This extension is released under the Creative Commons Attribution licence. Bug reports, feature requests or questions can be made at <https://github.com/i7/extensions/issues>.
Example: * Gaudy - A visually overpowering exercise in modifying all the built-in text styles.
*: "Gaudy"
Include Version 5 of Glulx Text Effects by Emily Short.
Use scoring.
Texty Room is a room. "This is a room of [bold type]bold[roman type] and [italic type]italic[roman type] texts as well as messages in [fixed letter spacing]fixed width[variable letter spacing] text."
Table of User Styles (continued)
style name relative size color background color
italic-style -1 "#0000FF" [ blue ] --
fixed-letter-spacing-style -- "#444444" [ dark-grey ] --
header-style 10 -- --
bold-style 2 "#888888" [ medium-grey ] "#80DAEB"
alert-style 5 "#FF0000" [ red ]
note-style -- "#00FF00" [ green ]
blockquote-style -- "#FFFF00" [ yellow ]
input-style -1 "#FF00FF" [ magenta ]
Instead of waiting:
increase the score by 5.
Instead of jumping:
end the story finally.
Every turn:
display the boxed quotation "Tempus fugit."
Test me with "z / z / z / jump".
Example: ** The Gallic War - An excuse to print a large, fancily-formatted bit of text using custom styles.
*: "The Gallic War" by Julius Caesar.
The story headline is "An interactive campaign".
Lessons is a room.
Include Glulx Text Effects by Emily Short.
Include Basic Screen Effects by Emily Short.
Table of User Styles (continued)
style name justification italic indentation first line indentation font weight color
special-style-2 left-right-justified true 15 -4 light-weight "#888888" [ medium-grey ]
When play begins:
now the left hand status line is "";
now right hand status line is "";
say "[second custom style]Gallia est omnis divisa in partes tres, quarum unam incolunt Belgae, aliam Aquitani, tertiam qui ipsorum lingua Celtae, nostra Galli appellantur. Hi omnes lingua, institutis, legibus inter se differunt. Gallos ab Aquitanis Garumna flumen, a Belgis Matrona et Sequana dividit.
Horum omnium fortissimi sunt Belgae, propterea quod a cultu atque humanitate provinciae longissime absunt, minimeque ad eos mercatores saepe commeant atque ea quae ad effeminandos animos pertinent important, proximique sunt Germanis, qui trans Rhenum incolunt, quibuscum continenter bellum gerunt. Qua de causa Helvetii quoque reliquos Gallos virtute praecedunt, quod fere cotidianis proeliis cum Germanis contendunt, cum aut suis finibus eos prohibent aut ipsi in eorum finibus bellum gerunt.";
pause the game;
say roman type;
now the left hand status line is "[location]";
now the right hand status line is "[turn count]".
Bank of the Garumna is a room.

View file

@ -1,4 +1,4 @@
Version 7 of Epistemology by Eric Eve begins here.
Version 8 of Epistemology by Eric Eve begins here.
"Keeping track of what the player character knows and sees."
@ -10,12 +10,15 @@ A thing can be either seen or unseen. A thing is usually unseen.
the location is seen." but this turns out to be unacceptably slow in practice.
The following code does approximately the same thing but much faster.]
Carry out looking (this is the mark items as seen when looking rule):
unless in darkness:
now every backdrop in the location is seen;
repeat with item running through things that are enclosed by the location:
if the item is not enclosed by an opaque closed container:
now the item is seen.
Carry out opening a container (this is the mark items as seen on opening a container rule):
repeat with item running through things that are enclosed by the noun:
if the item is unseen and the item is visible:
@ -57,7 +60,7 @@ Understand "epistat [any thing]" as requesting epistemic status of.
Report requesting epistemic status of (this is the report epistemic status rule):
say "[noun] - [if seen]seen[otherwise]unseen[end if] /
[if familiar]familiar[otherwise]unfamiliar[end if] /
[if known]known[otherwise]unknown[end if]."
[if known]known[otherwise]unknown[end if]." (A).
Epistemology ends here.

View file

@ -247,8 +247,9 @@ of light produced is luminosity. A fully lit computer display of 2008 has a
brightness of about 330 cd/sq m, and has a surface area of maybe 0.5 sq m,
so pours out about 150 cd. This is more than a domestic light bulb
produces, but the bulb is much, much brighter - maybe 150000 cd/sq m -
because the light comes out of a smaller area.) A luminance of 0.001 cd/sq m,
is so dim it can barely be seen, and up to about 2000000 cd/sq m, which would be painful to look at."
because the light comes out of a smaller area.) A luminance of 0.001 cd/sq m
is so dim it can barely be seen, whereas 2000000 cd/sq m would be painful
to look at."
1.0 cd/sq m (in metric units, in cd/sq m) or 1 candela per square meter (in
candelas per square meter, singular) or 2 candelas per square meter
@ -280,8 +281,8 @@ down by 10000.
units, in hectares, plural) specifies an area scaled up by 10000.
The specification of area is "Measures the extent of a two-dimensional surface,
usually a patch of land or the covering of an object. Inform measures down to
1 sq cm, the area of a small coin, or up to 21 hectares, the grounds of a large
usually a patch of land or the covering of an object. 1 sq cm is about the
area of a small coin, whereas 20 hectares would be the grounds of a large
country house or a typical French vineyard. A boxing ring is 36 sq m; a sports
field about 6000 sq m."
@ -310,9 +311,8 @@ a volume scaled down by 1000000.
The specification of volume is "Measures the extent of a three-dimensional
space, usually the space taken up by an object or the space inside a
container. Inform measures down to 1 cc (or 1 ml - same thing), about a
teaspoon-full, or up to 2100 cu m, twice the capacity of an Olympic
swimming pool."
container. 1 cc (or 1 ml - same thing) is about a teaspoon-full, whereas
1000 cu m is roughly the capacity of an Olympic swimming pool."
Length times area specifies a volume.
@ -469,11 +469,7 @@ would produce '45 ml', for instance.
For detailed notes on each of the units, consult the Kinds index for any project using this extension.
There are three main restrictions. First, Inform can only represent numbers within a certain range. Each kind of value is set up on the assumption that writers will want it to model human-scale situations - length, for instance, varies from 1mm, the smallest conscious movement a human can make, up to 2150km or so, the length of a continent-spanning footpath. 'Metric Units' is an extension to help with real-world physics questions like how long a plate dropped off the roof takes to hit the ground, or when a rope will break, or how long a saucepan of water will take to boil. It won't be much use for celestial events like lightning strikes, where enormous energies are released for fleeting periods of time, or for tiny subatomic events.
Secondly, calculations are done with fixed-point arithmetic and will inevitably involve small rounding errors. Working out the same quantity by two different methods, which ought to have the same result according to physics, will often produce slightly different answers because these errors accumulate differently. 'Metric Units' aspires to help the writer to get physical answers which are about right, not to be a precision tool.
Thirdly, we haven't included every SI unit. There are hundreds of kinds of value which turn up in physics, and we only include the commonest 25 or so. The missing ones which have named SI units are:
We haven't included every SI unit. There are hundreds of kinds of value which turn up in physics, and we only include the commonest 25 or so. The missing ones which have named SI units are:
angle (measured in radians), solid angle (measured in steradians), luminous flux (lux), electric capacitance (Farads), electric resistance (Ohms), electric conductance (Siemens), magnetic flux (Webers), magnetic field (Teslas), inductance (Henries), radioactivity (Becquerels), absorbed radioactive dose (Grays), equivalent radioactive dose (Sieverts), chemical quantity (mole), catalytic activity (katals).

View file

@ -4,286 +4,286 @@ Version 3/120430 of the Standard Rules by Graham Nelson begins here.
of kinds, actions and phrases which make Inform what it is."
[...and so on...]
Document rules_instead at doc100 "7.2" "7.2. Instead rules".
Document ph_continueaction ph_stopaction rules_before at doc101 "7.3" "7.3. Before rules".
Document PM_ActionNotSpecific PM_ActionTooSpecific PM_UnknownTryAction1 PM_UnknownTryAction2 ph_try ph_trysilently at doc102 "7.4" "7.4. Try and try silently".
Document rules_after at doc103 "7.5" "7.5. After rules".
Document PM_APWithDisjunction PM_APWithImmiscible at doc106 "7.8" "7.8. Rules applying to more than one action".
Document var_noun at doc108 "7.10" "7.10. The noun and the second noun".
Document PM_CantAssertAdjective PM_CantAssertNegatedEverywhere PM_CantAssertNegatedRelations PM_CantAssertNonKind PM_CantAssertQuantifier PM_NegatedVerb1 PM_NoSuchVerb PM_NoSuchVerbComma PM_TwoLikelihoods at doc11 "2.1" "2.1. Creating the world".
Document PM_APWithBadWhen PM_NonActionInPresenceOf at doc110 "7.12" "7.12. In the presence of, and when".
Document PM_GoingWithoutObject PM_GoingWrongKind at doc112 "7.14" "7.14. Going by, going through, going with".
Document KACTIONS PM_NamedAPWithActor at doc113 "7.15" "7.15. Kinds of action".
Document var_prompt at doc118 "8.2" "8.2. Changing the command prompt".
Document phs_surroundings var_sl at doc119 "8.3" "8.3. Changing the status line".
Document ph_say at doc12 "2.2" "2.2. Making rules".
Document ph_changeexit ph_changenoexit at doc121 "8.5" "8.5. Change of properties with values".
Document ph_move at doc123 "8.7" "8.7. Moving things".
Document ph_movebackdrop ph_updatebackdrop at doc124 "8.8" "8.8. Moving backdrops".
Document ph_remove at doc126 "8.10" "8.10. Removing things from play".
Document PM_BadNow1 PM_BadNow2 PM_BadNow3 PM_CantChangeKind PM_CantForceCalling PM_CantForceExistence PM_CantForceGeneralised PM_CantForceRelation PM_RedefinedNow ph_now at doc127 "8.11" "8.11. Now...".
Document ph_decrease ph_decrement ph_increase ph_increment at doc128 "8.12" "8.12. Increasing and decreasing".
Document PM_EnigmaticPronoun PM_EnigmaticThey PM_TooMuchQuotedText PM_UnendingComment PM_UnendingQuote PM_WordTooLong at doc13 "2.3" "2.3. Punctuation".
Document PM_CalledThe PM_CalledWithDash at doc131 "8.15" "8.15. Calling names".
Document ph_firstheld ph_holder ph_nextheld at doc133 "8.17" "8.17. Looking at containment by hand".
Document ph_randombetween ph_randomchance ph_seed at doc134 "8.18" "8.18. Randomness".
Document PM_RandomImpossible ph_randomdesc at doc135 "8.19" "8.19. Random choices of things".
Document ROOMPLAYBEGINS rules_wpb at doc136 "9.1" "9.1. When play begins".
Document var_score at doc137 "9.2" "9.2. Awarding points".
Document ph_end ph_ended ph_endfinally ph_endfinallysaying ph_endsaying ph_finallyended ph_notended ph_notfinallyended ph_resume rules_wpe at doc139 "9.4" "9.4. When play ends".
Document PM_NumberOfTurns rules_et at doc140 "9.5" "9.5. Every turn".
Document kind_time var_time at doc141 "9.6" "9.6. The time of day".
Document phs_timewords at doc142 "9.7" "9.7. Telling the time".
Document ph_durationhours ph_durationmins at doc143 "9.8" "9.8. Approximate times, lengths of time".
Document ph_shiftafter ph_shiftbefore ph_timeafter ph_timebefore at doc144 "9.9" "9.9. Comparing and shifting times".
Document ph_hourspart ph_minspart at doc145 "9.10" "9.10. Calculating times".
Document PM_AtWithoutTime PM_UnusedTimedEvent TIMEDEVENTS ph_attime ph_timefromnow ph_turnsfromnow at doc146 "9.11" "9.11. Future events".
Document PM_PTAPTooComplex at doc147 "9.12" "9.12. Actions as conditions".
Document PM_DescSubordinatePast PM_NonPresentTense PM_PTAPMakesCallings PM_PastActionCalled PM_PastCallings PM_PastSubordinate PM_PastTableEntries PM_PastTableLookup at doc148 "9.13" "9.13. The past and perfect tenses".
Document HEADINGS PM_BadTitleSentence PM_HeadingOverLine PM_HeadingStopsBeforeEndOfLine at doc15 "2.5" "2.5. Headings".
Document SCENESINTRO kind_scene at doc151 "10.1" "10.1. Introduction to scenes".
Document PM_ScenesBadCondition PM_ScenesDisallowCalled PM_ScenesNotPlay PM_ScenesOnly PM_ScenesOversetEnd PM_ScenesUnknownEnd at doc152 "10.2" "10.2. Creating a scene".
Document ph_scenetimesincebegan ph_scenetimesinceended ph_scenetimewhenbegan ph_scenetimewhenended at doc153 "10.3" "10.3. Using the Scene index".
Document ph_hasended ph_hashappened ph_hasnotended ph_hasnothappened at doc154 "10.4" "10.4. During scenes".
Document LINKINGSCENES at doc155 "10.5" "10.5. Linking scenes together".
Document PHRASES ph_nothing at doc160 "11.1" "11.1. What are phrases?".
Document PM_BareTo at doc161 "11.2" "11.2. The phrasebook".
Document PM_AdjacentTokens PM_BadTypeIndication PM_PhraseTooLong PM_SaySlashed PM_TokenMisunderstood PM_TokenWithEmptyBrackets PM_TokenWithNestedBrackets PM_TokenWithoutCloseBracket PM_TokenWithoutOpenBracket at doc162 "11.3" "11.3. Pattern matching".
Document ph_showme at doc163 "11.4" "11.4. The showme phrase".
Document PM_TruthStateToDecide kind_truthstate ph_consents ph_indarkness ph_whether at doc164 "11.5" "11.5. Conditions and questions".
Document PM_IfOutsidePhrase PM_WrongThen ph_if ph_unless at doc165 "11.6" "11.6. If".
Document PM_BeginWithoutEnd PM_BlockNestingTooDeep PM_BothBlockSyntaxes PM_CantUseOutsideStructure PM_EmptyIndentedBlock PM_EndWithoutBegin PM_MisalignedIndentation PM_NotInOldSyntax PM_PossibleUnterminatedIf PM_PossibleUnterminatedUnless PM_RunOnsInTabbedRoutine PM_WrongEnd at doc166 "11.7" "11.7. Begin and end".
Document PM_BlockWithinNonblock PM_CaseValueMismatch PM_CaseValueNonConstant PM_DoubleOtherwise PM_MisalignedCase PM_MisalignedOtherwise PM_MisarrangedOtherwise PM_NonCaseInIf PM_OtherwiseIfAfterOtherwise PM_OtherwiseInNonIf PM_OtherwiseWithoutIf PM_WrongOtherwise PM_WrongOtherwise2 PM_WrongOtherwise3 ph_otherwise ph_switch at doc167 "11.8" "11.8. Otherwise".
Document ph_while at doc168 "11.9" "11.9. While".
Document PM_CalledInRepeat ph_repeat at doc169 "11.10" "11.10. Repeat".
Document PM_BadRepeatDomain ph_runthrough at doc170 "11.11" "11.11. Repeat running through".
Document PM_CantUseOutsideLoop ph_break ph_next at doc171 "11.12" "11.12. Next and break".
Document ph_stop at doc172 "11.13" "11.13. Stop".
Document PM_NotAPhraseOption PM_NotTheOnlyPhraseOption PM_PhraseOptionsExclusive PM_SayWithPhraseOptions PM_TooManyPhraseOptions ph_listcontents at doc173 "11.14" "11.14. Phrase options".
Document ph_let ph_letdefault at doc174 "11.15" "11.15. Let and temporary variables".
Document ph_no ph_yes at doc175 "11.16" "11.16. New conditions, new adjectives".
Document PM_RedundantReturnKOV PM_ReturnWrongKind PM_UnknownValueToDecide ph_decideon at doc176 "11.17" "11.17. Phrases to decide other things".
Document ph_enumafter ph_enumbefore ph_enumfirst ph_enumlast at doc177 "11.18" "11.18. The value after and the value before".
Document ARSUMMARY at doc179 "12.2" "12.2. How actions are processed".
Document PM_TestBadRequirements PM_TestCommandTooLong PM_TestContainsUndo PM_TestDoubleWith PM_TestDuplicate PM_TestMultiWord PM_UnknownInternalTest at doc18 "2.8" "2.8. The TEST command".
Document var_person_asked at doc180 "12.3" "12.3. Giving instructions to other people".
Document rules_per at doc181 "12.4" "12.4. Persuasion".
Document rules_fail var_reason at doc182 "12.5" "12.5. Unsuccessful attempts".
Document NEWACTIONS PM_ActionAlreadyExists PM_ActionBothValues PM_ActionClauseUnknown PM_ActionMisapplied PM_GrammarMismatchesAction PM_MatchedAsTooLong PM_MultiwordPastParticiple ph_requirescarried ph_requirescarried2 ph_requireslight ph_requirestouch ph_requirestouch2 at doc184 "12.7" "12.7. New actions".
Document PM_ActionVarAnd PM_ActionVarOverspecific PM_ActionVarUnknownKOV PM_ActionVarValue PM_ActionVarsPastTense PM_BadMatchingSyntax PM_BadOptionalAPClause at doc187 "12.10" "12.10. Action variables".
Document PM_DuplicateRuleName PM_RuleWithComma at doc189 "12.12" "12.12. Check rules for actions by other people".
Document OUTOFWORLD at doc192 "12.15" "12.15. Out of world actions".
Document rules_ri at doc193 "12.16" "12.16. Reaching inside and reaching outside rules".
Document var_person_reaching at doc195 "12.18" "12.18. Changing reachability".
Document visibility at doc196 "12.19" "12.19. Changing visibility".
Document PM_SetStoredAction kind_storedaction ph_actionof ph_actionpart ph_actorpart ph_currentaction ph_involves ph_nounpart ph_secondpart ph_trystored ph_trystoredsilently at doc197 "12.20" "12.20. Stored actions".
Document PM_BadRelation PM_EveryWrongSide PM_KindRelatedToValue PM_PropForBadKOV PM_RelationWithBadProperty PM_RelationWithEitherOrProperty VERBS at doc199 "13.1" "13.1. Sentence verbs".
Document PM_BogusExtension at doc20 "2.10" "2.10. Installing extensions".
Document RELATIONS at doc201 "13.3" "13.3. What are relations?".
Document PM_BadKOVForRelationProperty PM_BothOneAndMany PM_CantCallBoth PM_CantCallLeft PM_CantCallRight PM_FRFUnavailable PM_OneOrVariousWithWhen PM_OneToOneMiscalled PM_RelatedKindsUnknown PM_RelationExists at doc203 "13.5" "13.5. Making new relations".
Document ph_showrelation at doc205 "13.7" "13.7. Relations in groups".
Document PM_DuplicateVerbs1 PM_DuplicateVerbs2 PM_DuplicateVerbs3 PM_PrepositionConjugated PM_PrepositionLong PM_PresentPluralTwice PM_VerbMalformed PM_VerbRelationUnknown PM_VerbRelationVague PM_VerbUnknownMeaning at doc207 "13.9" "13.9. Defining new assertion verbs".
Document PM_CanHave at doc208 "13.10" "13.10. Defining new prepositions".
Document ph_nextstep ph_numbersteps at doc209 "13.11" "13.11. Indirect relations".
Document PM_ExtInadequateVM PM_ExtMalformedVM PM_ExtMisidentified PM_ExtMisidentifiedEnds PM_ExtMiswordedBeginsHere PM_ExtVersionMalformed PM_IncludeExtQuoted at doc21 "2.11" "2.11. Including extensions".
Document PM_BadRelationCondition PM_Unassertable2 at doc210 "13.12" "13.12. Relations which express conditions".
Document ph_ifleft ph_ifright ph_leftdomain ph_leftlookup ph_leftlookuplist ph_rightdomain ph_rightlookup ph_rightlookuplist at doc211 "13.13" "13.13. Relations involving values".
Document ph_letrelation at doc213 "13.15" "13.15. Temporary relations".
Document phs_here phs_now at doc215 "14.1" "14.1. Tense and narrative viewpoint".
Document OPTIONS PM_UONotNumerical PM_UnknownUseOption at doc22 "2.12" "2.12. Use options".
Document kind_verb phs_adapt phs_adaptt phs_adaptv phs_adaptvt phs_infinitive phs_negate phs_negatet phs_negatev phs_negatevt phs_pastpart phs_prespart at doc223 "14.9" "14.9. Verbs as values".
Document phs_response at doc224 "14.10" "14.10. Responses".
Document PM_CantEquateValues PM_ElementOverflow PM_EvenOverflow-G PM_InequalityFailed PM_LiteralOverflow PM_ZMachineOverflow kind_number kind_real_number at doc228 "15.2" "15.2. Numbers and real numbers".
Document ph_nearestwholenumber at doc229 "15.3" "15.3. Real number conversions".
Document OPTIONSFILE at doc23 "2.13" "2.13. Administering classroom use".
Document phs_decimal phs_decimalplaces phs_realplaces phs_scientific phs_scientificplaces at doc230 "15.4" "15.4. Printing real numbers".
Document ph_cuberoot ph_divide ph_minus ph_nearest ph_plus ph_realsquareroot ph_remainder ph_squareroot ph_times at doc231 "15.5" "15.5. Arithmetic".
Document ph_absolutevalue ph_ceiling ph_exp ph_floor ph_logarithm ph_logarithmto ph_power ph_reciprocal at doc232 "15.6" "15.6. Powers and logarithms".
Document ph_arccosine ph_arcsine ph_arctangent ph_cosine ph_degrees ph_hyperbolicarccosine ph_hyperbolicarcsine ph_hyperbolicarctangent ph_hyperboliccosine ph_hyperbolicsine ph_hyperbolictangent ph_sine ph_tangent at doc233 "15.7" "15.7. Trigonometry".
Document PM_LPBuiltInKOV PM_LPEnumeration PM_LPNotKOV PM_NegationForbidden PM_NegationInternal at doc234 "15.8" "15.8. Units".
Document PM_DuplicateUnitSpec at doc235 "15.9" "15.9. Multiple notations".
Document PM_LPCantScaleTwice PM_LPCantScaleYet PM_LPTooLittleAccuracy at doc236 "15.10" "15.10. Scaling and equivalents".
Document PM_BadICLIdentifier STORYFILES at doc24 "2.14" "2.14. Limits and the Settings panel".
Document PM_LPElementTooLarge PM_LPNotAllNamed PM_LPTooComplicated PM_LPTooManyElements PM_LPWithoutElement at doc240 "15.14" "15.14. Notations including more than one number".
Document PM_BadLPNameOption PM_BadLPPartOption PM_LPFirstOptional PM_LPMultipleOptional at doc241 "15.15" "15.15. The parts of a number specification".
Document PM_TotalEitherOr PM_TotalTableColumn ph_total at doc243 "15.17" "15.17. Totals".
Document EQUATIONS PM_EquationBadArithmetic PM_EquationBadTarget PM_EquationDimensionPower PM_EquationDoesntEquate PM_EquationEquatesBadly PM_EquationEquatesMultiply PM_EquationIncomparable PM_EquationInsoluble PM_EquationLeadingZero PM_EquationMisnamed PM_EquationMisnumbered PM_EquationMispunctuated PM_EquationOperatorUnrecognised PM_EquationSymbolBadSub PM_EquationSymbolEqualsKOV PM_EquationSymbolMalformed PM_EquationSymbolMisdeclared PM_EquationSymbolMissing PM_EquationSymbolNonNumeric PM_EquationSymbolNonValue PM_EquationSymbolSpurious PM_EquationSymbolVague PM_EquationSymbolWrongKOV PM_EquationTokenUnrecognised PM_EquationTooComplex ph_letequation at doc244 "15.18" "15.18. Equations".
Document ARITHMETIC PM_BadArithmetic PM_BadLPEquivalent PM_BadLPOffset PM_DimensionNotBaseKOV PM_DimensionRedundant PM_DimensionsInconsistent PM_MultiplyingNonKOVs PM_NonDimensional PM_UnitSequenceOverflow at doc246 "15.20" "15.20. Multiplication of units".
Document PM_TableCoincidesWithKind PM_TableColumnAlready PM_TableColumnArticle PM_TableColumnBrackets PM_TableColumnEmptyLists PM_TableDefiningObject PM_TableDescriptionEntry PM_TableEntryGeneric PM_TableIncompatibleEntry PM_TableKindlessColumn PM_TableMisnamed PM_TableNameAmbiguous PM_TableNameDuplicate PM_TableOfBuiltInKind PM_TableOfExistingKind PM_TableOfQuantifiedKind PM_TablePlayerEntry PM_TableRowFull PM_TableTooManyColumns PM_TableUndefined PM_TableUnknownEntry PM_TableVariableEntry PM_TableWithBlankNames PM_TableWithoutRows TABLES at doc247 "16.1" "16.1. Laying out tables".
Document ph_numrows at doc248 "16.2" "16.2. Looking up entries".
Document ph_showmetable phs_currenttablerow phs_tablecolumn phs_tablerow at doc250 "16.4" "16.4. Changing entries".
Document PM_NoRowSelected ph_chooserandomrow ph_chooserow ph_chooserowwith at doc251 "16.5" "16.5. Choosing rows".
Document ph_repeattable ph_repeattablecol ph_repeattablecolreverse ph_repeattablereverse at doc252 "16.6" "16.6. Repeating through tables".
Document ph_thereis ph_thereisno at doc253 "16.7" "16.7. Blank entries".
Document ph_blankout ph_blankoutcol ph_blankoutrow ph_blankouttable ph_chooseblankrow ph_numblank ph_numfilled at doc256 "16.10" "16.10. Adding and removing rows".
Document ph_sortcolumn ph_sortcolumnreverse ph_sortrandom at doc257 "16.11" "16.11. Sorting".
Document kind_tablename at doc261 "16.15" "16.15. Varying which table to look at".
Document PM_TableDefiningNothing PM_TableDefiningTheImpossible at doc262 "16.16" "16.16. Defining things with tables".
Document PM_TableNotContinuation at doc264 "16.18" "16.18. Table continuations".
Document PM_TableAmendmentMisfit PM_TableAmendmentMismatch at doc265 "16.19" "16.19. Table amendments".
Document PM_BizarreToken PM_ComplexUnderstand PM_LiteralPunctuation PM_NontextualUnderstand PM_NotNewCommand PM_NotOldCommand PM_ObsoleteHeldTokens PM_OldVerbUsage PM_OverComplexToken PM_TextTokenRestricted PM_TextlessMistake PM_UnderstandAsActivity PM_UnderstandAsBadValue PM_UnderstandAsCompoundText PM_UnderstandCommaCommand PM_UnderstandCommandWhen PM_UnderstandEmptyText PM_UnderstandMismatch PM_UnderstandVague PM_UnknownToken PM_UnparsableKind PM_UseTextNotTopic PM_UseThingNotObject UNDERSTANDING someone_token at doc266 "17.1" "17.1. Understand".
Document PM_GrammarIllFounded PM_ThreeValuedLine PM_TooManyAliases PM_TooManyGrammarLines at doc267 "17.2" "17.2. New commands for old grammar".
Document TOKENS things_token at doc269 "17.4" "17.4. Standard tokens of grammar".
Document text_token at doc270 "17.5" "17.5. The text token".
Document var_understood at doc274 "17.9" "17.9. Understanding kinds of value".
Document PM_UnderstandAsQualified PM_UnderstandPluralValue at doc276 "17.11" "17.11. Understanding values".
Document PM_OverAmbitiousSlash PM_SlashedCommand at doc277 "17.12" "17.12. This/that".
Document NEWTOKENS PM_MixedOutcome PM_TwoValuedToken at doc278 "17.13" "17.13. New tokens".
Document MAP PM_DescriptionsEquated PM_SameKindEquated kind_room at doc28 "3.2" "3.2. Rooms and the map".
Document PM_BadReferringProperty PM_BadUnderstandProperty PM_BadUnderstandPropertyAs PM_UnknownUnderstandProperty PM_UnknownUnpermittedProperty at doc280 "17.15" "17.15. Understanding things by their properties".
Document PM_GrammarBadRelation PM_GrammarObjectlessRelation PM_GrammarValueRelation at doc281 "17.16" "17.16. Understanding things by their relations".
Document PM_BadWhen at doc282 "17.17" "17.17. Context: understanding when".
Document ph_setpronouns at doc283 "17.18" "17.18. Changing the meaning of pronouns".
Document rules_dtpm at doc284 "17.19" "17.19. Does the player mean...".
Document ACTIVITIES PM_BadActivityName kind_activity at doc287 "18.1" "18.1. What are activities?".
Document PM_BadWhenWhile at doc290 "18.4" "18.4. While clauses".
Document EXTACTIVITIES ph_carryout ph_carryoutwith ph_continueactivity at doc291 "18.5" "18.5. New activities".
Document PM_ActivityVarAnd PM_ActivityVarOverspecific PM_ActivityVarUnknownKOV PM_ActivityVarValue PM_ActivityVariableNameless at doc292 "18.6" "18.6. Activity variables".
Document ph_abandonactivity ph_abandonactivitywith ph_beginactivity ph_beginactivitywith ph_endactivity ph_endactivitywith ph_handlingactivity ph_handlingactivitywith at doc293 "18.7" "18.7. Beginning and ending activities manually".
Document act_con var_particular at doc295 "18.9" "18.9. Deciding the concealed possessions of something".
Document act_pn ph_omit at doc296 "18.10" "18.10. Printing the name of something".
Document act_ppn at doc297 "18.11" "18.11. Printing the plural name of something".
Document act_pan at doc298 "18.12" "18.12. Printing a number of something".
Document act_lc ph_group ph_groupart ph_grouptext at doc299 "18.13" "18.13. Listing contents of something".
Document PM_ExistingRegion PM_RegionInTwoRegions PM_RegionRelation REGIONS kind_region at doc30 "3.4" "3.4. Regions and the index map".
Document act_gt at doc300 "18.14" "18.14. Grouping together something".
Document act_resp at doc301 "18.15" "18.15. Issuing the response text of something".
Document act_details at doc302 "18.16" "18.16. Printing room description details of something".
Document act_idetails at doc303 "18.17" "18.17. Printing inventory details of something".
Document act_toodark at doc304 "18.18" "18.18. Printing a refusal to act in the dark".
Document act_nowdark at doc305 "18.19" "18.19. Printing the announcement of darkness".
Document act_nowlight at doc306 "18.20" "18.20. Printing the announcement of light".
Document act_darkname at doc307 "18.21" "18.21. Printing the name of a dark room".
Document act_darkdesc at doc308 "18.22" "18.22. Printing the description of a dark room".
Document act_csl at doc309 "18.23" "18.23. Constructing the status line".
Document KINDS PM_BothRoomAndSupporter PM_CantContainAndSupport PM_KindsIncompatible PM_MiseEnAbyme at doc31 "3.5" "3.5. Kinds".
Document act_wpa at doc310 "18.24" "18.24. Writing a paragraph about".
Document act_lni at doc311 "18.25" "18.25. Listing nondescript items of something".
Document act_pld at doc312 "18.26" "18.26. Printing the locale description of something".
Document act_cnlo at doc313 "18.27" "18.27. Choosing notable locale objects for something".
Document act_plp at doc314 "18.28" "18.28. Printing a locale paragraph about".
Document act_ds ph_placecontentsinscope ph_placeinscope at doc315 "18.29" "18.29. Deciding the scope of something".
Document act_clarify at doc316 "18.30" "18.30. Clarifying the parser's choice of something".
Document act_which at doc317 "18.31" "18.31. Asking which do you mean".
Document act_smn at doc318 "18.32" "18.32. Supplying a missing noun/second noun".
Document act_reading kind_snippet ph_changecommand ph_cutsnippet ph_rejectcommand ph_replacesnippet ph_snippetdoesnotinclude ph_snippetdoesnotmatch ph_snippetincludes ph_snippetmatches var_command at doc319 "18.33" "18.33. Reading a command".
Document act_implicitly at doc320 "18.34" "18.34. Implicitly taking something".
Document act_parsererror at doc321 "18.35" "18.35. Printing a parser error".
Document act_all at doc322 "18.36" "18.36. Deciding whether all includes".
Document act_banner phs_banner at doc323 "18.37" "18.37. Printing the banner text".
Document act_obit at doc324 "18.38" "18.38. Printing the player's obituary".
Document act_amuse at doc325 "18.39" "18.39. Amusing a victorious player".
Document act_startvm at doc326 "18.40" "18.40. Starting the virtual machine".
Document PM_RulebookWithAt PM_RulebookWithDefinition PM_RulebookWithTo RULEBOOKS kind_rule kind_rulebook at doc327 "19.1" "19.1. On rules".
Document PM_BadRulePreamble PM_BadRulePreambleWhen PM_RuleWithDefiniteArticle PM_RuleWithoutColon at doc329 "19.3" "19.3. New rules".
Document PM_PropertyNotPermitted at doc33 "3.7" "3.7. Properties depend on kind".
Document PM_BadRulePlacementNegation PM_ImproperRulePlacement PM_NoSuchRuleExists PM_PlaceWithMissingRule PM_UnspecifiedRulebookPlacement RLISTING at doc330 "19.4" "19.4. Listing rules explicitly".
Document rules_proc at doc331 "19.5" "19.5. Changing the behaviour of rules".
Document NEWRULEBOOKS ph_follow at doc334 "19.8" "19.8. New rulebooks".
Document ph_followfor at doc335 "19.9" "19.9. Basis of a rulebook".
Document PM_RulebookVariableAnd PM_RulebookVariableBadKind PM_RulebookVariableTooSpecific PM_RulebookVariableVague at doc336 "19.10" "19.10. Rulebook variables".
Document PM_BadDefaultOutcome PM_DefaultOutcomeTwice ph_failed ph_fails ph_nodecision ph_succeeded ph_succeeds at doc337 "19.11" "19.11. Success and failure".
Document PM_BadOutcomeClarification PM_DefaultNamedOutcomeTwice PM_DefaultOutcomeAlready PM_DuplicateOutcome PM_MisplacedRulebookOutcome PM_NonOutcomeProperty PM_WrongEndToPhrase ph_rulebookoutcome at doc338 "19.12" "19.12. Named outcomes".
Document ph_producedby ph_producedbyfor ph_succeedswith at doc339 "19.13" "19.13. Rulebooks producing values".
Document ph_abide ph_abideanon ph_abidefor at doc340 "19.14" "19.14. Abide by".
Document rules_internal at doc341 "19.15" "19.15. Two rulebooks used internally".
Document ph_charnum ph_linenum ph_numchars ph_numlines ph_numparas ph_numpwords ph_numupwords ph_numwords ph_paranum ph_pwordnum ph_upwordnum ph_wordnum at doc345 "20.3" "20.3. Characters, words, punctuated words, unpunctuated words, lines, paragraphs".
Document ph_inlower ph_inupper ph_lowercase ph_sentencecase ph_titlecase ph_uppercase at doc346 "20.4" "20.4. Upper and lower case letters".
Document ph_exactlymatches ph_matches ph_nummatches at doc347 "20.5" "20.5. Matching and exactly matching".
Document ph_exactlymatchesre ph_matchesre ph_matchtext ph_nummatchesre ph_subexpressiontext at doc348 "20.6" "20.6. Regular expression matching".
Document ph_subform at doc349 "20.7" "20.7. Making new text with text substitutions".
Document PM_CantChangeEverywhere PM_EverywhereMisapplied PM_EverywhereNonBackdrop kind_backdrop at doc35 "3.9" "3.9. Backdrops".
Document ph_replace ph_replacechar ph_replaceline ph_replacepara ph_replacepword ph_replacepwordin ph_replacere ph_replaceupword ph_replaceword ph_replacewordin at doc350 "20.8" "20.8. Replacements".
Document kind_listof at doc352 "21.1" "21.1. Lists and entries".
Document PM_BadConstantListEntry PM_CantLetEmptyList PM_IncompatibleConstantListEntry PM_NonconstantConstantListEntry at doc353 "21.2" "21.2. Constant lists".
Document phs_listbraced phs_listdef phs_listindef at doc354 "21.3" "21.3. Saying lists of values".
Document ph_islistedin ph_isnotlistedin ph_repeatlist at doc355 "21.4" "21.4. Testing and iterating over lists".
Document ph_addatentry ph_addlistatentry ph_addlisttolist ph_addtolist ph_rementries ph_rementry ph_remfromlist ph_remlistfromlist at doc356 "21.5" "21.5. Building lists".
Document ph_altermultipleobjectlist ph_listofdesc ph_multipleobjectlist at doc357 "21.6" "21.6. Lists of objects".
Document ph_reverselist ph_rotatelist ph_rotatelistback ph_sortlist ph_sortlistproperty ph_sortlistpropertyreverse ph_sortlistrandom ph_sortlistreverse at doc359 "21.8" "21.8. Sorting, reversing and rotating lists".
Document ph_numberentries at doc360 "21.9" "21.9. Accessing entries in a list".
Document ph_changelength ph_extend ph_truncate ph_truncatefirst ph_truncatelast at doc361 "21.10" "21.10. Lengthening or shortening a list".
Document kind_description ph_valuematch at doc364 "22.2" "22.2. Descriptions as values".
Document ph_applied0 ph_applied1 ph_applied2 ph_applied3 ph_apply0 ph_apply1 ph_apply2 ph_apply3 at doc365 "22.3" "22.3. Phrases as values".
Document ph_appliedlist ph_filter ph_reduction at doc367 "22.5" "22.5. Map, filter and reduce".
Document PM_TextWithoutSubject PM_TwoAppearances at doc37 "3.11" "3.11. Two descriptions of things".
Document PM_UnknownVirtualMachine at doc375 "23.3" "23.3. Virtual machines and story file formats".
Document FIGURES kind_figurename at doc376 "23.4" "23.4. Gathering the figures".
Document PM_PictureDuplicate PM_PictureNotTextual at doc377 "23.5" "23.5. Declaring and previewing the figures".
Document ph_displayfigure at doc378 "23.6" "23.6. Displaying the figures".
Document SOUNDS kind_soundname at doc379 "23.7" "23.7. Recorded sounds".
Document PM_BadMapCell PM_BothWaysDoor PM_DoorInThirdRoom PM_DoorOverconnected PM_DoorToNonRoom PM_DoorUnconnected PM_RoomMissingDoor kind_door ph_backside ph_directionofdoor ph_frontside ph_othersideof at doc38 "3.12" "3.12. Doors".
Document PM_SoundDuplicate PM_SoundNotTextual ph_playsf at doc380 "23.8" "23.8. Declaring and playing back sounds".
Document ph_figureid ph_soundid at doc382 "23.10" "23.10. Some technicalities about figures and sounds".
Document EFILES at doc383 "23.11" "23.11. Files".
Document PM_BadFileIFID PM_BadFileOwner PM_FilenameDuplicate PM_FilenameNotTextual PM_FilenameUnsafe kind_externalfile at doc384 "23.12" "23.12. Declaring files".
Document ph_fileexists ph_readtable ph_writetable at doc385 "23.13" "23.13. Writing and reading tables to external files".
Document ph_appendtext ph_saytext ph_writetext at doc386 "23.14" "23.14. Writing, reading and appending text to files".
Document ph_fileready ph_markfilenotready ph_markfileready at doc387 "23.15" "23.15. Exchanging files with other programs".
Document PM_BadEpisode at doc397 "25.2" "25.2. Bibliographic data".
Document LCARDS at doc399 "25.4" "25.4. The Library Card".
Document PM_CantAssertAdjective PM_CantAssertNegatedEverywhere PM_CantAssertNegatedRelations PM_CantAssertNonKind PM_CantAssertQuantifier PM_NegatedVerb1 PM_NoSuchVerb PM_NoSuchVerbComma PM_TwoLikelihoods at doc10 "2.1" "2.1. Creating the world".
Document ph_continueaction ph_stopaction rules_before at doc100 "7.3" "7.3. Before rules".
Document PM_ActionNotSpecific PM_ActionTooSpecific PM_UnknownTryAction1 PM_UnknownTryAction2 ph_try ph_trysilently at doc101 "7.4" "7.4. Try and try silently".
Document rules_after at doc102 "7.5" "7.5. After rules".
Document PM_APWithDisjunction PM_APWithImmiscible at doc105 "7.8" "7.8. Rules applying to more than one action".
Document var_noun at doc107 "7.10" "7.10. The noun and the second noun".
Document PM_APWithBadWhen PM_NonActionInPresenceOf at doc109 "7.12" "7.12. In the presence of, and when".
Document ph_say at doc11 "2.2" "2.2. Making rules".
Document PM_GoingWithoutObject PM_GoingWrongKind at doc111 "7.14" "7.14. Going by, going through, going with".
Document KACTIONS PM_NamedAPWithActor at doc112 "7.15" "7.15. Kinds of action".
Document var_prompt at doc117 "8.2" "8.2. Changing the command prompt".
Document phs_surroundings var_sl at doc118 "8.3" "8.3. Changing the status line".
Document PM_EnigmaticPronoun PM_EnigmaticThey PM_TooMuchQuotedText PM_UnendingComment PM_UnendingQuote PM_WordTooLong at doc12 "2.3" "2.3. Punctuation".
Document ph_changeexit ph_changenoexit at doc120 "8.5" "8.5. Change of properties with values".
Document ph_move at doc122 "8.7" "8.7. Moving things".
Document ph_movebackdrop ph_updatebackdrop at doc123 "8.8" "8.8. Moving backdrops".
Document ph_remove at doc125 "8.10" "8.10. Removing things from play".
Document PM_BadNow1 PM_BadNow2 PM_BadNow3 PM_CantChangeKind PM_CantForceCalling PM_CantForceExistence PM_CantForceGeneralised PM_CantForceRelation PM_RedefinedNow ph_now at doc126 "8.11" "8.11. Now...".
Document ph_decrease ph_decrement ph_increase ph_increment at doc127 "8.12" "8.12. Increasing and decreasing".
Document PM_CalledThe PM_CalledWithDash at doc130 "8.15" "8.15. Calling names".
Document ph_firstheld ph_holder ph_nextheld at doc132 "8.17" "8.17. Looking at containment by hand".
Document ph_randombetween ph_randomchance ph_seed at doc133 "8.18" "8.18. Randomness".
Document PM_RandomImpossible ph_randomdesc at doc134 "8.19" "8.19. Random choices of things".
Document ROOMPLAYBEGINS rules_wpb at doc135 "9.1" "9.1. When play begins".
Document var_score at doc136 "9.2" "9.2. Awarding points".
Document ph_end ph_ended ph_endfinally ph_endfinallysaying ph_endsaying ph_finallyended ph_notended ph_notfinallyended ph_resume rules_wpe at doc138 "9.4" "9.4. When play ends".
Document PM_NumberOfTurns rules_et at doc139 "9.5" "9.5. Every turn".
Document HEADINGS PM_BadTitleSentence PM_HeadingOverLine PM_HeadingStopsBeforeEndOfLine at doc14 "2.5" "2.5. Headings".
Document kind_time var_time at doc140 "9.6" "9.6. The time of day".
Document phs_timewords at doc141 "9.7" "9.7. Telling the time".
Document ph_durationhours ph_durationmins at doc142 "9.8" "9.8. Approximate times, lengths of time".
Document ph_shiftafter ph_shiftbefore ph_timeafter ph_timebefore at doc143 "9.9" "9.9. Comparing and shifting times".
Document ph_hourspart ph_minspart at doc144 "9.10" "9.10. Calculating times".
Document PM_AtWithoutTime PM_UnusedTimedEvent TIMEDEVENTS ph_attime ph_timefromnow ph_turnsfromnow at doc145 "9.11" "9.11. Future events".
Document PM_PTAPTooComplex at doc146 "9.12" "9.12. Actions as conditions".
Document PM_DescSubordinatePast PM_NonPresentTense PM_PTAPMakesCallings PM_PastActionCalled PM_PastCallings PM_PastSubordinate PM_PastTableEntries PM_PastTableLookup at doc147 "9.13" "9.13. The past and perfect tenses".
Document SCENESINTRO kind_scene at doc150 "10.1" "10.1. Introduction to scenes".
Document PM_ScenesBadCondition PM_ScenesDisallowCalled PM_ScenesNotPlay PM_ScenesOnly PM_ScenesOversetEnd PM_ScenesUnknownEnd at doc151 "10.2" "10.2. Creating a scene".
Document ph_scenetimesincebegan ph_scenetimesinceended ph_scenetimewhenbegan ph_scenetimewhenended at doc152 "10.3" "10.3. Using the Scene index".
Document ph_hasended ph_hashappened ph_hasnotended ph_hasnothappened at doc153 "10.4" "10.4. During scenes".
Document LINKINGSCENES at doc154 "10.5" "10.5. Linking scenes together".
Document PHRASES ph_nothing at doc159 "11.1" "11.1. What are phrases?".
Document PM_BareTo at doc160 "11.2" "11.2. The phrasebook".
Document PM_AdjacentTokens PM_BadTypeIndication PM_PhraseTooLong PM_SaySlashed PM_TokenMisunderstood PM_TokenWithEmptyBrackets PM_TokenWithNestedBrackets PM_TokenWithoutCloseBracket PM_TokenWithoutOpenBracket at doc161 "11.3" "11.3. Pattern matching".
Document ph_showme at doc162 "11.4" "11.4. The showme phrase".
Document PM_TruthStateToDecide kind_truthstate ph_consents ph_indarkness ph_whether at doc163 "11.5" "11.5. Conditions and questions".
Document PM_IfOutsidePhrase PM_WrongThen ph_if ph_unless at doc164 "11.6" "11.6. If".
Document PM_BeginWithoutEnd PM_BlockNestingTooDeep PM_BothBlockSyntaxes PM_CantUseOutsideStructure PM_EmptyIndentedBlock PM_EndWithoutBegin PM_MisalignedIndentation PM_NotInOldSyntax PM_PossibleUnterminatedIf PM_PossibleUnterminatedUnless PM_RunOnsInTabbedRoutine PM_WrongEnd at doc165 "11.7" "11.7. Begin and end".
Document PM_BlockWithinNonblock PM_CaseValueMismatch PM_CaseValueNonConstant PM_DoubleOtherwise PM_MisalignedCase PM_MisalignedOtherwise PM_MisarrangedOtherwise PM_NonCaseInIf PM_OtherwiseIfAfterOtherwise PM_OtherwiseInNonIf PM_OtherwiseWithoutIf PM_WrongOtherwise PM_WrongOtherwise2 PM_WrongOtherwise3 ph_otherwise ph_switch at doc166 "11.8" "11.8. Otherwise".
Document ph_while at doc167 "11.9" "11.9. While".
Document PM_CalledInRepeat ph_repeat at doc168 "11.10" "11.10. Repeat".
Document PM_BadRepeatDomain ph_runthrough at doc169 "11.11" "11.11. Repeat running through".
Document PM_TestBadRequirements PM_TestCommandTooLong PM_TestContainsUndo PM_TestDoubleWith PM_TestDuplicate PM_TestMultiWord PM_UnknownInternalTest at doc17 "2.8" "2.8. The TEST command".
Document PM_CantUseOutsideLoop ph_break ph_next at doc170 "11.12" "11.12. Next and break".
Document ph_stop at doc171 "11.13" "11.13. Stop".
Document PM_NotAPhraseOption PM_NotTheOnlyPhraseOption PM_PhraseOptionsExclusive PM_SayWithPhraseOptions PM_TooManyPhraseOptions ph_listcontents at doc172 "11.14" "11.14. Phrase options".
Document ph_let ph_letdefault at doc173 "11.15" "11.15. Let and temporary variables".
Document ph_no ph_yes at doc174 "11.16" "11.16. New conditions, new adjectives".
Document PM_RedundantReturnKOV PM_ReturnWrongKind PM_UnknownValueToDecide ph_decideon at doc175 "11.17" "11.17. Phrases to decide other things".
Document ph_enumafter ph_enumbefore ph_enumfirst ph_enumlast at doc176 "11.18" "11.18. The value after and the value before".
Document ARSUMMARY at doc178 "12.2" "12.2. How actions are processed".
Document var_person_asked at doc179 "12.3" "12.3. Giving instructions to other people".
Document rules_per at doc180 "12.4" "12.4. Persuasion".
Document rules_fail var_reason at doc181 "12.5" "12.5. Unsuccessful attempts".
Document NEWACTIONS PM_ActionAlreadyExists PM_ActionBothValues PM_ActionClauseUnknown PM_ActionMisapplied PM_GrammarMismatchesAction PM_MatchedAsTooLong PM_MultiwordPastParticiple ph_requirescarried ph_requirescarried2 ph_requireslight ph_requirestouch ph_requirestouch2 at doc183 "12.7" "12.7. New actions".
Document PM_ActionVarAnd PM_ActionVarOverspecific PM_ActionVarUnknownKOV PM_ActionVarValue PM_ActionVarsPastTense PM_BadMatchingSyntax PM_BadOptionalAPClause at doc186 "12.10" "12.10. Action variables".
Document PM_DuplicateRuleName PM_RuleWithComma at doc188 "12.12" "12.12. Check rules for actions by other people".
Document PM_BogusExtension at doc19 "2.10" "2.10. Installing extensions".
Document OUTOFWORLD at doc191 "12.15" "12.15. Out of world actions".
Document rules_ri at doc192 "12.16" "12.16. Reaching inside and reaching outside rules".
Document var_person_reaching at doc194 "12.18" "12.18. Changing reachability".
Document visibility at doc195 "12.19" "12.19. Changing visibility".
Document PM_SetStoredAction kind_storedaction ph_actionof ph_actionpart ph_actorpart ph_currentaction ph_involves ph_nounpart ph_secondpart ph_trystored ph_trystoredsilently at doc196 "12.20" "12.20. Stored actions".
Document PM_BadRelation PM_EveryWrongSide PM_KindRelatedToValue PM_PropForBadKOV PM_RelationWithBadProperty PM_RelationWithEitherOrProperty VERBS at doc198 "13.1" "13.1. Sentence verbs".
Document PM_ExtInadequateVM PM_ExtMalformedVM PM_ExtMisidentified PM_ExtMisidentifiedEnds PM_ExtMiswordedBeginsHere PM_ExtVersionMalformed PM_IncludeExtQuoted at doc20 "2.11" "2.11. Including extensions".
Document RELATIONS at doc200 "13.3" "13.3. What are relations?".
Document PM_BadKOVForRelationProperty PM_BothOneAndMany PM_CantCallBoth PM_CantCallLeft PM_CantCallRight PM_FRFUnavailable PM_OneOrVariousWithWhen PM_OneToOneMiscalled PM_RelatedKindsUnknown PM_RelationExists at doc202 "13.5" "13.5. Making new relations".
Document ph_showrelation at doc204 "13.7" "13.7. Relations in groups".
Document PM_DuplicateVerbs1 PM_DuplicateVerbs2 PM_DuplicateVerbs3 PM_PrepositionConjugated PM_PrepositionLong PM_PresentPluralTwice PM_VerbMalformed PM_VerbRelationUnknown PM_VerbRelationVague PM_VerbUnknownMeaning at doc206 "13.9" "13.9. Defining new assertion verbs".
Document PM_CanHave at doc207 "13.10" "13.10. Defining new prepositions".
Document ph_nextstep ph_numbersteps at doc208 "13.11" "13.11. Indirect relations".
Document PM_BadRelationCondition PM_Unassertable2 at doc209 "13.12" "13.12. Relations which express conditions".
Document OPTIONS PM_UONotNumerical PM_UnknownUseOption at doc21 "2.12" "2.12. Use options".
Document ph_ifleft ph_ifright ph_leftdomain ph_leftlookup ph_leftlookuplist ph_rightdomain ph_rightlookup ph_rightlookuplist at doc210 "13.13" "13.13. Relations involving values".
Document ph_letrelation at doc212 "13.15" "13.15. Temporary relations".
Document phs_here phs_now at doc214 "14.1" "14.1. Tense and narrative viewpoint".
Document OPTIONSFILE at doc22 "2.13" "2.13. Administering classroom use".
Document kind_verb phs_adapt phs_adaptt phs_adaptv phs_adaptvt phs_infinitive phs_negate phs_negatet phs_negatev phs_negatevt phs_pastpart phs_prespart at doc222 "14.9" "14.9. Verbs as values".
Document phs_response at doc223 "14.10" "14.10. Responses".
Document PM_CantEquateValues PM_ElementOverflow PM_EvenOverflow-G PM_InequalityFailed PM_LiteralOverflow PM_ZMachineOverflow kind_number kind_real_number at doc227 "15.2" "15.2. Numbers and real numbers".
Document ph_nearestwholenumber at doc228 "15.3" "15.3. Real number conversions".
Document phs_decimal phs_decimalplaces phs_realplaces phs_scientific phs_scientificplaces at doc229 "15.4" "15.4. Printing real numbers".
Document PM_BadICLIdentifier STORYFILES at doc23 "2.14" "2.14. Limits and the Settings panel".
Document ph_cuberoot ph_divide ph_minus ph_nearest ph_plus ph_realsquareroot ph_remainder ph_squareroot ph_times at doc230 "15.5" "15.5. Arithmetic".
Document ph_absolutevalue ph_ceiling ph_exp ph_floor ph_logarithm ph_logarithmto ph_power ph_reciprocal at doc231 "15.6" "15.6. Powers and logarithms".
Document ph_arccosine ph_arcsine ph_arctangent ph_cosine ph_degrees ph_hyperbolicarccosine ph_hyperbolicarcsine ph_hyperbolicarctangent ph_hyperboliccosine ph_hyperbolicsine ph_hyperbolictangent ph_sine ph_tangent at doc232 "15.7" "15.7. Trigonometry".
Document PM_LPBuiltInKOV PM_LPEnumeration PM_LPNotKOV PM_NegationForbidden PM_NegationInternal at doc233 "15.8" "15.8. Units".
Document PM_DuplicateUnitSpec at doc234 "15.9" "15.9. Multiple notations".
Document PM_LPCantScaleTwice PM_LPCantScaleYet PM_LPTooLittleAccuracy at doc235 "15.10" "15.10. Scaling and equivalents".
Document PM_LPElementTooLarge PM_LPNotAllNamed PM_LPTooComplicated PM_LPTooManyElements PM_LPWithoutElement at doc239 "15.14" "15.14. Notations including more than one number".
Document PM_BadLPNameOption PM_BadLPPartOption PM_LPFirstOptional PM_LPMultipleOptional at doc240 "15.15" "15.15. The parts of a number specification".
Document PM_TotalEitherOr PM_TotalTableColumn ph_total at doc242 "15.17" "15.17. Totals".
Document EQUATIONS PM_EquationBadArithmetic PM_EquationBadTarget PM_EquationDimensionPower PM_EquationDoesntEquate PM_EquationEquatesBadly PM_EquationEquatesMultiply PM_EquationIncomparable PM_EquationInsoluble PM_EquationLeadingZero PM_EquationMisnamed PM_EquationMisnumbered PM_EquationMispunctuated PM_EquationOperatorUnrecognised PM_EquationSymbolBadSub PM_EquationSymbolEqualsKOV PM_EquationSymbolMalformed PM_EquationSymbolMisdeclared PM_EquationSymbolMissing PM_EquationSymbolNonNumeric PM_EquationSymbolNonValue PM_EquationSymbolSpurious PM_EquationSymbolVague PM_EquationSymbolWrongKOV PM_EquationTokenUnrecognised PM_EquationTooComplex ph_letequation at doc243 "15.18" "15.18. Equations".
Document ARITHMETIC PM_BadArithmetic PM_BadLPEquivalent PM_BadLPOffset PM_DimensionNotBaseKOV PM_DimensionRedundant PM_DimensionsInconsistent PM_MultiplyingNonKOVs PM_NonDimensional PM_UnitSequenceOverflow at doc245 "15.20" "15.20. Multiplication of units".
Document PM_TableCoincidesWithKind PM_TableColumnAlready PM_TableColumnArticle PM_TableColumnBrackets PM_TableColumnEmptyLists PM_TableDefiningObject PM_TableDescriptionEntry PM_TableEntryGeneric PM_TableIncompatibleEntry PM_TableKindlessColumn PM_TableMisnamed PM_TableNameAmbiguous PM_TableNameDuplicate PM_TableOfBuiltInKind PM_TableOfExistingKind PM_TableOfQuantifiedKind PM_TablePlayerEntry PM_TableRowFull PM_TableTooManyColumns PM_TableUndefined PM_TableUnknownEntry PM_TableVariableEntry PM_TableWithBlankNames PM_TableWithoutRows TABLES at doc246 "16.1" "16.1. Laying out tables".
Document ph_numrows at doc247 "16.2" "16.2. Looking up entries".
Document ph_showmetable phs_currenttablerow phs_tablecolumn phs_tablerow at doc249 "16.4" "16.4. Changing entries".
Document PM_NoRowSelected ph_chooserandomrow ph_chooserow ph_chooserowwith at doc250 "16.5" "16.5. Choosing rows".
Document ph_repeattable ph_repeattablecol ph_repeattablecolreverse ph_repeattablereverse at doc251 "16.6" "16.6. Repeating through tables".
Document ph_thereis ph_thereisno at doc252 "16.7" "16.7. Blank entries".
Document ph_blankout ph_blankoutcol ph_blankoutrow ph_blankouttable ph_chooseblankrow ph_numblank ph_numfilled at doc255 "16.10" "16.10. Adding and removing rows".
Document ph_sortcolumn ph_sortcolumnreverse ph_sortrandom at doc256 "16.11" "16.11. Sorting".
Document kind_tablename at doc260 "16.15" "16.15. Varying which table to look at".
Document PM_TableDefiningNothing PM_TableDefiningTheImpossible at doc261 "16.16" "16.16. Defining things with tables".
Document PM_TableNotContinuation at doc263 "16.18" "16.18. Table continuations".
Document PM_TableAmendmentMisfit PM_TableAmendmentMismatch at doc264 "16.19" "16.19. Table amendments".
Document PM_BizarreToken PM_ComplexUnderstand PM_LiteralPunctuation PM_NontextualUnderstand PM_NotNewCommand PM_NotOldCommand PM_ObsoleteHeldTokens PM_OldVerbUsage PM_OverComplexToken PM_TextTokenRestricted PM_TextlessMistake PM_UnderstandAsActivity PM_UnderstandAsBadValue PM_UnderstandAsCompoundText PM_UnderstandCommaCommand PM_UnderstandCommandWhen PM_UnderstandEmptyText PM_UnderstandMismatch PM_UnderstandVague PM_UnknownToken PM_UnparsableKind PM_UseTextNotTopic PM_UseThingNotObject UNDERSTANDING someone_token at doc265 "17.1" "17.1. Understand".
Document PM_GrammarIllFounded PM_ThreeValuedLine PM_TooManyAliases PM_TooManyGrammarLines at doc266 "17.2" "17.2. New commands for old grammar".
Document TOKENS things_token at doc268 "17.4" "17.4. Standard tokens of grammar".
Document text_token at doc269 "17.5" "17.5. The text token".
Document MAP PM_DescriptionsEquated PM_SameKindEquated kind_room at doc27 "3.2" "3.2. Rooms and the map".
Document var_understood at doc273 "17.9" "17.9. Understanding kinds of value".
Document PM_UnderstandAsQualified PM_UnderstandPluralValue at doc275 "17.11" "17.11. Understanding values".
Document PM_OverAmbitiousSlash PM_SlashedCommand at doc276 "17.12" "17.12. This/that".
Document NEWTOKENS PM_MixedOutcome PM_TwoValuedToken at doc277 "17.13" "17.13. New tokens".
Document PM_BadReferringProperty PM_BadUnderstandProperty PM_BadUnderstandPropertyAs PM_UnknownUnderstandProperty PM_UnknownUnpermittedProperty at doc279 "17.15" "17.15. Understanding things by their properties".
Document PM_GrammarBadRelation PM_GrammarObjectlessRelation PM_GrammarValueRelation at doc280 "17.16" "17.16. Understanding things by their relations".
Document PM_BadWhen at doc281 "17.17" "17.17. Context: understanding when".
Document ph_setpronouns at doc282 "17.18" "17.18. Changing the meaning of pronouns".
Document rules_dtpm at doc283 "17.19" "17.19. Does the player mean...".
Document ACTIVITIES PM_BadActivityName kind_activity at doc286 "18.1" "18.1. What are activities?".
Document PM_BadWhenWhile at doc289 "18.4" "18.4. While clauses".
Document PM_ExistingRegion PM_RegionInTwoRegions PM_RegionRelation REGIONS kind_region at doc29 "3.4" "3.4. Regions and the index map".
Document EXTACTIVITIES ph_carryout ph_carryoutwith ph_continueactivity at doc290 "18.5" "18.5. New activities".
Document PM_ActivityVarAnd PM_ActivityVarOverspecific PM_ActivityVarUnknownKOV PM_ActivityVarValue PM_ActivityVariableNameless at doc291 "18.6" "18.6. Activity variables".
Document ph_abandonactivity ph_abandonactivitywith ph_beginactivity ph_beginactivitywith ph_endactivity ph_endactivitywith ph_handlingactivity ph_handlingactivitywith at doc292 "18.7" "18.7. Beginning and ending activities manually".
Document act_con var_particular at doc294 "18.9" "18.9. Deciding the concealed possessions of something".
Document act_pn ph_omit at doc295 "18.10" "18.10. Printing the name of something".
Document act_ppn at doc296 "18.11" "18.11. Printing the plural name of something".
Document act_pan at doc297 "18.12" "18.12. Printing a number of something".
Document act_lc ph_group ph_groupart ph_grouptext at doc298 "18.13" "18.13. Listing contents of something".
Document act_gt at doc299 "18.14" "18.14. Grouping together something".
Document KINDS PM_BothRoomAndSupporter PM_CantContainAndSupport PM_KindsIncompatible PM_MiseEnAbyme at doc30 "3.5" "3.5. Kinds".
Document act_resp at doc300 "18.15" "18.15. Issuing the response text of something".
Document act_details at doc301 "18.16" "18.16. Printing room description details of something".
Document act_idetails at doc302 "18.17" "18.17. Printing inventory details of something".
Document act_toodark at doc303 "18.18" "18.18. Printing a refusal to act in the dark".
Document act_nowdark at doc304 "18.19" "18.19. Printing the announcement of darkness".
Document act_nowlight at doc305 "18.20" "18.20. Printing the announcement of light".
Document act_darkname at doc306 "18.21" "18.21. Printing the name of a dark room".
Document act_darkdesc at doc307 "18.22" "18.22. Printing the description of a dark room".
Document act_csl at doc308 "18.23" "18.23. Constructing the status line".
Document act_wpa at doc309 "18.24" "18.24. Writing a paragraph about".
Document act_lni at doc310 "18.25" "18.25. Listing nondescript items of something".
Document act_pld at doc311 "18.26" "18.26. Printing the locale description of something".
Document act_cnlo at doc312 "18.27" "18.27. Choosing notable locale objects for something".
Document act_plp at doc313 "18.28" "18.28. Printing a locale paragraph about".
Document act_ds ph_placecontentsinscope ph_placeinscope at doc314 "18.29" "18.29. Deciding the scope of something".
Document act_clarify at doc315 "18.30" "18.30. Clarifying the parser's choice of something".
Document act_which at doc316 "18.31" "18.31. Asking which do you mean".
Document act_smn at doc317 "18.32" "18.32. Supplying a missing noun/second noun".
Document act_reading kind_snippet ph_changecommand ph_cutsnippet ph_rejectcommand ph_replacesnippet ph_snippetdoesnotinclude ph_snippetdoesnotmatch ph_snippetincludes ph_snippetmatches var_command at doc318 "18.33" "18.33. Reading a command".
Document act_implicitly at doc319 "18.34" "18.34. Implicitly taking something".
Document PM_PropertyNotPermitted at doc32 "3.7" "3.7. Properties depend on kind".
Document act_parsererror at doc320 "18.35" "18.35. Printing a parser error".
Document act_all at doc321 "18.36" "18.36. Deciding whether all includes".
Document act_banner phs_banner at doc322 "18.37" "18.37. Printing the banner text".
Document act_obit at doc323 "18.38" "18.38. Printing the player's obituary".
Document act_amuse at doc324 "18.39" "18.39. Amusing a victorious player".
Document act_startvm at doc325 "18.40" "18.40. Starting the virtual machine".
Document PM_RulebookWithAt PM_RulebookWithDefinition PM_RulebookWithTo RULEBOOKS kind_rule kind_rulebook at doc326 "19.1" "19.1. On rules".
Document PM_BadRulePreamble PM_BadRulePreambleWhen PM_RuleWithDefiniteArticle PM_RuleWithoutColon at doc328 "19.3" "19.3. New rules".
Document PM_BadRulePlacementNegation PM_ImproperRulePlacement PM_NoSuchRuleExists PM_PlaceWithMissingRule PM_UnspecifiedRulebookPlacement RLISTING at doc329 "19.4" "19.4. Listing rules explicitly".
Document rules_proc at doc330 "19.5" "19.5. Changing the behaviour of rules".
Document NEWRULEBOOKS ph_follow at doc333 "19.8" "19.8. New rulebooks".
Document ph_followfor at doc334 "19.9" "19.9. Basis of a rulebook".
Document PM_RulebookVariableAnd PM_RulebookVariableBadKind PM_RulebookVariableTooSpecific PM_RulebookVariableVague at doc335 "19.10" "19.10. Rulebook variables".
Document PM_BadDefaultOutcome PM_DefaultOutcomeTwice ph_failed ph_fails ph_nodecision ph_succeeded ph_succeeds at doc336 "19.11" "19.11. Success and failure".
Document PM_BadOutcomeClarification PM_DefaultNamedOutcomeTwice PM_DefaultOutcomeAlready PM_DuplicateOutcome PM_MisplacedRulebookOutcome PM_NonOutcomeProperty PM_WrongEndToPhrase ph_rulebookoutcome at doc337 "19.12" "19.12. Named outcomes".
Document ph_producedby ph_producedbyfor ph_succeedswith at doc338 "19.13" "19.13. Rulebooks producing values".
Document ph_abide ph_abideanon ph_abidefor at doc339 "19.14" "19.14. Abide by".
Document PM_CantChangeEverywhere PM_EverywhereMisapplied PM_EverywhereNonBackdrop kind_backdrop at doc34 "3.9" "3.9. Backdrops".
Document rules_internal at doc340 "19.15" "19.15. Two rulebooks used internally".
Document ph_charnum ph_linenum ph_numchars ph_numlines ph_numparas ph_numpwords ph_numupwords ph_numwords ph_paranum ph_pwordnum ph_upwordnum ph_wordnum at doc344 "20.3" "20.3. Characters, words, punctuated words, unpunctuated words, lines, paragraphs".
Document ph_inlower ph_inupper ph_lowercase ph_sentencecase ph_titlecase ph_uppercase at doc345 "20.4" "20.4. Upper and lower case letters".
Document ph_exactlymatches ph_matches ph_nummatches at doc346 "20.5" "20.5. Matching and exactly matching".
Document ph_exactlymatchesre ph_matchesre ph_matchtext ph_nummatchesre ph_subexpressiontext at doc347 "20.6" "20.6. Regular expression matching".
Document ph_subform at doc348 "20.7" "20.7. Making new text with text substitutions".
Document ph_replace ph_replacechar ph_replaceline ph_replacepara ph_replacepword ph_replacepwordin ph_replacere ph_replaceupword ph_replaceword ph_replacewordin at doc349 "20.8" "20.8. Replacements".
Document kind_listof at doc351 "21.1" "21.1. Lists and entries".
Document PM_BadConstantListEntry PM_CantLetEmptyList PM_IncompatibleConstantListEntry PM_NonconstantConstantListEntry at doc352 "21.2" "21.2. Constant lists".
Document phs_listbraced phs_listdef phs_listindef at doc353 "21.3" "21.3. Saying lists of values".
Document ph_islistedin ph_isnotlistedin ph_repeatlist at doc354 "21.4" "21.4. Testing and iterating over lists".
Document ph_addatentry ph_addlistatentry ph_addlisttolist ph_addtolist ph_rementries ph_rementry ph_remfromlist ph_remlistfromlist at doc355 "21.5" "21.5. Building lists".
Document ph_altermultipleobjectlist ph_listofdesc ph_multipleobjectlist at doc356 "21.6" "21.6. Lists of objects".
Document ph_reverselist ph_rotatelist ph_rotatelistback ph_sortlist ph_sortlistproperty ph_sortlistpropertyreverse ph_sortlistrandom ph_sortlistreverse at doc358 "21.8" "21.8. Sorting, reversing and rotating lists".
Document ph_numberentries at doc359 "21.9" "21.9. Accessing entries in a list".
Document PM_TextWithoutSubject PM_TwoAppearances at doc36 "3.11" "3.11. Two descriptions of things".
Document ph_changelength ph_extend ph_truncate ph_truncatefirst ph_truncatelast at doc360 "21.10" "21.10. Lengthening or shortening a list".
Document kind_description ph_valuematch at doc363 "22.2" "22.2. Descriptions as values".
Document ph_applied0 ph_applied1 ph_applied2 ph_applied3 ph_apply0 ph_apply1 ph_apply2 ph_apply3 at doc364 "22.3" "22.3. Phrases as values".
Document ph_appliedlist ph_filter ph_reduction at doc366 "22.5" "22.5. Map, filter and reduce".
Document PM_BadMapCell PM_BothWaysDoor PM_DoorInThirdRoom PM_DoorOverconnected PM_DoorToNonRoom PM_DoorUnconnected PM_RoomMissingDoor kind_door ph_backside ph_directionofdoor ph_frontside ph_othersideof at doc37 "3.12" "3.12. Doors".
Document PM_UnknownVirtualMachine at doc374 "23.3" "23.3. Virtual machines and story file formats".
Document FIGURES kind_figurename at doc375 "23.4" "23.4. Gathering the figures".
Document PM_PictureDuplicate PM_PictureNotTextual at doc376 "23.5" "23.5. Declaring and previewing the figures".
Document ph_displayfigure at doc377 "23.6" "23.6. Displaying the figures".
Document SOUNDS kind_soundname at doc378 "23.7" "23.7. Recorded sounds".
Document PM_SoundDuplicate PM_SoundNotTextual ph_playsf at doc379 "23.8" "23.8. Declaring and playing back sounds".
Document ph_figureid ph_soundid at doc381 "23.10" "23.10. Some technicalities about figures and sounds".
Document EFILES at doc382 "23.11" "23.11. Files".
Document PM_BadFileIFID PM_BadFileOwner PM_FilenameDuplicate PM_FilenameNotTextual PM_FilenameUnsafe kind_externalfile at doc383 "23.12" "23.12. Declaring files".
Document ph_fileexists ph_readtable ph_writetable at doc384 "23.13" "23.13. Writing and reading tables to external files".
Document ph_appendtext ph_saytext ph_writetext at doc385 "23.14" "23.14. Writing, reading and appending text to files".
Document ph_fileready ph_markfilenotready ph_markfileready at doc386 "23.15" "23.15. Exchanging files with other programs".
Document kind_device at doc39 "3.14" "3.14. Devices and descriptions".
Document PM_BadEpisode at doc396 "25.2" "25.2. Bibliographic data".
Document LCARDS at doc398 "25.4" "25.4. The Library Card".
Document IFIDS at doc399 "25.5" "25.5. The Treaty of Babel and the IFID".
Document PM_NoStartRoom PM_StartsOutsideRooms at doc4 "1.4" "1.4. The Go! button".
Document kind_device at doc40 "3.14" "3.14. Devices and descriptions".
Document IFIDS at doc400 "25.5" "25.5. The Treaty of Babel and the IFID".
Document PM_NoSuchPublicRelease release_files at doc401 "25.6" "25.6. The Release button and the Materials folder".
Document PM_ReleaseAlong at doc402 "25.7" "25.7. The Joy of Feelies".
Document release_cover at doc403 "25.8" "25.8. Cover art".
Document release_booklet release_postcard at doc404 "25.9" "25.9. An introductory booklet and postcard".
Document release_website at doc405 "25.10" "25.10. A website".
Document release_interpreter at doc406 "25.11" "25.11. A playable web page".
Document PM_RoomInIgnoredSource at doc410 "25.15" "25.15. Republishing existing works of IF".
Document release_solution at doc411 "25.16" "25.16. Walkthrough solutions".
Document release_card release_source at doc412 "25.17" "25.17. Releasing the source text".
Document MAPHINTS PM_MapBadRubric PM_MapDirectionClue PM_MapFromNonRoom PM_MapHintUnknown PM_MapLevelMisnamed PM_MapNonLateral PM_MapPlacement PM_MapPlacementDirection PM_MapSettingOfUnknown PM_MapSettingTooLong PM_MapSettingTypeFailed PM_MapSettingUnknown PM_MapToNonRoom PM_MapUnknownColour PM_MapUnknownOffset PM_MapUnknownOffsetBase at doc413 "25.18" "25.18. Improving the index map".
Document EPSMAP at doc414 "25.19" "25.19. Producing an EPS format map".
Document kind_vehicle at doc42 "3.16" "3.16. Vehicles and pushable things".
Document kind_person at doc43 "3.17" "3.17. Men, women and animals".
Document EXTENSIONS at doc430 "27.1" "27.1. The status of extensions".
Document SRULES at doc431 "27.2" "27.2. The Standard Rules".
Document PM_ExtBeginsAfterEndsHere PM_ExtEndsWithoutBegins PM_ExtMultipleBeginsHere PM_ExtMultipleEndsHere PM_ExtNoBeginsHere PM_ExtNoEndsHere at doc434 "27.5" "27.5. A simple example extension".
Document PM_ExtNoVersion PM_ExtVersionTooLow phs_compextcredits phs_extcredits at doc435 "27.6" "27.6. Version numbering".
Document PM_HeadingInPlaceOfUnincluded PM_HeadingInPlaceOfUnknown PM_UnequalHeadingInPlaceOf at doc438 "27.9" "27.9. Extensions can interact with other extensions".
Document PM_ImplicationCertain PM_ImplicationValueProperty at doc442 "27.13" "27.13. Implications".
Document PM_BadInlineExpansion PM_BadInlineTag PM_InlineRule PM_InlineTooLong PM_NonInlineBeginEnd PM_UnendingI6 at doc444 "27.15" "27.15. Defining phrases in Inform 6".
Document PM_BadObjectTranslation at doc450 "27.21" "27.21. Inform 6 objects and classes".
Document PM_NonPropertyTranslated PM_NonQuantityTranslated PM_QuantityTranslatedAlready PM_TranslatedToNonIdentifier PM_TranslatedTwice PM_TranslatedUnknownCategory PM_TranslatesActionAlready PM_TranslatesNonAction at doc451 "27.22" "27.22. Inform 6 variables, properties, actions, and attributes".
Document PM_GrammarTranslatedAlready at doc452 "27.23" "27.23. Inform 6 Understand tokens".
Document PM_UnicodeAlready PM_UnicodeNonLiteral PM_UnicodeOutOfRange at doc454 "27.25" "27.25. Naming Unicode characters".
Document PM_BadI6Inclusion PM_BeforeTheLibrary PM_NoSuchPart PM_NoSuchTemplate PM_WhenDefiningUnknown at doc455 "27.26" "27.26. The template layer".
Document PM_LabelNamespaceTooLong at doc458 "27.29" "27.29. Invocation labels, counters and storage".
Document kind_player's at doc47 "3.21" "3.21. The player's holdall".
Document PM_PartOfRoom PM_RoomOrDoorAsPart at doc49 "3.23" "3.23. Parts of things".
Document ph_locationof at doc51 "3.25" "3.25. The location of something".
Document PM_DirectionTooLong PM_ImproperlyMadeDirection PM_NamelessDirection PM_TooManyDirections kind_direction at doc52 "3.26" "3.26. Directions".
Document NEWKINDS at doc53 "4.1" "4.1. New kinds".
Document PM_PluralIsQuoted PM_PluralOfQuoted at doc56 "4.4" "4.4. Plural assertions".
Document KINDSVALUE at doc57 "4.5" "4.5. Kinds of value".
Document PM_ValueCantHaveProperties PM_ValueCantHaveVProperties at doc58 "4.6" "4.6. Properties again".
Document PM_EitherOrAsValue PM_MiscellaneousEOProblem PM_NonObjectCanBe PM_QualifiedCanBe PM_ThisIsEitherOr at doc59 "4.7" "4.7. New either/or properties".
Document PM_BadProvides PM_BadVisibilityWhen PM_PropertyCalledArticle PM_PropertyCalledPresence PM_PropertyKindClashes PM_PropertyKindUnknown PM_PropertyKindVague PM_PropertyNameForbidden PM_PropertyOfKind1 PM_PropertyTooSpecific PM_PropertyUninitialisable PM_RedundantThatVaries at doc60 "4.8" "4.8. New value properties".
Document PM_EitherOnThree at doc62 "4.10" "4.10. Conditions of things".
Document ph_defaultvalue at doc63 "4.11" "4.11. Default values of kinds".
Document PM_EmptyKind VARIABLES var_location at doc64 "4.12" "4.12. Values that vary".
Document PM_TooManyDuplicates at doc66 "4.14" "4.14. Duplicates".
Document PM_AssemblyLoop PM_AssemblyRegress PM_ComplexEvery at doc67 "4.15" "4.15. Assemblies and body parts".
Document PM_TSWithComma PM_TSWithPunctuation at doc70 "5.1" "5.1. Text with substitutions".
Document phs_apostrophe phs_bracket phs_closebracket phs_quotemark at doc71 "5.2" "5.2. How Inform reads quoted text".
Document phs_A phs_The phs_a phs_the phs_value at doc72 "5.3" "5.3. Text which names things".
Document phs_numwords phs_s at doc73 "5.4" "5.4. Text with numbers".
Document phs_Alistof phs_Thelistof phs_alistof phs_alistofconts phs_isalistof phs_islistof phs_isthelistof phs_listof phs_thelistof at doc74 "5.5" "5.5. Text with lists".
Document PM_SayEndIfWithoutSayIf PM_SayIfNested PM_SayOtherwiseWithoutIf phs_elseif phs_elseunless phs_endif phs_endunless phs_if phs_otherwise phs_unless at doc75 "5.6" "5.6. Text with variations".
Document PM_ComplicatedSayStructure PM_ComplicatedSayStructure2 PM_ComplicatedSayStructure3 PM_ComplicatedSayStructure4 PM_ComplicatedSayStructure5 phs_cycling phs_decreasing phs_firsttime phs_oneof phs_or phs_order phs_purelyrandom phs_random phs_sticky phs_stopping phs_thenpurelyrandom phs_thenrandom at doc76 "5.7" "5.7. Text with random alternatives".
Document ph_breakpending phs_clarifbreak phs_condparabreak phs_linebreak phs_nolinebreak phs_parabreak phs_runparaon phs_runparaonsls at doc77 "5.8" "5.8. Line breaks and paragraph breaks".
Document phs_bold phs_fixedspacing phs_italic phs_roman phs_varspacing at doc78 "5.9" "5.9. Text with type styles".
Document PM_MidTextUnicode PM_SayUnicode phs_unicode at doc80 "5.11" "5.11. Unicode characters".
Document ph_boxed at doc81 "5.12" "5.12. Displaying quotations".
Document DESCRIPTIONS ph_numberof at doc83 "6.1" "6.1. What are descriptions?".
Document PM_AdjDomainSlippery PM_AdjDomainSurreal PM_AdjDomainUnknown PM_ArticleAsAdjective PM_DefinitionBadCondition PM_DefinitionWithoutCondition at doc86 "6.4" "6.4. Defining new adjectives".
Document PM_ComparativeMisapplied PM_GradingCalled PM_GradingMisphrased PM_GradingNonLiteral PM_GradingUnknownProperty PM_GradingUnless PM_GradingWrongKOV PM_MultiwordGrading at doc89 "6.7" "6.7. Comparatives".
Document PM_OutOfPlay at doc92 "6.10" "6.10. Existence and there".
Document ph_bestroute ph_bestroutelength ph_bestroutethrough ph_bestroutethroughlength ph_doordirof ph_roomdirof ph_roomordoor at doc96 "6.14" "6.14. Adjacent rooms and routes through the map".
Document PM_ComplexDeterminer at doc97 "6.15" "6.15. All, each and every".
Document ACTIONS PM_APUnknown PM_APWithNoParticiple PM_NonActionIn kind_actionname at doc99 "7.1" "7.1. Actions".
Document PM_NoSuchPublicRelease release_files at doc400 "25.6" "25.6. The Release button and the Materials folder".
Document PM_ReleaseAlong at doc401 "25.7" "25.7. The Joy of Feelies".
Document release_cover at doc402 "25.8" "25.8. Cover art".
Document release_booklet release_postcard at doc403 "25.9" "25.9. An introductory booklet and postcard".
Document release_website at doc404 "25.10" "25.10. A website".
Document release_interpreter at doc405 "25.11" "25.11. A playable web page".
Document PM_RoomInIgnoredSource at doc409 "25.15" "25.15. Republishing existing works of IF".
Document kind_vehicle at doc41 "3.16" "3.16. Vehicles and pushable things".
Document release_solution at doc410 "25.16" "25.16. Walkthrough solutions".
Document release_card release_source at doc411 "25.17" "25.17. Releasing the source text".
Document MAPHINTS PM_MapBadRubric PM_MapDirectionClue PM_MapFromNonRoom PM_MapHintUnknown PM_MapLevelMisnamed PM_MapNonLateral PM_MapPlacement PM_MapPlacementDirection PM_MapSettingOfUnknown PM_MapSettingTooLong PM_MapSettingTypeFailed PM_MapSettingUnknown PM_MapToNonRoom PM_MapUnknownColour PM_MapUnknownOffset PM_MapUnknownOffsetBase at doc412 "25.18" "25.18. Improving the index map".
Document EPSMAP at doc413 "25.19" "25.19. Producing an EPS format map".
Document kind_person at doc42 "3.17" "3.17. Men, women and animals".
Document EXTENSIONS at doc429 "27.1" "27.1. The status of extensions".
Document SRULES at doc430 "27.2" "27.2. The Standard Rules".
Document PM_ExtBeginsAfterEndsHere PM_ExtEndsWithoutBegins PM_ExtMultipleBeginsHere PM_ExtMultipleEndsHere PM_ExtNoBeginsHere PM_ExtNoEndsHere at doc433 "27.5" "27.5. A simple example extension".
Document PM_ExtNoVersion PM_ExtVersionTooLow phs_compextcredits phs_extcredits at doc434 "27.6" "27.6. Version numbering".
Document PM_HeadingInPlaceOfUnincluded PM_HeadingInPlaceOfUnknown PM_UnequalHeadingInPlaceOf at doc437 "27.9" "27.9. Extensions can interact with other extensions".
Document PM_ImplicationCertain PM_ImplicationValueProperty at doc441 "27.13" "27.13. Implications".
Document PM_BadInlineExpansion PM_BadInlineTag PM_InlineRule PM_InlineTooLong PM_NonInlineBeginEnd PM_UnendingI6 at doc443 "27.15" "27.15. Defining phrases in Inform 6".
Document PM_BadObjectTranslation at doc449 "27.21" "27.21. Inform 6 objects and classes".
Document PM_NonPropertyTranslated PM_NonQuantityTranslated PM_QuantityTranslatedAlready PM_TranslatedToNonIdentifier PM_TranslatedTwice PM_TranslatedUnknownCategory PM_TranslatesActionAlready PM_TranslatesNonAction at doc450 "27.22" "27.22. Inform 6 variables, properties, actions, and attributes".
Document PM_GrammarTranslatedAlready at doc451 "27.23" "27.23. Inform 6 Understand tokens".
Document PM_UnicodeAlready PM_UnicodeNonLiteral PM_UnicodeOutOfRange at doc453 "27.25" "27.25. Naming Unicode characters".
Document PM_BadI6Inclusion PM_BeforeTheLibrary PM_NoSuchPart PM_NoSuchTemplate PM_WhenDefiningUnknown at doc454 "27.26" "27.26. The template layer".
Document PM_LabelNamespaceTooLong at doc457 "27.29" "27.29. Invocation labels, counters and storage".
Document kind_player's at doc46 "3.21" "3.21. The player's holdall".
Document PM_PartOfRoom PM_RoomOrDoorAsPart at doc48 "3.23" "3.23. Parts of things".
Document ph_locationof at doc50 "3.25" "3.25. The location of something".
Document PM_DirectionTooLong PM_ImproperlyMadeDirection PM_NamelessDirection PM_TooManyDirections kind_direction at doc51 "3.26" "3.26. Directions".
Document NEWKINDS at doc52 "4.1" "4.1. New kinds".
Document PM_PluralIsQuoted PM_PluralOfQuoted at doc55 "4.4" "4.4. Plural assertions".
Document KINDSVALUE at doc56 "4.5" "4.5. Kinds of value".
Document PM_ValueCantHaveProperties PM_ValueCantHaveVProperties at doc57 "4.6" "4.6. Properties again".
Document PM_EitherOrAsValue PM_MiscellaneousEOProblem PM_NonObjectCanBe PM_QualifiedCanBe PM_ThisIsEitherOr at doc58 "4.7" "4.7. New either/or properties".
Document PM_BadProvides PM_BadVisibilityWhen PM_PropertyCalledArticle PM_PropertyCalledPresence PM_PropertyKindClashes PM_PropertyKindUnknown PM_PropertyKindVague PM_PropertyNameForbidden PM_PropertyOfKind1 PM_PropertyTooSpecific PM_PropertyUninitialisable PM_RedundantThatVaries at doc59 "4.8" "4.8. New value properties".
Document PM_EitherOnThree at doc61 "4.10" "4.10. Conditions of things".
Document ph_defaultvalue at doc62 "4.11" "4.11. Default values of kinds".
Document PM_EmptyKind VARIABLES var_location at doc63 "4.12" "4.12. Values that vary".
Document PM_TooManyDuplicates at doc65 "4.14" "4.14. Duplicates".
Document PM_AssemblyLoop PM_AssemblyRegress PM_ComplexEvery at doc66 "4.15" "4.15. Assemblies and body parts".
Document PM_TSWithComma PM_TSWithPunctuation at doc69 "5.1" "5.1. Text with substitutions".
Document phs_apostrophe phs_bracket phs_closebracket phs_quotemark at doc70 "5.2" "5.2. How Inform reads quoted text".
Document phs_A phs_The phs_a phs_the phs_value at doc71 "5.3" "5.3. Text which names things".
Document phs_numwords phs_s at doc72 "5.4" "5.4. Text with numbers".
Document phs_Alistof phs_Thelistof phs_alistof phs_alistofconts phs_isalistof phs_islistof phs_isthelistof phs_listof phs_thelistof at doc73 "5.5" "5.5. Text with lists".
Document PM_SayEndIfWithoutSayIf PM_SayIfNested PM_SayOtherwiseWithoutIf phs_elseif phs_elseunless phs_endif phs_endunless phs_if phs_otherwise phs_unless at doc74 "5.6" "5.6. Text with variations".
Document PM_ComplicatedSayStructure PM_ComplicatedSayStructure2 PM_ComplicatedSayStructure3 PM_ComplicatedSayStructure4 PM_ComplicatedSayStructure5 phs_cycling phs_decreasing phs_firsttime phs_oneof phs_or phs_order phs_purelyrandom phs_random phs_sticky phs_stopping phs_thenpurelyrandom phs_thenrandom at doc75 "5.7" "5.7. Text with random alternatives".
Document ph_breakpending phs_clarifbreak phs_condparabreak phs_linebreak phs_nolinebreak phs_parabreak phs_runparaon phs_runparaonsls at doc76 "5.8" "5.8. Line breaks and paragraph breaks".
Document phs_bold phs_fixedspacing phs_italic phs_roman phs_varspacing at doc77 "5.9" "5.9. Text with type styles".
Document PM_MidTextUnicode PM_SayUnicode phs_unicode at doc79 "5.11" "5.11. Unicode characters".
Document ph_boxed at doc80 "5.12" "5.12. Displaying quotations".
Document DESCRIPTIONS ph_numberof at doc82 "6.1" "6.1. What are descriptions?".
Document PM_AdjDomainSlippery PM_AdjDomainSurreal PM_AdjDomainUnknown PM_ArticleAsAdjective PM_DefinitionBadCondition PM_DefinitionWithoutCondition at doc85 "6.4" "6.4. Defining new adjectives".
Document PM_ComparativeMisapplied PM_GradingCalled PM_GradingMisphrased PM_GradingNonLiteral PM_GradingUnknownProperty PM_GradingUnless PM_GradingWrongKOV PM_MultiwordGrading at doc88 "6.7" "6.7. Comparatives".
Document PM_OutOfPlay at doc91 "6.10" "6.10. Existence and there".
Document ph_bestroute ph_bestroutelength ph_bestroutethrough ph_bestroutethroughlength ph_doordirof ph_roomdirof ph_roomordoor at doc95 "6.14" "6.14. Adjacent rooms and routes through the map".
Document PM_ComplexDeterminer at doc96 "6.15" "6.15. All, each and every".
Document ACTIONS PM_APUnknown PM_APWithNoParticiple PM_NonActionIn kind_actionname at doc98 "7.1" "7.1. Actions".
Document rules_instead at doc99 "7.2" "7.2. Instead rules".
[...and so on...]
Use ineffectual translates as (- ! Use ineffectual does nothing. -).
@ -423,6 +423,7 @@ A region is a kind. [9]
An object has a text called specification.
An object has a text called indefinite appearance text.
An object has a value called variable initial value.
An object has a text called list grouping key.
An object has a text called printed name.
An object has a text called printed plural name.
@ -736,6 +737,7 @@ The fixed in place property translates into I6 as "static".
The transparent property translates into I6 as "transparent".
The visited property translates into I6 as "visited".
The marked for listing property translates into I6 as "workflag".
The list grouping key property translates into I6 as "list_together".
The indefinite article property translates into I6 as "article".
The carrying capacity property translates into I6 as "capacity".
@ -1295,9 +1297,9 @@ The list writer internal rule translates into I6 as
"closed" (O),
"closed and locked" (P),
"containing" (Q),
" (on [if the noun is a person]whom[otherwise]which[end if] " (R),
"on [if the noun is a person]whom[otherwise]which[end if] " (R),
", on top of [if the noun is a person]whom[otherwise]which[end if] " (S),
" (in [if the noun is a person]whom[otherwise]which[end if] " (T),
"in [if the noun is a person]whom[otherwise]which[end if] " (T),
", inside [if the noun is a person]whom[otherwise]which[end if] " (U),
"[regarding list writer internals][are]" (V),
"[regarding list writer internals][are] nothing" (W),
@ -4949,19 +4951,22 @@ To group (OS - description of objects) together
(documented at ph_group): (-
objectloop({-my:1} provides list_together)
if ({-matches-description:1:OS})
{-my:1}.list_together = {-list-together:unarticled};
BlkValueCopy({-my:1}.list_together, {-list-together:unarticled});
-).
To group (OS - description of objects) together giving articles
(documented at ph_groupart): (-
objectloop({-my:1} provides list_together)
if ({-matches-description:1:OS})
{-my:1}.list_together = {-list-together:articled};
BlkValueCopy({-my:1}.list_together, {-list-together:articled});
-).
To group (OS - description of objects) together as (T - text)
(documented at ph_grouptext): (-
{-my:2} = BlkValueCreate(TEXT_TY);
{-my:2} = TEXT_TY_SubstitutedForm({-my:2}, {-by-reference:T});
objectloop({-my:1} provides list_together)
if ({-matches-description:1:OS})
{-my:1}.list_together = {-by-reference:T};
BlkValueCopy({-my:1}.list_together, {-my:2});
BlkValueFree({-my:2});
-).
To omit contents in listing
(documented at ph_omit):

View file

@ -1006,7 +1006,7 @@ language English
bite bitten |
blow blown |
break broken |
browbeat browbeaten |
browbeat browbeaten |
choose chosen |
cleave cloven |
come come |
@ -1014,13 +1014,13 @@ language English
draw drawn |
drink drunk |
drive driven |
eat eaten |
eat eaten |
fall fallen |
fly flown |
fly flown |
forbear forborne |
forbid forbidden |
forego foregone |
foreknow foreknown |
foreknow foreknown |
forelie forlain |
forerun forerun |
foresee foreseen |
@ -1028,57 +1028,57 @@ language English
forgive forgiven |
forgo forgone |
forsake forsaken |
forswear forsworn |
forswear forsworn |
freeze frozen |
ghostwrite ghostwritten |
ghostwrite ghostwritten |
give given |
go gone |
go gone |
grow grown |
hew hewn |
hew hewn |
hide hidden |
interweave interwoven |
interweave interwoven |
know known |
lade laden |
misbecome misbecome |
misbeget misbegotten |
mischoose mischosen |
misbecome misbecome |
misbeget misbegotten |
mischoose mischosen |
misdo misdone |
misget misgotten |
misgive misgiven |
misknow misknown |
misshape misshapen |
misspeak misspoken |
misshape misshapen |
misspeak misspoken |
mistake mistaken |
miswrite miswritten |
mow mown |
miswrite miswritten |
mow mown |
outdo outdone |
outgrow outgrown |
outgrow outgrown |
outrun outrun |
outshine outshone |
outswear outsworn |
outthrow outthrown |
overbear overborne |
overblow overblown |
overclothe overclad |
overcome overcome |
outshine outshone |
outswear outsworn |
outthrow outthrown |
overbear overborne |
overblow overblown |
overclothe overclad |
overcome overcome |
overdo overdone |
overdraw overdrawn |
overdrink overdrunk |
overdrive overdriven |
overdraw overdrawn |
overdrink overdrunk |
overdrive overdriven |
overeat overeaten |
overfly overflown |
overgrow overgrown |
overgrow overgrown |
overlie overlain |
override overridden |
override overridden |
overrun overrun |
oversee overseen |
oversew oversewn |
overshake overshaken |
overstride overstridden |
overtake overtaken |
overwear overworn |
overwrite overwritten |
overshake overshaken |
overstride overstridden |
overtake overtaken |
overwear overworn |
overwrite overwritten |
partake partaken |
plead pled |
redo redone |
@ -1093,10 +1093,10 @@ language English
ring rung |
rise risen |
rive riven |
run run |
saw sawn |
see seen |
sew sewn |
run run |
saw sawn |
see seen |
sew sewn |
shake shaken |
shave shaven |
shear shorn |
@ -1109,7 +1109,7 @@ language English
sink sunk |
slay slain |
smite smitten |
sow sown |
sow sown |
speak spoken |
spin spun |
spit spit |
@ -1127,19 +1127,19 @@ language English
thrive thriven |
throw thrown |
tread trodden |
underbear underborne |
underbear underborne |
underdo underdone |
underdraw underdrawn |
underdraw underdrawn |
undergo undergone |
undergrow undergrown |
underrun underrun |
undertake undertaken |
underwrite underwritten |
undergrow undergrown |
underrun underrun |
undertake undertaken |
underwrite underwritten |
undo undone |
wake woken |
wear worn |
weave woven |
withdraw withdrawn |
withdraw withdrawn |
wring wrung |
write written
@ -1769,11 +1769,11 @@ language English
<en-trie-regular-b-past> ::=
*<aeiou>c 0ked |
*<eioy>e 1ed |
*ey 0ed
*<aeiou>y 0ed
<en-trie-regular-c-past> ::=
*e 1ed |
*y 1ied |
*y 1ied |
* 0ed
<pasturise-participle> ::=

View file

Before

Width:  |  Height:  |  Size: 599 B

After

Width:  |  Height:  |  Size: 599 B

View file

Before

Width:  |  Height:  |  Size: 545 B

After

Width:  |  Height:  |  Size: 545 B

View file

Before

Width:  |  Height:  |  Size: 545 B

After

Width:  |  Height:  |  Size: 545 B

View file

Before

Width:  |  Height:  |  Size: 420 B

After

Width:  |  Height:  |  Size: 420 B

View file

Before

Width:  |  Height:  |  Size: 469 B

After

Width:  |  Height:  |  Size: 469 B

View file

Before

Width:  |  Height:  |  Size: 260 B

After

Width:  |  Height:  |  Size: 260 B

View file

Before

Width:  |  Height:  |  Size: 88 KiB

After

Width:  |  Height:  |  Size: 88 KiB

View file

Before

Width:  |  Height:  |  Size: 88 KiB

After

Width:  |  Height:  |  Size: 88 KiB

View file

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 29 KiB

View file

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 34 KiB

File diff suppressed because it is too large Load diff

View file

@ -181,6 +181,7 @@ This is method (iv) in the summary above.
Global converted_action_outcome = -1;
[ GVS_Convert ac n s;
converted_action_outcome = BeginAction(ac, n, s);
if (converted_action_outcome == true) FollowRulebook( (+ after rules +), nothing, true );
rtrue;
];
@ -346,6 +347,7 @@ more discussion of this.
Mstack_Create_Frame(ActionData-->(p1+AD_VARIABLES_CREATOR), frame_id);
}
if (ActionVariablesNotTypeSafe()) {
if (actor ~= player) { ACTION_PROCESSING_INTERNAL_RM('K'); new_line; }
if (frame_id ~= -1)
Mstack_Destroy_Frame(ActionData-->(p1+AD_VARIABLES_CREATOR), frame_id);
MStack_DestroyRBVars(ACTION_PROCESSING_RB);

Some files were not shown because too many files have changed in this diff Show more