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

Rehoused sundry arrays and constants

This commit is contained in:
Graham Nelson 2019-04-03 12:58:22 +01:00
parent f6db87e096
commit 57ebdabf90
22 changed files with 254 additions and 54 deletions

View file

@ -753,6 +753,8 @@ compile under Inform 6.
<span class="identifier">rks</span><span class="plain">-</span><span class="element">&gt;make_default</span><span class="plain"> = </span><span class="identifier">FALSE</span><span class="plain">;</span>
<span class="identifier">rks</span><span class="plain">-</span><span class="element">&gt;default_requested_here</span><span class="plain"> = </span><span class="identifier">NULL</span><span class="plain">;</span>
<span class="identifier">rks</span><span class="plain">-</span><span class="element">&gt;rks_iname</span><span class="plain"> = </span><span class="functiontext">InterNames::new</span><span class="plain">(</span><span class="constant">KIND_ID_INAMEF</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="identifier">Kinds::Behaviour::package</span><span class="plain">(</span><span class="identifier">K</span><span class="plain">);</span>
<span class="functiontext">Packaging::house</span><span class="plain">(</span><span class="identifier">rks</span><span class="plain">-</span><span class="element">&gt;rks_iname</span><span class="plain">, </span><span class="identifier">PR</span><span class="plain">);</span>
<span class="identifier">TEMPORARY_TEXT</span><span class="plain">(</span><span class="identifier">TEMP</span><span class="plain">);</span>
<span class="identifier">Kinds::Textual::write</span><span class="plain">(</span><span class="identifier">TEMP</span><span class="plain">, </span><span class="identifier">K</span><span class="plain">);</span>
<span class="identifier">wording</span><span class="plain"> </span><span class="identifier">W</span><span class="plain"> = </span><span class="identifier">Feeds::feed_stream</span><span class="plain">(</span><span class="identifier">TEMP</span><span class="plain">);</span>
@ -874,10 +876,13 @@ K, we have also seen its bases.
<pre class="displaydefn">
<span class="reserved">package_request</span><span class="plain"> *</span><span class="identifier">PR</span><span class="plain"> = </span><span class="identifier">Kinds::Behaviour::package</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">Packaging::enter</span><span class="plain">(</span><span class="identifier">PR</span><span class="plain">);</span>
<span class="functiontext">Emit::named_array_begin</span><span class="plain">(</span><span class="identifier">rks</span><span class="plain">-</span><span class="element">&gt;rks_iname</span><span class="plain">, </span><span class="identifier">K_value</span><span class="plain">);</span>
<span class="functiontext">Kinds::RunTime::emit_weak_id</span><span class="plain">(</span><span class="identifier">K</span><span class="plain">);</span>
&lt;<span class="cwebmacro">Compile the list of strong IDs for the bases</span> <span class="cwebmacronumber">16.1.1</span>&gt;<span class="plain">;</span>
<span class="functiontext">Emit::array_end</span><span class="plain">();</span>
<span class="functiontext">Packaging::exit</span><span class="plain">(</span><span class="identifier">save</span><span class="plain">);</span>
</pre>
<p class="inwebparagraph"></p>

View file

@ -410,7 +410,10 @@ against the rules. (The Template file "Tables.i6t" defines it.)
<pre class="displaydefn">
<span class="functiontext">Emit::named_array_begin</span><span class="plain">(</span><span class="functiontext">InterNames::iname</span><span class="plain">(</span><span class="constant">TableOfTables_INAME</span><span class="plain">), </span><span class="identifier">K_value</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="identifier">Kinds::Behaviour::package</span><span class="plain">(</span><span class="identifier">K_table</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">InterNames::one_off</span><span class="plain">(</span><span class="identifier">I</span><span class="string">"TableOfTables"</span><span class="plain">, </span><span class="identifier">PR</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">PR</span><span class="plain">);</span>
<span class="functiontext">Emit::named_array_begin</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="functiontext">Emit::array_iname_entry</span><span class="plain">(</span><span class="functiontext">InterNames::extern</span><span class="plain">(</span><span class="constant">EMPTY_TABLE_EXNAMEF</span><span class="plain">));</span>
<span class="reserved">table</span><span class="plain"> *</span><span class="identifier">t</span><span class="plain">;</span>
<span class="identifier">LOOP_OVER</span><span class="plain">(</span><span class="identifier">t</span><span class="plain">, </span><span class="reserved">table</span><span class="plain">)</span>
@ -420,6 +423,7 @@ against the rules. (The Template file "Tables.i6t" defines it.)
<span class="functiontext">Emit::array_numeric_entry</span><span class="plain">(0);</span>
<span class="functiontext">Emit::array_numeric_entry</span><span class="plain">(0);</span>
<span class="functiontext">Emit::array_end</span><span class="plain">();</span>
<span class="functiontext">Packaging::exit</span><span class="plain">(</span><span class="identifier">save</span><span class="plain">);</span>
</pre>
<p class="inwebparagraph"></p>

View file

@ -448,13 +448,17 @@ noun for it; for example, the "announcing activity".
<span class="plain">}</span>
<span class="plain">}</span>
<span class="functiontext">Emit::named_array_begin</span><span class="plain">(</span><span class="functiontext">InterNames::iname</span><span class="plain">(</span><span class="constant">activity_var_creators_INAME</span><span class="plain">), </span><span class="identifier">K_value</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">Packaging::synoptic_resource</span><span class="plain">(</span><span class="constant">ACTIONS_SUBPACKAGE</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">InterNames::one_off</span><span class="plain">(</span><span class="identifier">I</span><span class="string">"activity_var_creators"</span><span class="plain">, </span><span class="identifier">PR</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">PR</span><span class="plain">);</span>
<span class="functiontext">Emit::named_array_begin</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">LOOP_OVER</span><span class="plain">(</span><span class="identifier">av</span><span class="plain">,</span><span class="reserved"> activity</span><span class="plain">) {</span>
<span class="reserved">if</span><span class="plain"> (</span><span class="functiontext">StackedVariables::owner_empty</span><span class="plain">(</span><span class="identifier">av</span><span class="plain">-</span><span class="element">&gt;owned_by_av</span><span class="plain">)) </span><span class="functiontext">Emit::array_numeric_entry</span><span class="plain">(0);</span>
<span class="reserved">else</span><span class="plain"> </span><span class="functiontext">Emit::array_iname_entry</span><span class="plain">(</span><span class="functiontext">StackedVariables::frame_creator</span><span class="plain">(</span><span class="identifier">av</span><span class="plain">-</span><span class="element">&gt;owned_by_av</span><span class="plain">));</span>
<span class="plain">}</span>
<span class="functiontext">Emit::array_numeric_entry</span><span class="plain">(0);</span>
<span class="functiontext">Emit::array_end</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>
</pre>
@ -822,8 +826,11 @@ values, of the kind to which the activity applies.
<span class="plain">}</span>
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">Activities::Activity_before_rulebooks_array</span><span class="plain">(</span><span class="reserved">void</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">Packaging::synoptic_resource</span><span class="plain">(</span><span class="constant">ACTIVITIES_SUBPACKAGE</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">InterNames::one_off</span><span class="plain">(</span><span class="identifier">I</span><span class="string">"Activity_before_rulebooks"</span><span class="plain">, </span><span class="identifier">PR</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">PR</span><span class="plain">);</span>
<span class="reserved">activity</span><span class="plain"> *</span><span class="identifier">av</span><span class="plain">; </span><span class="reserved">int</span><span class="plain"> </span><span class="identifier">i</span><span class="plain"> = 0;</span>
<span class="functiontext">Emit::named_array_begin</span><span class="plain">(</span><span class="functiontext">InterNames::iname</span><span class="plain">(</span><span class="constant">Activity_before_rulebooks_INAME</span><span class="plain">), </span><span class="identifier">K_number</span><span class="plain">);</span>
<span class="functiontext">Emit::named_array_begin</span><span class="plain">(</span><span class="identifier">iname</span><span class="plain">, </span><span class="identifier">K_number</span><span class="plain">);</span>
<span class="identifier">LOOP_OVER</span><span class="plain">(</span><span class="identifier">av</span><span class="plain">,</span><span class="reserved"> activity</span><span class="plain">) {</span>
<span class="functiontext">Emit::array_numeric_entry</span><span class="plain">((</span><span class="identifier">inter_t</span><span class="plain">) </span><span class="identifier">av</span><span class="plain">-</span><span class="element">&gt;before_rules</span><span class="plain">-&gt;</span><span class="identifier">allocation_id</span><span class="plain">);</span>
<span class="identifier">i</span><span class="plain">++;</span>
@ -831,11 +838,15 @@ values, of the kind to which the activity applies.
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">i</span><span class="plain">==0) </span><span class="functiontext">Emit::array_null_entry</span><span class="plain">();</span>
<span class="functiontext">Emit::array_null_entry</span><span class="plain">();</span>
<span class="functiontext">Emit::array_end</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="reserved">void</span><span class="plain"> </span><span class="functiontext">Activities::Activity_for_rulebooks_array</span><span class="plain">(</span><span class="reserved">void</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">Packaging::synoptic_resource</span><span class="plain">(</span><span class="constant">ACTIVITIES_SUBPACKAGE</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">InterNames::one_off</span><span class="plain">(</span><span class="identifier">I</span><span class="string">"Activity_for_rulebooks"</span><span class="plain">, </span><span class="identifier">PR</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">PR</span><span class="plain">);</span>
<span class="reserved">activity</span><span class="plain"> *</span><span class="identifier">av</span><span class="plain">; </span><span class="reserved">int</span><span class="plain"> </span><span class="identifier">i</span><span class="plain"> = 0;</span>
<span class="functiontext">Emit::named_array_begin</span><span class="plain">(</span><span class="functiontext">InterNames::iname</span><span class="plain">(</span><span class="constant">Activity_for_rulebooks_INAME</span><span class="plain">), </span><span class="identifier">K_number</span><span class="plain">);</span>
<span class="functiontext">Emit::named_array_begin</span><span class="plain">(</span><span class="identifier">iname</span><span class="plain">, </span><span class="identifier">K_number</span><span class="plain">);</span>
<span class="identifier">LOOP_OVER</span><span class="plain">(</span><span class="identifier">av</span><span class="plain">,</span><span class="reserved"> activity</span><span class="plain">) {</span>
<span class="functiontext">Emit::array_numeric_entry</span><span class="plain">((</span><span class="identifier">inter_t</span><span class="plain">) </span><span class="identifier">av</span><span class="plain">-</span><span class="element">&gt;for_rules</span><span class="plain">-&gt;</span><span class="identifier">allocation_id</span><span class="plain">);</span>
<span class="identifier">i</span><span class="plain">++;</span>
@ -843,11 +854,15 @@ values, of the kind to which the activity applies.
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">i</span><span class="plain">==0) </span><span class="functiontext">Emit::array_null_entry</span><span class="plain">();</span>
<span class="functiontext">Emit::array_null_entry</span><span class="plain">();</span>
<span class="functiontext">Emit::array_end</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="reserved">void</span><span class="plain"> </span><span class="functiontext">Activities::Activity_after_rulebooks_array</span><span class="plain">(</span><span class="reserved">void</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">Packaging::synoptic_resource</span><span class="plain">(</span><span class="constant">ACTIVITIES_SUBPACKAGE</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">InterNames::one_off</span><span class="plain">(</span><span class="identifier">I</span><span class="string">"Activity_after_rulebooks"</span><span class="plain">, </span><span class="identifier">PR</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">PR</span><span class="plain">);</span>
<span class="reserved">activity</span><span class="plain"> *</span><span class="identifier">av</span><span class="plain">; </span><span class="reserved">int</span><span class="plain"> </span><span class="identifier">i</span><span class="plain"> = 0;</span>
<span class="functiontext">Emit::named_array_begin</span><span class="plain">(</span><span class="functiontext">InterNames::iname</span><span class="plain">(</span><span class="constant">Activity_after_rulebooks_INAME</span><span class="plain">), </span><span class="identifier">K_number</span><span class="plain">);</span>
<span class="functiontext">Emit::named_array_begin</span><span class="plain">(</span><span class="identifier">iname</span><span class="plain">, </span><span class="identifier">K_number</span><span class="plain">);</span>
<span class="identifier">LOOP_OVER</span><span class="plain">(</span><span class="identifier">av</span><span class="plain">,</span><span class="reserved"> activity</span><span class="plain">) {</span>
<span class="functiontext">Emit::array_numeric_entry</span><span class="plain">((</span><span class="identifier">inter_t</span><span class="plain">) </span><span class="identifier">av</span><span class="plain">-</span><span class="element">&gt;after_rules</span><span class="plain">-&gt;</span><span class="identifier">allocation_id</span><span class="plain">);</span>
<span class="identifier">i</span><span class="plain">++;</span>
@ -855,11 +870,15 @@ values, of the kind to which the activity applies.
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">i</span><span class="plain">==0) </span><span class="functiontext">Emit::array_null_entry</span><span class="plain">();</span>
<span class="functiontext">Emit::array_null_entry</span><span class="plain">();</span>
<span class="functiontext">Emit::array_end</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="reserved">void</span><span class="plain"> </span><span class="functiontext">Activities::Activity_atb_rulebooks_array</span><span class="plain">(</span><span class="reserved">void</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">Packaging::synoptic_resource</span><span class="plain">(</span><span class="constant">ACTIVITIES_SUBPACKAGE</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">InterNames::one_off</span><span class="plain">(</span><span class="identifier">I</span><span class="string">"Activity_atb_rulebooks"</span><span class="plain">, </span><span class="identifier">PR</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">PR</span><span class="plain">);</span>
<span class="reserved">activity</span><span class="plain"> *</span><span class="identifier">av</span><span class="plain">; </span><span class="reserved">int</span><span class="plain"> </span><span class="identifier">i</span><span class="plain"> = 0;</span>
<span class="functiontext">Emit::named_byte_array_begin</span><span class="plain">(</span><span class="functiontext">InterNames::iname</span><span class="plain">(</span><span class="constant">Activity_atb_rulebooks_INAME</span><span class="plain">), </span><span class="identifier">K_number</span><span class="plain">);</span>
<span class="functiontext">Emit::named_byte_array_begin</span><span class="plain">(</span><span class="identifier">iname</span><span class="plain">, </span><span class="identifier">K_number</span><span class="plain">);</span>
<span class="identifier">LOOP_OVER</span><span class="plain">(</span><span class="identifier">av</span><span class="plain">,</span><span class="reserved"> activity</span><span class="plain">) {</span>
<span class="functiontext">Emit::array_numeric_entry</span><span class="plain">((</span><span class="identifier">inter_t</span><span class="plain">) </span><span class="functiontext">Rulebooks::used_by_future_actions</span><span class="plain">(</span><span class="identifier">av</span><span class="plain">-</span><span class="element">&gt;before_rules</span><span class="plain">));</span>
<span class="identifier">i</span><span class="plain">++;</span>
@ -867,6 +886,7 @@ values, of the kind to which the activity applies.
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">i</span><span class="plain">==0) </span><span class="functiontext">Emit::array_numeric_entry</span><span class="plain">(255);</span>
<span class="functiontext">Emit::array_numeric_entry</span><span class="plain">(255);</span>
<span class="functiontext">Emit::array_end</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="reserved">void</span><span class="plain"> </span><span class="functiontext">Activities::annotate_list_for_cross_references</span><span class="plain">(</span><span class="reserved">activity_list</span><span class="plain"> *</span><span class="identifier">avl</span><span class="plain">, </span><span class="reserved">phrase</span><span class="plain"> *</span><span class="identifier">ph</span><span class="plain">) {</span>

View file

@ -789,7 +789,7 @@ do.
<span class="functiontext">Emit::inv_primitive</span><span class="plain">(</span><span class="identifier">lt_interp</span><span class="plain">);</span>
<span class="functiontext">Emit::down</span><span class="plain">();</span>
<span class="functiontext">Emit::val_symbol</span><span class="plain">(</span><span class="identifier">K_value</span><span class="plain">, </span><span class="identifier">R_s</span><span class="plain">);</span>
<span class="functiontext">Emit::val_iname</span><span class="plain">(</span><span class="identifier">K_value</span><span class="plain">, </span><span class="functiontext">InterNames::iname</span><span class="plain">(</span><span class="constant">NUMBER_RULEBOOKS_CREATED_INAME</span><span class="plain">));</span>
<span class="functiontext">Emit::val_iname</span><span class="plain">(</span><span class="identifier">K_value</span><span class="plain">, </span><span class="functiontext">Phrases::Manager::NRC_iname</span><span class="plain">());</span>
<span class="functiontext">Emit::up</span><span class="plain">();</span>
<span class="functiontext">Emit::up</span><span class="plain">();</span>
<span class="functiontext">Emit::code</span><span class="plain">();</span>
@ -835,7 +835,7 @@ do.
<span class="functiontext">Emit::down</span><span class="plain">();</span>
<span class="functiontext">Emit::inv_primitive</span><span class="plain">(</span><span class="identifier">lookup_interp</span><span class="plain">);</span>
<span class="functiontext">Emit::down</span><span class="plain">();</span>
<span class="functiontext">Emit::val_iname</span><span class="plain">(</span><span class="identifier">K_value</span><span class="plain">, </span><span class="functiontext">InterNames::iname</span><span class="plain">(</span><span class="constant">RulebookNames_INAME</span><span class="plain">));</span>
<span class="functiontext">Emit::val_iname</span><span class="plain">(</span><span class="identifier">K_value</span><span class="plain">, </span><span class="functiontext">Rulebooks::RulebookNames_iname</span><span class="plain">());</span>
<span class="functiontext">Emit::val_symbol</span><span class="plain">(</span><span class="identifier">K_value</span><span class="plain">, </span><span class="identifier">R_s</span><span class="plain">);</span>
<span class="functiontext">Emit::up</span><span class="plain">();</span>
<span class="functiontext">Emit::up</span><span class="plain">();</span>

View file

@ -663,13 +663,17 @@ built (for instance, scene endings).
<span class="functiontext">Rulebooks::get_stv_creator_iname</span><span class="plain">(</span><span class="identifier">rb</span><span class="plain">));</span>
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">memory_economy_in_force</span><span class="plain"> == </span><span class="identifier">FALSE</span><span class="plain">) {</span>
<span class="functiontext">Emit::named_array_begin</span><span class="plain">(</span><span class="functiontext">InterNames::iname</span><span class="plain">(</span><span class="constant">rulebook_var_creators_INAME</span><span class="plain">), </span><span class="identifier">K_value</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">Packaging::synoptic_resource</span><span class="plain">(</span><span class="constant">RULEBOOKS_SUBPACKAGE</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">InterNames::one_off</span><span class="plain">(</span><span class="identifier">I</span><span class="string">"rulebook_var_creators"</span><span class="plain">, </span><span class="identifier">PR</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">PR</span><span class="plain">);</span>
<span class="functiontext">Emit::named_array_begin</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">LOOP_OVER</span><span class="plain">(</span><span class="identifier">rb</span><span class="plain">, </span><span class="reserved">rulebook</span><span class="plain">) {</span>
<span class="reserved">if</span><span class="plain"> (</span><span class="functiontext">StackedVariables::owner_empty</span><span class="plain">(</span><span class="identifier">rb</span><span class="plain">-</span><span class="element">&gt;owned_by_rb</span><span class="plain">)) </span><span class="functiontext">Emit::array_numeric_entry</span><span class="plain">(0);</span>
<span class="reserved">else</span><span class="plain"> </span><span class="functiontext">Emit::array_iname_entry</span><span class="plain">(</span><span class="functiontext">StackedVariables::frame_creator</span><span class="plain">(</span><span class="identifier">rb</span><span class="plain">-</span><span class="element">&gt;owned_by_rb</span><span class="plain">));</span>
<span class="plain">}</span>
<span class="functiontext">Emit::array_numeric_entry</span><span class="plain">(0);</span>
<span class="functiontext">Emit::array_end</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="reserved">else</span><span class="plain"> </span>&lt;<span class="cwebmacro">Make slow lookup routine</span> <span class="cwebmacronumber">14.1</span>&gt;<span class="plain">;</span>
<span class="plain">}</span>
</pre>
@ -1106,12 +1110,16 @@ code are the real outcome of the code in this section.
<span class="plain">}</span>
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">Rulebooks::rulebooks_array_array</span><span class="plain">(</span><span class="reserved">void</span><span class="plain">) {</span>
<span class="functiontext">Emit::named_array_begin</span><span class="plain">(</span><span class="functiontext">InterNames::iname</span><span class="plain">(</span><span class="constant">rulebooks_array_INAME</span><span class="plain">), </span><span class="identifier">K_value</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">Packaging::synoptic_resource</span><span class="plain">(</span><span class="constant">RULEBOOKS_SUBPACKAGE</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">InterNames::one_off</span><span class="plain">(</span><span class="identifier">I</span><span class="string">"rulebooks_array"</span><span class="plain">, </span><span class="identifier">PR</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">PR</span><span class="plain">);</span>
<span class="functiontext">Emit::named_array_begin</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="reserved">rulebook</span><span class="plain"> *</span><span class="identifier">rb</span><span class="plain">;</span>
<span class="identifier">LOOP_OVER</span><span class="plain">(</span><span class="identifier">rb</span><span class="plain">, </span><span class="reserved">rulebook</span><span class="plain">)</span>
<span class="functiontext">Emit::array_iname_entry</span><span class="plain">(</span><span class="identifier">rb</span><span class="plain">-</span><span class="element">&gt;rb_iname</span><span class="plain">);</span>
<span class="functiontext">Emit::array_numeric_entry</span><span class="plain">(0);</span>
<span class="functiontext">Emit::array_end</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="reserved">void</span><span class="plain"> </span><span class="functiontext">Rulebooks::compile_rulebooks</span><span class="plain">(</span><span class="reserved">void</span><span class="plain">) {</span>
@ -1132,8 +1140,20 @@ code are the real outcome of the code in this section.
<span class="functiontext">Rules::check_placement_safety</span><span class="plain">();</span>
<span class="plain">}</span>
<span class="reserved">inter_name</span><span class="plain"> *</span><span class="identifier">rulebooknames_iname</span><span class="plain"> = </span><span class="identifier">NULL</span><span class="plain">;</span>
<span class="reserved">inter_name</span><span class="plain"> *</span><span class="functiontext">Rulebooks::RulebookNames_iname</span><span class="plain">(</span><span class="reserved">void</span><span class="plain">) {</span>
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">rulebooknames_iname</span><span class="plain"> == </span><span class="identifier">NULL</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">Packaging::synoptic_resource</span><span class="plain">(</span><span class="constant">RULEBOOKS_SUBPACKAGE</span><span class="plain">);</span>
<span class="identifier">rulebooknames_iname</span><span class="plain"> = </span><span class="functiontext">InterNames::one_off</span><span class="plain">(</span><span class="identifier">I</span><span class="string">"RulebookNames"</span><span class="plain">, </span><span class="identifier">PR</span><span class="plain">);</span>
<span class="plain">}</span>
<span class="reserved">return</span><span class="plain"> </span><span class="identifier">rulebooknames_iname</span><span class="plain">;</span>
<span class="plain">}</span>
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">Rulebooks::RulebookNames_array</span><span class="plain">(</span><span class="reserved">void</span><span class="plain">) {</span>
<span class="functiontext">Emit::named_array_begin</span><span class="plain">(</span><span class="functiontext">InterNames::iname</span><span class="plain">(</span><span class="constant">RulebookNames_INAME</span><span class="plain">), </span><span class="identifier">K_value</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">Packaging::synoptic_resource</span><span class="plain">(</span><span class="constant">RULEBOOKS_SUBPACKAGE</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">Rulebooks::RulebookNames_iname</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">PR</span><span class="plain">);</span>
<span class="functiontext">Emit::named_array_begin</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="reserved">if</span><span class="plain"> (</span><span class="identifier">memory_economy_in_force</span><span class="plain">) {</span>
<span class="functiontext">Emit::array_numeric_entry</span><span class="plain">(0);</span>
<span class="functiontext">Emit::array_numeric_entry</span><span class="plain">(0);</span>
@ -1147,6 +1167,7 @@ code are the real outcome of the code in this section.
<span class="plain">}</span>
<span class="plain">}</span>
<span class="functiontext">Emit::array_end</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>
</pre>
@ -1158,6 +1179,8 @@ code are the real outcome of the code in this section.
<p class="endnote">The function Rulebooks::compile_rulebooks is used in 22/cs (<a href="22-cs.html#SP12">&#167;12</a>).</p>
<p class="endnote">The function Rulebooks::RulebookNames_iname is used in 21/rl (<a href="21-rl.html#SP20_1">&#167;20.1</a>).</p>
<p class="endnote">The function Rulebooks::RulebookNames_array is used in 22/cs (<a href="22-cs.html#SP12">&#167;12</a>).</p>
<p class="inwebparagraph"><a id="SP21"></a><b>&#167;21. Parsing rulebook properties. </b>Rulebooks do not have properties as such. The syntax which would create these

View file

@ -285,15 +285,29 @@ PHRCDs are used to make sure it appears in the right position.
<pre class="display">
<span class="reserved">inter_name</span><span class="plain"> *</span><span class="identifier">NUMBER_RULEBOOKS_CREATED_iname</span><span class="plain"> = </span><span class="identifier">NULL</span><span class="plain">;</span>
<span class="reserved">inter_name</span><span class="plain"> *</span><span class="functiontext">Phrases::Manager::NRC_iname</span><span class="plain">(</span><span class="reserved">void</span><span class="plain">) {</span>
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">NUMBER_RULEBOOKS_CREATED_iname</span><span class="plain"> == </span><span class="identifier">NULL</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">Packaging::synoptic_resource</span><span class="plain">(</span><span class="constant">RULEBOOKS_SUBPACKAGE</span><span class="plain">);</span>
<span class="identifier">NUMBER_RULEBOOKS_CREATED_iname</span><span class="plain"> = </span><span class="functiontext">InterNames::one_off</span><span class="plain">(</span><span class="identifier">I</span><span class="string">"NUMBER_RULEBOOKS_CREATED"</span><span class="plain">, </span><span class="identifier">PR</span><span class="plain">);</span>
<span class="plain">}</span>
<span class="reserved">return</span><span class="plain"> </span><span class="identifier">NUMBER_RULEBOOKS_CREATED_iname</span><span class="plain">;</span>
<span class="plain">}</span>
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">Phrases::Manager::add_rules_to_rulebooks</span><span class="plain">(</span><span class="reserved">void</span><span class="plain">) {</span>
<span class="functiontext">Phrases::Manager::advance_phrase_time_to</span><span class="plain">(</span><span class="constant">EARLY_AFTERNOON_PHT</span><span class="plain">);</span>
<span class="functiontext">Rules::Bookings::make_automatic_placements</span><span class="plain">();</span>
<span class="functiontext">Emit::named_numeric_constant</span><span class="plain">(</span><span class="functiontext">InterNames::iname</span><span class="plain">(</span><span class="constant">NUMBER_RULEBOOKS_CREATED_INAME</span><span class="plain">), (</span><span class="identifier">inter_t</span><span class="plain">) </span><span class="identifier">NUMBER_CREATED</span><span class="plain">(</span><span class="reserved">rulebook</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">Packaging::synoptic_resource</span><span class="plain">(</span><span class="constant">RULEBOOKS_SUBPACKAGE</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">PR</span><span class="plain">);</span>
<span class="functiontext">Emit::named_numeric_constant</span><span class="plain">(</span><span class="functiontext">Phrases::Manager::NRC_iname</span><span class="plain">(), (</span><span class="identifier">inter_t</span><span class="plain">) </span><span class="identifier">NUMBER_CREATED</span><span class="plain">(</span><span class="reserved">rulebook</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>
</pre>
<p class="inwebparagraph"></p>
<p class="endnote">The function Phrases::Manager::NRC_iname is used in 21/rl (<a href="21-rl.html#SP20">&#167;20</a>).</p>
<p class="endnote">The function Phrases::Manager::add_rules_to_rulebooks is used in 1/mr (<a href="1-mr.html#SP4_13">&#167;4.13</a>).</p>
<p class="inwebparagraph"><a id="SP9"></a><b>&#167;9. </b>It might seem as if the rulebooks are now complete, but this is not true,

View file

@ -49,7 +49,10 @@ defined as "At 9:00 AM: ..." But two values are special:
<pre class="display">
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">Phrases::Timed::TimedEventsTable</span><span class="plain">(</span><span class="reserved">void</span><span class="plain">) {</span>
<span class="functiontext">Emit::named_table_array_begin</span><span class="plain">(</span><span class="functiontext">InterNames::iname</span><span class="plain">(</span><span class="constant">TimedEventsTable_INAME</span><span class="plain">), </span><span class="identifier">K_value</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">Packaging::synoptic_resource</span><span class="plain">(</span><span class="constant">CHRONOLOGY_SUBPACKAGE</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">InterNames::one_off</span><span class="plain">(</span><span class="identifier">I</span><span class="string">"TimedEventsTable"</span><span class="plain">, </span><span class="identifier">PR</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">PR</span><span class="plain">);</span>
<span class="functiontext">Emit::named_table_array_begin</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="reserved">int</span><span class="plain"> </span><span class="identifier">when_count</span><span class="plain"> = 0;</span>
<span class="reserved">phrase</span><span class="plain"> *</span><span class="identifier">ph</span><span class="plain">;</span>
<span class="identifier">LOOP_OVER</span><span class="plain">(</span><span class="identifier">ph</span><span class="plain">, </span><span class="reserved">phrase</span><span class="plain">) {</span>
@ -64,10 +67,14 @@ defined as "At 9:00 AM: ..." But two values are special:
<span class="functiontext">Emit::array_numeric_entry</span><span class="plain">(0);</span>
<span class="plain">}</span>
<span class="functiontext">Emit::array_end</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="reserved">void</span><span class="plain"> </span><span class="functiontext">Phrases::Timed::TimedEventTimesTable</span><span class="plain">(</span><span class="reserved">void</span><span class="plain">) {</span>
<span class="functiontext">Emit::named_table_array_begin</span><span class="plain">(</span><span class="functiontext">InterNames::iname</span><span class="plain">(</span><span class="constant">TimedEventTimesTable_INAME</span><span class="plain">), </span><span class="identifier">K_number</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">Packaging::synoptic_resource</span><span class="plain">(</span><span class="constant">CHRONOLOGY_SUBPACKAGE</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">InterNames::one_off</span><span class="plain">(</span><span class="identifier">I</span><span class="string">"TimedEventTimesTable"</span><span class="plain">, </span><span class="identifier">PR</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">PR</span><span class="plain">);</span>
<span class="functiontext">Emit::named_table_array_begin</span><span class="plain">(</span><span class="identifier">iname</span><span class="plain">, </span><span class="identifier">K_number</span><span class="plain">);</span>
<span class="reserved">int</span><span class="plain"> </span><span class="identifier">when_count</span><span class="plain"> = 0;</span>
<span class="reserved">phrase</span><span class="plain"> *</span><span class="identifier">ph</span><span class="plain">;</span>
<span class="identifier">LOOP_OVER</span><span class="plain">(</span><span class="identifier">ph</span><span class="plain">, </span><span class="reserved">phrase</span><span class="plain">) {</span>
@ -82,6 +89,7 @@ defined as "At 9:00 AM: ..." But two values are special:
<span class="functiontext">Emit::array_numeric_entry</span><span class="plain">(0);</span>
<span class="plain">}</span>
<span class="functiontext">Emit::array_end</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>
</pre>

View file

@ -924,8 +924,13 @@ times".
<pre class="display">
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">Chronology::chronology_extents_i6_escape</span><span class="plain">(</span><span class="reserved">void</span><span class="plain">) {</span>
<span class="functiontext">Emit::named_numeric_constant</span><span class="plain">(</span><span class="functiontext">InterNames::iname</span><span class="plain">(</span><span class="constant">NO_PAST_TENSE_CONDS_INAME</span><span class="plain">), (</span><span class="identifier">inter_t</span><span class="plain">) </span><span class="identifier">no_past_tenses</span><span class="plain">);</span>
<span class="functiontext">Emit::named_numeric_constant</span><span class="plain">(</span><span class="functiontext">InterNames::iname</span><span class="plain">(</span><span class="constant">NO_PAST_TENSE_ACTIONS_INAME</span><span class="plain">), (</span><span class="identifier">inter_t</span><span class="plain">) </span><span class="identifier">no_past_actions</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">Packaging::synoptic_resource</span><span class="plain">(</span><span class="constant">CHRONOLOGY_SUBPACKAGE</span><span class="plain">);</span>
<span class="reserved">inter_name</span><span class="plain"> *</span><span class="identifier">iname1</span><span class="plain"> = </span><span class="functiontext">InterNames::one_off</span><span class="plain">(</span><span class="identifier">I</span><span class="string">"NO_PAST_TENSE_CONDS"</span><span class="plain">, </span><span class="identifier">PR</span><span class="plain">);</span>
<span class="reserved">inter_name</span><span class="plain"> *</span><span class="identifier">iname2</span><span class="plain"> = </span><span class="functiontext">InterNames::one_off</span><span class="plain">(</span><span class="identifier">I</span><span class="string">"NO_PAST_TENSE_ACTIONS"</span><span class="plain">, </span><span class="identifier">PR</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">PR</span><span class="plain">);</span>
<span class="functiontext">Emit::named_numeric_constant</span><span class="plain">(</span><span class="identifier">iname1</span><span class="plain">, (</span><span class="identifier">inter_t</span><span class="plain">) </span><span class="identifier">no_past_tenses</span><span class="plain">);</span>
<span class="functiontext">Emit::named_numeric_constant</span><span class="plain">(</span><span class="identifier">iname2</span><span class="plain">, (</span><span class="identifier">inter_t</span><span class="plain">) </span><span class="identifier">no_past_actions</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>
</pre>

View file

@ -328,7 +328,7 @@
<p class="endnote">The function InterNames::new_in_space is used in <a href="#SP3">&#167;3</a>.</p>
<p class="endnote">The function InterNames::one_off is used in <a href="#SP7">&#167;7</a>, 5/un (<a href="5-un.html#SP1">&#167;1</a>), 5/nv (<a href="5-nv.html#SP16">&#167;16</a>), 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#SP15">&#167;15</a>, <a href="6-rlt.html#SP17">&#167;17</a>, <a href="6-rlt.html#SP29_1">&#167;29.1</a>), 6/nv (<a href="6-nv.html#SP18">&#167;18</a>), 8/ef (<a href="8-ef.html#SP19">&#167;19</a>), 13/rsfk (<a href="13-rsfk.html#SP15">&#167;15</a>, <a href="13-rsfk.html#SP16_3">&#167;16.3</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/pr (<a href="15-pr.html#SP27">&#167;27</a>), 15/ma (<a href="15-ma.html#SP11_3">&#167;11.3</a>), 17/tl (<a href="17-tl.html#SP14_2">&#167;14.2</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#SP8">&#167;8</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>, <a href="21-rl.html#SP20">&#167;20</a>), 21/rb (<a href="21-rb.html#SP23">&#167;23</a>), 21/rl2 (<a href="21-rl2.html#SP10">&#167;10</a>, <a href="21-rl2.html#SP14">&#167;14</a>, <a href="21-rl2.html#SP14_1">&#167;14.1</a>), 21/ac (<a href="21-ac.html#SP8">&#167;8</a>), 22/ph (<a href="22-ph.html#SP11">&#167;11</a>), 22/pu (<a href="22-pu.html#SP6">&#167;6</a>), 22/pav (<a href="22-pav.html#SP9">&#167;9</a>), 22/tp (<a href="22-tp.html#SP7">&#167;7</a>), 24/ch (<a href="24-ch.html#SP3">&#167;3</a>, <a href="24-ch.html#SP7">&#167;7</a>), 26/uo (<a href="26-uo.html#SP21_1">&#167;21.1</a>), 26/lt (<a href="26-lt.html#SP3">&#167;3</a>), 26/rt (<a href="26-rt.html#SP4">&#167;4</a>), 26/ts (<a href="26-ts.html#SP10">&#167;10</a>, <a href="26-ts.html#SP11">&#167;11</a>), 27/cm (<a href="27-cm.html#SP2">&#167;2</a>), 27/pc (<a href="27-pc.html#SP8_1">&#167;8.1</a>, <a href="27-pc.html#SP9">&#167;9</a>).</p>
<p class="endnote">The function InterNames::one_off is used in <a href="#SP7">&#167;7</a>, 5/un (<a href="5-un.html#SP1">&#167;1</a>), 5/nv (<a href="5-nv.html#SP16">&#167;16</a>), 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#SP15">&#167;15</a>, <a href="6-rlt.html#SP17">&#167;17</a>, <a href="6-rlt.html#SP29_1">&#167;29.1</a>), 6/nv (<a href="6-nv.html#SP18">&#167;18</a>), 8/ef (<a href="8-ef.html#SP19">&#167;19</a>), 13/rsfk (<a href="13-rsfk.html#SP15">&#167;15</a>, <a href="13-rsfk.html#SP16_3">&#167;16.3</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/pr (<a href="15-pr.html#SP27">&#167;27</a>), 15/ma (<a href="15-ma.html#SP11_3">&#167;11.3</a>), 17/tl (<a href="17-tl.html#SP14_2">&#167;14.2</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#SP8">&#167;8</a>), 19/rsft (<a href="19-rsft.html#SP1_3">&#167;1.3</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>, <a href="21-rl.html#SP20">&#167;20</a>), 21/rb (<a href="21-rb.html#SP23">&#167;23</a>), 21/rl2 (<a href="21-rl2.html#SP10">&#167;10</a>, <a href="21-rl2.html#SP14">&#167;14</a>, <a href="21-rl2.html#SP14_1">&#167;14.1</a>, <a href="21-rl2.html#SP20">&#167;20</a>), 21/ac (<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#SP11">&#167;11</a>), 22/pu (<a href="22-pu.html#SP6">&#167;6</a>), 22/pav (<a href="22-pav.html#SP9">&#167;9</a>), 22/tp (<a href="22-tp.html#SP7">&#167;7</a>), 22/tp2 (<a href="22-tp2.html#SP4">&#167;4</a>), 24/ch (<a href="24-ch.html#SP3">&#167;3</a>, <a href="24-ch.html#SP7">&#167;7</a>, <a href="24-ch.html#SP8">&#167;8</a>), 26/uo (<a href="26-uo.html#SP21_1">&#167;21.1</a>), 26/lt (<a href="26-lt.html#SP3">&#167;3</a>), 26/rt (<a href="26-rt.html#SP4">&#167;4</a>), 26/ts (<a href="26-ts.html#SP10">&#167;10</a>, <a href="26-ts.html#SP11">&#167;11</a>), 27/cm (<a href="27-cm.html#SP2">&#167;2</a>), 27/pc (<a href="27-pc.html#SP8_1">&#167;8.1</a>, <a href="27-pc.html#SP9">&#167;9</a>).</p>
<p class="endnote">The function InterNames::attach_memo is used in <a href="#SP3">&#167;3</a>, 5/un (<a href="5-un.html#SP1">&#167;1</a>), 5/nv (<a href="5-nv.html#SP16">&#167;16</a>), 13/rsfk (<a href="13-rsfk.html#SP13_1_1">&#167;13.1.1</a>), 15/pr (<a href="15-pr.html#SP27">&#167;27</a>), 15/ep (<a href="15-ep.html#SP4">&#167;4</a>), 15/vp (<a href="15-vp.html#SP3">&#167;3</a>), 19/tb (<a href="19-tb.html#SP20">&#167;20</a>), 21/rl2 (<a href="21-rl2.html#SP10">&#167;10</a>), 21/ac (<a href="21-ac.html#SP6">&#167;6</a>).</p>
@ -1702,7 +1702,7 @@
<p class="inwebparagraph"></p>
<p class="endnote">The function InterNames::iname is used in 5/nv (<a href="5-nv.html#SP16">&#167;16</a>), 6/bp (<a href="6-bp.html#SP33">&#167;33</a>, <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">&#167;15</a>, <a href="6-rlt.html#SP15_1_2">&#167;15.1.2</a>, <a href="6-rlt.html#SP15_2">&#167;15.2</a>, <a href="6-rlt.html#SP15_2_9_1">&#167;15.2.9.1</a>, <a href="6-rlt.html#SP15_2_10_1">&#167;15.2.10.1</a>, <a href="6-rlt.html#SP15_2_12_1">&#167;15.2.12.1</a>, <a href="6-rlt.html#SP17">&#167;17</a>, <a href="6-rlt.html#SP29_1">&#167;29.1</a>), 6/nv (<a href="6-nv.html#SP17">&#167;17</a>, <a href="6-nv.html#SP18">&#167;18</a>, <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_6_1_14">&#167;2.1.6.1.14</a>), 13/kak (<a href="13-kak.html#SP5">&#167;5</a>), 13/rsfk (<a href="13-rsfk.html#SP16_3">&#167;16.3</a>, <a href="13-rsfk.html#SP18_1">&#167;18.1</a>, <a href="13-rsfk.html#SP26">&#167;26</a>, <a href="13-rsfk.html#SP26_5">&#167;26.5</a>, <a href="13-rsfk.html#SP26_5_1">&#167;26.5.1</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>), 17/tl (<a href="17-tl.html#SP12">&#167;12</a>), 17/rs (<a href="17-rs.html#SP7_3">&#167;7.3</a>), 19/tc (<a href="19-tc.html#SP8">&#167;8</a>), 19/rsft (<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#SP20">&#167;20</a>, <a href="21-rl.html#SP20_1">&#167;20.1</a>), 21/rb (<a href="21-rb.html#SP23">&#167;23</a>, <a href="21-rb.html#SP24">&#167;24</a>), 21/rl2 (<a href="21-rl2.html#SP14">&#167;14</a>, <a href="21-rl2.html#SP14_1">&#167;14.1</a>, <a href="21-rl2.html#SP20">&#167;20</a>), 21/ac (<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/tp2 (<a href="22-tp2.html#SP4">&#167;4</a>), 24/ch (<a href="24-ch.html#SP4">&#167;4</a>, <a href="24-ch.html#SP6">&#167;6</a>, <a href="24-ch.html#SP7">&#167;7</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>, <a href="26-uo.html#SP21_1">&#167;21.1</a>), 26/iti (<a href="26-iti.html#SP10">&#167;10</a>), 26/pl (<a href="26-pl.html#SP8">&#167;8</a>), 26/ts (<a href="26-ts.html#SP10">&#167;10</a>, <a href="26-ts.html#SP11">&#167;11</a>), 27/ei (<a href="27-ei.html#SP3">&#167;3</a>, <a href="27-ei.html#SP4">&#167;4</a>), 27/pc (<a href="27-pc.html#SP7">&#167;7</a>).</p>
<p class="endnote">The function InterNames::iname is used in 5/nv (<a href="5-nv.html#SP16">&#167;16</a>), 6/bp (<a href="6-bp.html#SP33">&#167;33</a>, <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">&#167;15</a>, <a href="6-rlt.html#SP15_1_2">&#167;15.1.2</a>, <a href="6-rlt.html#SP15_2">&#167;15.2</a>, <a href="6-rlt.html#SP15_2_9_1">&#167;15.2.9.1</a>, <a href="6-rlt.html#SP15_2_10_1">&#167;15.2.10.1</a>, <a href="6-rlt.html#SP15_2_12_1">&#167;15.2.12.1</a>, <a href="6-rlt.html#SP17">&#167;17</a>, <a href="6-rlt.html#SP29_1">&#167;29.1</a>), 6/nv (<a href="6-nv.html#SP17">&#167;17</a>, <a href="6-nv.html#SP18">&#167;18</a>, <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_6_1_14">&#167;2.1.6.1.14</a>), 13/kak (<a href="13-kak.html#SP5">&#167;5</a>), 13/rsfk (<a href="13-rsfk.html#SP16_3">&#167;16.3</a>, <a href="13-rsfk.html#SP18_1">&#167;18.1</a>, <a href="13-rsfk.html#SP26">&#167;26</a>, <a href="13-rsfk.html#SP26_5">&#167;26.5</a>, <a href="13-rsfk.html#SP26_5_1">&#167;26.5.1</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>), 17/tl (<a href="17-tl.html#SP12">&#167;12</a>), 17/rs (<a href="17-rs.html#SP7_3">&#167;7.3</a>), 19/tc (<a href="19-tc.html#SP8">&#167;8</a>), 19/rsft (<a href="19-rsft.html#SP1_2">&#167;1.2</a>), 21/rl (<a href="21-rl.html#SP20">&#167;20</a>), 21/rb (<a href="21-rb.html#SP23">&#167;23</a>, <a href="21-rb.html#SP24">&#167;24</a>), 21/rl2 (<a href="21-rl2.html#SP14_1">&#167;14.1</a>), 24/ch (<a href="24-ch.html#SP4">&#167;4</a>, <a href="24-ch.html#SP6">&#167;6</a>, <a href="24-ch.html#SP7">&#167;7</a>), 26/vm (<a href="26-vm.html#SP8">&#167;8</a>), 26/uo (<a href="26-uo.html#SP21">&#167;21</a>, <a href="26-uo.html#SP21_1">&#167;21.1</a>), 26/iti (<a href="26-iti.html#SP10">&#167;10</a>), 26/pl (<a href="26-pl.html#SP8">&#167;8</a>), 26/ts (<a href="26-ts.html#SP10">&#167;10</a>, <a href="26-ts.html#SP11">&#167;11</a>), 27/ei (<a href="27-ei.html#SP3">&#167;3</a>, <a href="27-ei.html#SP4">&#167;4</a>), 27/pc (<a href="27-pc.html#SP7">&#167;7</a>).</p>
<hr class="tocbar">
<ul class="toc"><li><a href="27-cm.html">Back to 'Compilation Modules'</a></li><li><a href="27-pc.html">Continue with 'Packaging'</a></li></ul><hr class="tocbar">

View file

@ -294,9 +294,9 @@
<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>), 6/nv (<a href="6-nv.html#SP18">&#167;18</a>), 13/rsfk (<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>).</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>), 6/nv (<a href="6-nv.html#SP18">&#167;18</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>), 19/rsft (<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/ac (<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/tp2 (<a href="22-tp2.html#SP4">&#167;4</a>), 24/ch (<a href="24-ch.html#SP8">&#167;8</a>), 27/ei (<a href="27-ei.html#SP3">&#167;3</a>, <a href="27-ei.html#SP4">&#167;4</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/rlt (<a href="6-rlt.html#SP15_1">&#167;15.1</a>), 6/nv (<a href="6-nv.html#SP18">&#167;18</a>), 13/rsfk (<a href="13-rsfk.html#SP4">&#167;4</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#SP2">&#167;2</a>), 16/ic (<a href="16-ic.html#SP10">&#167;10</a>), 17/tl (<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>), 18/lc (<a href="18-lc.html#SP11">&#167;11</a>), 21/rl (<a href="21-rl.html#SP9">&#167;9</a>), 21/rl2 (<a href="21-rl2.html#SP20">&#167;20</a>), 21/ac (<a href="21-ac.html#SP6">&#167;6</a>), 22/ph (<a href="22-ph.html#SP12">&#167;12</a>), 26/rt (<a href="26-rt.html#SP4">&#167;4</a>), 27/ei (<a href="27-ei.html#SP3">&#167;3</a>, <a href="27-ei.html#SP4">&#167;4</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/rlt (<a href="6-rlt.html#SP15_1">&#167;15.1</a>), 6/nv (<a href="6-nv.html#SP18">&#167;18</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#SP26">&#167;26</a>), 15/pr (<a href="15-pr.html#SP27">&#167;27</a>), 15/epv (<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#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>), 18/lc (<a href="18-lc.html#SP11">&#167;11</a>), 19/rsft (<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/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/tp2 (<a href="22-tp2.html#SP4">&#167;4</a>), 24/ch (<a href="24-ch.html#SP8">&#167;8</a>), 26/rt (<a href="26-rt.html#SP4">&#167;4</a>), 27/ei (<a href="27-ei.html#SP3">&#167;3</a>, <a href="27-ei.html#SP4">&#167;4</a>).</p>
<p class="endnote">The function Packaging::incarnate is used in 21/rl (<a href="21-rl.html#SP9">&#167;9</a>), 27/ei (<a href="27-ei.html#SP3">&#167;3</a>).</p>
@ -439,7 +439,7 @@
<p class="endnote">The function Packaging::request_resource is used in 5/ins (<a href="5-ins.html#SP14">&#167;14</a>), 5/nv (<a href="5-nv.html#SP16">&#167;16</a>), 6/bp (<a href="6-bp.html#SP31">&#167;31</a>), 15/pr (<a href="15-pr.html#SP27">&#167;27</a>), 15/ma (<a href="15-ma.html#SP11_3">&#167;11.3</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/rb (<a href="21-rb.html#SP23">&#167;23</a>), 21/rl2 (<a href="21-rl2.html#SP10">&#167;10</a>), 21/ac (<a href="21-ac.html#SP6">&#167;6</a>), 22/ph (<a href="22-ph.html#SP11">&#167;11</a>), 22/tp (<a href="22-tp.html#SP5">&#167;5</a>), 24/ch (<a href="24-ch.html#SP3">&#167;3</a>), 26/lt (<a href="26-lt.html#SP3">&#167;3</a>), 27/ei (<a href="27-ei.html#SP3">&#167;3</a>).</p>
<p class="endnote">The function Packaging::synoptic_resource is used in 6/rlt (<a href="6-rlt.html#SP15">&#167;15</a>, <a href="6-rlt.html#SP17">&#167;17</a>, <a href="6-rlt.html#SP29_1">&#167;29.1</a>), 8/ef (<a href="8-ef.html#SP19">&#167;19</a>), 13/rsfk (<a href="13-rsfk.html#SP16_3">&#167;16.3</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>), 19/tc (<a href="19-tc.html#SP8">&#167;8</a>), 21/rl (<a href="21-rl.html#SP20">&#167;20</a>), 21/rl2 (<a href="21-rl2.html#SP14_1">&#167;14.1</a>), 24/ch (<a href="24-ch.html#SP7">&#167;7</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 Packaging::synoptic_resource is used in 6/rlt (<a href="6-rlt.html#SP15">&#167;15</a>, <a href="6-rlt.html#SP17">&#167;17</a>, <a href="6-rlt.html#SP29_1">&#167;29.1</a>), 8/ef (<a href="8-ef.html#SP19">&#167;19</a>), 13/rsfk (<a href="13-rsfk.html#SP16_3">&#167;16.3</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>), 19/tc (<a href="19-tc.html#SP8">&#167;8</a>), 21/rl (<a href="21-rl.html#SP20">&#167;20</a>), 21/rl2 (<a href="21-rl2.html#SP14">&#167;14</a>, <a href="21-rl2.html#SP14_1">&#167;14.1</a>, <a href="21-rl2.html#SP20">&#167;20</a>), 21/ac (<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/tp2 (<a href="22-tp2.html#SP4">&#167;4</a>), 24/ch (<a href="24-ch.html#SP7">&#167;7</a>, <a href="24-ch.html#SP8">&#167;8</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 structure subpackage_requests is private to this section.</p>
@ -576,7 +576,7 @@
<p class="endnote">The function Packaging::function_text is used in 21/rl (<a href="21-rl.html#SP9">&#167;9</a>).</p>
<p class="endnote">The function Packaging::house is used in 13/rsfk (<a href="13-rsfk.html#SP26">&#167;26</a>), 16/ic (<a href="16-ic.html#SP10">&#167;10</a>), 27/ei (<a href="27-ei.html#SP4">&#167;4</a>).</p>
<p class="endnote">The function Packaging::house is used in 13/rsfk (<a href="13-rsfk.html#SP13_1_1">&#167;13.1.1</a>, <a href="13-rsfk.html#SP26">&#167;26</a>), 16/ic (<a href="16-ic.html#SP10">&#167;10</a>), 27/ei (<a href="27-ei.html#SP4">&#167;4</a>).</p>
<p class="endnote">The function Packaging::house_with is used in 26/rt (<a href="26-rt.html#SP4">&#167;4</a>), 27/ei (<a href="27-ei.html#SP4">&#167;4</a>), 27/in (<a href="27-in.html#SP3">&#167;3</a>).</p>

View file

@ -1357,10 +1357,14 @@ in question. This is where we compile the bitmaps in their fresh, empty form.
<span class="plain">}</span>
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">PL::Actions::ActionHappened</span><span class="plain">(</span><span class="reserved">void</span><span class="plain">) {</span>
<span class="identifier">Emit::named_array_begin</span><span class="plain">(</span><span class="identifier">InterNames::iname</span><span class="plain">(</span><span class="identifier">ActionHappened_INAME</span><span class="plain">), </span><span class="identifier">K_number</span><span class="plain">);</span>
<span class="identifier">package_request</span><span class="plain"> *</span><span class="identifier">PR</span><span class="plain"> = </span><span class="identifier">Packaging::synoptic_resource</span><span class="plain">(</span><span class="identifier">ACTIONS_SUBPACKAGE</span><span class="plain">);</span>
<span class="identifier">inter_name</span><span class="plain"> *</span><span class="identifier">iname</span><span class="plain"> = </span><span class="identifier">InterNames::one_off</span><span class="plain">(</span><span class="identifier">I</span><span class="string">"ActionHappened"</span><span class="plain">, </span><span class="identifier">PR</span><span class="plain">);</span>
<span class="identifier">packaging_state</span><span class="plain"> </span><span class="identifier">save</span><span class="plain"> = </span><span class="identifier">Packaging::enter</span><span class="plain">(</span><span class="identifier">PR</span><span class="plain">);</span>
<span class="identifier">Emit::named_array_begin</span><span class="plain">(</span><span class="identifier">iname</span><span class="plain">, </span><span class="identifier">K_number</span><span class="plain">);</span>
<span class="reserved">for</span><span class="plain"> (</span><span class="reserved">int</span><span class="plain"> </span><span class="identifier">i</span><span class="plain">=0; </span><span class="identifier">i</span><span class="plain">&lt;=((</span><span class="identifier">NUMBER_CREATED</span><span class="plain">(</span><span class="reserved">action_name</span><span class="plain">))/16); </span><span class="identifier">i</span><span class="plain">++)</span>
<span class="identifier">Emit::array_numeric_entry</span><span class="plain">(0);</span>
<span class="identifier">Emit::array_end</span><span class="plain">();</span>
<span class="identifier">Packaging::exit</span><span class="plain">(</span><span class="identifier">save</span><span class="plain">);</span>
<span class="plain">}</span>
</pre>
@ -1548,7 +1552,11 @@ infrastructure, and we access it with a single call.
<span class="functiontext">PL::Actions::compile_action_name_var_creators</span><span class="plain">();</span>
<span class="reserved">action_name</span><span class="plain"> *</span><span class="identifier">an</span><span class="plain">;</span>
<span class="reserved">int</span><span class="plain"> </span><span class="identifier">mn</span><span class="plain">, </span><span class="identifier">ms</span><span class="plain">, </span><span class="identifier">ml</span><span class="plain">, </span><span class="identifier">mnp</span><span class="plain">, </span><span class="identifier">msp</span><span class="plain">, </span><span class="identifier">hn</span><span class="plain">, </span><span class="identifier">hs</span><span class="plain">, </span><span class="identifier">record_count</span><span class="plain"> = 0;</span>
<span class="identifier">Emit::named_table_array_begin</span><span class="plain">(</span><span class="identifier">InterNames::iname</span><span class="plain">(</span><span class="identifier">ActionData_INAME</span><span class="plain">), </span><span class="identifier">K_value</span><span class="plain">);</span>
<span class="identifier">package_request</span><span class="plain"> *</span><span class="identifier">PR</span><span class="plain"> = </span><span class="identifier">Packaging::synoptic_resource</span><span class="plain">(</span><span class="identifier">ACTIONS_SUBPACKAGE</span><span class="plain">);</span>
<span class="identifier">inter_name</span><span class="plain"> *</span><span class="identifier">iname</span><span class="plain"> = </span><span class="identifier">InterNames::one_off</span><span class="plain">(</span><span class="identifier">I</span><span class="string">"ActionData"</span><span class="plain">, </span><span class="identifier">PR</span><span class="plain">);</span>
<span class="identifier">packaging_state</span><span class="plain"> </span><span class="identifier">save</span><span class="plain"> = </span><span class="identifier">Packaging::enter</span><span class="plain">(</span><span class="identifier">PR</span><span class="plain">);</span>
<span class="identifier">Emit::named_table_array_begin</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">LOOP_OVER</span><span class="plain">(</span><span class="identifier">an</span><span class="plain">, </span><span class="reserved">action_name</span><span class="plain">) {</span>
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">an</span><span class="plain">-</span><span class="element">&gt;use_verb_routine_in_I6_library</span><span class="plain">) </span><span class="reserved">continue</span><span class="plain">;</span>
<span class="identifier">mn</span><span class="plain"> = 0; </span><span class="identifier">ms</span><span class="plain"> = 0; </span><span class="identifier">ml</span><span class="plain"> = 0; </span><span class="identifier">mnp</span><span class="plain"> = 1; </span><span class="identifier">msp</span><span class="plain"> = 1; </span><span class="identifier">hn</span><span class="plain"> = 0; </span><span class="identifier">hs</span><span class="plain"> = 0;</span>
@ -1573,7 +1581,10 @@ infrastructure, and we access it with a single call.
<span class="identifier">Emit::array_numeric_entry</span><span class="plain">((</span><span class="identifier">inter_t</span><span class="plain">) (20000+</span><span class="identifier">an</span><span class="plain">-&gt;</span><span class="identifier">allocation_id</span><span class="plain">));</span>
<span class="plain">}</span>
<span class="identifier">Emit::array_end</span><span class="plain">();</span>
<span class="identifier">Emit::named_numeric_constant</span><span class="plain">(</span><span class="identifier">InterNames::iname</span><span class="plain">(</span><span class="identifier">AD_RECORDS_INAME</span><span class="plain">), (</span><span class="identifier">inter_t</span><span class="plain">) </span><span class="identifier">record_count</span><span class="plain">);</span>
<span class="identifier">inter_name</span><span class="plain"> *</span><span class="identifier">ad_iname</span><span class="plain"> = </span><span class="identifier">InterNames::one_off</span><span class="plain">(</span><span class="identifier">I</span><span class="string">"AD_RECORDS"</span><span class="plain">, </span><span class="identifier">PR</span><span class="plain">);</span>
<span class="identifier">Emit::named_numeric_constant</span><span class="plain">(</span><span class="identifier">ad_iname</span><span class="plain">, (</span><span class="identifier">inter_t</span><span class="plain">) </span><span class="identifier">record_count</span><span class="plain">);</span>
<span class="identifier">Packaging::exit</span><span class="plain">(</span><span class="identifier">save</span><span class="plain">);</span>
<span class="identifier">VirtualMachines::note_usage</span><span class="plain">(</span><span class="string">"action"</span><span class="plain">, </span><span class="identifier">EMPTY_WORDING</span><span class="plain">, </span><span class="identifier">NULL</span><span class="plain">, 12, 0, </span><span class="identifier">TRUE</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">Packaging::synoptic_resource</span><span class="plain">(</span><span class="identifier">ACTIONS_SUBPACKAGE</span><span class="plain">);</span>
@ -1582,7 +1593,7 @@ infrastructure, and we access it with a single call.
<span class="identifier">InterNames::one_off</span><span class="plain">(</span><span class="identifier">I</span><span class="string">"DB_Action_Details_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::iname</span><span class="plain">(</span><span class="identifier">DB_Action_Details_INAME</span><span class="plain">));</span>
<span class="identifier">packaging_state</span><span class="plain"> </span><span class="identifier">save</span><span class="plain"> = </span><span class="identifier">Routines::begin</span><span class="plain">(</span><span class="identifier">DB_Action_Details_iname</span><span class="plain">);</span>
<span class="identifier">save</span><span class="plain"> = </span><span class="identifier">Routines::begin</span><span class="plain">(</span><span class="identifier">DB_Action_Details_iname</span><span class="plain">);</span>
<span class="identifier">inter_symbol</span><span class="plain"> *</span><span class="identifier">act_s</span><span class="plain"> = </span><span class="identifier">LocalVariables::add_named_call_as_symbol</span><span class="plain">(</span><span class="identifier">I</span><span class="string">"act"</span><span class="plain">);</span>
<span class="identifier">inter_symbol</span><span class="plain"> *</span><span class="identifier">n_s</span><span class="plain"> = </span><span class="identifier">LocalVariables::add_named_call_as_symbol</span><span class="plain">(</span><span class="identifier">I</span><span class="string">"n"</span><span class="plain">);</span>
<span class="identifier">inter_symbol</span><span class="plain"> *</span><span class="identifier">s_s</span><span class="plain"> = </span><span class="identifier">LocalVariables::add_named_call_as_symbol</span><span class="plain">(</span><span class="identifier">I</span><span class="string">"s"</span><span class="plain">);</span>
@ -1742,13 +1753,17 @@ infrastructure, and we access it with a single call.
<span class="plain">}</span>
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">PL::Actions::ActionCoding_array</span><span class="plain">(</span><span class="reserved">void</span><span class="plain">) {</span>
<span class="identifier">Emit::named_array_begin</span><span class="plain">(</span><span class="identifier">InterNames::iname</span><span class="plain">(</span><span class="identifier">ActionCoding_INAME</span><span class="plain">), </span><span class="identifier">K_value</span><span class="plain">);</span>
<span class="identifier">package_request</span><span class="plain"> *</span><span class="identifier">PR</span><span class="plain"> = </span><span class="identifier">Packaging::synoptic_resource</span><span class="plain">(</span><span class="identifier">ACTIONS_SUBPACKAGE</span><span class="plain">);</span>
<span class="identifier">inter_name</span><span class="plain"> *</span><span class="identifier">iname</span><span class="plain"> = </span><span class="identifier">InterNames::one_off</span><span class="plain">(</span><span class="identifier">I</span><span class="string">"ActionCoding"</span><span class="plain">, </span><span class="identifier">PR</span><span class="plain">);</span>
<span class="identifier">packaging_state</span><span class="plain"> </span><span class="identifier">save</span><span class="plain"> = </span><span class="identifier">Packaging::enter</span><span class="plain">(</span><span class="identifier">PR</span><span class="plain">);</span>
<span class="identifier">Emit::named_array_begin</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="reserved">action_name</span><span class="plain"> *</span><span class="identifier">an</span><span class="plain">;</span>
<span class="identifier">LOOP_OVER</span><span class="plain">(</span><span class="identifier">an</span><span class="plain">, </span><span class="reserved">action_name</span><span class="plain">) {</span>
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">Str::get_first_char</span><span class="plain">(</span><span class="functiontext">PL::Actions::identifier</span><span class="plain">(</span><span class="identifier">an</span><span class="plain">)) == </span><span class="character">'_'</span><span class="plain">) </span><span class="identifier">Emit::array_numeric_entry</span><span class="plain">(0);</span>
<span class="reserved">else</span><span class="plain"> </span><span class="identifier">Emit::array_action_entry</span><span class="plain">(</span><span class="identifier">an</span><span class="plain">);</span>
<span class="plain">}</span>
<span class="identifier">Emit::array_end</span><span class="plain">();</span>
<span class="identifier">Packaging::exit</span><span class="plain">(</span><span class="identifier">save</span><span class="plain">);</span>
<span class="plain">}</span>
</pre>

View file

@ -380,9 +380,14 @@ letters or digits, with the first being a letter.
<pre class="display">
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">PL::Files::arrays</span><span class="plain">(</span><span class="reserved">void</span><span class="plain">) {</span>
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">Plugins::Manage::plugged_in</span><span class="plain">(</span><span class="identifier">files_plugin</span><span class="plain">) == </span><span class="identifier">FALSE</span><span class="plain">) </span><span class="reserved">return</span><span class="plain">;</span>
<span class="identifier">Emit::named_numeric_constant</span><span class="plain">(</span><span class="identifier">InterNames::iname</span><span class="plain">(</span><span class="identifier">NO_EXTERNAL_FILES_INAME</span><span class="plain">), (</span><span class="identifier">inter_t</span><span class="plain">) (</span><span class="identifier">NUMBER_CREATED</span><span class="plain">(</span><span class="reserved">external_file</span><span class="plain">)));</span>
<span class="reserved">external_file</span><span class="plain"> *</span><span class="identifier">exf</span><span class="plain">;</span>
<span class="identifier">package_request</span><span class="plain"> *</span><span class="identifier">PR</span><span class="plain"> = </span><span class="identifier">Kinds::Behaviour::package</span><span class="plain">(</span><span class="identifier">K_external_file</span><span class="plain">);</span>
<span class="identifier">inter_name</span><span class="plain"> *</span><span class="identifier">iname</span><span class="plain"> = </span><span class="identifier">InterNames::one_off</span><span class="plain">(</span><span class="identifier">I</span><span class="string">"NO_EXTERNAL_FILES"</span><span class="plain">, </span><span class="identifier">PR</span><span class="plain">);</span>
<span class="identifier">packaging_state</span><span class="plain"> </span><span class="identifier">save</span><span class="plain"> = </span><span class="identifier">Packaging::enter</span><span class="plain">(</span><span class="identifier">PR</span><span class="plain">);</span>
<span class="identifier">Emit::named_numeric_constant</span><span class="plain">(</span><span class="identifier">iname</span><span class="plain">, (</span><span class="identifier">inter_t</span><span class="plain">) (</span><span class="identifier">NUMBER_CREATED</span><span class="plain">(</span><span class="reserved">external_file</span><span class="plain">)));</span>
<span class="identifier">Packaging::exit</span><span class="plain">(</span><span class="identifier">save</span><span class="plain">);</span>
<span class="reserved">external_file</span><span class="plain"> *</span><span class="identifier">exf</span><span class="plain">;</span>
<span class="identifier">LOOP_OVER</span><span class="plain">(</span><span class="identifier">exf</span><span class="plain">, </span><span class="reserved">external_file</span><span class="plain">) {</span>
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">exf</span><span class="plain">-</span><span class="element">&gt;file_ownership</span><span class="plain"> == </span><span class="constant">OWNED_BY_SPECIFIC_PROJECT</span><span class="plain">) {</span>
<span class="identifier">Emit::named_string_array_begin</span><span class="plain">(</span><span class="identifier">exf</span><span class="plain">-</span><span class="element">&gt;IFID_array_iname</span><span class="plain">, </span><span class="identifier">K_value</span><span class="plain">);</span>
@ -415,11 +420,14 @@ letters or digits, with the first being a letter.
<span class="identifier">Emit::array_end</span><span class="plain">();</span>
<span class="plain">}</span>
<span class="identifier">Emit::named_array_begin</span><span class="plain">(</span><span class="identifier">InterNames::iname</span><span class="plain">(</span><span class="identifier">TableOfExternalFiles_INAME</span><span class="plain">), </span><span class="identifier">K_value</span><span class="plain">);</span>
<span class="identifier">iname</span><span class="plain"> = </span><span class="identifier">InterNames::one_off</span><span class="plain">(</span><span class="identifier">I</span><span class="string">"TableOfExternalFiles"</span><span class="plain">, </span><span class="identifier">PR</span><span class="plain">);</span>
<span class="identifier">save</span><span class="plain"> = </span><span class="identifier">Packaging::enter</span><span class="plain">(</span><span class="identifier">PR</span><span class="plain">);</span>
<span class="identifier">Emit::named_array_begin</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">Emit::array_numeric_entry</span><span class="plain">(0);</span>
<span class="identifier">LOOP_OVER</span><span class="plain">(</span><span class="identifier">exf</span><span class="plain">, </span><span class="reserved">external_file</span><span class="plain">) </span><span class="identifier">Emit::array_iname_entry</span><span class="plain">(</span><span class="identifier">exf</span><span class="plain">-</span><span class="element">&gt;exf_iname</span><span class="plain">);</span>
<span class="identifier">Emit::array_numeric_entry</span><span class="plain">(0);</span>
<span class="identifier">Emit::array_end</span><span class="plain">();</span>
<span class="identifier">Packaging::exit</span><span class="plain">(</span><span class="identifier">save</span><span class="plain">);</span>
<span class="plain">}</span>
</pre>

View file

@ -588,6 +588,8 @@ compile under Inform 6.
rks->make_default = FALSE;
rks->default_requested_here = NULL;
rks->rks_iname = InterNames::new(KIND_ID_INAMEF);
package_request *PR = Kinds::Behaviour::package(K);
Packaging::house(rks->rks_iname, PR);
TEMPORARY_TEXT(TEMP);
Kinds::Textual::write(TEMP, K);
wording W = Feeds::feed_stream(TEMP);
@ -673,10 +675,13 @@ void Kinds::RunTime::compile_structures(void) {
}
@<Compile the runtime ID structure for this kind@> =
package_request *PR = Kinds::Behaviour::package(K);
packaging_state save = Packaging::enter(PR);
Emit::named_array_begin(rks->rks_iname, K_value);
Kinds::RunTime::emit_weak_id(K);
@<Compile the list of strong IDs for the bases@>;
Emit::array_end();
Packaging::exit(save);
@<Compile the list of strong IDs for the bases@> =
int arity = Kinds::arity_of_constructor(K);

View file

@ -238,7 +238,10 @@ structure: a table with no columns and no rows, which would otherwise be
against the rules. (The Template file "Tables.i6t" defines it.)
@<Compile the Table of Tables@> =
Emit::named_array_begin(InterNames::iname(TableOfTables_INAME), K_value);
package_request *PR = Kinds::Behaviour::package(K_table);
inter_name *iname = InterNames::one_off(I"TableOfTables", PR);
packaging_state save = Packaging::enter(PR);
Emit::named_array_begin(iname, K_value);
Emit::array_iname_entry(InterNames::extern(EMPTY_TABLE_EXNAMEF));
table *t;
LOOP_OVER(t, table)
@ -248,6 +251,7 @@ against the rules. (The Template file "Tables.i6t" defines it.)
Emit::array_numeric_entry(0);
Emit::array_numeric_entry(0);
Emit::array_end();
Packaging::exit(save);
@<Note the usage of run-time memory for tables@> =
table *t;

View file

@ -370,13 +370,17 @@ void Activities::activity_var_creators(void) {
}
}
Emit::named_array_begin(InterNames::iname(activity_var_creators_INAME), K_value);
package_request *PR = Packaging::synoptic_resource(ACTIONS_SUBPACKAGE);
inter_name *iname = InterNames::one_off(I"activity_var_creators", PR);
packaging_state save = Packaging::enter(PR);
Emit::named_array_begin(iname, K_value);
LOOP_OVER(av, activity) {
if (StackedVariables::owner_empty(av->owned_by_av)) Emit::array_numeric_entry(0);
else Emit::array_iname_entry(StackedVariables::frame_creator(av->owned_by_av));
}
Emit::array_numeric_entry(0);
Emit::array_end();
Packaging::exit(save);
}
@h Activity indexing.
@ -612,8 +616,11 @@ void Activities::compile_activity_constants(void) {
}
void Activities::Activity_before_rulebooks_array(void) {
package_request *PR = Packaging::synoptic_resource(ACTIVITIES_SUBPACKAGE);
inter_name *iname = InterNames::one_off(I"Activity_before_rulebooks", PR);
packaging_state save = Packaging::enter(PR);
activity *av; int i = 0;
Emit::named_array_begin(InterNames::iname(Activity_before_rulebooks_INAME), K_number);
Emit::named_array_begin(iname, K_number);
LOOP_OVER(av, activity) {
Emit::array_numeric_entry((inter_t) av->before_rules->allocation_id);
i++;
@ -621,11 +628,15 @@ void Activities::Activity_before_rulebooks_array(void) {
if (i==0) Emit::array_null_entry();
Emit::array_null_entry();
Emit::array_end();
Packaging::exit(save);
}
void Activities::Activity_for_rulebooks_array(void) {
package_request *PR = Packaging::synoptic_resource(ACTIVITIES_SUBPACKAGE);
inter_name *iname = InterNames::one_off(I"Activity_for_rulebooks", PR);
packaging_state save = Packaging::enter(PR);
activity *av; int i = 0;
Emit::named_array_begin(InterNames::iname(Activity_for_rulebooks_INAME), K_number);
Emit::named_array_begin(iname, K_number);
LOOP_OVER(av, activity) {
Emit::array_numeric_entry((inter_t) av->for_rules->allocation_id);
i++;
@ -633,11 +644,15 @@ void Activities::Activity_for_rulebooks_array(void) {
if (i==0) Emit::array_null_entry();
Emit::array_null_entry();
Emit::array_end();
Packaging::exit(save);
}
void Activities::Activity_after_rulebooks_array(void) {
package_request *PR = Packaging::synoptic_resource(ACTIVITIES_SUBPACKAGE);
inter_name *iname = InterNames::one_off(I"Activity_after_rulebooks", PR);
packaging_state save = Packaging::enter(PR);
activity *av; int i = 0;
Emit::named_array_begin(InterNames::iname(Activity_after_rulebooks_INAME), K_number);
Emit::named_array_begin(iname, K_number);
LOOP_OVER(av, activity) {
Emit::array_numeric_entry((inter_t) av->after_rules->allocation_id);
i++;
@ -645,11 +660,15 @@ void Activities::Activity_after_rulebooks_array(void) {
if (i==0) Emit::array_null_entry();
Emit::array_null_entry();
Emit::array_end();
Packaging::exit(save);
}
void Activities::Activity_atb_rulebooks_array(void) {
package_request *PR = Packaging::synoptic_resource(ACTIVITIES_SUBPACKAGE);
inter_name *iname = InterNames::one_off(I"Activity_atb_rulebooks", PR);
packaging_state save = Packaging::enter(PR);
activity *av; int i = 0;
Emit::named_byte_array_begin(InterNames::iname(Activity_atb_rulebooks_INAME), K_number);
Emit::named_byte_array_begin(iname, K_number);
LOOP_OVER(av, activity) {
Emit::array_numeric_entry((inter_t) Rulebooks::used_by_future_actions(av->before_rules));
i++;
@ -657,6 +676,7 @@ void Activities::Activity_atb_rulebooks_array(void) {
if (i==0) Emit::array_numeric_entry(255);
Emit::array_numeric_entry(255);
Emit::array_end();
Packaging::exit(save);
}
void Activities::annotate_list_for_cross_references(activity_list *avl, phrase *ph) {

View file

@ -519,13 +519,17 @@ void Rulebooks::rulebook_var_creators(void) {
Rulebooks::get_stv_creator_iname(rb));
if (memory_economy_in_force == FALSE) {
Emit::named_array_begin(InterNames::iname(rulebook_var_creators_INAME), K_value);
package_request *PR = Packaging::synoptic_resource(RULEBOOKS_SUBPACKAGE);
inter_name *iname = InterNames::one_off(I"rulebook_var_creators", PR);
packaging_state save = Packaging::enter(PR);
Emit::named_array_begin(iname, K_value);
LOOP_OVER(rb, rulebook) {
if (StackedVariables::owner_empty(rb->owned_by_rb)) Emit::array_numeric_entry(0);
else Emit::array_iname_entry(StackedVariables::frame_creator(rb->owned_by_rb));
}
Emit::array_numeric_entry(0);
Emit::array_end();
Packaging::exit(save);
} else @<Make slow lookup routine@>;
}
@ -877,12 +881,16 @@ void Rulebooks::compile_rule_phrases(rulebook *rb, int *i, int max_i) {
}
void Rulebooks::rulebooks_array_array(void) {
Emit::named_array_begin(InterNames::iname(rulebooks_array_INAME), K_value);
package_request *PR = Packaging::synoptic_resource(RULEBOOKS_SUBPACKAGE);
inter_name *iname = InterNames::one_off(I"rulebooks_array", PR);
packaging_state save = Packaging::enter(PR);
Emit::named_array_begin(iname, K_value);
rulebook *rb;
LOOP_OVER(rb, rulebook)
Emit::array_iname_entry(rb->rb_iname);
Emit::array_numeric_entry(0);
Emit::array_end();
Packaging::exit(save);
}
void Rulebooks::compile_rulebooks(void) {
@ -903,8 +911,20 @@ void Rulebooks::compile_rulebooks(void) {
Rules::check_placement_safety();
}
inter_name *rulebooknames_iname = NULL;
inter_name *Rulebooks::RulebookNames_iname(void) {
if (rulebooknames_iname == NULL) {
package_request *PR = Packaging::synoptic_resource(RULEBOOKS_SUBPACKAGE);
rulebooknames_iname = InterNames::one_off(I"RulebookNames", PR);
}
return rulebooknames_iname;
}
void Rulebooks::RulebookNames_array(void) {
Emit::named_array_begin(InterNames::iname(RulebookNames_INAME), K_value);
package_request *PR = Packaging::synoptic_resource(RULEBOOKS_SUBPACKAGE);
inter_name *iname = Rulebooks::RulebookNames_iname();
packaging_state save = Packaging::enter(PR);
Emit::named_array_begin(iname, K_value);
if (memory_economy_in_force) {
Emit::array_numeric_entry(0);
Emit::array_numeric_entry(0);
@ -918,6 +938,7 @@ void Rulebooks::RulebookNames_array(void) {
}
}
Emit::array_end();
Packaging::exit(save);
}
@h Parsing rulebook properties.

View file

@ -567,7 +567,7 @@ void Rules::RulePrintingRule_routine(void) {
Emit::inv_primitive(lt_interp);
Emit::down();
Emit::val_symbol(K_value, R_s);
Emit::val_iname(K_value, InterNames::iname(NUMBER_RULEBOOKS_CREATED_INAME));
Emit::val_iname(K_value, Phrases::Manager::NRC_iname());
Emit::up();
Emit::up();
Emit::code();
@ -601,7 +601,7 @@ void Rules::RulePrintingRule_routine(void) {
Emit::down();
Emit::inv_primitive(lookup_interp);
Emit::down();
Emit::val_iname(K_value, InterNames::iname(RulebookNames_INAME));
Emit::val_iname(K_value, Rulebooks::RulebookNames_iname());
Emit::val_symbol(K_value, R_s);
Emit::up();
Emit::up();

View file

@ -209,10 +209,22 @@ our "fire alarm rule" will at last be placed in the "Instead" rulebook. The
PHRCDs are used to make sure it appears in the right position.
=
inter_name *NUMBER_RULEBOOKS_CREATED_iname = NULL;
inter_name *Phrases::Manager::NRC_iname(void) {
if (NUMBER_RULEBOOKS_CREATED_iname == NULL) {
package_request *PR = Packaging::synoptic_resource(RULEBOOKS_SUBPACKAGE);
NUMBER_RULEBOOKS_CREATED_iname = InterNames::one_off(I"NUMBER_RULEBOOKS_CREATED", PR);
}
return NUMBER_RULEBOOKS_CREATED_iname;
}
void Phrases::Manager::add_rules_to_rulebooks(void) {
Phrases::Manager::advance_phrase_time_to(EARLY_AFTERNOON_PHT);
Rules::Bookings::make_automatic_placements();
Emit::named_numeric_constant(InterNames::iname(NUMBER_RULEBOOKS_CREATED_INAME), (inter_t) NUMBER_CREATED(rulebook));
package_request *PR = Packaging::synoptic_resource(RULEBOOKS_SUBPACKAGE);
packaging_state save = Packaging::enter(PR);
Emit::named_numeric_constant(Phrases::Manager::NRC_iname(), (inter_t) NUMBER_CREATED(rulebook));
Packaging::exit(save);
}
@ It might seem as if the rulebooks are now complete, but this is not true,

View file

@ -28,7 +28,10 @@ typedef struct use_as_event {
=
void Phrases::Timed::TimedEventsTable(void) {
Emit::named_table_array_begin(InterNames::iname(TimedEventsTable_INAME), K_value);
package_request *PR = Packaging::synoptic_resource(CHRONOLOGY_SUBPACKAGE);
inter_name *iname = InterNames::one_off(I"TimedEventsTable", PR);
packaging_state save = Packaging::enter(PR);
Emit::named_table_array_begin(iname, K_value);
int when_count = 0;
phrase *ph;
LOOP_OVER(ph, phrase) {
@ -43,10 +46,14 @@ void Phrases::Timed::TimedEventsTable(void) {
Emit::array_numeric_entry(0);
}
Emit::array_end();
Packaging::exit(save);
}
void Phrases::Timed::TimedEventTimesTable(void) {
Emit::named_table_array_begin(InterNames::iname(TimedEventTimesTable_INAME), K_number);
package_request *PR = Packaging::synoptic_resource(CHRONOLOGY_SUBPACKAGE);
inter_name *iname = InterNames::one_off(I"TimedEventTimesTable", PR);
packaging_state save = Packaging::enter(PR);
Emit::named_table_array_begin(iname, K_number);
int when_count = 0;
phrase *ph;
LOOP_OVER(ph, phrase) {
@ -61,6 +68,7 @@ void Phrases::Timed::TimedEventTimesTable(void) {
Emit::array_numeric_entry(0);
}
Emit::array_end();
Packaging::exit(save);
}
@ That's it, really: everything else is just indexing.

View file

@ -791,6 +791,11 @@ times".
=
void Chronology::chronology_extents_i6_escape(void) {
Emit::named_numeric_constant(InterNames::iname(NO_PAST_TENSE_CONDS_INAME), (inter_t) no_past_tenses);
Emit::named_numeric_constant(InterNames::iname(NO_PAST_TENSE_ACTIONS_INAME), (inter_t) no_past_actions);
package_request *PR = Packaging::synoptic_resource(CHRONOLOGY_SUBPACKAGE);
inter_name *iname1 = InterNames::one_off(I"NO_PAST_TENSE_CONDS", PR);
inter_name *iname2 = InterNames::one_off(I"NO_PAST_TENSE_ACTIONS", PR);
packaging_state save = Packaging::enter(PR);
Emit::named_numeric_constant(iname1, (inter_t) no_past_tenses);
Emit::named_numeric_constant(iname2, (inter_t) no_past_actions);
Packaging::exit(save);
}

View file

@ -998,10 +998,14 @@ inter_name *PL::Actions::compile_action_bitmap_property(instance *I) {
}
void PL::Actions::ActionHappened(void) {
Emit::named_array_begin(InterNames::iname(ActionHappened_INAME), K_number);
package_request *PR = Packaging::synoptic_resource(ACTIONS_SUBPACKAGE);
inter_name *iname = InterNames::one_off(I"ActionHappened", PR);
packaging_state save = Packaging::enter(PR);
Emit::named_array_begin(iname, K_number);
for (int i=0; i<=((NUMBER_CREATED(action_name))/16); i++)
Emit::array_numeric_entry(0);
Emit::array_end();
Packaging::exit(save);
}
@h The grammar list.
@ -1159,7 +1163,11 @@ void PL::Actions::ActionData(void) {
PL::Actions::compile_action_name_var_creators();
action_name *an;
int mn, ms, ml, mnp, msp, hn, hs, record_count = 0;
Emit::named_table_array_begin(InterNames::iname(ActionData_INAME), K_value);
package_request *PR = Packaging::synoptic_resource(ACTIONS_SUBPACKAGE);
inter_name *iname = InterNames::one_off(I"ActionData", PR);
packaging_state save = Packaging::enter(PR);
Emit::named_table_array_begin(iname, K_value);
LOOP_OVER(an, action_name) {
if (an->use_verb_routine_in_I6_library) continue;
mn = 0; ms = 0; ml = 0; mnp = 1; msp = 1; hn = 0; hs = 0;
@ -1184,7 +1192,10 @@ void PL::Actions::ActionData(void) {
Emit::array_numeric_entry((inter_t) (20000+an->allocation_id));
}
Emit::array_end();
Emit::named_numeric_constant(InterNames::iname(AD_RECORDS_INAME), (inter_t) record_count);
inter_name *ad_iname = InterNames::one_off(I"AD_RECORDS", PR);
Emit::named_numeric_constant(ad_iname, (inter_t) record_count);
Packaging::exit(save);
VirtualMachines::note_usage("action", EMPTY_WORDING, NULL, 12, 0, TRUE);
package_request *R = Packaging::synoptic_resource(ACTIONS_SUBPACKAGE);
@ -1193,7 +1204,7 @@ void PL::Actions::ActionData(void) {
InterNames::one_off(I"DB_Action_Details_fn", R),
R,
InterNames::iname(DB_Action_Details_INAME));
packaging_state save = Routines::begin(DB_Action_Details_iname);
save = Routines::begin(DB_Action_Details_iname);
inter_symbol *act_s = LocalVariables::add_named_call_as_symbol(I"act");
inter_symbol *n_s = LocalVariables::add_named_call_as_symbol(I"n");
inter_symbol *s_s = LocalVariables::add_named_call_as_symbol(I"s");
@ -1335,13 +1346,17 @@ void PL::Actions::print_action_text_to(wording W, int start, OUTPUT_STREAM) {
}
void PL::Actions::ActionCoding_array(void) {
Emit::named_array_begin(InterNames::iname(ActionCoding_INAME), K_value);
package_request *PR = Packaging::synoptic_resource(ACTIONS_SUBPACKAGE);
inter_name *iname = InterNames::one_off(I"ActionCoding", PR);
packaging_state save = Packaging::enter(PR);
Emit::named_array_begin(iname, K_value);
action_name *an;
LOOP_OVER(an, action_name) {
if (Str::get_first_char(PL::Actions::identifier(an)) == '_') Emit::array_numeric_entry(0);
else Emit::array_action_entry(an);
}
Emit::array_end();
Packaging::exit(save);
}
@h Indexing.

View file

@ -273,9 +273,14 @@ internal_error("LAMIA");
=
void PL::Files::arrays(void) {
if (Plugins::Manage::plugged_in(files_plugin) == FALSE) return;
Emit::named_numeric_constant(InterNames::iname(NO_EXTERNAL_FILES_INAME), (inter_t) (NUMBER_CREATED(external_file)));
external_file *exf;
package_request *PR = Kinds::Behaviour::package(K_external_file);
inter_name *iname = InterNames::one_off(I"NO_EXTERNAL_FILES", PR);
packaging_state save = Packaging::enter(PR);
Emit::named_numeric_constant(iname, (inter_t) (NUMBER_CREATED(external_file)));
Packaging::exit(save);
external_file *exf;
LOOP_OVER(exf, external_file) {
if (exf->file_ownership == OWNED_BY_SPECIFIC_PROJECT) {
Emit::named_string_array_begin(exf->IFID_array_iname, K_value);
@ -308,11 +313,14 @@ void PL::Files::arrays(void) {
Emit::array_end();
}
Emit::named_array_begin(InterNames::iname(TableOfExternalFiles_INAME), K_value);
iname = InterNames::one_off(I"TableOfExternalFiles", PR);
save = Packaging::enter(PR);
Emit::named_array_begin(iname, K_value);
Emit::array_numeric_entry(0);
LOOP_OVER(exf, external_file) Emit::array_iname_entry(exf->exf_iname);
Emit::array_numeric_entry(0);
Emit::array_end();
Packaging::exit(save);
}
@h External Files Index.