mirror of
https://github.com/ganelson/inform.git
synced 2024-07-03 07:24:58 +03:00
Further progress on hierarchy
This commit is contained in:
parent
263b3d9181
commit
2e01c692b5
|
@ -795,12 +795,7 @@ values for kinds, since both involve tracking constructions uniquely.
|
|||
<span class="identifier">kind_constructor</span><span class="plain"> *</span><span class="identifier">con</span><span class="plain"> = </span><span class="identifier">Kinds::get_construct</span><span class="plain">(</span><span class="identifier">K</span><span class="plain">);</span>
|
||||
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">con</span><span class="plain">-></span><span class="identifier">kind_GPR_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">R</span><span class="plain"> = </span><span class="functiontext">Kinds::RunTime::package</span><span class="plain">(</span><span class="identifier">K</span><span class="plain">);</span>
|
||||
<span class="identifier">con</span><span class="plain">-></span><span class="identifier">kind_GPR_iname</span><span class="plain"> =</span>
|
||||
<span class="functiontext">Packaging::function</span><span class="plain">(</span>
|
||||
<span class="functiontext">InterNames::one_off</span><span class="plain">(</span><span class="identifier">I</span><span class="string">"gpr_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">NULL</span><span class="plain">);</span>
|
||||
<span class="identifier">Inter::Symbols::set_flag</span><span class="plain">(</span><span class="functiontext">InterNames::to_symbol</span><span class="plain">(</span><span class="identifier">con</span><span class="plain">-></span><span class="identifier">kind_GPR_iname</span><span class="plain">), </span><span class="identifier">MAKE_NAME_UNIQUE</span><span class="plain">);</span>
|
||||
<span class="identifier">con</span><span class="plain">-></span><span class="identifier">kind_GPR_iname</span><span class="plain"> = </span><span class="functiontext">Hierarchy::make_iname_in</span><span class="plain">(</span><span class="constant">GPR_FN_HL</span><span class="plain">, </span><span class="identifier">R</span><span class="plain">);</span>
|
||||
<span class="plain">}</span>
|
||||
<span class="reserved">return</span><span class="plain"> </span><span class="identifier">con</span><span class="plain">-></span><span class="identifier">kind_GPR_iname</span><span class="plain">;</span>
|
||||
<span class="plain">}</span>
|
||||
|
@ -810,12 +805,7 @@ values for kinds, since both involve tracking constructions uniquely.
|
|||
<span class="identifier">kind_constructor</span><span class="plain"> *</span><span class="identifier">con</span><span class="plain"> = </span><span class="identifier">Kinds::get_construct</span><span class="plain">(</span><span class="identifier">K</span><span class="plain">);</span>
|
||||
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">con</span><span class="plain">-></span><span class="identifier">instance_GPR_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">R</span><span class="plain"> = </span><span class="functiontext">Kinds::RunTime::package</span><span class="plain">(</span><span class="identifier">K</span><span class="plain">);</span>
|
||||
<span class="identifier">con</span><span class="plain">-></span><span class="identifier">instance_GPR_iname</span><span class="plain"> =</span>
|
||||
<span class="functiontext">Packaging::function</span><span class="plain">(</span>
|
||||
<span class="functiontext">InterNames::one_off</span><span class="plain">(</span><span class="identifier">I</span><span class="string">"instance_gpr_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">NULL</span><span class="plain">);</span>
|
||||
<span class="identifier">Inter::Symbols::set_flag</span><span class="plain">(</span><span class="functiontext">InterNames::to_symbol</span><span class="plain">(</span><span class="identifier">con</span><span class="plain">-></span><span class="identifier">instance_GPR_iname</span><span class="plain">), </span><span class="identifier">MAKE_NAME_UNIQUE</span><span class="plain">);</span>
|
||||
<span class="identifier">con</span><span class="plain">-></span><span class="identifier">instance_GPR_iname</span><span class="plain"> = </span><span class="functiontext">Hierarchy::make_iname_in</span><span class="plain">(</span><span class="constant">INSTANCE_GPR_FN_HL</span><span class="plain">, </span><span class="identifier">R</span><span class="plain">);</span>
|
||||
<span class="plain">}</span>
|
||||
<span class="reserved">return</span><span class="plain"> </span><span class="identifier">con</span><span class="plain">-></span><span class="identifier">instance_GPR_iname</span><span class="plain">;</span>
|
||||
<span class="plain">}</span>
|
||||
|
|
|
@ -232,11 +232,7 @@ either case, an equation begins here:
|
|||
<span class="identifier">eqn</span><span class="plain">-</span><span class="element">>examined_already</span><span class="plain"> = </span><span class="identifier">FALSE</span><span class="plain">;</span>
|
||||
|
||||
<span class="reserved">package_request</span><span class="plain"> *</span><span class="identifier">PR</span><span class="plain"> = </span><span class="functiontext">Hierarchy::local_package</span><span class="plain">(</span><span class="constant">EQUATIONS_HAP</span><span class="plain">);</span>
|
||||
<span class="identifier">eqn</span><span class="plain">-</span><span class="element">>eqn_iname</span><span class="plain"> = </span><span class="functiontext">Packaging::function</span><span class="plain">(</span>
|
||||
<span class="functiontext">InterNames::one_off</span><span class="plain">(</span><span class="identifier">I</span><span class="string">"solve_fn"</span><span class="plain">, </span><span class="identifier">PR</span><span class="plain">),</span>
|
||||
<span class="identifier">PR</span><span class="plain">,</span>
|
||||
<span class="identifier">NULL</span><span class="plain">);</span>
|
||||
<span class="identifier">Inter::Symbols::set_flag</span><span class="plain">(</span><span class="functiontext">InterNames::to_symbol</span><span class="plain">(</span><span class="identifier">eqn</span><span class="plain">-</span><span class="element">>eqn_iname</span><span class="plain">), </span><span class="identifier">MAKE_NAME_UNIQUE</span><span class="plain">);</span>
|
||||
<span class="identifier">eqn</span><span class="plain">-</span><span class="element">>eqn_iname</span><span class="plain"> = </span><span class="functiontext">Hierarchy::make_iname_in</span><span class="plain">(</span><span class="constant">SOLVE_FN_HL</span><span class="plain">, </span><span class="identifier">PR</span><span class="plain">);</span>
|
||||
|
||||
<span class="identifier">wording</span><span class="plain"> </span><span class="identifier">NO</span><span class="plain"> = </span><span class="identifier">EMPTY_WORDING</span><span class="plain">, </span><span class="identifier">NA</span><span class="plain"> = </span><span class="identifier">EMPTY_WORDING</span><span class="plain">;</span>
|
||||
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">anonymous</span><span class="plain"> == </span><span class="identifier">FALSE</span><span class="plain">) {</span>
|
||||
|
|
|
@ -440,11 +440,7 @@ noun for it; for example, the "announcing activity".
|
|||
<span class="reserved">activity</span><span class="plain"> *</span><span class="identifier">av</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">>owned_by_av</span><span class="plain">) == </span><span class="identifier">FALSE</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">Packaging::function</span><span class="plain">(</span>
|
||||
<span class="functiontext">InterNames::one_off</span><span class="plain">(</span><span class="identifier">I</span><span class="string">"stv_creator_fn"</span><span class="plain">, </span><span class="identifier">av</span><span class="plain">-</span><span class="element">>av_package</span><span class="plain">),</span>
|
||||
<span class="identifier">av</span><span class="plain">-</span><span class="element">>av_package</span><span class="plain">,</span>
|
||||
<span class="identifier">NULL</span><span class="plain">);</span>
|
||||
<span class="identifier">Inter::Symbols::set_flag</span><span class="plain">(</span><span class="functiontext">InterNames::to_symbol</span><span class="plain">(</span><span class="identifier">iname</span><span class="plain">), </span><span class="identifier">MAKE_NAME_UNIQUE</span><span class="plain">);</span>
|
||||
<span class="reserved">inter_name</span><span class="plain"> *</span><span class="identifier">iname</span><span class="plain"> = </span><span class="functiontext">Hierarchy::make_iname_in</span><span class="plain">(</span><span class="constant">ACTIVITY_STV_CREATOR_FN_HL</span><span class="plain">, </span><span class="identifier">av</span><span class="plain">-</span><span class="element">>av_package</span><span class="plain">);</span>
|
||||
<span class="functiontext">StackedVariables::compile_frame_creator</span><span class="plain">(</span><span class="identifier">av</span><span class="plain">-</span><span class="element">>owned_by_av</span><span class="plain">, </span><span class="identifier">iname</span><span class="plain">);</span>
|
||||
<span class="plain">}</span>
|
||||
<span class="plain">}</span>
|
||||
|
|
|
@ -292,9 +292,7 @@ built (for instance, scene endings).
|
|||
<span class="identifier">rb</span><span class="plain">-</span><span class="element">>primary_name</span><span class="plain"> = </span><span class="identifier">W</span><span class="plain">;</span>
|
||||
<span class="identifier">rb</span><span class="plain">-</span><span class="element">>alternative_name</span><span class="plain"> = </span><span class="identifier">EMPTY_WORDING</span><span class="plain">;</span>
|
||||
<span class="identifier">rb</span><span class="plain">-</span><span class="element">>rb_package</span><span class="plain"> = </span><span class="identifier">R</span><span class="plain">;</span>
|
||||
|
||||
<span class="identifier">rb</span><span class="plain">-</span><span class="element">>rb_iname</span><span class="plain"> = </span><span class="functiontext">Packaging::function</span><span class="plain">(</span><span class="functiontext">InterNames::one_off</span><span class="plain">(</span><span class="identifier">I</span><span class="string">"run_fn"</span><span class="plain">, </span><span class="identifier">rb</span><span class="plain">-</span><span class="element">>rb_package</span><span class="plain">), </span><span class="identifier">rb</span><span class="plain">-</span><span class="element">>rb_package</span><span class="plain">, </span><span class="identifier">NULL</span><span class="plain">);</span>
|
||||
<span class="identifier">Inter::Symbols::set_flag</span><span class="plain">(</span><span class="functiontext">InterNames::to_symbol</span><span class="plain">(</span><span class="identifier">rb</span><span class="plain">-</span><span class="element">>rb_iname</span><span class="plain">), </span><span class="identifier">MAKE_NAME_UNIQUE</span><span class="plain">);</span>
|
||||
<span class="identifier">rb</span><span class="plain">-</span><span class="element">>rb_iname</span><span class="plain"> = </span><span class="functiontext">Hierarchy::make_iname_in</span><span class="plain">(</span><span class="constant">RUN_FN_HL</span><span class="plain">, </span><span class="identifier">rb</span><span class="plain">-</span><span class="element">>rb_package</span><span class="plain">);</span>
|
||||
|
||||
<span class="identifier">rb</span><span class="plain">-</span><span class="element">>rule_list</span><span class="plain"> = </span><span class="functiontext">Rules::Bookings::list_new</span><span class="plain">();</span>
|
||||
|
||||
|
@ -639,13 +637,9 @@ built (for instance, scene endings).
|
|||
<span class="plain">}</span>
|
||||
|
||||
<span class="reserved">inter_name</span><span class="plain"> *</span><span class="functiontext">Rulebooks::get_stv_creator_iname</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="reserved">if</span><span class="plain"> (</span><span class="identifier">rb</span><span class="plain">-</span><span class="element">>stv_creator_iname</span><span class="plain"> == </span><span class="identifier">NULL</span><span class="plain">) {</span>
|
||||
<span class="identifier">rb</span><span class="plain">-</span><span class="element">>stv_creator_iname</span><span class="plain"> = </span><span class="functiontext">Packaging::function</span><span class="plain">(</span>
|
||||
<span class="functiontext">InterNames::one_off</span><span class="plain">(</span><span class="identifier">I</span><span class="string">"stv_creator_fn"</span><span class="plain">, </span><span class="identifier">rb</span><span class="plain">-</span><span class="element">>rb_package</span><span class="plain">),</span>
|
||||
<span class="identifier">rb</span><span class="plain">-</span><span class="element">>rb_package</span><span class="plain">,</span>
|
||||
<span class="identifier">NULL</span><span class="plain">);</span>
|
||||
<span class="identifier">Inter::Symbols::set_flag</span><span class="plain">(</span><span class="functiontext">InterNames::to_symbol</span><span class="plain">(</span><span class="identifier">rb</span><span class="plain">-</span><span class="element">>stv_creator_iname</span><span class="plain">), </span><span class="identifier">MAKE_NAME_UNIQUE</span><span class="plain">);</span>
|
||||
<span class="plain">}</span>
|
||||
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">rb</span><span class="plain">-</span><span class="element">>stv_creator_iname</span><span class="plain"> == </span><span class="identifier">NULL</span><span class="plain">)</span>
|
||||
<span class="identifier">rb</span><span class="plain">-</span><span class="element">>stv_creator_iname</span><span class="plain"> =</span>
|
||||
<span class="functiontext">Hierarchy::make_iname_in</span><span class="plain">(</span><span class="constant">RULEBOOK_STV_CREATOR_FN_HL</span><span class="plain">, </span><span class="identifier">rb</span><span class="plain">-</span><span class="element">>rb_package</span><span class="plain">);</span>
|
||||
<span class="reserved">return</span><span class="plain"> </span><span class="identifier">rb</span><span class="plain">-</span><span class="element">>stv_creator_iname</span><span class="plain">;</span>
|
||||
<span class="plain">}</span>
|
||||
|
||||
|
|
|
@ -253,8 +253,7 @@ compilation.
|
|||
<pre class="display">
|
||||
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">Phrases::Constants::compile_default_closure</span><span class="plain">(</span><span class="reserved">inter_name</span><span class="plain"> *</span><span class="identifier">closure_identifier</span><span class="plain">, </span><span class="identifier">kind</span><span class="plain"> *</span><span class="identifier">K</span><span class="plain">) {</span>
|
||||
<span class="reserved">package_request</span><span class="plain"> *</span><span class="identifier">P</span><span class="plain"> = </span><span class="functiontext">Kinds::RunTime::package</span><span class="plain">(</span><span class="identifier">K</span><span class="plain">);</span>
|
||||
<span class="reserved">inter_name</span><span class="plain"> *</span><span class="identifier">rname</span><span class="plain"> = </span><span class="functiontext">Packaging::function</span><span class="plain">(</span><span class="functiontext">InterNames::one_off</span><span class="plain">(</span><span class="identifier">I</span><span class="string">"default_closure_fn"</span><span class="plain">, </span><span class="identifier">P</span><span class="plain">), </span><span class="identifier">P</span><span class="plain">, </span><span class="identifier">NULL</span><span class="plain">);</span>
|
||||
<span class="identifier">Inter::Symbols::set_flag</span><span class="plain">(</span><span class="functiontext">InterNames::to_symbol</span><span class="plain">(</span><span class="identifier">rname</span><span class="plain">), </span><span class="identifier">MAKE_NAME_UNIQUE</span><span class="plain">);</span>
|
||||
<span class="reserved">inter_name</span><span class="plain"> *</span><span class="identifier">rname</span><span class="plain"> = </span><span class="functiontext">Hierarchy::make_iname_in</span><span class="plain">(</span><span class="constant">DEFAULT_CLOSURE_FN_HL</span><span class="plain">, </span><span class="identifier">P</span><span class="plain">);</span>
|
||||
|
||||
<<span class="cwebmacro">Compile the default routine</span> <span class="cwebmacronumber">9.2</span>><span class="plain">;</span>
|
||||
<<span class="cwebmacro">Compile the default closure</span> <span class="cwebmacronumber">9.1</span>><span class="plain">;</span>
|
||||
|
|
|
@ -72,6 +72,7 @@
|
|||
<span class="reserved">struct</span><span class="plain"> </span><span class="identifier">text_stream</span><span class="plain"> *</span><span class="identifier">datum_package_name</span><span class="plain">;</span>
|
||||
<span class="reserved">struct</span><span class="plain"> </span><span class="reserved">location_requirement</span><span class="plain"> </span><span class="identifier">requirements</span><span class="plain">;</span>
|
||||
<span class="reserved">struct</span><span class="plain"> </span><span class="reserved">inter_name</span><span class="plain"> *</span><span class="identifier">equates_to_iname</span><span class="plain">;</span>
|
||||
<span class="reserved">struct</span><span class="plain"> </span><span class="identifier">inter_symbol</span><span class="plain"> *</span><span class="identifier">package_type</span><span class="plain">;</span>
|
||||
<span class="reserved">struct</span><span class="plain"> </span><span class="reserved">name_translation</span><span class="plain"> </span><span class="identifier">trans</span><span class="plain">;</span>
|
||||
<span class="identifier">MEMORY_MANAGEMENT</span>
|
||||
<span class="plain">} </span><span class="reserved">named_resource_location</span><span class="plain">;</span>
|
||||
|
@ -83,6 +84,7 @@
|
|||
<span class="identifier">nrl</span><span class="plain">-</span><span class="element">>function_package_name</span><span class="plain"> = </span><span class="identifier">NULL</span><span class="plain">;</span>
|
||||
<span class="identifier">nrl</span><span class="plain">-</span><span class="element">>datum_package_name</span><span class="plain"> = </span><span class="identifier">NULL</span><span class="plain">;</span>
|
||||
<span class="identifier">nrl</span><span class="plain">-</span><span class="element">>equates_to_iname</span><span class="plain"> = </span><span class="identifier">NULL</span><span class="plain">;</span>
|
||||
<span class="identifier">nrl</span><span class="plain">-</span><span class="element">>package_type</span><span class="plain"> = </span><span class="identifier">NULL</span><span class="plain">;</span>
|
||||
<span class="identifier">nrl</span><span class="plain">-</span><span class="element">>trans</span><span class="plain"> = </span><span class="functiontext">Translation::same</span><span class="plain">();</span>
|
||||
<span class="identifier">nrl</span><span class="plain">-</span><span class="element">>requirements</span><span class="plain"> = </span><span class="functiontext">HierarchyLocations::blank</span><span class="plain">();</span>
|
||||
<span class="reserved">return</span><span class="plain"> </span><span class="identifier">nrl</span><span class="plain">;</span>
|
||||
|
@ -98,6 +100,16 @@
|
|||
<span class="reserved">return</span><span class="plain"> </span><span class="identifier">nrl</span><span class="plain">;</span>
|
||||
<span class="plain">}</span>
|
||||
|
||||
<span class="reserved">named_resource_location</span><span class="plain"> *</span><span class="functiontext">HierarchyLocations::package</span><span class="plain">(</span><span class="reserved">int</span><span class="plain"> </span><span class="identifier">id</span><span class="plain">, </span><span class="identifier">text_stream</span><span class="plain"> *</span><span class="identifier">name</span><span class="plain">, </span><span class="identifier">text_stream</span><span class="plain"> *</span><span class="identifier">ptype_name</span><span class="plain">, </span><span class="reserved">location_requirement</span><span class="plain"> </span><span class="identifier">req</span><span class="plain">) {</span>
|
||||
<span class="reserved">named_resource_location</span><span class="plain"> *</span><span class="identifier">nrl</span><span class="plain"> = </span><span class="functiontext">HierarchyLocations::new</span><span class="plain">();</span>
|
||||
<span class="identifier">nrl</span><span class="plain">-</span><span class="element">>access_number</span><span class="plain"> = </span><span class="identifier">id</span><span class="plain">;</span>
|
||||
<span class="identifier">nrl</span><span class="plain">-</span><span class="element">>access_name</span><span class="plain"> = </span><span class="identifier">Str::duplicate</span><span class="plain">(</span><span class="identifier">name</span><span class="plain">);</span>
|
||||
<span class="identifier">nrl</span><span class="plain">-</span><span class="element">>requirements</span><span class="plain"> = </span><span class="identifier">req</span><span class="plain">;</span>
|
||||
<span class="identifier">nrl</span><span class="plain">-</span><span class="element">>package_type</span><span class="plain"> = </span><span class="functiontext">HierarchyLocations::ptype</span><span class="plain">(</span><span class="identifier">ptype_name</span><span class="plain">);</span>
|
||||
<span class="functiontext">HierarchyLocations::index</span><span class="plain">(</span><span class="identifier">nrl</span><span class="plain">);</span>
|
||||
<span class="reserved">return</span><span class="plain"> </span><span class="identifier">nrl</span><span class="plain">;</span>
|
||||
<span class="plain">}</span>
|
||||
|
||||
<span class="reserved">named_resource_location</span><span class="plain"> *</span><span class="functiontext">HierarchyLocations::make_as</span><span class="plain">(</span><span class="reserved">int</span><span class="plain"> </span><span class="identifier">id</span><span class="plain">, </span><span class="identifier">text_stream</span><span class="plain"> *</span><span class="identifier">name</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="reserved">named_resource_location</span><span class="plain"> *</span><span class="identifier">nrl</span><span class="plain"> = </span><span class="functiontext">HierarchyLocations::new</span><span class="plain">();</span>
|
||||
<span class="identifier">nrl</span><span class="plain">-</span><span class="element">>access_number</span><span class="plain"> = </span><span class="identifier">id</span><span class="plain">;</span>
|
||||
|
@ -212,7 +224,11 @@
|
|||
<span class="identifier">internal_error</span><span class="plain">(</span><span class="string">"bad nrl ID"</span><span class="plain">);</span>
|
||||
<span class="reserved">named_resource_location</span><span class="plain"> *</span><span class="identifier">nrl</span><span class="plain"> = </span><span class="identifier">nrls_indexed_by_id</span><span class="plain">[</span><span class="identifier">id</span><span class="plain">];</span>
|
||||
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">nrl</span><span class="plain">-</span><span class="element">>requirements.any_package_of_this_type</span><span class="plain"> == </span><span class="identifier">NULL</span><span class="plain">) </span><span class="identifier">internal_error</span><span class="plain">(</span><span class="string">"NRL accessed inappropriately"</span><span class="plain">);</span>
|
||||
<span class="reserved">if</span><span class="plain"> ((</span><span class="identifier">P</span><span class="plain"> == </span><span class="identifier">NULL</span><span class="plain">) || (</span><span class="identifier">P</span><span class="plain">-</span><span class="element">>eventual_type</span><span class="plain"> != </span><span class="identifier">nrl</span><span class="plain">-</span><span class="element">>requirements.any_package_of_this_type</span><span class="plain">)) </span><span class="identifier">internal_error</span><span class="plain">(</span><span class="string">"constant in wrong superpackage"</span><span class="plain">);</span>
|
||||
<span class="reserved">if</span><span class="plain"> ((</span><span class="identifier">P</span><span class="plain"> == </span><span class="identifier">NULL</span><span class="plain">) || (</span><span class="identifier">P</span><span class="plain">-</span><span class="element">>eventual_type</span><span class="plain"> != </span><span class="identifier">nrl</span><span class="plain">-</span><span class="element">>requirements.any_package_of_this_type</span><span class="plain">)) {</span>
|
||||
<span class="identifier">LOG</span><span class="plain">(</span><span class="string">"AN: %S, FPN: %S\</span><span class="plain">n</span><span class="string">"</span><span class="plain">, </span><span class="identifier">nrl</span><span class="plain">-</span><span class="element">>access_name</span><span class="plain">, </span><span class="identifier">nrl</span><span class="plain">-</span><span class="element">>function_package_name</span><span class="plain">);</span>
|
||||
<span class="identifier">LOG</span><span class="plain">(</span><span class="string">"Have type: $3, required: $3\</span><span class="plain">n</span><span class="string">"</span><span class="plain">, </span><span class="identifier">P</span><span class="plain">-</span><span class="element">>eventual_type</span><span class="plain">, </span><span class="identifier">nrl</span><span class="plain">-</span><span class="element">>requirements.any_package_of_this_type</span><span class="plain">);</span>
|
||||
<span class="identifier">internal_error</span><span class="plain">(</span><span class="string">"constant in wrong superpackage"</span><span class="plain">);</span>
|
||||
<span class="plain">}</span>
|
||||
<span class="reserved">inter_name</span><span class="plain"> *</span><span class="identifier">iname</span><span class="plain"> = </span><span class="identifier">NULL</span><span class="plain">;</span>
|
||||
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">Str::len</span><span class="plain">(</span><span class="identifier">nrl</span><span class="plain">-</span><span class="element">>function_package_name</span><span class="plain">) > 0) {</span>
|
||||
<span class="identifier">iname</span><span class="plain"> = </span><span class="functiontext">Packaging::function_text</span><span class="plain">(</span>
|
||||
|
@ -237,7 +253,8 @@
|
|||
<span class="reserved">named_resource_location</span><span class="plain"> *</span><span class="identifier">nrl</span><span class="plain"> = </span><span class="identifier">nrls_indexed_by_id</span><span class="plain">[</span><span class="identifier">id</span><span class="plain">];</span>
|
||||
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">nrl</span><span class="plain">-</span><span class="element">>requirements.any_package_of_this_type</span><span class="plain"> == </span><span class="identifier">NULL</span><span class="plain">) </span><span class="identifier">internal_error</span><span class="plain">(</span><span class="string">"NRL accessed inappropriately"</span><span class="plain">);</span>
|
||||
<span class="reserved">if</span><span class="plain"> ((</span><span class="identifier">P</span><span class="plain"> == </span><span class="identifier">NULL</span><span class="plain">) || (</span><span class="identifier">P</span><span class="plain">-</span><span class="element">>eventual_type</span><span class="plain"> != </span><span class="identifier">nrl</span><span class="plain">-</span><span class="element">>requirements.any_package_of_this_type</span><span class="plain">)) </span><span class="identifier">internal_error</span><span class="plain">(</span><span class="string">"subpackage in wrong superpackage"</span><span class="plain">);</span>
|
||||
<span class="reserved">return</span><span class="plain"> </span><span class="functiontext">Packaging::request</span><span class="plain">(</span><span class="functiontext">InterNames::one_off</span><span class="plain">(</span><span class="identifier">nrl</span><span class="plain">-</span><span class="element">>access_name</span><span class="plain">, </span><span class="identifier">P</span><span class="plain">), </span><span class="identifier">P</span><span class="plain">, </span><span class="identifier">nrl</span><span class="plain">-</span><span class="element">>requirements.any_package_of_this_type</span><span class="plain">);</span>
|
||||
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">nrl</span><span class="plain">-</span><span class="element">>package_type</span><span class="plain"> == </span><span class="identifier">NULL</span><span class="plain">) </span><span class="identifier">internal_error</span><span class="plain">(</span><span class="string">"package_in_package used wrongly"</span><span class="plain">);</span>
|
||||
<span class="reserved">return</span><span class="plain"> </span><span class="functiontext">Packaging::request</span><span class="plain">(</span><span class="functiontext">InterNames::one_off</span><span class="plain">(</span><span class="identifier">nrl</span><span class="plain">-</span><span class="element">>access_name</span><span class="plain">, </span><span class="identifier">P</span><span class="plain">), </span><span class="identifier">P</span><span class="plain">, </span><span class="identifier">nrl</span><span class="plain">-</span><span class="element">>package_type</span><span class="plain">);</span>
|
||||
<span class="plain">}</span>
|
||||
</pre>
|
||||
|
||||
|
@ -251,7 +268,7 @@
|
|||
|
||||
<p class="endnote">The function HierarchyLocations::synoptic_submodule is used in 27/hr (<a href="27-hr.html#SP1_2">§1.2</a>, <a href="27-hr.html#SP1_4">§1.4</a>, <a href="27-hr.html#SP1_6">§1.6</a>, <a href="27-hr.html#SP1_10">§1.10</a>, <a href="27-hr.html#SP1_12">§1.12</a>, <a href="27-hr.html#SP1_18">§1.18</a>, <a href="27-hr.html#SP1_22">§1.22</a>, <a href="27-hr.html#SP1_26">§1.26</a>, <a href="27-hr.html#SP1_28">§1.28</a>, <a href="27-hr.html#SP1_32">§1.32</a>, <a href="27-hr.html#SP1_34">§1.34</a>, <a href="27-hr.html#SP1_36">§1.36</a>, <a href="27-hr.html#SP1_38">§1.38</a>, <a href="27-hr.html#SP1_40">§1.40</a>, <a href="27-hr.html#SP1_42">§1.42</a>).</p>
|
||||
|
||||
<p class="endnote">The function HierarchyLocations::any_package_of_type is used in 27/hr (<a href="27-hr.html#SP1_4">§1.4</a>, <a href="27-hr.html#SP1_6">§1.6</a>, <a href="27-hr.html#SP1_8">§1.8</a>, <a href="27-hr.html#SP1_20">§1.20</a>, <a href="27-hr.html#SP1_22">§1.22</a>, <a href="27-hr.html#SP1_28">§1.28</a>, <a href="27-hr.html#SP1_30">§1.30</a>, <a href="27-hr.html#SP1_32">§1.32</a>, <a href="27-hr.html#SP1_36">§1.36</a>, <a href="27-hr.html#SP1_40">§1.40</a>, <a href="27-hr.html#SP1_42">§1.42</a>).</p>
|
||||
<p class="endnote">The function HierarchyLocations::any_package_of_type is used in 27/hr (<a href="27-hr.html#SP1_4">§1.4</a>, <a href="27-hr.html#SP1_6">§1.6</a>, <a href="27-hr.html#SP1_8">§1.8</a>, <a href="27-hr.html#SP1_16">§1.16</a>, <a href="27-hr.html#SP1_20">§1.20</a>, <a href="27-hr.html#SP1_22">§1.22</a>, <a href="27-hr.html#SP1_24">§1.24</a>, <a href="27-hr.html#SP1_28">§1.28</a>, <a href="27-hr.html#SP1_30">§1.30</a>, <a href="27-hr.html#SP1_32">§1.32</a>, <a href="27-hr.html#SP1_36">§1.36</a>, <a href="27-hr.html#SP1_38">§1.38</a>, <a href="27-hr.html#SP1_40">§1.40</a>, <a href="27-hr.html#SP1_42">§1.42</a>).</p>
|
||||
|
||||
<p class="endnote">The function HierarchyLocations::this_package is used in 27/hr (<a href="27-hr.html#SP1_48">§1.48</a>, <a href="27-hr.html#SP5">§5</a>).</p>
|
||||
|
||||
|
@ -261,9 +278,11 @@
|
|||
|
||||
<p class="endnote">The function HierarchyLocations::con is used in 27/hr (<a href="27-hr.html#SP1_2">§1.2</a>, <a href="27-hr.html#SP1_4">§1.4</a>, <a href="27-hr.html#SP1_6">§1.6</a>, <a href="27-hr.html#SP1_8">§1.8</a>, <a href="27-hr.html#SP1_10">§1.10</a>, <a href="27-hr.html#SP1_12">§1.12</a>, <a href="27-hr.html#SP1_14">§1.14</a>, <a href="27-hr.html#SP1_20">§1.20</a>, <a href="27-hr.html#SP1_22">§1.22</a>, <a href="27-hr.html#SP1_26">§1.26</a>, <a href="27-hr.html#SP1_28">§1.28</a>, <a href="27-hr.html#SP1_30">§1.30</a>, <a href="27-hr.html#SP1_32">§1.32</a>, <a href="27-hr.html#SP1_34">§1.34</a>, <a href="27-hr.html#SP1_36">§1.36</a>, <a href="27-hr.html#SP1_38">§1.38</a>, <a href="27-hr.html#SP1_40">§1.40</a>, <a href="27-hr.html#SP1_42">§1.42</a>, <a href="27-hr.html#SP1_46">§1.46</a>, <a href="27-hr.html#SP1_48">§1.48</a>, <a href="27-hr.html#SP5">§5</a>).</p>
|
||||
|
||||
<p class="endnote">The function HierarchyLocations::package is used in 27/hr (<a href="27-hr.html#SP1_4">§1.4</a>, <a href="27-hr.html#SP1_6">§1.6</a>).</p>
|
||||
|
||||
<p class="endnote">The function HierarchyLocations::make_as is used in 27/hr (<a href="27-hr.html#SP5">§5</a>).</p>
|
||||
|
||||
<p class="endnote">The function HierarchyLocations::func is used in 27/hr (<a href="27-hr.html#SP1_4">§1.4</a>, <a href="27-hr.html#SP1_12">§1.12</a>, <a href="27-hr.html#SP1_18">§1.18</a>, <a href="27-hr.html#SP1_22">§1.22</a>, <a href="27-hr.html#SP1_26">§1.26</a>, <a href="27-hr.html#SP1_28">§1.28</a>, <a href="27-hr.html#SP1_36">§1.36</a>, <a href="27-hr.html#SP1_38">§1.38</a>, <a href="27-hr.html#SP1_40">§1.40</a>, <a href="27-hr.html#SP1_42">§1.42</a>, <a href="27-hr.html#SP1_46">§1.46</a>).</p>
|
||||
<p class="endnote">The function HierarchyLocations::func is used in 27/hr (<a href="27-hr.html#SP1_4">§1.4</a>, <a href="27-hr.html#SP1_6">§1.6</a>, <a href="27-hr.html#SP1_12">§1.12</a>, <a href="27-hr.html#SP1_16">§1.16</a>, <a href="27-hr.html#SP1_18">§1.18</a>, <a href="27-hr.html#SP1_22">§1.22</a>, <a href="27-hr.html#SP1_24">§1.24</a>, <a href="27-hr.html#SP1_26">§1.26</a>, <a href="27-hr.html#SP1_28">§1.28</a>, <a href="27-hr.html#SP1_36">§1.36</a>, <a href="27-hr.html#SP1_38">§1.38</a>, <a href="27-hr.html#SP1_40">§1.40</a>, <a href="27-hr.html#SP1_42">§1.42</a>, <a href="27-hr.html#SP1_46">§1.46</a>).</p>
|
||||
|
||||
<p class="endnote">The function HierarchyLocations::datum is used in 27/hr (<a href="27-hr.html#SP1_10">§1.10</a>).</p>
|
||||
|
||||
|
|
|
@ -170,6 +170,7 @@
|
|||
<span class="definitionkeyword">enum</span> <span class="constant">CHECK_RB_HL</span>
|
||||
<span class="definitionkeyword">enum</span> <span class="constant">CARRY_OUT_RB_HL</span>
|
||||
<span class="definitionkeyword">enum</span> <span class="constant">REPORT_RB_HL</span>
|
||||
<span class="definitionkeyword">enum</span> <span class="constant">ACTION_STV_CREATOR_FN_HL</span>
|
||||
<span class="definitionkeyword">enum</span> <span class="constant">ACTIONCODING_HL</span>
|
||||
<span class="definitionkeyword">enum</span> <span class="constant">ACTIONDATA_HL</span>
|
||||
<span class="definitionkeyword">enum</span> <span class="constant">ACTIONHAPPENED_HL</span>
|
||||
|
@ -192,9 +193,10 @@
|
|||
<span class="reserved">location_requirement</span><span class="plain"> </span><span class="identifier">local_actions</span><span class="plain"> = </span><span class="functiontext">HierarchyLocations::local_submodule</span><span class="plain">(</span><span class="identifier">actions</span><span class="plain">);</span>
|
||||
<span class="functiontext">HierarchyLocations::ap</span><span class="plain">(</span><span class="constant">ACTIONS_HAP</span><span class="plain">, </span><span class="identifier">local_actions</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"action"</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"_action"</span><span class="plain">);</span>
|
||||
<span class="reserved">location_requirement</span><span class="plain"> </span><span class="identifier">in_action</span><span class="plain"> = </span><span class="functiontext">HierarchyLocations::any_package_of_type</span><span class="plain">(</span><span class="identifier">I</span><span class="string">"_action"</span><span class="plain">);</span>
|
||||
<span class="functiontext">HierarchyLocations::con</span><span class="plain">(</span><span class="constant">CHECK_RB_HL</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"check_rb"</span><span class="plain">, </span><span class="functiontext">Translation::same</span><span class="plain">(), </span><span class="identifier">in_action</span><span class="plain">);</span>
|
||||
<span class="functiontext">HierarchyLocations::con</span><span class="plain">(</span><span class="constant">CARRY_OUT_RB_HL</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"carry_out_rb"</span><span class="plain">, </span><span class="functiontext">Translation::same</span><span class="plain">(), </span><span class="identifier">in_action</span><span class="plain">);</span>
|
||||
<span class="functiontext">HierarchyLocations::con</span><span class="plain">(</span><span class="constant">REPORT_RB_HL</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"report_rb"</span><span class="plain">, </span><span class="functiontext">Translation::same</span><span class="plain">(), </span><span class="identifier">in_action</span><span class="plain">);</span>
|
||||
<span class="functiontext">HierarchyLocations::package</span><span class="plain">(</span><span class="constant">CHECK_RB_HL</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"check_rb"</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"_rulebook"</span><span class="plain">, </span><span class="identifier">in_action</span><span class="plain">);</span>
|
||||
<span class="functiontext">HierarchyLocations::package</span><span class="plain">(</span><span class="constant">CARRY_OUT_RB_HL</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"carry_out_rb"</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"_rulebook"</span><span class="plain">, </span><span class="identifier">in_action</span><span class="plain">);</span>
|
||||
<span class="functiontext">HierarchyLocations::package</span><span class="plain">(</span><span class="constant">REPORT_RB_HL</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"report_rb"</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"_rulebook"</span><span class="plain">, </span><span class="identifier">in_action</span><span class="plain">);</span>
|
||||
<span class="functiontext">HierarchyLocations::func</span><span class="plain">(</span><span class="constant">ACTION_STV_CREATOR_FN_HL</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"stv_creator_fn"</span><span class="plain">, </span><span class="functiontext">Translation::uniqued</span><span class="plain">(), </span><span class="identifier">in_action</span><span class="plain">);</span>
|
||||
|
||||
<span class="reserved">location_requirement</span><span class="plain"> </span><span class="identifier">synoptic_actions</span><span class="plain"> = </span><span class="functiontext">HierarchyLocations::synoptic_submodule</span><span class="plain">(</span><span class="identifier">actions</span><span class="plain">);</span>
|
||||
<span class="functiontext">HierarchyLocations::con</span><span class="plain">(</span><span class="constant">ACTIONCODING_HL</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"ActionCoding"</span><span class="plain">, </span><span class="functiontext">Translation::same</span><span class="plain">(), </span><span class="identifier">synoptic_actions</span><span class="plain">);</span>
|
||||
|
@ -218,6 +220,7 @@
|
|||
<span class="definitionkeyword">enum</span> <span class="constant">BEFORE_RB_HL</span>
|
||||
<span class="definitionkeyword">enum</span> <span class="constant">FOR_RB_HL</span>
|
||||
<span class="definitionkeyword">enum</span> <span class="constant">AFTER_RB_HL</span>
|
||||
<span class="definitionkeyword">enum</span> <span class="constant">ACTIVITY_STV_CREATOR_FN_HL</span>
|
||||
<span class="definitionkeyword">enum</span> <span class="constant">ACTIVITY_AFTER_RULEBOOKS_HL</span>
|
||||
<span class="definitionkeyword">enum</span> <span class="constant">ACTIVITY_ATB_RULEBOOKS_HL</span>
|
||||
<span class="definitionkeyword">enum</span> <span class="constant">ACTIVITY_BEFORE_RULEBOOKS_HL</span>
|
||||
|
@ -235,9 +238,10 @@
|
|||
<span class="reserved">location_requirement</span><span class="plain"> </span><span class="identifier">local_activities</span><span class="plain"> = </span><span class="functiontext">HierarchyLocations::local_submodule</span><span class="plain">(</span><span class="identifier">activities</span><span class="plain">);</span>
|
||||
<span class="functiontext">HierarchyLocations::ap</span><span class="plain">(</span><span class="constant">ACTIVITIES_HAP</span><span class="plain">, </span><span class="identifier">local_activities</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"activity"</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"_activity"</span><span class="plain">);</span>
|
||||
<span class="reserved">location_requirement</span><span class="plain"> </span><span class="identifier">in_activity</span><span class="plain"> = </span><span class="functiontext">HierarchyLocations::any_package_of_type</span><span class="plain">(</span><span class="identifier">I</span><span class="string">"_activity"</span><span class="plain">);</span>
|
||||
<span class="functiontext">HierarchyLocations::con</span><span class="plain">(</span><span class="constant">BEFORE_RB_HL</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"before_rb"</span><span class="plain">, </span><span class="functiontext">Translation::same</span><span class="plain">(), </span><span class="identifier">in_activity</span><span class="plain">);</span>
|
||||
<span class="functiontext">HierarchyLocations::con</span><span class="plain">(</span><span class="constant">FOR_RB_HL</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"for_rb"</span><span class="plain">, </span><span class="functiontext">Translation::same</span><span class="plain">(), </span><span class="identifier">in_activity</span><span class="plain">);</span>
|
||||
<span class="functiontext">HierarchyLocations::con</span><span class="plain">(</span><span class="constant">AFTER_RB_HL</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"after_rb"</span><span class="plain">, </span><span class="functiontext">Translation::same</span><span class="plain">(), </span><span class="identifier">in_activity</span><span class="plain">);</span>
|
||||
<span class="functiontext">HierarchyLocations::package</span><span class="plain">(</span><span class="constant">BEFORE_RB_HL</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"before_rb"</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"_rulebook"</span><span class="plain">, </span><span class="identifier">in_activity</span><span class="plain">);</span>
|
||||
<span class="functiontext">HierarchyLocations::package</span><span class="plain">(</span><span class="constant">FOR_RB_HL</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"for_rb"</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"_rulebook"</span><span class="plain">, </span><span class="identifier">in_activity</span><span class="plain">);</span>
|
||||
<span class="functiontext">HierarchyLocations::package</span><span class="plain">(</span><span class="constant">AFTER_RB_HL</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"after_rb"</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"_rulebook"</span><span class="plain">, </span><span class="identifier">in_activity</span><span class="plain">);</span>
|
||||
<span class="functiontext">HierarchyLocations::func</span><span class="plain">(</span><span class="constant">ACTIVITY_STV_CREATOR_FN_HL</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"stv_creator_fn"</span><span class="plain">, </span><span class="functiontext">Translation::uniqued</span><span class="plain">(), </span><span class="identifier">in_activity</span><span class="plain">);</span>
|
||||
|
||||
<span class="reserved">location_requirement</span><span class="plain"> </span><span class="identifier">synoptic_activities</span><span class="plain"> = </span><span class="functiontext">HierarchyLocations::synoptic_submodule</span><span class="plain">(</span><span class="identifier">activities</span><span class="plain">);</span>
|
||||
<span class="functiontext">HierarchyLocations::con</span><span class="plain">(</span><span class="constant">ACTIVITY_AFTER_RULEBOOKS_HL</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"Activity_after_rulebooks"</span><span class="plain">, </span><span class="functiontext">Translation::same</span><span class="plain">(), </span><span class="identifier">synoptic_activities</span><span class="plain">);</span>
|
||||
|
@ -387,6 +391,7 @@
|
|||
|
||||
<pre class="definitions">
|
||||
<span class="definitionkeyword">enum</span> <span class="constant">EQUATIONS_HAP</span>
|
||||
<span class="definitionkeyword">enum</span> <span class="constant">SOLVE_FN_HL</span>
|
||||
</pre>
|
||||
<p class="inwebparagraph"><a id="SP1_16"></a><b>§1.16. </b><code class="display">
|
||||
<<span class="cwebmacrodefn">Establish equations</span> <span class="cwebmacronumber">1.16</span>> =
|
||||
|
@ -398,6 +403,8 @@
|
|||
|
||||
<span class="reserved">location_requirement</span><span class="plain"> </span><span class="identifier">local_equations</span><span class="plain"> = </span><span class="functiontext">HierarchyLocations::local_submodule</span><span class="plain">(</span><span class="identifier">equations</span><span class="plain">);</span>
|
||||
<span class="functiontext">HierarchyLocations::ap</span><span class="plain">(</span><span class="constant">EQUATIONS_HAP</span><span class="plain">, </span><span class="identifier">local_equations</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"equation"</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"_equation"</span><span class="plain">);</span>
|
||||
<span class="reserved">location_requirement</span><span class="plain"> </span><span class="identifier">in_equation</span><span class="plain"> = </span><span class="functiontext">HierarchyLocations::any_package_of_type</span><span class="plain">(</span><span class="identifier">I</span><span class="string">"_equation"</span><span class="plain">);</span>
|
||||
<span class="functiontext">HierarchyLocations::func</span><span class="plain">(</span><span class="constant">SOLVE_FN_HL</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"solve_fn"</span><span class="plain">, </span><span class="functiontext">Translation::uniqued</span><span class="plain">(), </span><span class="identifier">in_equation</span><span class="plain">);</span>
|
||||
</pre>
|
||||
|
||||
<p class="inwebparagraph"></p>
|
||||
|
@ -546,6 +553,7 @@
|
|||
|
||||
<pre class="definitions">
|
||||
<span class="definitionkeyword">enum</span> <span class="constant">INSTANCES_HAP</span>
|
||||
<span class="definitionkeyword">enum</span> <span class="constant">BACKDROP_FOUND_IN_FN_HL</span>
|
||||
</pre>
|
||||
<p class="inwebparagraph"><a id="SP1_24"></a><b>§1.24. </b><code class="display">
|
||||
<<span class="cwebmacrodefn">Establish instances</span> <span class="cwebmacronumber">1.24</span>> =
|
||||
|
@ -557,6 +565,8 @@
|
|||
|
||||
<span class="reserved">location_requirement</span><span class="plain"> </span><span class="identifier">local_instances</span><span class="plain"> = </span><span class="functiontext">HierarchyLocations::local_submodule</span><span class="plain">(</span><span class="identifier">instances</span><span class="plain">);</span>
|
||||
<span class="functiontext">HierarchyLocations::ap</span><span class="plain">(</span><span class="constant">INSTANCES_HAP</span><span class="plain">, </span><span class="identifier">local_instances</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"instance"</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"_instance"</span><span class="plain">);</span>
|
||||
<span class="reserved">location_requirement</span><span class="plain"> </span><span class="identifier">in_instance</span><span class="plain"> = </span><span class="functiontext">HierarchyLocations::any_package_of_type</span><span class="plain">(</span><span class="identifier">I</span><span class="string">"_instance"</span><span class="plain">);</span>
|
||||
<span class="functiontext">HierarchyLocations::func</span><span class="plain">(</span><span class="constant">BACKDROP_FOUND_IN_FN_HL</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"backdrop_found_in_fn"</span><span class="plain">, </span><span class="functiontext">Translation::uniqued</span><span class="plain">(), </span><span class="identifier">in_instance</span><span class="plain">);</span>
|
||||
</pre>
|
||||
|
||||
<p class="inwebparagraph"></p>
|
||||
|
@ -621,6 +631,9 @@
|
|||
<span class="definitionkeyword">enum</span> <span class="constant">DECREMENT_FN_HL</span>
|
||||
<span class="definitionkeyword">enum</span> <span class="constant">INCREMENT_FN_HL</span>
|
||||
<span class="definitionkeyword">enum</span> <span class="constant">RANGER_FN_HL</span>
|
||||
<span class="definitionkeyword">enum</span> <span class="constant">DEFAULT_CLOSURE_FN_HL</span>
|
||||
<span class="definitionkeyword">enum</span> <span class="constant">GPR_FN_HL</span>
|
||||
<span class="definitionkeyword">enum</span> <span class="constant">INSTANCE_GPR_FN_HL</span>
|
||||
<span class="definitionkeyword">enum</span> <span class="constant">DEFAULTVALUEOFKOV_HL</span>
|
||||
<span class="definitionkeyword">enum</span> <span class="constant">DEFAULTVALUEFINDER_HL</span>
|
||||
<span class="definitionkeyword">enum</span> <span class="constant">PRINTKINDVALUEPAIR_HL</span>
|
||||
|
@ -654,6 +667,9 @@
|
|||
<span class="functiontext">HierarchyLocations::con</span><span class="plain">(</span><span class="constant">DECREMENT_FN_HL</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"decrement_fn"</span><span class="plain">, </span><span class="functiontext">Translation::uniqued</span><span class="plain">(), </span><span class="identifier">in_kind</span><span class="plain">);</span>
|
||||
<span class="functiontext">HierarchyLocations::con</span><span class="plain">(</span><span class="constant">INCREMENT_FN_HL</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"increment_fn"</span><span class="plain">, </span><span class="functiontext">Translation::uniqued</span><span class="plain">(), </span><span class="identifier">in_kind</span><span class="plain">);</span>
|
||||
<span class="functiontext">HierarchyLocations::con</span><span class="plain">(</span><span class="constant">RANGER_FN_HL</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"ranger_fn"</span><span class="plain">, </span><span class="functiontext">Translation::uniqued</span><span class="plain">(), </span><span class="identifier">in_kind</span><span class="plain">);</span>
|
||||
<span class="functiontext">HierarchyLocations::func</span><span class="plain">(</span><span class="constant">DEFAULT_CLOSURE_FN_HL</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"default_closure_fn"</span><span class="plain">, </span><span class="functiontext">Translation::uniqued</span><span class="plain">(), </span><span class="identifier">in_kind</span><span class="plain">);</span>
|
||||
<span class="functiontext">HierarchyLocations::func</span><span class="plain">(</span><span class="constant">GPR_FN_HL</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"gpr_fn"</span><span class="plain">, </span><span class="functiontext">Translation::uniqued</span><span class="plain">(), </span><span class="identifier">in_kind</span><span class="plain">);</span>
|
||||
<span class="functiontext">HierarchyLocations::func</span><span class="plain">(</span><span class="constant">INSTANCE_GPR_FN_HL</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"instance_gpr_fn"</span><span class="plain">, </span><span class="functiontext">Translation::uniqued</span><span class="plain">(), </span><span class="identifier">in_kind</span><span class="plain">);</span>
|
||||
|
||||
<span class="reserved">location_requirement</span><span class="plain"> </span><span class="identifier">synoptic_kinds</span><span class="plain"> = </span><span class="functiontext">HierarchyLocations::synoptic_submodule</span><span class="plain">(</span><span class="identifier">kinds</span><span class="plain">);</span>
|
||||
<span class="functiontext">HierarchyLocations::con</span><span class="plain">(</span><span class="constant">BASE_KIND_HWM_HL</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"BASE_KIND_HWM"</span><span class="plain">, </span><span class="functiontext">Translation::same</span><span class="plain">(), </span><span class="identifier">synoptic_kinds</span><span class="plain">);</span>
|
||||
|
@ -785,6 +801,14 @@
|
|||
<span class="definitionkeyword">enum</span> <span class="constant">RELATIONS_HAP</span>
|
||||
<span class="definitionkeyword">enum</span> <span class="constant">BITMAP_HL</span>
|
||||
<span class="definitionkeyword">enum</span> <span class="constant">ROUTE_CACHE_HL</span>
|
||||
<span class="definitionkeyword">enum</span> <span class="constant">HANDLER_FN_HL</span>
|
||||
<span class="definitionkeyword">enum</span> <span class="constant">RELATION_INITIALISER_FN_HL</span>
|
||||
<span class="definitionkeyword">enum</span> <span class="constant">GUARD_F0_FN_HL</span>
|
||||
<span class="definitionkeyword">enum</span> <span class="constant">GUARD_F1_FN_HL</span>
|
||||
<span class="definitionkeyword">enum</span> <span class="constant">GUARD_TEST_FN_HL</span>
|
||||
<span class="definitionkeyword">enum</span> <span class="constant">GUARD_MAKE_TRUE_FN_HL</span>
|
||||
<span class="definitionkeyword">enum</span> <span class="constant">GUARD_MAKE_FALSE_INAME_HL</span>
|
||||
<span class="definitionkeyword">enum</span> <span class="constant">RELATION_FN_HL</span>
|
||||
<span class="definitionkeyword">enum</span> <span class="constant">CREATEDYNAMICRELATIONS_HL</span>
|
||||
<span class="definitionkeyword">enum</span> <span class="constant">CCOUNT_BINARY_PREDICATE_HL</span>
|
||||
<span class="definitionkeyword">enum</span> <span class="constant">ITERATERELATIONS_HL</span>
|
||||
|
@ -819,9 +843,17 @@
|
|||
|
||||
<span class="reserved">location_requirement</span><span class="plain"> </span><span class="identifier">local_rels</span><span class="plain"> = </span><span class="functiontext">HierarchyLocations::local_submodule</span><span class="plain">(</span><span class="identifier">relations</span><span class="plain">);</span>
|
||||
<span class="functiontext">HierarchyLocations::ap</span><span class="plain">(</span><span class="constant">RELATIONS_HAP</span><span class="plain">, </span><span class="identifier">local_rels</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"relation"</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"_relation"</span><span class="plain">);</span>
|
||||
<span class="reserved">location_requirement</span><span class="plain"> </span><span class="identifier">in_relation</span><span class="plain"> = </span><span class="functiontext">HierarchyLocations::any_package_of_type</span><span class="plain">(</span><span class="identifier">I</span><span class="string">"_relation"</span><span class="plain">);</span>
|
||||
<span class="functiontext">HierarchyLocations::con</span><span class="plain">(</span><span class="constant">BITMAP_HL</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"as_constant"</span><span class="plain">, </span><span class="functiontext">Translation::uniqued</span><span class="plain">(), </span><span class="identifier">in_relation</span><span class="plain">);</span>
|
||||
<span class="functiontext">HierarchyLocations::con</span><span class="plain">(</span><span class="constant">ROUTE_CACHE_HL</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"route_cache"</span><span class="plain">, </span><span class="functiontext">Translation::uniqued</span><span class="plain">(), </span><span class="identifier">in_relation</span><span class="plain">);</span>
|
||||
<span class="reserved">location_requirement</span><span class="plain"> </span><span class="identifier">in_relation</span><span class="plain"> = </span><span class="functiontext">HierarchyLocations::any_package_of_type</span><span class="plain">(</span><span class="identifier">I</span><span class="string">"_relation"</span><span class="plain">);</span>
|
||||
<span class="functiontext">HierarchyLocations::con</span><span class="plain">(</span><span class="constant">BITMAP_HL</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"as_constant"</span><span class="plain">, </span><span class="functiontext">Translation::uniqued</span><span class="plain">(), </span><span class="identifier">in_relation</span><span class="plain">);</span>
|
||||
<span class="functiontext">HierarchyLocations::con</span><span class="plain">(</span><span class="constant">ROUTE_CACHE_HL</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"route_cache"</span><span class="plain">, </span><span class="functiontext">Translation::uniqued</span><span class="plain">(), </span><span class="identifier">in_relation</span><span class="plain">);</span>
|
||||
<span class="functiontext">HierarchyLocations::func</span><span class="plain">(</span><span class="constant">HANDLER_FN_HL</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"handler_fn"</span><span class="plain">, </span><span class="functiontext">Translation::uniqued</span><span class="plain">(), </span><span class="identifier">in_relation</span><span class="plain">);</span>
|
||||
<span class="functiontext">HierarchyLocations::func</span><span class="plain">(</span><span class="constant">RELATION_INITIALISER_FN_HL</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"relation_initialiser_fn"</span><span class="plain">, </span><span class="functiontext">Translation::uniqued</span><span class="plain">(), </span><span class="identifier">in_relation</span><span class="plain">);</span>
|
||||
<span class="functiontext">HierarchyLocations::func</span><span class="plain">(</span><span class="constant">GUARD_F0_FN_HL</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"guard_f0_fn"</span><span class="plain">, </span><span class="functiontext">Translation::uniqued</span><span class="plain">(), </span><span class="identifier">in_relation</span><span class="plain">);</span>
|
||||
<span class="functiontext">HierarchyLocations::func</span><span class="plain">(</span><span class="constant">GUARD_F1_FN_HL</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"guard_f1_fn"</span><span class="plain">, </span><span class="functiontext">Translation::uniqued</span><span class="plain">(), </span><span class="identifier">in_relation</span><span class="plain">);</span>
|
||||
<span class="functiontext">HierarchyLocations::func</span><span class="plain">(</span><span class="constant">GUARD_TEST_FN_HL</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"guard_test_fn"</span><span class="plain">, </span><span class="functiontext">Translation::uniqued</span><span class="plain">(), </span><span class="identifier">in_relation</span><span class="plain">);</span>
|
||||
<span class="functiontext">HierarchyLocations::func</span><span class="plain">(</span><span class="constant">GUARD_MAKE_TRUE_FN_HL</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"guard_make_true_fn"</span><span class="plain">, </span><span class="functiontext">Translation::uniqued</span><span class="plain">(), </span><span class="identifier">in_relation</span><span class="plain">);</span>
|
||||
<span class="functiontext">HierarchyLocations::func</span><span class="plain">(</span><span class="constant">GUARD_MAKE_FALSE_INAME_HL</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"guard_make_false_iname"</span><span class="plain">, </span><span class="functiontext">Translation::uniqued</span><span class="plain">(), </span><span class="identifier">in_relation</span><span class="plain">);</span>
|
||||
<span class="functiontext">HierarchyLocations::func</span><span class="plain">(</span><span class="constant">RELATION_FN_HL</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"relation_fn"</span><span class="plain">, </span><span class="functiontext">Translation::uniqued</span><span class="plain">(), </span><span class="identifier">in_relation</span><span class="plain">);</span>
|
||||
|
||||
<span class="reserved">location_requirement</span><span class="plain"> </span><span class="identifier">synoptic_rels</span><span class="plain"> = </span><span class="functiontext">HierarchyLocations::synoptic_submodule</span><span class="plain">(</span><span class="identifier">relations</span><span class="plain">);</span>
|
||||
<span class="functiontext">HierarchyLocations::func</span><span class="plain">(</span><span class="constant">CREATEDYNAMICRELATIONS_HL</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"creator_fn"</span><span class="plain">, </span><span class="functiontext">Translation::to</span><span class="plain">(</span><span class="identifier">I</span><span class="string">"CreateDynamicRelations"</span><span class="plain">), </span><span class="identifier">synoptic_rels</span><span class="plain">);</span>
|
||||
|
@ -841,6 +873,8 @@
|
|||
<span class="definitionkeyword">enum</span> <span class="constant">EMPTY_RULEBOOK_INAME_HL</span>
|
||||
<span class="definitionkeyword">enum</span> <span class="constant">OUTCOMES_HAP</span>
|
||||
<span class="definitionkeyword">enum</span> <span class="constant">RULEBOOKS_HAP</span>
|
||||
<span class="definitionkeyword">enum</span> <span class="constant">RUN_FN_HL</span>
|
||||
<span class="definitionkeyword">enum</span> <span class="constant">RULEBOOK_STV_CREATOR_FN_HL</span>
|
||||
<span class="definitionkeyword">enum</span> <span class="constant">NUMBER_RULEBOOKS_CREATED_HL</span>
|
||||
<span class="definitionkeyword">enum</span> <span class="constant">RULEBOOK_VAR_CREATORS_HL</span>
|
||||
<span class="definitionkeyword">enum</span> <span class="constant">SLOW_LOOKUP_HL</span>
|
||||
|
@ -861,6 +895,9 @@
|
|||
<span class="reserved">location_requirement</span><span class="plain"> </span><span class="identifier">local_rulebooks</span><span class="plain"> = </span><span class="functiontext">HierarchyLocations::local_submodule</span><span class="plain">(</span><span class="identifier">rulebooks</span><span class="plain">);</span>
|
||||
<span class="functiontext">HierarchyLocations::ap</span><span class="plain">(</span><span class="constant">OUTCOMES_HAP</span><span class="plain">, </span><span class="identifier">local_rulebooks</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"rulebook_outcome"</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"_outcome"</span><span class="plain">);</span>
|
||||
<span class="functiontext">HierarchyLocations::ap</span><span class="plain">(</span><span class="constant">RULEBOOKS_HAP</span><span class="plain">, </span><span class="identifier">local_rulebooks</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"rulebook"</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"_rulebook"</span><span class="plain">);</span>
|
||||
<span class="reserved">location_requirement</span><span class="plain"> </span><span class="identifier">in_rulebook</span><span class="plain"> = </span><span class="functiontext">HierarchyLocations::any_package_of_type</span><span class="plain">(</span><span class="identifier">I</span><span class="string">"_rulebook"</span><span class="plain">);</span>
|
||||
<span class="functiontext">HierarchyLocations::func</span><span class="plain">(</span><span class="constant">RUN_FN_HL</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"run_fn"</span><span class="plain">, </span><span class="functiontext">Translation::uniqued</span><span class="plain">(), </span><span class="identifier">in_rulebook</span><span class="plain">);</span>
|
||||
<span class="functiontext">HierarchyLocations::func</span><span class="plain">(</span><span class="constant">RULEBOOK_STV_CREATOR_FN_HL</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"stv_creator_fn"</span><span class="plain">, </span><span class="functiontext">Translation::uniqued</span><span class="plain">(), </span><span class="identifier">in_rulebook</span><span class="plain">);</span>
|
||||
|
||||
<span class="reserved">location_requirement</span><span class="plain"> </span><span class="identifier">synoptic_rulebooks</span><span class="plain"> = </span><span class="functiontext">HierarchyLocations::synoptic_submodule</span><span class="plain">(</span><span class="identifier">rulebooks</span><span class="plain">);</span>
|
||||
<span class="functiontext">HierarchyLocations::con</span><span class="plain">(</span><span class="constant">NUMBER_RULEBOOKS_CREATED_HL</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"NUMBER_RULEBOOKS_CREATED"</span><span class="plain">, </span><span class="functiontext">Translation::same</span><span class="plain">(), </span><span class="identifier">synoptic_rulebooks</span><span class="plain">);</span>
|
||||
|
@ -1701,7 +1738,7 @@
|
|||
|
||||
<p class="endnote">The function Hierarchy::package_within is used in 17/rs (<a href="17-rs.html#SP5">§5</a>), 19/tc (<a href="19-tc.html#SP9">§9</a>), 22/pav (<a href="22-pav.html#SP7">§7</a>), 22/tp (<a href="22-tp.html#SP7">§7</a>).</p>
|
||||
|
||||
<p class="endnote">The function Hierarchy::make_iname_in is used in 6/rlt (<a href="6-rlt.html#SP20">§20</a>, <a href="6-rlt.html#SP20_3">§20.3</a>), 13/rsfk (<a href="13-rsfk.html#SP13_1_1">§13.1.1</a>), 17/rs (<a href="17-rs.html#SP5">§5</a>, <a href="17-rs.html#SP6_1">§6.1</a>), 19/tc (<a href="19-tc.html#SP9">§9</a>), 19/tb (<a href="19-tb.html#SP9">§9</a>), 21/rl (<a href="21-rl.html#SP9">§9</a>), 22/pav (<a href="22-pav.html#SP7">§7</a>), 26/lt (<a href="26-lt.html#SP3">§3</a>), 26/jl (<a href="26-jl.html#SP3">§3</a>), 26/ts (<a href="26-ts.html#SP9_1">§9.1</a>).</p>
|
||||
<p class="endnote">The function Hierarchy::make_iname_in is used in 6/bp (<a href="6-bp.html#SP32">§32</a>), 6/rlt (<a href="6-rlt.html#SP9">§9</a>, <a href="6-rlt.html#SP9_13">§9.13</a>, <a href="6-rlt.html#SP20">§20</a>, <a href="6-rlt.html#SP20_3">§20.3</a>), 13/rsfk (<a href="13-rsfk.html#SP13_1_1">§13.1.1</a>, <a href="13-rsfk.html#SP15">§15</a>), 17/rs (<a href="17-rs.html#SP5">§5</a>, <a href="17-rs.html#SP6_1">§6.1</a>), 19/tc (<a href="19-tc.html#SP9">§9</a>), 19/tb (<a href="19-tb.html#SP9">§9</a>), 20/eq (<a href="20-eq.html#SP10_1">§10.1</a>), 21/rl (<a href="21-rl.html#SP9">§9</a>), 21/rl2 (<a href="21-rl2.html#SP10">§10</a>, <a href="21-rl2.html#SP14">§14</a>), 21/ac (<a href="21-ac.html#SP8">§8</a>), 22/pav (<a href="22-pav.html#SP7">§7</a>, <a href="22-pav.html#SP9">§9</a>), 26/lt (<a href="26-lt.html#SP3">§3</a>), 26/jl (<a href="26-jl.html#SP3">§3</a>), 26/ts (<a href="26-ts.html#SP9_1">§9.1</a>).</p>
|
||||
|
||||
<p class="endnote">The function Hierarchy::make_iname_with_memo appears nowhere else.</p>
|
||||
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -500,7 +500,7 @@
|
|||
|
||||
<p class="endnote">The function Packaging::supply_iname is used in 4/am (<a href="4-am.html#SP6">§6</a>), 6/rlt (<a href="6-rlt.html#SP15_1_2">§15.1.2</a>), 12/dtd (<a href="12-dtd.html#SP4">§4</a>), 13/rsfk (<a href="13-rsfk.html#SP19">§19</a>), 17/tl (<a href="17-tl.html#SP7">§7</a>, <a href="17-tl.html#SP10_2_1">§10.2.1</a>, <a href="17-tl.html#SP14_2">§14.2</a>), 17/ts (<a href="17-ts.html#SP5">§5</a>), 18/lc (<a href="18-lc.html#SP11">§11</a>), 27/ei (<a href="27-ei.html#SP4">§4</a>), 27/hl (<a href="27-hl.html#SP2">§2</a>).</p>
|
||||
|
||||
<p class="endnote">The function Packaging::function is used in 6/bp (<a href="6-bp.html#SP32">§32</a>), 6/rlt (<a href="6-rlt.html#SP9">§9</a>, <a href="6-rlt.html#SP9_13">§9.13</a>), 12/dtd (<a href="12-dtd.html#SP4">§4</a>), 13/rsfk (<a href="13-rsfk.html#SP15">§15</a>), 15/ma (<a href="15-ma.html#SP11_3">§11.3</a>), 17/tl (<a href="17-tl.html#SP14_2">§14.2</a>), 17/ts (<a href="17-ts.html#SP5">§5</a>), 20/eq (<a href="20-eq.html#SP10_1">§10.1</a>), 21/rl (<a href="21-rl.html#SP19">§19</a>), 21/rl2 (<a href="21-rl2.html#SP10">§10</a>, <a href="21-rl2.html#SP14">§14</a>), 21/ac (<a href="21-ac.html#SP8">§8</a>), 22/ph (<a href="22-ph.html#SP11">§11</a>), 22/pu (<a href="22-pu.html#SP6">§6</a>), 22/pav (<a href="22-pav.html#SP9">§9</a>), 22/tp (<a href="22-tp.html#SP7">§7</a>), 24/ch (<a href="24-ch.html#SP3">§3</a>), 26/lt (<a href="26-lt.html#SP3">§3</a>), 27/hl (<a href="27-hl.html#SP1">§1</a>).</p>
|
||||
<p class="endnote">The function Packaging::function is used in 12/dtd (<a href="12-dtd.html#SP4">§4</a>), 15/ma (<a href="15-ma.html#SP11_3">§11.3</a>), 17/tl (<a href="17-tl.html#SP14_2">§14.2</a>), 17/ts (<a href="17-ts.html#SP5">§5</a>), 21/rl (<a href="21-rl.html#SP19">§19</a>), 22/ph (<a href="22-ph.html#SP11">§11</a>), 22/pu (<a href="22-pu.html#SP6">§6</a>), 22/tp (<a href="22-tp.html#SP7">§7</a>), 24/ch (<a href="24-ch.html#SP3">§3</a>), 26/lt (<a href="26-lt.html#SP3">§3</a>), 27/hl (<a href="27-hl.html#SP1">§1</a>).</p>
|
||||
|
||||
<p class="endnote">The function Packaging::function_text is used in 21/rl (<a href="21-rl.html#SP9">§9</a>), 27/hl (<a href="27-hl.html#SP1">§1</a>).</p>
|
||||
|
||||
|
|
|
@ -51,7 +51,7 @@
|
|||
|
||||
<p class="endnote">The function Translation::same is used in 27/hl (<a href="27-hl.html#SP1">§1</a>), 27/hr (<a href="27-hr.html#SP1_2">§1.2</a>, <a href="27-hr.html#SP1_4">§1.4</a>, <a href="27-hr.html#SP1_6">§1.6</a>, <a href="27-hr.html#SP1_10">§1.10</a>, <a href="27-hr.html#SP1_12">§1.12</a>, <a href="27-hr.html#SP1_14">§1.14</a>, <a href="27-hr.html#SP1_22">§1.22</a>, <a href="27-hr.html#SP1_26">§1.26</a>, <a href="27-hr.html#SP1_28">§1.28</a>, <a href="27-hr.html#SP1_34">§1.34</a>, <a href="27-hr.html#SP1_36">§1.36</a>, <a href="27-hr.html#SP1_38">§1.38</a>, <a href="27-hr.html#SP1_40">§1.40</a>, <a href="27-hr.html#SP1_42">§1.42</a>, <a href="27-hr.html#SP1_46">§1.46</a>, <a href="27-hr.html#SP1_48">§1.48</a>, <a href="27-hr.html#SP5">§5</a>).</p>
|
||||
|
||||
<p class="endnote">The function Translation::uniqued is used in 27/hr (<a href="27-hr.html#SP1_8">§1.8</a>, <a href="27-hr.html#SP1_20">§1.20</a>, <a href="27-hr.html#SP1_22">§1.22</a>, <a href="27-hr.html#SP1_28">§1.28</a>, <a href="27-hr.html#SP1_30">§1.30</a>, <a href="27-hr.html#SP1_32">§1.32</a>, <a href="27-hr.html#SP1_36">§1.36</a>, <a href="27-hr.html#SP1_40">§1.40</a>, <a href="27-hr.html#SP1_42">§1.42</a>).</p>
|
||||
<p class="endnote">The function Translation::uniqued is used in 27/hr (<a href="27-hr.html#SP1_4">§1.4</a>, <a href="27-hr.html#SP1_6">§1.6</a>, <a href="27-hr.html#SP1_8">§1.8</a>, <a href="27-hr.html#SP1_16">§1.16</a>, <a href="27-hr.html#SP1_20">§1.20</a>, <a href="27-hr.html#SP1_22">§1.22</a>, <a href="27-hr.html#SP1_24">§1.24</a>, <a href="27-hr.html#SP1_28">§1.28</a>, <a href="27-hr.html#SP1_30">§1.30</a>, <a href="27-hr.html#SP1_32">§1.32</a>, <a href="27-hr.html#SP1_36">§1.36</a>, <a href="27-hr.html#SP1_38">§1.38</a>, <a href="27-hr.html#SP1_40">§1.40</a>, <a href="27-hr.html#SP1_42">§1.42</a>).</p>
|
||||
|
||||
<p class="endnote">The function Translation::to is used in 27/hr (<a href="27-hr.html#SP1_4">§1.4</a>, <a href="27-hr.html#SP1_10">§1.10</a>, <a href="27-hr.html#SP1_12">§1.12</a>, <a href="27-hr.html#SP1_18">§1.18</a>, <a href="27-hr.html#SP1_22">§1.22</a>, <a href="27-hr.html#SP1_26">§1.26</a>, <a href="27-hr.html#SP1_28">§1.28</a>, <a href="27-hr.html#SP1_36">§1.36</a>, <a href="27-hr.html#SP1_38">§1.38</a>, <a href="27-hr.html#SP1_40">§1.40</a>, <a href="27-hr.html#SP1_42">§1.42</a>, <a href="27-hr.html#SP1_46">§1.46</a>).</p>
|
||||
|
||||
|
|
|
@ -842,8 +842,7 @@ would always be <code class="display"><span class="extract">NULL</span></code> i
|
|||
<span class="reserved">inter_name</span><span class="plain"> *</span><span class="functiontext">BinaryPredicates::handler_iname</span><span class="plain">(</span><span class="reserved">binary_predicate</span><span class="plain"> *</span><span class="identifier">bp</span><span class="plain">) {</span>
|
||||
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">bp</span><span class="plain">-</span><span class="element">>handler_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">R</span><span class="plain"> = </span><span class="functiontext">BinaryPredicates::package</span><span class="plain">(</span><span class="identifier">bp</span><span class="plain">);</span>
|
||||
<span class="identifier">bp</span><span class="plain">-</span><span class="element">>handler_iname</span><span class="plain"> = </span><span class="functiontext">Packaging::function</span><span class="plain">(</span><span class="functiontext">InterNames::one_off</span><span class="plain">(</span><span class="identifier">I</span><span class="string">"handler_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">NULL</span><span class="plain">);</span>
|
||||
<span class="identifier">Inter::Symbols::set_flag</span><span class="plain">(</span><span class="functiontext">InterNames::to_symbol</span><span class="plain">(</span><span class="identifier">bp</span><span class="plain">-</span><span class="element">>handler_iname</span><span class="plain">), </span><span class="identifier">MAKE_NAME_UNIQUE</span><span class="plain">);</span>
|
||||
<span class="identifier">bp</span><span class="plain">-</span><span class="element">>handler_iname</span><span class="plain"> = </span><span class="functiontext">Hierarchy::make_iname_in</span><span class="plain">(</span><span class="constant">HANDLER_FN_HL</span><span class="plain">, </span><span class="identifier">R</span><span class="plain">);</span>
|
||||
<span class="plain">}</span>
|
||||
<span class="reserved">return</span><span class="plain"> </span><span class="identifier">bp</span><span class="plain">-</span><span class="element">>handler_iname</span><span class="plain">;</span>
|
||||
<span class="plain">}</span>
|
||||
|
|
|
@ -279,8 +279,7 @@ splitting into cases.
|
|||
<span class="identifier">bp</span><span class="plain">-</span><span class="element">>dynamic_memory</span><span class="plain"> = </span><span class="identifier">TRUE</span><span class="plain">;</span>
|
||||
<span class="identifier">bpr</span><span class="plain">-</span><span class="element">>dynamic_memory</span><span class="plain"> = </span><span class="identifier">TRUE</span><span class="plain">;</span>
|
||||
<span class="reserved">package_request</span><span class="plain"> *</span><span class="identifier">P</span><span class="plain"> = </span><span class="functiontext">BinaryPredicates::package</span><span class="plain">(</span><span class="identifier">bp</span><span class="plain">);</span>
|
||||
<span class="identifier">bp</span><span class="plain">-</span><span class="element">>initialiser_iname</span><span class="plain"> = </span><span class="functiontext">Packaging::function</span><span class="plain">(</span><span class="functiontext">InterNames::one_off</span><span class="plain">(</span><span class="identifier">I</span><span class="string">"relation_initialiser_fn"</span><span class="plain">, </span><span class="identifier">P</span><span class="plain">), </span><span class="identifier">P</span><span class="plain">, </span><span class="identifier">NULL</span><span class="plain">);</span>
|
||||
<span class="identifier">Inter::Symbols::set_flag</span><span class="plain">(</span><span class="functiontext">InterNames::to_symbol</span><span class="plain">(</span><span class="identifier">bp</span><span class="plain">-</span><span class="element">>initialiser_iname</span><span class="plain">), </span><span class="identifier">MAKE_NAME_UNIQUE</span><span class="plain">);</span>
|
||||
<span class="identifier">bp</span><span class="plain">-</span><span class="element">>initialiser_iname</span><span class="plain"> = </span><span class="functiontext">Hierarchy::make_iname_in</span><span class="plain">(</span><span class="constant">RELATION_INITIALISER_FN_HL</span><span class="plain">, </span><span class="identifier">P</span><span class="plain">);</span>
|
||||
<span class="plain">}</span>
|
||||
<span class="functiontext">BinaryPredicates::mark_as_needed</span><span class="plain">(</span><span class="identifier">bp</span><span class="plain">);</span>
|
||||
|
||||
|
@ -325,34 +324,29 @@ splitting into cases.
|
|||
<span class="identifier">rg</span><span class="plain">-</span><span class="element">>guard_make_false_iname</span><span class="plain"> = </span><span class="identifier">NULL</span><span class="plain">;</span>
|
||||
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">rg</span><span class="plain">-</span><span class="element">>f0</span><span class="plain">) {</span>
|
||||
<span class="reserved">package_request</span><span class="plain"> *</span><span class="identifier">R</span><span class="plain"> = </span><span class="functiontext">BinaryPredicates::package</span><span class="plain">(</span><span class="identifier">bp</span><span class="plain">);</span>
|
||||
<span class="identifier">rg</span><span class="plain">-</span><span class="element">>guard_f0_iname</span><span class="plain"> = </span><span class="functiontext">Packaging::function</span><span class="plain">(</span><span class="functiontext">InterNames::one_off</span><span class="plain">(</span><span class="identifier">I</span><span class="string">"guard_f0_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">NULL</span><span class="plain">);</span>
|
||||
<span class="identifier">Inter::Symbols::set_flag</span><span class="plain">(</span><span class="functiontext">InterNames::to_symbol</span><span class="plain">(</span><span class="identifier">rg</span><span class="plain">-</span><span class="element">>guard_f0_iname</span><span class="plain">), </span><span class="identifier">MAKE_NAME_UNIQUE</span><span class="plain">);</span>
|
||||
<span class="identifier">rg</span><span class="plain">-</span><span class="element">>guard_f0_iname</span><span class="plain"> = </span><span class="functiontext">Hierarchy::make_iname_in</span><span class="plain">(</span><span class="constant">GUARD_F0_FN_HL</span><span class="plain">, </span><span class="identifier">R</span><span class="plain">);</span>
|
||||
<span class="functiontext">BinaryPredicates::set_term_function</span><span class="plain">(&(</span><span class="identifier">bp</span><span class="plain">-</span><span class="element">>term_details</span><span class="plain">[0]),</span>
|
||||
<span class="functiontext">Calculus::Schemas::new</span><span class="plain">(</span><span class="string">"(%n(*1))"</span><span class="plain">, </span><span class="identifier">rg</span><span class="plain">-</span><span class="element">>guard_f0_iname</span><span class="plain">));</span>
|
||||
<span class="plain">}</span>
|
||||
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">rg</span><span class="plain">-</span><span class="element">>f1</span><span class="plain">) {</span>
|
||||
<span class="reserved">package_request</span><span class="plain"> *</span><span class="identifier">R</span><span class="plain"> = </span><span class="functiontext">BinaryPredicates::package</span><span class="plain">(</span><span class="identifier">bp</span><span class="plain">);</span>
|
||||
<span class="identifier">rg</span><span class="plain">-</span><span class="element">>guard_f1_iname</span><span class="plain"> = </span><span class="functiontext">Packaging::function</span><span class="plain">(</span><span class="functiontext">InterNames::one_off</span><span class="plain">(</span><span class="identifier">I</span><span class="string">"guard_f1_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">NULL</span><span class="plain">);</span>
|
||||
<span class="identifier">Inter::Symbols::set_flag</span><span class="plain">(</span><span class="functiontext">InterNames::to_symbol</span><span class="plain">(</span><span class="identifier">rg</span><span class="plain">-</span><span class="element">>guard_f1_iname</span><span class="plain">), </span><span class="identifier">MAKE_NAME_UNIQUE</span><span class="plain">);</span>
|
||||
<span class="identifier">rg</span><span class="plain">-</span><span class="element">>guard_f1_iname</span><span class="plain"> = </span><span class="functiontext">Hierarchy::make_iname_in</span><span class="plain">(</span><span class="constant">GUARD_F1_FN_HL</span><span class="plain">, </span><span class="identifier">R</span><span class="plain">);</span>
|
||||
<span class="functiontext">BinaryPredicates::set_term_function</span><span class="plain">(&(</span><span class="identifier">bp</span><span class="plain">-</span><span class="element">>term_details</span><span class="plain">[1]),</span>
|
||||
<span class="functiontext">Calculus::Schemas::new</span><span class="plain">(</span><span class="string">"(%n(*1))"</span><span class="plain">, </span><span class="identifier">rg</span><span class="plain">-</span><span class="element">>guard_f1_iname</span><span class="plain">));</span>
|
||||
<span class="plain">}</span>
|
||||
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">bp</span><span class="plain">-</span><span class="element">>test_function</span><span class="plain">) {</span>
|
||||
<span class="reserved">package_request</span><span class="plain"> *</span><span class="identifier">R</span><span class="plain"> = </span><span class="functiontext">BinaryPredicates::package</span><span class="plain">(</span><span class="identifier">bp</span><span class="plain">);</span>
|
||||
<span class="identifier">rg</span><span class="plain">-</span><span class="element">>guard_test_iname</span><span class="plain"> = </span><span class="functiontext">Packaging::function</span><span class="plain">(</span><span class="functiontext">InterNames::one_off</span><span class="plain">(</span><span class="identifier">I</span><span class="string">"guard_test_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">NULL</span><span class="plain">);</span>
|
||||
<span class="identifier">Inter::Symbols::set_flag</span><span class="plain">(</span><span class="functiontext">InterNames::to_symbol</span><span class="plain">(</span><span class="identifier">rg</span><span class="plain">-</span><span class="element">>guard_test_iname</span><span class="plain">), </span><span class="identifier">MAKE_NAME_UNIQUE</span><span class="plain">);</span>
|
||||
<span class="identifier">rg</span><span class="plain">-</span><span class="element">>guard_test_iname</span><span class="plain"> = </span><span class="functiontext">Hierarchy::make_iname_in</span><span class="plain">(</span><span class="constant">GUARD_TEST_FN_HL</span><span class="plain">, </span><span class="identifier">R</span><span class="plain">);</span>
|
||||
<span class="identifier">bp</span><span class="plain">-</span><span class="element">>test_function</span><span class="plain"> = </span><span class="functiontext">Calculus::Schemas::new</span><span class="plain">(</span><span class="string">"(%n(*1,*2))"</span><span class="plain">, </span><span class="identifier">rg</span><span class="plain">-</span><span class="element">>guard_test_iname</span><span class="plain">);</span>
|
||||
<span class="plain">}</span>
|
||||
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">bp</span><span class="plain">-</span><span class="element">>make_true_function</span><span class="plain">) {</span>
|
||||
<span class="reserved">package_request</span><span class="plain"> *</span><span class="identifier">R</span><span class="plain"> = </span><span class="functiontext">BinaryPredicates::package</span><span class="plain">(</span><span class="identifier">bp</span><span class="plain">);</span>
|
||||
<span class="identifier">rg</span><span class="plain">-</span><span class="element">>guard_make_true_iname</span><span class="plain"> = </span><span class="functiontext">Packaging::function</span><span class="plain">(</span><span class="functiontext">InterNames::one_off</span><span class="plain">(</span><span class="identifier">I</span><span class="string">"guard_make_true_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">NULL</span><span class="plain">);</span>
|
||||
<span class="identifier">Inter::Symbols::set_flag</span><span class="plain">(</span><span class="functiontext">InterNames::to_symbol</span><span class="plain">(</span><span class="identifier">rg</span><span class="plain">-</span><span class="element">>guard_make_true_iname</span><span class="plain">), </span><span class="identifier">MAKE_NAME_UNIQUE</span><span class="plain">);</span>
|
||||
<span class="identifier">rg</span><span class="plain">-</span><span class="element">>guard_make_true_iname</span><span class="plain"> = </span><span class="functiontext">Hierarchy::make_iname_in</span><span class="plain">(</span><span class="constant">GUARD_MAKE_TRUE_FN_HL</span><span class="plain">, </span><span class="identifier">R</span><span class="plain">);</span>
|
||||
<span class="identifier">bp</span><span class="plain">-</span><span class="element">>make_true_function</span><span class="plain"> = </span><span class="functiontext">Calculus::Schemas::new</span><span class="plain">(</span><span class="string">"(%n(*1,*2))"</span><span class="plain">, </span><span class="identifier">rg</span><span class="plain">-</span><span class="element">>guard_make_true_iname</span><span class="plain">);</span>
|
||||
<span class="plain">}</span>
|
||||
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">bp</span><span class="plain">-</span><span class="element">>make_false_function</span><span class="plain">) {</span>
|
||||
<span class="reserved">package_request</span><span class="plain"> *</span><span class="identifier">R</span><span class="plain"> = </span><span class="functiontext">BinaryPredicates::package</span><span class="plain">(</span><span class="identifier">bp</span><span class="plain">);</span>
|
||||
<span class="identifier">rg</span><span class="plain">-</span><span class="element">>guard_make_false_iname</span><span class="plain"> = </span><span class="functiontext">Packaging::function</span><span class="plain">(</span><span class="functiontext">InterNames::one_off</span><span class="plain">(</span><span class="identifier">I</span><span class="string">"guard_make_false_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">NULL</span><span class="plain">);</span>
|
||||
<span class="identifier">Inter::Symbols::set_flag</span><span class="plain">(</span><span class="functiontext">InterNames::to_symbol</span><span class="plain">(</span><span class="identifier">rg</span><span class="plain">-</span><span class="element">>guard_make_false_iname</span><span class="plain">), </span><span class="identifier">MAKE_NAME_UNIQUE</span><span class="plain">);</span>
|
||||
<span class="identifier">rg</span><span class="plain">-</span><span class="element">>guard_make_false_iname</span><span class="plain"> = </span><span class="functiontext">Hierarchy::make_iname_in</span><span class="plain">(</span><span class="constant">GUARD_MAKE_FALSE_INAME_HL</span><span class="plain">, </span><span class="identifier">R</span><span class="plain">);</span>
|
||||
<span class="identifier">bp</span><span class="plain">-</span><span class="element">>make_false_function</span><span class="plain"> = </span><span class="functiontext">Calculus::Schemas::new</span><span class="plain">(</span><span class="string">"(%n(*1,*2))"</span><span class="plain">, </span><span class="identifier">rg</span><span class="plain">-</span><span class="element">>guard_make_false_iname</span><span class="plain">);</span>
|
||||
<span class="plain">}</span>
|
||||
<span class="plain">}</span>
|
||||
|
@ -1034,8 +1028,7 @@ logical properties of the two terms of the BP being defined.
|
|||
<pre class="displaydefn">
|
||||
<span class="identifier">bp</span><span class="plain">-</span><span class="element">>form_of_relation</span><span class="plain"> = </span><span class="constant">Relation_ByRoutine</span><span class="plain">;</span>
|
||||
<span class="reserved">package_request</span><span class="plain"> *</span><span class="identifier">P</span><span class="plain"> = </span><span class="functiontext">BinaryPredicates::package</span><span class="plain">(</span><span class="identifier">bp</span><span class="plain">);</span>
|
||||
<span class="identifier">bp</span><span class="plain">-</span><span class="element">>bp_by_routine_iname</span><span class="plain"> = </span><span class="functiontext">Packaging::function</span><span class="plain">(</span><span class="functiontext">InterNames::one_off</span><span class="plain">(</span><span class="identifier">I</span><span class="string">"relation_fn"</span><span class="plain">, </span><span class="identifier">P</span><span class="plain">), </span><span class="identifier">P</span><span class="plain">, </span><span class="identifier">NULL</span><span class="plain">);</span>
|
||||
<span class="identifier">Inter::Symbols::set_flag</span><span class="plain">(</span><span class="functiontext">InterNames::to_symbol</span><span class="plain">(</span><span class="identifier">bp</span><span class="plain">-</span><span class="element">>bp_by_routine_iname</span><span class="plain">), </span><span class="identifier">MAKE_NAME_UNIQUE</span><span class="plain">);</span>
|
||||
<span class="identifier">bp</span><span class="plain">-</span><span class="element">>bp_by_routine_iname</span><span class="plain"> = </span><span class="functiontext">Hierarchy::make_iname_in</span><span class="plain">(</span><span class="constant">RELATION_FN_HL</span><span class="plain">, </span><span class="identifier">P</span><span class="plain">);</span>
|
||||
<span class="identifier">bp</span><span class="plain">-</span><span class="element">>test_function</span><span class="plain"> = </span><span class="functiontext">Calculus::Schemas::new</span><span class="plain">(</span><span class="string">"(%n(*1,*2))"</span><span class="plain">, </span><span class="identifier">bp</span><span class="plain">-</span><span class="element">>bp_by_routine_iname</span><span class="plain">);</span>
|
||||
<span class="identifier">bp</span><span class="plain">-</span><span class="element">>condition_defn_text</span><span class="plain"> = </span><span class="identifier">CONW</span><span class="plain">;</span>
|
||||
</pre>
|
||||
|
@ -1403,8 +1396,8 @@ logical properties of the two terms of the BP being defined.
|
|||
<span class="reserved">binary_predicate</span><span class="plain"> *</span><span class="identifier">dbp</span><span class="plain"> = </span><span class="identifier">bp</span><span class="plain">;</span>
|
||||
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">bp</span><span class="plain">-</span><span class="element">>right_way_round</span><span class="plain"> == </span><span class="identifier">FALSE</span><span class="plain">) </span><span class="identifier">dbp</span><span class="plain"> = </span><span class="identifier">bp</span><span class="plain">-</span><span class="element">>reversal</span><span class="plain">;</span>
|
||||
<span class="reserved">inter_name</span><span class="plain"> *</span><span class="identifier">bm_symb</span><span class="plain"> = </span><span class="functiontext">Packaging::supply_iname</span><span class="plain">(</span><span class="identifier">bp</span><span class="plain">-</span><span class="element">>bp_package</span><span class="plain">, </span><span class="constant">MISC_PR_COUNTER</span><span class="plain">);</span>
|
||||
<span class="functiontext">Emit::sum_constant_begin</span><span class="plain">(</span><span class="identifier">bm_symb</span><span class="plain">, </span><span class="identifier">K_value</span><span class="plain">);</span>
|
||||
<span class="identifier">Inter::Symbols::set_flag</span><span class="plain">(</span><span class="functiontext">InterNames::to_symbol</span><span class="plain">(</span><span class="identifier">bm_symb</span><span class="plain">), </span><span class="identifier">MAKE_NAME_UNIQUE</span><span class="plain">);</span>
|
||||
<span class="functiontext">Emit::sum_constant_begin</span><span class="plain">(</span><span class="identifier">bm_symb</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">RELS_TEST_iname</span><span class="plain"> == </span><span class="identifier">NULL</span><span class="plain">) </span><span class="identifier">internal_error</span><span class="plain">(</span><span class="string">"no RELS symbols yet"</span><span class="plain">);</span>
|
||||
<span class="functiontext">Emit::array_iname_entry</span><span class="plain">(</span><span class="identifier">RELS_TEST_iname</span><span class="plain">);</span>
|
||||
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">minimal</span><span class="plain"> == </span><span class="identifier">FALSE</span><span class="plain">) {</span>
|
||||
|
|
|
@ -465,14 +465,7 @@ been asserted true:
|
|||
<span class="reserved">backdrop_found_in_notice</span><span class="plain"> *</span><span class="identifier">notice</span><span class="plain"> = </span><span class="identifier">CREATE</span><span class="plain">(</span><span class="reserved">backdrop_found_in_notice</span><span class="plain">);</span>
|
||||
<span class="identifier">notice</span><span class="plain">-</span><span class="element">>backdrop</span><span class="plain"> = </span><span class="identifier">I</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">Instances::package</span><span class="plain">(</span><span class="identifier">I</span><span class="plain">);</span>
|
||||
<span class="identifier">notice</span><span class="plain">-</span><span class="element">>found_in_routine_iname</span><span class="plain"> =</span>
|
||||
<span class="identifier">Packaging::function</span><span class="plain">(</span>
|
||||
<span class="identifier">InterNames::one_off</span><span class="plain">(</span><span class="identifier">I</span><span class="string">"backdrop_found_in_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">NULL</span><span class="plain">);</span>
|
||||
<span class="identifier">Inter::Symbols::set_flag</span><span class="plain">(</span><span class="identifier">InterNames::to_symbol</span><span class="plain">(</span><span class="identifier">notice</span><span class="plain">-</span><span class="element">>found_in_routine_iname</span><span class="plain">),</span>
|
||||
<span class="identifier">MAKE_NAME_UNIQUE</span><span class="plain">);</span>
|
||||
<span class="identifier">InterNames::to_symbol</span><span class="plain">(</span><span class="identifier">notice</span><span class="plain">-</span><span class="element">>found_in_routine_iname</span><span class="plain">);</span>
|
||||
<span class="identifier">notice</span><span class="plain">-</span><span class="element">>found_in_routine_iname</span><span class="plain"> = </span><span class="identifier">Hierarchy::make_iname_in</span><span class="plain">(</span><span class="identifier">BACKDROP_FOUND_IN_FN_HL</span><span class="plain">, </span><span class="identifier">R</span><span class="plain">);</span>
|
||||
<span class="identifier">notice</span><span class="plain">-</span><span class="element">>many_places</span><span class="plain"> = </span><span class="identifier">TRUE</span><span class="plain">;</span>
|
||||
<span class="identifier">FOUNDIN</span><span class="plain"> = </span><span class="identifier">notice</span><span class="plain">-</span><span class="element">>found_in_routine_iname</span><span class="plain">;</span>
|
||||
</pre>
|
||||
|
@ -497,13 +490,7 @@ code, derived from the old I6 library, requires <code class="display"><span clas
|
|||
<span class="reserved">backdrop_found_in_notice</span><span class="plain"> *</span><span class="identifier">notice</span><span class="plain"> = </span><span class="identifier">CREATE</span><span class="plain">(</span><span class="reserved">backdrop_found_in_notice</span><span class="plain">);</span>
|
||||
<span class="identifier">notice</span><span class="plain">-</span><span class="element">>backdrop</span><span class="plain"> = </span><span class="identifier">I</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">Instances::package</span><span class="plain">(</span><span class="identifier">I</span><span class="plain">);</span>
|
||||
<span class="identifier">notice</span><span class="plain">-</span><span class="element">>found_in_routine_iname</span><span class="plain"> =</span>
|
||||
<span class="identifier">Packaging::function</span><span class="plain">(</span>
|
||||
<span class="identifier">InterNames::one_off</span><span class="plain">(</span><span class="identifier">I</span><span class="string">"backdrop_found_in_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">NULL</span><span class="plain">);</span>
|
||||
<span class="identifier">Inter::Symbols::set_flag</span><span class="plain">(</span><span class="identifier">InterNames::to_symbol</span><span class="plain">(</span><span class="identifier">notice</span><span class="plain">-</span><span class="element">>found_in_routine_iname</span><span class="plain">),</span>
|
||||
<span class="identifier">MAKE_NAME_UNIQUE</span><span class="plain">);</span>
|
||||
<span class="identifier">notice</span><span class="plain">-</span><span class="element">>found_in_routine_iname</span><span class="plain"> = </span><span class="identifier">Hierarchy::make_iname_in</span><span class="plain">(</span><span class="identifier">BACKDROP_FOUND_IN_FN_HL</span><span class="plain">, </span><span class="identifier">R</span><span class="plain">);</span>
|
||||
<span class="identifier">InterNames::to_symbol</span><span class="plain">(</span><span class="identifier">notice</span><span class="plain">-</span><span class="element">>found_in_routine_iname</span><span class="plain">);</span>
|
||||
<span class="identifier">notice</span><span class="plain">-</span><span class="element">>many_places</span><span class="plain"> = </span><span class="identifier">FALSE</span><span class="plain">;</span>
|
||||
<span class="identifier">FOUNDIN</span><span class="plain"> = </span><span class="identifier">notice</span><span class="plain">-</span><span class="element">>found_in_routine_iname</span><span class="plain">;</span>
|
||||
|
|
|
@ -905,12 +905,8 @@ action patterns. For example, the Standard Rules define:
|
|||
<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">an</span><span class="plain">-</span><span class="element">>owned_by_an</span><span class="plain">) &&</span>
|
||||
<span class="plain">(</span><span class="identifier">StackedVariables::owner_empty</span><span class="plain">(</span><span class="identifier">an</span><span class="plain">-</span><span class="element">>owned_by_an</span><span class="plain">) == </span><span class="identifier">FALSE</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">Packaging::function</span><span class="plain">(</span>
|
||||
<span class="identifier">InterNames::one_off</span><span class="plain">(</span><span class="identifier">I</span><span class="string">"stv_creator_fn"</span><span class="plain">, </span><span class="identifier">an</span><span class="plain">-</span><span class="element">>an_package</span><span class="plain">),</span>
|
||||
<span class="identifier">an</span><span class="plain">-</span><span class="element">>an_package</span><span class="plain">,</span>
|
||||
<span class="identifier">NULL</span><span class="plain">);</span>
|
||||
<span class="identifier">Inter::Symbols::set_flag</span><span class="plain">(</span><span class="identifier">InterNames::to_symbol</span><span class="plain">(</span><span class="identifier">iname</span><span class="plain">), </span><span class="identifier">MAKE_NAME_UNIQUE</span><span class="plain">);</span>
|
||||
<span class="plain">(</span><span class="identifier">StackedVariables::owner_empty</span><span class="plain">(</span><span class="identifier">an</span><span class="plain">-</span><span class="element">>owned_by_an</span><span class="plain">) == </span><span class="identifier">FALSE</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">Hierarchy::make_iname_in</span><span class="plain">(</span><span class="identifier">ACTION_STV_CREATOR_FN_HL</span><span class="plain">, </span><span class="identifier">an</span><span class="plain">-</span><span class="element">>an_package</span><span class="plain">);</span>
|
||||
<span class="identifier">StackedVariables::compile_frame_creator</span><span class="plain">(</span><span class="identifier">an</span><span class="plain">-</span><span class="element">>owned_by_an</span><span class="plain">, </span><span class="identifier">iname</span><span class="plain">);</span>
|
||||
<span class="plain">}</span>
|
||||
<span class="plain">}</span>
|
||||
|
|
|
@ -616,12 +616,7 @@ inter_name *Kinds::RunTime::get_kind_GPR_iname(kind *K) {
|
|||
kind_constructor *con = Kinds::get_construct(K);
|
||||
if (con->kind_GPR_iname == NULL) {
|
||||
package_request *R = Kinds::RunTime::package(K);
|
||||
con->kind_GPR_iname =
|
||||
Packaging::function(
|
||||
InterNames::one_off(I"gpr_fn", R),
|
||||
R,
|
||||
NULL);
|
||||
Inter::Symbols::set_flag(InterNames::to_symbol(con->kind_GPR_iname), MAKE_NAME_UNIQUE);
|
||||
con->kind_GPR_iname = Hierarchy::make_iname_in(GPR_FN_HL, R);
|
||||
}
|
||||
return con->kind_GPR_iname;
|
||||
}
|
||||
|
@ -631,12 +626,7 @@ inter_name *Kinds::RunTime::get_instance_GPR_iname(kind *K) {
|
|||
kind_constructor *con = Kinds::get_construct(K);
|
||||
if (con->instance_GPR_iname == NULL) {
|
||||
package_request *R = Kinds::RunTime::package(K);
|
||||
con->instance_GPR_iname =
|
||||
Packaging::function(
|
||||
InterNames::one_off(I"instance_gpr_fn", R),
|
||||
R,
|
||||
NULL);
|
||||
Inter::Symbols::set_flag(InterNames::to_symbol(con->instance_GPR_iname), MAKE_NAME_UNIQUE);
|
||||
con->instance_GPR_iname = Hierarchy::make_iname_in(INSTANCE_GPR_FN_HL, R);
|
||||
}
|
||||
return con->instance_GPR_iname;
|
||||
}
|
||||
|
|
|
@ -161,11 +161,7 @@ equation *Equations::new(wording W, int anonymous) {
|
|||
eqn->examined_already = FALSE;
|
||||
|
||||
package_request *PR = Hierarchy::local_package(EQUATIONS_HAP);
|
||||
eqn->eqn_iname = Packaging::function(
|
||||
InterNames::one_off(I"solve_fn", PR),
|
||||
PR,
|
||||
NULL);
|
||||
Inter::Symbols::set_flag(InterNames::to_symbol(eqn->eqn_iname), MAKE_NAME_UNIQUE);
|
||||
eqn->eqn_iname = Hierarchy::make_iname_in(SOLVE_FN_HL, PR);
|
||||
|
||||
wording NO = EMPTY_WORDING, NA = EMPTY_WORDING;
|
||||
if (anonymous == FALSE) {
|
||||
|
|
|
@ -362,11 +362,7 @@ void Activities::activity_var_creators(void) {
|
|||
activity *av;
|
||||
LOOP_OVER(av, activity) {
|
||||
if (StackedVariables::owner_empty(av->owned_by_av) == FALSE) {
|
||||
inter_name *iname = Packaging::function(
|
||||
InterNames::one_off(I"stv_creator_fn", av->av_package),
|
||||
av->av_package,
|
||||
NULL);
|
||||
Inter::Symbols::set_flag(InterNames::to_symbol(iname), MAKE_NAME_UNIQUE);
|
||||
inter_name *iname = Hierarchy::make_iname_in(ACTIVITY_STV_CREATOR_FN_HL, av->av_package);
|
||||
StackedVariables::compile_frame_creator(av->owned_by_av, iname);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -214,9 +214,7 @@ rulebook *Rulebooks::new(kind *create_as, wording W, package_request *R) {
|
|||
rb->primary_name = W;
|
||||
rb->alternative_name = EMPTY_WORDING;
|
||||
rb->rb_package = R;
|
||||
|
||||
rb->rb_iname = Packaging::function(InterNames::one_off(I"run_fn", rb->rb_package), rb->rb_package, NULL);
|
||||
Inter::Symbols::set_flag(InterNames::to_symbol(rb->rb_iname), MAKE_NAME_UNIQUE);
|
||||
rb->rb_iname = Hierarchy::make_iname_in(RUN_FN_HL, rb->rb_package);
|
||||
|
||||
rb->rule_list = Rules::Bookings::list_new();
|
||||
|
||||
|
@ -495,13 +493,9 @@ void Rulebooks::make_stvs_accessible(rulebook *rb, stacked_variable_owner *stvo)
|
|||
}
|
||||
|
||||
inter_name *Rulebooks::get_stv_creator_iname(rulebook *rb) {
|
||||
if (rb->stv_creator_iname == NULL) {
|
||||
rb->stv_creator_iname = Packaging::function(
|
||||
InterNames::one_off(I"stv_creator_fn", rb->rb_package),
|
||||
rb->rb_package,
|
||||
NULL);
|
||||
Inter::Symbols::set_flag(InterNames::to_symbol(rb->stv_creator_iname), MAKE_NAME_UNIQUE);
|
||||
}
|
||||
if (rb->stv_creator_iname == NULL)
|
||||
rb->stv_creator_iname =
|
||||
Hierarchy::make_iname_in(RULEBOOK_STV_CREATOR_FN_HL, rb->rb_package);
|
||||
return rb->stv_creator_iname;
|
||||
}
|
||||
|
||||
|
|
|
@ -167,8 +167,7 @@ compilation.
|
|||
=
|
||||
void Phrases::Constants::compile_default_closure(inter_name *closure_identifier, kind *K) {
|
||||
package_request *P = Kinds::RunTime::package(K);
|
||||
inter_name *rname = Packaging::function(InterNames::one_off(I"default_closure_fn", P), P, NULL);
|
||||
Inter::Symbols::set_flag(InterNames::to_symbol(rname), MAKE_NAME_UNIQUE);
|
||||
inter_name *rname = Hierarchy::make_iname_in(DEFAULT_CLOSURE_FN_HL, P);
|
||||
|
||||
@<Compile the default routine@>;
|
||||
@<Compile the default closure@>;
|
||||
|
|
|
@ -62,6 +62,7 @@ typedef struct named_resource_location {
|
|||
struct text_stream *datum_package_name;
|
||||
struct location_requirement requirements;
|
||||
struct inter_name *equates_to_iname;
|
||||
struct inter_symbol *package_type;
|
||||
struct name_translation trans;
|
||||
MEMORY_MANAGEMENT
|
||||
} named_resource_location;
|
||||
|
@ -73,6 +74,7 @@ named_resource_location *HierarchyLocations::new(void) {
|
|||
nrl->function_package_name = NULL;
|
||||
nrl->datum_package_name = NULL;
|
||||
nrl->equates_to_iname = NULL;
|
||||
nrl->package_type = NULL;
|
||||
nrl->trans = Translation::same();
|
||||
nrl->requirements = HierarchyLocations::blank();
|
||||
return nrl;
|
||||
|
@ -88,6 +90,16 @@ named_resource_location *HierarchyLocations::con(int id, text_stream *name, name
|
|||
return nrl;
|
||||
}
|
||||
|
||||
named_resource_location *HierarchyLocations::package(int id, text_stream *name, text_stream *ptype_name, location_requirement req) {
|
||||
named_resource_location *nrl = HierarchyLocations::new();
|
||||
nrl->access_number = id;
|
||||
nrl->access_name = Str::duplicate(name);
|
||||
nrl->requirements = req;
|
||||
nrl->package_type = HierarchyLocations::ptype(ptype_name);
|
||||
HierarchyLocations::index(nrl);
|
||||
return nrl;
|
||||
}
|
||||
|
||||
named_resource_location *HierarchyLocations::make_as(int id, text_stream *name, inter_name *iname) {
|
||||
named_resource_location *nrl = HierarchyLocations::new();
|
||||
nrl->access_number = id;
|
||||
|
@ -202,7 +214,11 @@ inter_name *HierarchyLocations::find_in_package(int id, package_request *P, word
|
|||
internal_error("bad nrl ID");
|
||||
named_resource_location *nrl = nrls_indexed_by_id[id];
|
||||
if (nrl->requirements.any_package_of_this_type == NULL) internal_error("NRL accessed inappropriately");
|
||||
if ((P == NULL) || (P->eventual_type != nrl->requirements.any_package_of_this_type)) internal_error("constant in wrong superpackage");
|
||||
if ((P == NULL) || (P->eventual_type != nrl->requirements.any_package_of_this_type)) {
|
||||
LOG("AN: %S, FPN: %S\n", nrl->access_name, nrl->function_package_name);
|
||||
LOG("Have type: $3, required: $3\n", P->eventual_type, nrl->requirements.any_package_of_this_type);
|
||||
internal_error("constant in wrong superpackage");
|
||||
}
|
||||
inter_name *iname = NULL;
|
||||
if (Str::len(nrl->function_package_name) > 0) {
|
||||
iname = Packaging::function_text(
|
||||
|
@ -227,7 +243,8 @@ package_request *HierarchyLocations::package_in_package(int id, package_request
|
|||
named_resource_location *nrl = nrls_indexed_by_id[id];
|
||||
if (nrl->requirements.any_package_of_this_type == NULL) internal_error("NRL accessed inappropriately");
|
||||
if ((P == NULL) || (P->eventual_type != nrl->requirements.any_package_of_this_type)) internal_error("subpackage in wrong superpackage");
|
||||
return Packaging::request(InterNames::one_off(nrl->access_name, P), P, nrl->requirements.any_package_of_this_type);
|
||||
if (nrl->package_type == NULL) internal_error("package_in_package used wrongly");
|
||||
return Packaging::request(InterNames::one_off(nrl->access_name, P), P, nrl->package_type);
|
||||
}
|
||||
|
||||
@
|
||||
|
|
|
@ -141,6 +141,7 @@ void Hierarchy::establish(void) {
|
|||
@e CHECK_RB_HL
|
||||
@e CARRY_OUT_RB_HL
|
||||
@e REPORT_RB_HL
|
||||
@e ACTION_STV_CREATOR_FN_HL
|
||||
|
||||
@e ACTIONCODING_HL
|
||||
@e ACTIONDATA_HL
|
||||
|
@ -159,9 +160,10 @@ void Hierarchy::establish(void) {
|
|||
location_requirement local_actions = HierarchyLocations::local_submodule(actions);
|
||||
HierarchyLocations::ap(ACTIONS_HAP, local_actions, I"action", I"_action");
|
||||
location_requirement in_action = HierarchyLocations::any_package_of_type(I"_action");
|
||||
HierarchyLocations::con(CHECK_RB_HL, I"check_rb", Translation::same(), in_action);
|
||||
HierarchyLocations::con(CARRY_OUT_RB_HL, I"carry_out_rb", Translation::same(), in_action);
|
||||
HierarchyLocations::con(REPORT_RB_HL, I"report_rb", Translation::same(), in_action);
|
||||
HierarchyLocations::package(CHECK_RB_HL, I"check_rb", I"_rulebook", in_action);
|
||||
HierarchyLocations::package(CARRY_OUT_RB_HL, I"carry_out_rb", I"_rulebook", in_action);
|
||||
HierarchyLocations::package(REPORT_RB_HL, I"report_rb", I"_rulebook", in_action);
|
||||
HierarchyLocations::func(ACTION_STV_CREATOR_FN_HL, I"stv_creator_fn", Translation::uniqued(), in_action);
|
||||
|
||||
location_requirement synoptic_actions = HierarchyLocations::synoptic_submodule(actions);
|
||||
HierarchyLocations::con(ACTIONCODING_HL, I"ActionCoding", Translation::same(), synoptic_actions);
|
||||
|
@ -178,6 +180,7 @@ void Hierarchy::establish(void) {
|
|||
@e BEFORE_RB_HL
|
||||
@e FOR_RB_HL
|
||||
@e AFTER_RB_HL
|
||||
@e ACTIVITY_STV_CREATOR_FN_HL
|
||||
|
||||
@e ACTIVITY_AFTER_RULEBOOKS_HL
|
||||
@e ACTIVITY_ATB_RULEBOOKS_HL
|
||||
|
@ -191,9 +194,10 @@ void Hierarchy::establish(void) {
|
|||
location_requirement local_activities = HierarchyLocations::local_submodule(activities);
|
||||
HierarchyLocations::ap(ACTIVITIES_HAP, local_activities, I"activity", I"_activity");
|
||||
location_requirement in_activity = HierarchyLocations::any_package_of_type(I"_activity");
|
||||
HierarchyLocations::con(BEFORE_RB_HL, I"before_rb", Translation::same(), in_activity);
|
||||
HierarchyLocations::con(FOR_RB_HL, I"for_rb", Translation::same(), in_activity);
|
||||
HierarchyLocations::con(AFTER_RB_HL, I"after_rb", Translation::same(), in_activity);
|
||||
HierarchyLocations::package(BEFORE_RB_HL, I"before_rb", I"_rulebook", in_activity);
|
||||
HierarchyLocations::package(FOR_RB_HL, I"for_rb", I"_rulebook", in_activity);
|
||||
HierarchyLocations::package(AFTER_RB_HL, I"after_rb", I"_rulebook", in_activity);
|
||||
HierarchyLocations::func(ACTIVITY_STV_CREATOR_FN_HL, I"stv_creator_fn", Translation::uniqued(), in_activity);
|
||||
|
||||
location_requirement synoptic_activities = HierarchyLocations::synoptic_submodule(activities);
|
||||
HierarchyLocations::con(ACTIVITY_AFTER_RULEBOOKS_HL, I"Activity_after_rulebooks", Translation::same(), synoptic_activities);
|
||||
|
@ -290,13 +294,16 @@ void Hierarchy::establish(void) {
|
|||
@h Equations.
|
||||
|
||||
@e EQUATIONS_HAP
|
||||
@e SOLVE_FN_HL
|
||||
|
||||
@<Establish equations@> =
|
||||
submodule_identity *equations = Packaging::register_submodule(I"equations");
|
||||
|
||||
location_requirement local_equations = HierarchyLocations::local_submodule(equations);
|
||||
HierarchyLocations::ap(EQUATIONS_HAP, local_equations, I"equation", I"_equation");
|
||||
|
||||
location_requirement in_equation = HierarchyLocations::any_package_of_type(I"_equation");
|
||||
HierarchyLocations::func(SOLVE_FN_HL, I"solve_fn", Translation::uniqued(), in_equation);
|
||||
|
||||
@h Extensions.
|
||||
|
||||
@e SHOWEXTENSIONVERSIONS_HL
|
||||
|
@ -402,12 +409,15 @@ void Hierarchy::establish(void) {
|
|||
@h Instances.
|
||||
|
||||
@e INSTANCES_HAP
|
||||
@e BACKDROP_FOUND_IN_FN_HL
|
||||
|
||||
@<Establish instances@> =
|
||||
submodule_identity *instances = Packaging::register_submodule(I"instances");
|
||||
|
||||
location_requirement local_instances = HierarchyLocations::local_submodule(instances);
|
||||
HierarchyLocations::ap(INSTANCES_HAP, local_instances, I"instance", I"_instance");
|
||||
location_requirement in_instance = HierarchyLocations::any_package_of_type(I"_instance");
|
||||
HierarchyLocations::func(BACKDROP_FOUND_IN_FN_HL, I"backdrop_found_in_fn", Translation::uniqued(), in_instance);
|
||||
|
||||
@h Interactive Fiction.
|
||||
|
||||
|
@ -454,6 +464,9 @@ void Hierarchy::establish(void) {
|
|||
@e DECREMENT_FN_HL
|
||||
@e INCREMENT_FN_HL
|
||||
@e RANGER_FN_HL
|
||||
@e DEFAULT_CLOSURE_FN_HL
|
||||
@e GPR_FN_HL
|
||||
@e INSTANCE_GPR_FN_HL
|
||||
|
||||
@e DEFAULTVALUEOFKOV_HL
|
||||
@e DEFAULTVALUEFINDER_HL
|
||||
|
@ -483,6 +496,9 @@ void Hierarchy::establish(void) {
|
|||
HierarchyLocations::con(DECREMENT_FN_HL, I"decrement_fn", Translation::uniqued(), in_kind);
|
||||
HierarchyLocations::con(INCREMENT_FN_HL, I"increment_fn", Translation::uniqued(), in_kind);
|
||||
HierarchyLocations::con(RANGER_FN_HL, I"ranger_fn", Translation::uniqued(), in_kind);
|
||||
HierarchyLocations::func(DEFAULT_CLOSURE_FN_HL, I"default_closure_fn", Translation::uniqued(), in_kind);
|
||||
HierarchyLocations::func(GPR_FN_HL, I"gpr_fn", Translation::uniqued(), in_kind);
|
||||
HierarchyLocations::func(INSTANCE_GPR_FN_HL, I"instance_gpr_fn", Translation::uniqued(), in_kind);
|
||||
|
||||
location_requirement synoptic_kinds = HierarchyLocations::synoptic_submodule(kinds);
|
||||
HierarchyLocations::con(BASE_KIND_HWM_HL, I"BASE_KIND_HWM", Translation::same(), synoptic_kinds);
|
||||
|
@ -573,6 +589,14 @@ void Hierarchy::establish(void) {
|
|||
@e RELATIONS_HAP
|
||||
@e BITMAP_HL
|
||||
@e ROUTE_CACHE_HL
|
||||
@e HANDLER_FN_HL
|
||||
@e RELATION_INITIALISER_FN_HL
|
||||
@e GUARD_F0_FN_HL
|
||||
@e GUARD_F1_FN_HL
|
||||
@e GUARD_TEST_FN_HL
|
||||
@e GUARD_MAKE_TRUE_FN_HL
|
||||
@e GUARD_MAKE_FALSE_INAME_HL
|
||||
@e RELATION_FN_HL
|
||||
|
||||
@e CREATEDYNAMICRELATIONS_HL
|
||||
@e CCOUNT_BINARY_PREDICATE_HL
|
||||
|
@ -603,9 +627,17 @@ void Hierarchy::establish(void) {
|
|||
|
||||
location_requirement local_rels = HierarchyLocations::local_submodule(relations);
|
||||
HierarchyLocations::ap(RELATIONS_HAP, local_rels, I"relation", I"_relation");
|
||||
location_requirement in_relation = HierarchyLocations::any_package_of_type(I"_relation");
|
||||
HierarchyLocations::con(BITMAP_HL, I"as_constant", Translation::uniqued(), in_relation);
|
||||
HierarchyLocations::con(ROUTE_CACHE_HL, I"route_cache", Translation::uniqued(), in_relation);
|
||||
location_requirement in_relation = HierarchyLocations::any_package_of_type(I"_relation");
|
||||
HierarchyLocations::con(BITMAP_HL, I"as_constant", Translation::uniqued(), in_relation);
|
||||
HierarchyLocations::con(ROUTE_CACHE_HL, I"route_cache", Translation::uniqued(), in_relation);
|
||||
HierarchyLocations::func(HANDLER_FN_HL, I"handler_fn", Translation::uniqued(), in_relation);
|
||||
HierarchyLocations::func(RELATION_INITIALISER_FN_HL, I"relation_initialiser_fn", Translation::uniqued(), in_relation);
|
||||
HierarchyLocations::func(GUARD_F0_FN_HL, I"guard_f0_fn", Translation::uniqued(), in_relation);
|
||||
HierarchyLocations::func(GUARD_F1_FN_HL, I"guard_f1_fn", Translation::uniqued(), in_relation);
|
||||
HierarchyLocations::func(GUARD_TEST_FN_HL, I"guard_test_fn", Translation::uniqued(), in_relation);
|
||||
HierarchyLocations::func(GUARD_MAKE_TRUE_FN_HL, I"guard_make_true_fn", Translation::uniqued(), in_relation);
|
||||
HierarchyLocations::func(GUARD_MAKE_FALSE_INAME_HL, I"guard_make_false_iname", Translation::uniqued(), in_relation);
|
||||
HierarchyLocations::func(RELATION_FN_HL, I"relation_fn", Translation::uniqued(), in_relation);
|
||||
|
||||
location_requirement synoptic_rels = HierarchyLocations::synoptic_submodule(relations);
|
||||
HierarchyLocations::func(CREATEDYNAMICRELATIONS_HL, I"creator_fn", Translation::to(I"CreateDynamicRelations"), synoptic_rels);
|
||||
|
@ -619,6 +651,8 @@ void Hierarchy::establish(void) {
|
|||
|
||||
@e OUTCOMES_HAP
|
||||
@e RULEBOOKS_HAP
|
||||
@e RUN_FN_HL
|
||||
@e RULEBOOK_STV_CREATOR_FN_HL
|
||||
|
||||
@e NUMBER_RULEBOOKS_CREATED_HL
|
||||
@e RULEBOOK_VAR_CREATORS_HL
|
||||
|
@ -635,6 +669,9 @@ void Hierarchy::establish(void) {
|
|||
location_requirement local_rulebooks = HierarchyLocations::local_submodule(rulebooks);
|
||||
HierarchyLocations::ap(OUTCOMES_HAP, local_rulebooks, I"rulebook_outcome", I"_outcome");
|
||||
HierarchyLocations::ap(RULEBOOKS_HAP, local_rulebooks, I"rulebook", I"_rulebook");
|
||||
location_requirement in_rulebook = HierarchyLocations::any_package_of_type(I"_rulebook");
|
||||
HierarchyLocations::func(RUN_FN_HL, I"run_fn", Translation::uniqued(), in_rulebook);
|
||||
HierarchyLocations::func(RULEBOOK_STV_CREATOR_FN_HL, I"stv_creator_fn", Translation::uniqued(), in_rulebook);
|
||||
|
||||
location_requirement synoptic_rulebooks = HierarchyLocations::synoptic_submodule(rulebooks);
|
||||
HierarchyLocations::con(NUMBER_RULEBOOKS_CREATED_HL, I"NUMBER_RULEBOOKS_CREATED", Translation::same(), synoptic_rulebooks);
|
||||
|
|
|
@ -629,8 +629,7 @@ package_request *BinaryPredicates::package(binary_predicate *bp) {
|
|||
inter_name *BinaryPredicates::handler_iname(binary_predicate *bp) {
|
||||
if (bp->handler_iname == NULL) {
|
||||
package_request *R = BinaryPredicates::package(bp);
|
||||
bp->handler_iname = Packaging::function(InterNames::one_off(I"handler_fn", R), R, NULL);
|
||||
Inter::Symbols::set_flag(InterNames::to_symbol(bp->handler_iname), MAKE_NAME_UNIQUE);
|
||||
bp->handler_iname = Hierarchy::make_iname_in(HANDLER_FN_HL, R);
|
||||
}
|
||||
return bp->handler_iname;
|
||||
}
|
||||
|
|
|
@ -214,8 +214,7 @@ void Relations::parse_new_relation_further(parse_node *PN) {
|
|||
bp->dynamic_memory = TRUE;
|
||||
bpr->dynamic_memory = TRUE;
|
||||
package_request *P = BinaryPredicates::package(bp);
|
||||
bp->initialiser_iname = Packaging::function(InterNames::one_off(I"relation_initialiser_fn", P), P, NULL);
|
||||
Inter::Symbols::set_flag(InterNames::to_symbol(bp->initialiser_iname), MAKE_NAME_UNIQUE);
|
||||
bp->initialiser_iname = Hierarchy::make_iname_in(RELATION_INITIALISER_FN_HL, P);
|
||||
}
|
||||
BinaryPredicates::mark_as_needed(bp);
|
||||
|
||||
|
@ -260,34 +259,29 @@ void Relations::parse_new_relation_further(parse_node *PN) {
|
|||
rg->guard_make_false_iname = NULL;
|
||||
if (rg->f0) {
|
||||
package_request *R = BinaryPredicates::package(bp);
|
||||
rg->guard_f0_iname = Packaging::function(InterNames::one_off(I"guard_f0_fn", R), R, NULL);
|
||||
Inter::Symbols::set_flag(InterNames::to_symbol(rg->guard_f0_iname), MAKE_NAME_UNIQUE);
|
||||
rg->guard_f0_iname = Hierarchy::make_iname_in(GUARD_F0_FN_HL, R);
|
||||
BinaryPredicates::set_term_function(&(bp->term_details[0]),
|
||||
Calculus::Schemas::new("(%n(*1))", rg->guard_f0_iname));
|
||||
}
|
||||
if (rg->f1) {
|
||||
package_request *R = BinaryPredicates::package(bp);
|
||||
rg->guard_f1_iname = Packaging::function(InterNames::one_off(I"guard_f1_fn", R), R, NULL);
|
||||
Inter::Symbols::set_flag(InterNames::to_symbol(rg->guard_f1_iname), MAKE_NAME_UNIQUE);
|
||||
rg->guard_f1_iname = Hierarchy::make_iname_in(GUARD_F1_FN_HL, R);
|
||||
BinaryPredicates::set_term_function(&(bp->term_details[1]),
|
||||
Calculus::Schemas::new("(%n(*1))", rg->guard_f1_iname));
|
||||
}
|
||||
if (bp->test_function) {
|
||||
package_request *R = BinaryPredicates::package(bp);
|
||||
rg->guard_test_iname = Packaging::function(InterNames::one_off(I"guard_test_fn", R), R, NULL);
|
||||
Inter::Symbols::set_flag(InterNames::to_symbol(rg->guard_test_iname), MAKE_NAME_UNIQUE);
|
||||
rg->guard_test_iname = Hierarchy::make_iname_in(GUARD_TEST_FN_HL, R);
|
||||
bp->test_function = Calculus::Schemas::new("(%n(*1,*2))", rg->guard_test_iname);
|
||||
}
|
||||
if (bp->make_true_function) {
|
||||
package_request *R = BinaryPredicates::package(bp);
|
||||
rg->guard_make_true_iname = Packaging::function(InterNames::one_off(I"guard_make_true_fn", R), R, NULL);
|
||||
Inter::Symbols::set_flag(InterNames::to_symbol(rg->guard_make_true_iname), MAKE_NAME_UNIQUE);
|
||||
rg->guard_make_true_iname = Hierarchy::make_iname_in(GUARD_MAKE_TRUE_FN_HL, R);
|
||||
bp->make_true_function = Calculus::Schemas::new("(%n(*1,*2))", rg->guard_make_true_iname);
|
||||
}
|
||||
if (bp->make_false_function) {
|
||||
package_request *R = BinaryPredicates::package(bp);
|
||||
rg->guard_make_false_iname = Packaging::function(InterNames::one_off(I"guard_make_false_fn", R), R, NULL);
|
||||
Inter::Symbols::set_flag(InterNames::to_symbol(rg->guard_make_false_iname), MAKE_NAME_UNIQUE);
|
||||
rg->guard_make_false_iname = Hierarchy::make_iname_in(GUARD_MAKE_FALSE_INAME_HL, R);
|
||||
bp->make_false_function = Calculus::Schemas::new("(%n(*1,*2))", rg->guard_make_false_iname);
|
||||
}
|
||||
}
|
||||
|
@ -734,8 +728,7 @@ K to L when (some condition)".
|
|||
@<Complete as a relation-by-routine BP@> =
|
||||
bp->form_of_relation = Relation_ByRoutine;
|
||||
package_request *P = BinaryPredicates::package(bp);
|
||||
bp->bp_by_routine_iname = Packaging::function(InterNames::one_off(I"relation_fn", P), P, NULL);
|
||||
Inter::Symbols::set_flag(InterNames::to_symbol(bp->bp_by_routine_iname), MAKE_NAME_UNIQUE);
|
||||
bp->bp_by_routine_iname = Hierarchy::make_iname_in(RELATION_FN_HL, P);
|
||||
bp->test_function = Calculus::Schemas::new("(%n(*1,*2))", bp->bp_by_routine_iname);
|
||||
bp->condition_defn_text = CONW;
|
||||
|
||||
|
@ -1015,8 +1008,8 @@ void Relations::compile_relation_records(void) {
|
|||
binary_predicate *dbp = bp;
|
||||
if (bp->right_way_round == FALSE) dbp = bp->reversal;
|
||||
inter_name *bm_symb = Packaging::supply_iname(bp->bp_package, MISC_PR_COUNTER);
|
||||
Emit::sum_constant_begin(bm_symb, K_value);
|
||||
Inter::Symbols::set_flag(InterNames::to_symbol(bm_symb), MAKE_NAME_UNIQUE);
|
||||
Emit::sum_constant_begin(bm_symb, K_value);
|
||||
if (RELS_TEST_iname == NULL) internal_error("no RELS symbols yet");
|
||||
Emit::array_iname_entry(RELS_TEST_iname);
|
||||
if (minimal == FALSE) {
|
||||
|
|
|
@ -287,14 +287,7 @@ int PL::Backdrops::backdrops_complete_model(int stage) {
|
|||
backdrop_found_in_notice *notice = CREATE(backdrop_found_in_notice);
|
||||
notice->backdrop = I;
|
||||
package_request *R = Instances::package(I);
|
||||
notice->found_in_routine_iname =
|
||||
Packaging::function(
|
||||
InterNames::one_off(I"backdrop_found_in_fn", R),
|
||||
R,
|
||||
NULL);
|
||||
Inter::Symbols::set_flag(InterNames::to_symbol(notice->found_in_routine_iname),
|
||||
MAKE_NAME_UNIQUE);
|
||||
InterNames::to_symbol(notice->found_in_routine_iname);
|
||||
notice->found_in_routine_iname = Hierarchy::make_iname_in(BACKDROP_FOUND_IN_FN_HL, R);
|
||||
notice->many_places = TRUE;
|
||||
FOUNDIN = notice->found_in_routine_iname;
|
||||
|
||||
|
@ -307,13 +300,7 @@ code, derived from the old I6 library, requires |absent| to be set. So:
|
|||
backdrop_found_in_notice *notice = CREATE(backdrop_found_in_notice);
|
||||
notice->backdrop = I;
|
||||
package_request *R = Instances::package(I);
|
||||
notice->found_in_routine_iname =
|
||||
Packaging::function(
|
||||
InterNames::one_off(I"backdrop_found_in_fn", R),
|
||||
R,
|
||||
NULL);
|
||||
Inter::Symbols::set_flag(InterNames::to_symbol(notice->found_in_routine_iname),
|
||||
MAKE_NAME_UNIQUE);
|
||||
notice->found_in_routine_iname = Hierarchy::make_iname_in(BACKDROP_FOUND_IN_FN_HL, R);
|
||||
InterNames::to_symbol(notice->found_in_routine_iname);
|
||||
notice->many_places = FALSE;
|
||||
FOUNDIN = notice->found_in_routine_iname;
|
||||
|
|
|
@ -692,12 +692,8 @@ void PL::Actions::compile_action_name_var_creators(void) {
|
|||
action_name *an;
|
||||
LOOP_OVER(an, action_name) {
|
||||
if ((an->owned_by_an) &&
|
||||
(StackedVariables::owner_empty(an->owned_by_an) == FALSE)) {
|
||||
inter_name *iname = Packaging::function(
|
||||
InterNames::one_off(I"stv_creator_fn", an->an_package),
|
||||
an->an_package,
|
||||
NULL);
|
||||
Inter::Symbols::set_flag(InterNames::to_symbol(iname), MAKE_NAME_UNIQUE);
|
||||
(StackedVariables::owner_empty(an->owned_by_an) == FALSE)) {
|
||||
inter_name *iname = Hierarchy::make_iname_in(ACTION_STV_CREATOR_FN_HL, an->an_package);
|
||||
StackedVariables::compile_frame_creator(an->owned_by_an, iname);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue