mirror of
https://github.com/ganelson/inform.git
synced 2024-07-05 00:24:22 +03:00
Rehoused further constants and arrays
This commit is contained in:
parent
c9f29a5fe0
commit
68759498d3
|
@ -568,7 +568,7 @@ which might occupy up to 31 characters, the maximum length of an I6 identifier:
|
|||
|
||||
<p class="inwebparagraph"></p>
|
||||
|
||||
<p class="endnote">The function Kinds::RunTime::compile_weak_id is used in <a href="#SP12">§12</a>, 12/is (<a href="12-is.html#SP4_3_1">§4.3.1</a>).</p>
|
||||
<p class="endnote">The function Kinds::RunTime::compile_weak_id is used in 12/is (<a href="12-is.html#SP4_3_1">§4.3.1</a>).</p>
|
||||
|
||||
<p class="endnote">The function Kinds::RunTime::emit_weak_id is used in <a href="#SP12">§12</a>, <a href="#SP16_1">§16.1</a>, <a href="#SP21">§21</a>.</p>
|
||||
|
||||
|
@ -628,15 +628,6 @@ turns up. This means remembering everything we've seen, using a new structure:
|
|||
|
||||
|
||||
<pre class="display">
|
||||
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">Kinds::RunTime::compile_strong_id</span><span class="plain">(</span><span class="identifier">OUTPUT_STREAM</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">runtime_kind_structure</span><span class="plain"> *</span><span class="identifier">rks</span><span class="plain"> = </span><span class="functiontext">Kinds::RunTime::get_rks</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">rks</span><span class="plain">) {</span>
|
||||
<span class="identifier">WRITE</span><span class="plain">(</span><span class="string">"%n"</span><span class="plain">, </span><span class="identifier">rks</span><span class="plain">-</span><span class="element">>rks_iname</span><span class="plain">);</span>
|
||||
<span class="plain">} </span><span class="reserved">else</span><span class="plain"> {</span>
|
||||
<span class="functiontext">Kinds::RunTime::compile_weak_id</span><span class="plain">(</span><span class="identifier">OUT</span><span class="plain">, </span><span class="identifier">K</span><span class="plain">);</span>
|
||||
<span class="plain">}</span>
|
||||
<span class="plain">}</span>
|
||||
|
||||
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">Kinds::RunTime::emit_strong_id</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">runtime_kind_structure</span><span class="plain"> *</span><span class="identifier">rks</span><span class="plain"> = </span><span class="functiontext">Kinds::RunTime::get_rks</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">rks</span><span class="plain">) {</span>
|
||||
|
@ -658,8 +649,6 @@ turns up. This means remembering everything we've seen, using a new structure:
|
|||
|
||||
<p class="inwebparagraph"></p>
|
||||
|
||||
<p class="endnote">The function Kinds::RunTime::compile_strong_id is used in <a href="#SP20">§20</a>.</p>
|
||||
|
||||
<p class="endnote">The function Kinds::RunTime::emit_strong_id is used in <a href="#SP16_1_1">§16.1.1</a>, <a href="#SP16_1_1_1">§16.1.1.1</a>, <a href="#SP16_1_1_2">§16.1.1.2</a>, 6/rlt (<a href="6-rlt.html#SP15_1_4">§15.1.4</a>, <a href="6-rlt.html#SP16">§16</a>), 18/lc (<a href="18-lc.html#SP12_1">§12.1</a>, <a href="18-lc.html#SP13">§13</a>), 22/pav (<a href="22-pav.html#SP8_1">§8.1</a>, <a href="22-pav.html#SP9_1">§9.1</a>).</p>
|
||||
|
||||
<p class="endnote">The function Kinds::RunTime::emit_strong_id_as_val is used in <a href="#SP16_3">§16.3</a>, <a href="#SP20">§20</a>, 6/rlt (<a href="6-rlt.html#SP15">§15</a>, <a href="6-rlt.html#SP15_2_9_1">§15.2.9.1</a>), 12/dtd (<a href="12-dtd.html#SP16">§16</a>, <a href="12-dtd.html#SP17">§17</a>, <a href="12-dtd.html#SP27">§27</a>), 19/tc (<a href="19-tc.html#SP8">§8</a>), 22/pav (<a href="22-pav.html#SP9_2">§9.2</a>), 25/cii (<a href="25-cii.html#SP3_2_7">§3.2.7</a>).</p>
|
||||
|
@ -1170,13 +1159,6 @@ list of 20 texts. For the cases above, it's always 1.
|
|||
<span class="reserved">return</span><span class="plain"> </span><span class="identifier">ha</span><span class="plain">;</span>
|
||||
<span class="plain">}</span>
|
||||
|
||||
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">Kinds::RunTime::compile_heap_allocation</span><span class="plain">(</span><span class="identifier">OUTPUT_STREAM</span><span class="plain">, </span><span class="reserved">heap_allocation</span><span class="plain"> </span><span class="identifier">ha</span><span class="plain">) {</span>
|
||||
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">ha</span><span class="element">.stack_offset</span><span class="plain"> >= 0) </span><span class="identifier">WRITE</span><span class="plain">(</span><span class="string">"BlkValueCreateOnStack(%d, "</span><span class="plain">, </span><span class="identifier">ha</span><span class="element">.stack_offset</span><span class="plain">);</span>
|
||||
<span class="reserved">else</span><span class="plain"> </span><span class="identifier">WRITE</span><span class="plain">(</span><span class="string">"BlkValueCreate("</span><span class="plain">);</span>
|
||||
<span class="functiontext">Kinds::RunTime::compile_strong_id</span><span class="plain">(</span><span class="identifier">OUT</span><span class="plain">, </span><span class="identifier">ha</span><span class="element">.allocated_kind</span><span class="plain">);</span>
|
||||
<span class="identifier">WRITE</span><span class="plain">(</span><span class="string">")"</span><span class="plain">);</span>
|
||||
<span class="plain">}</span>
|
||||
|
||||
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">Kinds::RunTime::emit_heap_allocation</span><span class="plain">(</span><span class="reserved">heap_allocation</span><span class="plain"> </span><span class="identifier">ha</span><span class="plain">) {</span>
|
||||
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">ha</span><span class="element">.stack_offset</span><span class="plain"> >= 0) {</span>
|
||||
<span class="reserved">inter_name</span><span class="plain"> *</span><span class="identifier">iname</span><span class="plain"> = </span><span class="functiontext">InterNames::extern</span><span class="plain">(</span><span class="constant">BLKVALUECREATEONSTACK_EXNAMEF</span><span class="plain">);</span>
|
||||
|
@ -1199,8 +1181,6 @@ list of 20 texts. For the cases above, it's always 1.
|
|||
|
||||
<p class="endnote">The function Kinds::RunTime::make_heap_allocation is used in 21/sv (<a href="21-sv.html#SP3_1">§3.1</a>), 24/sf (<a href="24-sf.html#SP15_1">§15.1</a>).</p>
|
||||
|
||||
<p class="endnote">The function Kinds::RunTime::compile_heap_allocation appears nowhere else.</p>
|
||||
|
||||
<p class="endnote">The function Kinds::RunTime::emit_heap_allocation is used in 21/sv (<a href="21-sv.html#SP3_1">§3.1</a>), 26/rt (<a href="26-rt.html#SP4_1_2">§4.1.2</a>).</p>
|
||||
|
||||
<p class="endnote">The structure heap_allocation is private to this section.</p>
|
||||
|
|
|
@ -394,12 +394,16 @@ ever tampered with.
|
|||
|
||||
<span class="functiontext">Routines::end</span><span class="plain">(</span><span class="identifier">save</span><span class="plain">);</span>
|
||||
<span class="plain">}</span>
|
||||
<span class="functiontext">Emit::named_array_begin</span><span class="plain">(</span><span class="functiontext">InterNames::iname</span><span class="plain">(</span><span class="constant">PastActionsI6Routines_INAME</span><span class="plain">), </span><span class="identifier">K_value</span><span class="plain">);</span>
|
||||
<span class="reserved">package_request</span><span class="plain"> *</span><span class="identifier">PR</span><span class="plain"> = </span><span class="functiontext">Packaging::synoptic_resource</span><span class="plain">(</span><span class="constant">CHRONOLOGY_SUBPACKAGE</span><span class="plain">);</span>
|
||||
<span class="reserved">inter_name</span><span class="plain"> *</span><span class="identifier">iname</span><span class="plain"> = </span><span class="functiontext">InterNames::one_off</span><span class="plain">(</span><span class="identifier">I</span><span class="string">"PastActionsI6Routines"</span><span class="plain">, </span><span class="identifier">PR</span><span class="plain">);</span>
|
||||
<span class="reserved">packaging_state</span><span class="plain"> </span><span class="identifier">save</span><span class="plain"> = </span><span class="functiontext">Packaging::enter</span><span class="plain">(</span><span class="identifier">PR</span><span class="plain">);</span>
|
||||
<span class="functiontext">Emit::named_array_begin</span><span class="plain">(</span><span class="identifier">iname</span><span class="plain">, </span><span class="identifier">K_value</span><span class="plain">);</span>
|
||||
<span class="identifier">LOOP_OVER</span><span class="plain">(</span><span class="identifier">pta</span><span class="plain">, </span><span class="reserved">past_tense_action_record</span><span class="plain">)</span>
|
||||
<span class="functiontext">Emit::array_iname_entry</span><span class="plain">(</span><span class="identifier">pta</span><span class="plain">-</span><span class="element">>pta_iname</span><span class="plain">);</span>
|
||||
<span class="functiontext">Emit::array_numeric_entry</span><span class="plain">(0);</span>
|
||||
<span class="functiontext">Emit::array_numeric_entry</span><span class="plain">(0);</span>
|
||||
<span class="functiontext">Emit::array_end</span><span class="plain">();</span>
|
||||
<span class="functiontext">Packaging::exit</span><span class="plain">(</span><span class="identifier">save</span><span class="plain">);</span>
|
||||
<span class="plain">#</span><span class="identifier">endif</span>
|
||||
<span class="plain">}</span>
|
||||
</pre>
|
||||
|
|
|
@ -328,7 +328,7 @@
|
|||
|
||||
<p class="endnote">The function InterNames::new_in_space is used in <a href="#SP3">§3</a>.</p>
|
||||
|
||||
<p class="endnote">The function InterNames::one_off is used in <a href="#SP7">§7</a>, 5/un (<a href="5-un.html#SP1">§1</a>), 5/nv (<a href="5-nv.html#SP16">§16</a>), 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#SP15">§15</a>, <a href="6-rlt.html#SP17">§17</a>, <a href="6-rlt.html#SP29_1">§29.1</a>), 6/nv (<a href="6-nv.html#SP18">§18</a>), 8/ef (<a href="8-ef.html#SP19">§19</a>), 13/rsfk (<a href="13-rsfk.html#SP15">§15</a>, <a href="13-rsfk.html#SP16_3">§16.3</a>, <a href="13-rsfk.html#SP26_6_1">§26.6.1</a>, <a href="13-rsfk.html#SP26_6_2">§26.6.2</a>, <a href="13-rsfk.html#SP26_6_3">§26.6.3</a>, <a href="13-rsfk.html#SP26_6_4">§26.6.4</a>, <a href="13-rsfk.html#SP26_6_5">§26.6.5</a>, <a href="13-rsfk.html#SP26_6_6">§26.6.6</a>, <a href="13-rsfk.html#SP27">§27</a>), 15/pr (<a href="15-pr.html#SP27">§27</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/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#SP8">§8</a>, <a href="19-tc.html#SP9">§9</a>), 19/tb (<a href="19-tb.html#SP9">§9</a>), 19/rsft (<a href="19-rsft.html#SP1_3">§1.3</a>), 20/eq (<a href="20-eq.html#SP10_1">§10.1</a>), 21/rl (<a href="21-rl.html#SP9">§9</a>, <a href="21-rl.html#SP19">§19</a>, <a href="21-rl.html#SP20">§20</a>), 21/rb (<a href="21-rb.html#SP23">§23</a>), 21/rl2 (<a href="21-rl2.html#SP10">§10</a>, <a href="21-rl2.html#SP14">§14</a>, <a href="21-rl2.html#SP14_1">§14.1</a>, <a href="21-rl2.html#SP20">§20</a>), 21/ac (<a href="21-ac.html#SP8">§8</a>, <a href="21-ac.html#SP14">§14</a>), 22/cs (<a href="22-cs.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>), 22/tp2 (<a href="22-tp2.html#SP4">§4</a>), 24/ch (<a href="24-ch.html#SP3">§3</a>, <a href="24-ch.html#SP7">§7</a>, <a href="24-ch.html#SP8">§8</a>), 26/uo (<a href="26-uo.html#SP21_1">§21.1</a>), 26/lt (<a href="26-lt.html#SP3">§3</a>), 26/rt (<a href="26-rt.html#SP4">§4</a>), 26/ts (<a href="26-ts.html#SP10">§10</a>, <a href="26-ts.html#SP11">§11</a>), 27/cm (<a href="27-cm.html#SP2">§2</a>), 27/pc (<a href="27-pc.html#SP8_1">§8.1</a>, <a href="27-pc.html#SP9">§9</a>).</p>
|
||||
<p class="endnote">The function InterNames::one_off is used in <a href="#SP7">§7</a>, 5/un (<a href="5-un.html#SP1">§1</a>), 5/nv (<a href="5-nv.html#SP16">§16</a>), 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#SP15">§15</a>, <a href="6-rlt.html#SP17">§17</a>, <a href="6-rlt.html#SP29_1">§29.1</a>), 6/nv (<a href="6-nv.html#SP18">§18</a>), 8/ef (<a href="8-ef.html#SP19">§19</a>), 13/rsfk (<a href="13-rsfk.html#SP15">§15</a>, <a href="13-rsfk.html#SP16_3">§16.3</a>, <a href="13-rsfk.html#SP26_6_1">§26.6.1</a>, <a href="13-rsfk.html#SP26_6_2">§26.6.2</a>, <a href="13-rsfk.html#SP26_6_3">§26.6.3</a>, <a href="13-rsfk.html#SP26_6_4">§26.6.4</a>, <a href="13-rsfk.html#SP26_6_5">§26.6.5</a>, <a href="13-rsfk.html#SP26_6_6">§26.6.6</a>, <a href="13-rsfk.html#SP27">§27</a>), 15/pr (<a href="15-pr.html#SP27">§27</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/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#SP8">§8</a>, <a href="19-tc.html#SP9">§9</a>), 19/tb (<a href="19-tb.html#SP9">§9</a>), 19/rsft (<a href="19-rsft.html#SP1_3">§1.3</a>), 20/eq (<a href="20-eq.html#SP10_1">§10.1</a>), 21/rl (<a href="21-rl.html#SP9">§9</a>, <a href="21-rl.html#SP19">§19</a>, <a href="21-rl.html#SP20">§20</a>), 21/rb (<a href="21-rb.html#SP23">§23</a>), 21/rl2 (<a href="21-rl2.html#SP10">§10</a>, <a href="21-rl2.html#SP14">§14</a>, <a href="21-rl2.html#SP14_1">§14.1</a>, <a href="21-rl2.html#SP20">§20</a>), 21/ac (<a href="21-ac.html#SP8">§8</a>, <a href="21-ac.html#SP14">§14</a>), 22/cs (<a href="22-cs.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>), 22/tp2 (<a href="22-tp2.html#SP4">§4</a>), 24/ch (<a href="24-ch.html#SP3">§3</a>, <a href="24-ch.html#SP6">§6</a>, <a href="24-ch.html#SP7">§7</a>, <a href="24-ch.html#SP8">§8</a>), 26/uo (<a href="26-uo.html#SP21_1">§21.1</a>), 26/lt (<a href="26-lt.html#SP3">§3</a>), 26/rt (<a href="26-rt.html#SP4">§4</a>), 26/ts (<a href="26-ts.html#SP10">§10</a>, <a href="26-ts.html#SP11">§11</a>), 27/cm (<a href="27-cm.html#SP2">§2</a>), 27/pc (<a href="27-pc.html#SP8_1">§8.1</a>, <a href="27-pc.html#SP9">§9</a>).</p>
|
||||
|
||||
<p class="endnote">The function InterNames::attach_memo is used in <a href="#SP3">§3</a>, 5/un (<a href="5-un.html#SP1">§1</a>), 5/nv (<a href="5-nv.html#SP16">§16</a>), 13/rsfk (<a href="13-rsfk.html#SP13_1_1">§13.1.1</a>), 15/pr (<a href="15-pr.html#SP27">§27</a>), 15/ep (<a href="15-ep.html#SP4">§4</a>), 15/vp (<a href="15-vp.html#SP3">§3</a>), 19/tb (<a href="19-tb.html#SP20">§20</a>), 21/rl2 (<a href="21-rl2.html#SP10">§10</a>), 21/ac (<a href="21-ac.html#SP6">§6</a>).</p>
|
||||
|
||||
|
@ -1702,7 +1702,7 @@
|
|||
|
||||
<p class="inwebparagraph"></p>
|
||||
|
||||
<p class="endnote">The function InterNames::iname is used in 5/nv (<a href="5-nv.html#SP16">§16</a>), 6/bp (<a href="6-bp.html#SP33">§33</a>, <a href="6-bp.html#SP42">§42</a>), 6/rlt (<a href="6-rlt.html#SP14">§14</a>, <a href="6-rlt.html#SP15">§15</a>, <a href="6-rlt.html#SP15_1_2">§15.1.2</a>, <a href="6-rlt.html#SP15_2">§15.2</a>, <a href="6-rlt.html#SP15_2_9_1">§15.2.9.1</a>, <a href="6-rlt.html#SP15_2_10_1">§15.2.10.1</a>, <a href="6-rlt.html#SP15_2_12_1">§15.2.12.1</a>, <a href="6-rlt.html#SP17">§17</a>, <a href="6-rlt.html#SP29_1">§29.1</a>), 6/nv (<a href="6-nv.html#SP17">§17</a>, <a href="6-nv.html#SP18">§18</a>, <a href="6-nv.html#SP18_1">§18.1</a>, <a href="6-nv.html#SP18_2">§18.2</a>), 8/ef (<a href="8-ef.html#SP19">§19</a>), 12/cdp (<a href="12-cdp.html#SP2_1_6_1_14">§2.1.6.1.14</a>), 13/kak (<a href="13-kak.html#SP5">§5</a>), 13/rsfk (<a href="13-rsfk.html#SP16_3">§16.3</a>, <a href="13-rsfk.html#SP18_1">§18.1</a>, <a href="13-rsfk.html#SP26">§26</a>, <a href="13-rsfk.html#SP26_5">§26.5</a>, <a href="13-rsfk.html#SP26_5_1">§26.5.1</a>, <a href="13-rsfk.html#SP26_6_1">§26.6.1</a>, <a href="13-rsfk.html#SP26_6_2">§26.6.2</a>, <a href="13-rsfk.html#SP26_6_3">§26.6.3</a>, <a href="13-rsfk.html#SP26_6_4">§26.6.4</a>, <a href="13-rsfk.html#SP26_6_5">§26.6.5</a>, <a href="13-rsfk.html#SP26_6_6">§26.6.6</a>, <a href="13-rsfk.html#SP27">§27</a>), 17/tl (<a href="17-tl.html#SP12">§12</a>), 17/rs (<a href="17-rs.html#SP7_3">§7.3</a>), 19/tc (<a href="19-tc.html#SP8">§8</a>), 19/rsft (<a href="19-rsft.html#SP1_2">§1.2</a>), 21/rl (<a href="21-rl.html#SP20">§20</a>), 21/rb (<a href="21-rb.html#SP23">§23</a>, <a href="21-rb.html#SP24">§24</a>), 21/rl2 (<a href="21-rl2.html#SP14_1">§14.1</a>), 24/ch (<a href="24-ch.html#SP4">§4</a>, <a href="24-ch.html#SP6">§6</a>, <a href="24-ch.html#SP7">§7</a>), 26/vm (<a href="26-vm.html#SP8">§8</a>), 26/uo (<a href="26-uo.html#SP21">§21</a>, <a href="26-uo.html#SP21_1">§21.1</a>), 26/iti (<a href="26-iti.html#SP10">§10</a>), 26/pl (<a href="26-pl.html#SP8">§8</a>), 26/ts (<a href="26-ts.html#SP10">§10</a>, <a href="26-ts.html#SP11">§11</a>), 27/ei (<a href="27-ei.html#SP3">§3</a>, <a href="27-ei.html#SP4">§4</a>), 27/pc (<a href="27-pc.html#SP7">§7</a>).</p>
|
||||
<p class="endnote">The function InterNames::iname is used in 5/nv (<a href="5-nv.html#SP16">§16</a>), 6/bp (<a href="6-bp.html#SP33">§33</a>, <a href="6-bp.html#SP42">§42</a>), 6/rlt (<a href="6-rlt.html#SP14">§14</a>, <a href="6-rlt.html#SP15">§15</a>, <a href="6-rlt.html#SP15_1_2">§15.1.2</a>, <a href="6-rlt.html#SP15_2">§15.2</a>, <a href="6-rlt.html#SP15_2_9_1">§15.2.9.1</a>, <a href="6-rlt.html#SP15_2_10_1">§15.2.10.1</a>, <a href="6-rlt.html#SP15_2_12_1">§15.2.12.1</a>, <a href="6-rlt.html#SP17">§17</a>, <a href="6-rlt.html#SP29_1">§29.1</a>), 6/nv (<a href="6-nv.html#SP17">§17</a>, <a href="6-nv.html#SP18">§18</a>, <a href="6-nv.html#SP18_1">§18.1</a>, <a href="6-nv.html#SP18_2">§18.2</a>), 8/ef (<a href="8-ef.html#SP19">§19</a>), 12/cdp (<a href="12-cdp.html#SP2_1_6_1_14">§2.1.6.1.14</a>), 13/kak (<a href="13-kak.html#SP5">§5</a>), 13/rsfk (<a href="13-rsfk.html#SP16_3">§16.3</a>, <a href="13-rsfk.html#SP18_1">§18.1</a>, <a href="13-rsfk.html#SP26">§26</a>, <a href="13-rsfk.html#SP26_5">§26.5</a>, <a href="13-rsfk.html#SP26_5_1">§26.5.1</a>, <a href="13-rsfk.html#SP26_6_1">§26.6.1</a>, <a href="13-rsfk.html#SP26_6_2">§26.6.2</a>, <a href="13-rsfk.html#SP26_6_3">§26.6.3</a>, <a href="13-rsfk.html#SP26_6_4">§26.6.4</a>, <a href="13-rsfk.html#SP26_6_5">§26.6.5</a>, <a href="13-rsfk.html#SP26_6_6">§26.6.6</a>, <a href="13-rsfk.html#SP27">§27</a>), 17/tl (<a href="17-tl.html#SP12">§12</a>), 17/rs (<a href="17-rs.html#SP7_3">§7.3</a>), 19/tc (<a href="19-tc.html#SP8">§8</a>), 19/rsft (<a href="19-rsft.html#SP1_2">§1.2</a>), 21/rl (<a href="21-rl.html#SP20">§20</a>), 21/rb (<a href="21-rb.html#SP23">§23</a>, <a href="21-rb.html#SP24">§24</a>), 21/rl2 (<a href="21-rl2.html#SP14_1">§14.1</a>), 24/ch (<a href="24-ch.html#SP4">§4</a>, <a href="24-ch.html#SP7">§7</a>), 26/vm (<a href="26-vm.html#SP8">§8</a>), 26/uo (<a href="26-uo.html#SP21">§21</a>, <a href="26-uo.html#SP21_1">§21.1</a>), 26/iti (<a href="26-iti.html#SP10">§10</a>), 26/pl (<a href="26-pl.html#SP8">§8</a>), 26/ts (<a href="26-ts.html#SP10">§10</a>, <a href="26-ts.html#SP11">§11</a>), 27/ei (<a href="27-ei.html#SP3">§3</a>, <a href="27-ei.html#SP4">§4</a>), 27/pc (<a href="27-pc.html#SP7">§7</a>).</p>
|
||||
|
||||
<hr class="tocbar">
|
||||
<ul class="toc"><li><a href="27-cm.html">Back to 'Compilation Modules'</a></li><li><a href="27-pc.html">Continue with 'Packaging'</a></li></ul><hr class="tocbar">
|
||||
|
|
|
@ -35,6 +35,7 @@
|
|||
<span class="identifier">inter_symbol</span><span class="plain"> *</span><span class="identifier">table_ptype</span><span class="plain"> = </span><span class="identifier">NULL</span><span class="plain">;</span>
|
||||
<span class="identifier">inter_symbol</span><span class="plain"> *</span><span class="identifier">table_column_ptype</span><span class="plain"> = </span><span class="identifier">NULL</span><span class="plain">;</span>
|
||||
<span class="identifier">inter_symbol</span><span class="plain"> *</span><span class="identifier">relation_ptype</span><span class="plain"> = </span><span class="identifier">NULL</span><span class="plain">;</span>
|
||||
<span class="identifier">inter_symbol</span><span class="plain"> *</span><span class="identifier">data_ptype</span><span class="plain"> = </span><span class="identifier">NULL</span><span class="plain">;</span>
|
||||
</pre>
|
||||
|
||||
<p class="inwebparagraph"></p>
|
||||
|
@ -88,6 +89,8 @@
|
|||
<span class="functiontext">Emit::guard</span><span class="plain">(</span><span class="identifier">Inter::PackageType::new_packagetype</span><span class="plain">(</span><span class="functiontext">Emit::IRS</span><span class="plain">(), </span><span class="identifier">table_column_ptype</span><span class="plain">, </span><span class="functiontext">Emit::baseline</span><span class="plain">(</span><span class="functiontext">Emit::IRS</span><span class="plain">()), </span><span class="identifier">NULL</span><span class="plain">));</span>
|
||||
<span class="identifier">relation_ptype</span><span class="plain"> = </span><span class="functiontext">Emit::new_symbol</span><span class="plain">(</span><span class="identifier">Inter::get_global_symbols</span><span class="plain">(</span><span class="functiontext">Emit::repository</span><span class="plain">()), </span><span class="identifier">I</span><span class="string">"_relation"</span><span class="plain">);</span>
|
||||
<span class="functiontext">Emit::guard</span><span class="plain">(</span><span class="identifier">Inter::PackageType::new_packagetype</span><span class="plain">(</span><span class="functiontext">Emit::IRS</span><span class="plain">(), </span><span class="identifier">relation_ptype</span><span class="plain">, </span><span class="functiontext">Emit::baseline</span><span class="plain">(</span><span class="functiontext">Emit::IRS</span><span class="plain">()), </span><span class="identifier">NULL</span><span class="plain">));</span>
|
||||
<span class="identifier">data_ptype</span><span class="plain"> = </span><span class="functiontext">Emit::new_symbol</span><span class="plain">(</span><span class="identifier">Inter::get_global_symbols</span><span class="plain">(</span><span class="functiontext">Emit::repository</span><span class="plain">()), </span><span class="identifier">I</span><span class="string">"_data"</span><span class="plain">);</span>
|
||||
<span class="functiontext">Emit::guard</span><span class="plain">(</span><span class="identifier">Inter::PackageType::new_packagetype</span><span class="plain">(</span><span class="functiontext">Emit::IRS</span><span class="plain">(), </span><span class="identifier">data_ptype</span><span class="plain">, </span><span class="functiontext">Emit::baseline</span><span class="plain">(</span><span class="functiontext">Emit::IRS</span><span class="plain">()), </span><span class="identifier">NULL</span><span class="plain">));</span>
|
||||
<span class="plain">}</span>
|
||||
</pre>
|
||||
|
||||
|
@ -127,6 +130,7 @@
|
|||
<span class="definitionkeyword">enum</span> <span class="constant">SUBSTITUTION_PR_COUNTER</span>
|
||||
<span class="definitionkeyword">enum</span> <span class="constant">SUBSTITUTIONF_PR_COUNTER</span>
|
||||
<span class="definitionkeyword">enum</span> <span class="constant">MISC_PR_COUNTER</span>
|
||||
<span class="definitionkeyword">enum</span> <span class="constant">DATA_PR_COUNTER</span>
|
||||
<span class="definitionkeyword">enum</span> <span class="constant">MAX_PR_COUNTER</span>
|
||||
</pre>
|
||||
|
||||
|
@ -217,7 +221,7 @@
|
|||
|
||||
<p class="endnote">The function Packaging::stateless is used in 15/epv (<a href="15-epv.html#SP2">§2</a>).</p>
|
||||
|
||||
<p class="endnote">The function Packaging::enter_home_of is used in 6/rlt (<a href="6-rlt.html#SP15_1">§15.1</a>), 15/pr (<a href="15-pr.html#SP27">§27</a>), 17/ts (<a href="17-ts.html#SP11">§11</a>), 19/rsft (<a href="19-rsft.html#SP1_1_1_1">§1.1.1.1</a>, <a href="19-rsft.html#SP1_1_1_1_1">§1.1.1.1.1</a>), 21/rl2 (<a href="21-rl2.html#SP20">§20</a>), 21/ac (<a href="21-ac.html#SP6">§6</a>), 26/rt (<a href="26-rt.html#SP1">§1</a>).</p>
|
||||
<p class="endnote">The function Packaging::enter_home_of is used in 6/rlt (<a href="6-rlt.html#SP14">§14</a>, <a href="6-rlt.html#SP15_1">§15.1</a>), 15/pr (<a href="15-pr.html#SP27">§27</a>), 17/ts (<a href="17-ts.html#SP11">§11</a>), 19/rsft (<a href="19-rsft.html#SP1_1_1_1">§1.1.1.1</a>, <a href="19-rsft.html#SP1_1_1_1_1">§1.1.1.1.1</a>), 21/rl2 (<a href="21-rl2.html#SP20">§20</a>), 21/ac (<a href="21-ac.html#SP6">§6</a>), 26/rt (<a href="26-rt.html#SP1">§1</a>).</p>
|
||||
|
||||
<p class="endnote">The function Packaging::enter_current_enclosure is used in 13/rsfk (<a href="13-rsfk.html#SP4">§4</a>), 17/tl (<a href="17-tl.html#SP16">§16</a>), 17/ts (<a href="17-ts.html#SP8_1">§8.1</a>), 18/lc (<a href="18-lc.html#SP11">§11</a>).</p>
|
||||
|
||||
|
@ -259,6 +263,7 @@
|
|||
<span class="plain">(</span><span class="identifier">S</span><span class="plain">-</span><span class="element">>eventual_type</span><span class="plain"> == </span><span class="identifier">relation_ptype</span><span class="plain">) ||</span>
|
||||
<span class="plain">(</span><span class="identifier">S</span><span class="plain">-</span><span class="element">>eventual_type</span><span class="plain"> == </span><span class="identifier">table_ptype</span><span class="plain">) ||</span>
|
||||
<span class="plain">(</span><span class="identifier">S</span><span class="plain">-</span><span class="element">>eventual_type</span><span class="plain"> == </span><span class="identifier">table_column_ptype</span><span class="plain">) ||</span>
|
||||
<span class="plain">(</span><span class="identifier">S</span><span class="plain">-</span><span class="element">>eventual_type</span><span class="plain"> == </span><span class="identifier">data_ptype</span><span class="plain">) ||</span>
|
||||
<span class="plain">(</span><span class="identifier">S</span><span class="plain">-</span><span class="element">>parent_request</span><span class="plain"> == </span><span class="identifier">NULL</span><span class="plain">)) {</span>
|
||||
<span class="identifier">current_enclosure</span><span class="plain"> = </span><span class="identifier">S</span><span class="plain">;</span>
|
||||
<span class="reserved">break</span><span class="plain">;</span>
|
||||
|
@ -304,9 +309,9 @@
|
|||
|
||||
<p class="inwebparagraph"></p>
|
||||
|
||||
<p class="endnote">The function Packaging::enter is used in <a href="#SP5">§5</a>, 4/am (<a href="4-am.html#SP34_2">§34.2</a>), 5/ins (<a href="5-ins.html#SP34">§34</a>), 5/nv (<a href="5-nv.html#SP16">§16</a>), 6/nv (<a href="6-nv.html#SP18">§18</a>), 13/rsfk (<a href="13-rsfk.html#SP16_1">§16.1</a>, <a href="13-rsfk.html#SP26">§26</a>), 15/epv (<a href="15-epv.html#SP2">§2</a>), 16/ic (<a href="16-ic.html#SP10">§10</a>), 17/rs (<a href="17-rs.html#SP6_1">§6.1</a>, <a href="17-rs.html#SP7_1">§7.1</a>), 19/rsft (<a href="19-rsft.html#SP1_3">§1.3</a>), 21/rl (<a href="21-rl.html#SP9">§9</a>), 21/rl2 (<a href="21-rl2.html#SP14">§14</a>, <a href="21-rl2.html#SP20">§20</a>), 21/ac (<a href="21-ac.html#SP8">§8</a>, <a href="21-ac.html#SP14">§14</a>), 22/cs (<a href="22-cs.html#SP8">§8</a>), 22/ph (<a href="22-ph.html#SP12">§12</a>), 22/tp2 (<a href="22-tp2.html#SP4">§4</a>), 24/ch (<a href="24-ch.html#SP8">§8</a>), 27/ei (<a href="27-ei.html#SP3">§3</a>, <a href="27-ei.html#SP4">§4</a>).</p>
|
||||
<p class="endnote">The function Packaging::enter is used in <a href="#SP5">§5</a>, 4/am (<a href="4-am.html#SP34_2">§34.2</a>), 5/ins (<a href="5-ins.html#SP34">§34</a>), 5/nv (<a href="5-nv.html#SP16">§16</a>), 6/nv (<a href="6-nv.html#SP18">§18</a>), 13/rsfk (<a href="13-rsfk.html#SP16_1">§16.1</a>, <a href="13-rsfk.html#SP26">§26</a>), 15/epv (<a href="15-epv.html#SP2">§2</a>), 16/ic (<a href="16-ic.html#SP10">§10</a>), 17/rs (<a href="17-rs.html#SP6_1">§6.1</a>, <a href="17-rs.html#SP7_1">§7.1</a>), 19/rsft (<a href="19-rsft.html#SP1_3">§1.3</a>), 21/rl (<a href="21-rl.html#SP9">§9</a>), 21/rl2 (<a href="21-rl2.html#SP14">§14</a>, <a href="21-rl2.html#SP20">§20</a>), 21/ac (<a href="21-ac.html#SP8">§8</a>, <a href="21-ac.html#SP14">§14</a>), 22/cs (<a href="22-cs.html#SP8">§8</a>), 22/ph (<a href="22-ph.html#SP12">§12</a>), 22/tp2 (<a href="22-tp2.html#SP4">§4</a>), 24/ch (<a href="24-ch.html#SP6">§6</a>, <a href="24-ch.html#SP8">§8</a>), 27/ei (<a href="27-ei.html#SP3">§3</a>, <a href="27-ei.html#SP4">§4</a>).</p>
|
||||
|
||||
<p class="endnote">The function Packaging::exit is used in 5/ins (<a href="5-ins.html#SP34">§34</a>), 5/nv (<a href="5-nv.html#SP16">§16</a>), 6/rlt (<a href="6-rlt.html#SP15_1">§15.1</a>), 6/nv (<a href="6-nv.html#SP18">§18</a>), 13/rsfk (<a href="13-rsfk.html#SP4">§4</a>, <a href="13-rsfk.html#SP16_1">§16.1</a>, <a href="13-rsfk.html#SP26">§26</a>), 15/pr (<a href="15-pr.html#SP27">§27</a>), 15/epv (<a href="15-epv.html#SP2">§2</a>), 16/ic (<a href="16-ic.html#SP10">§10</a>), 17/tl (<a href="17-tl.html#SP16">§16</a>), 17/ts (<a href="17-ts.html#SP8_1">§8.1</a>, <a href="17-ts.html#SP11">§11</a>), 17/rs (<a href="17-rs.html#SP6_1">§6.1</a>, <a href="17-rs.html#SP7_1">§7.1</a>), 18/lc (<a href="18-lc.html#SP11">§11</a>), 19/rsft (<a href="19-rsft.html#SP1_1_1_1">§1.1.1.1</a>, <a href="19-rsft.html#SP1_1_1_1_1">§1.1.1.1.1</a>, <a href="19-rsft.html#SP1_3">§1.3</a>), 21/rl (<a href="21-rl.html#SP9">§9</a>), 21/rl2 (<a href="21-rl2.html#SP14">§14</a>, <a href="21-rl2.html#SP20">§20</a>), 21/ac (<a href="21-ac.html#SP6">§6</a>, <a href="21-ac.html#SP8">§8</a>, <a href="21-ac.html#SP14">§14</a>), 22/cs (<a href="22-cs.html#SP8">§8</a>), 22/ph (<a href="22-ph.html#SP12">§12</a>), 22/tp2 (<a href="22-tp2.html#SP4">§4</a>), 24/ch (<a href="24-ch.html#SP8">§8</a>), 26/rt (<a href="26-rt.html#SP4">§4</a>), 27/ei (<a href="27-ei.html#SP3">§3</a>, <a href="27-ei.html#SP4">§4</a>).</p>
|
||||
<p class="endnote">The function Packaging::exit is used in 5/ins (<a href="5-ins.html#SP34">§34</a>), 5/nv (<a href="5-nv.html#SP16">§16</a>), 6/rlt (<a href="6-rlt.html#SP14">§14</a>, <a href="6-rlt.html#SP15_1">§15.1</a>), 6/nv (<a href="6-nv.html#SP18">§18</a>), 13/rsfk (<a href="13-rsfk.html#SP4">§4</a>, <a href="13-rsfk.html#SP16_1">§16.1</a>, <a href="13-rsfk.html#SP26">§26</a>), 15/pr (<a href="15-pr.html#SP27">§27</a>), 15/epv (<a href="15-epv.html#SP2">§2</a>), 16/ic (<a href="16-ic.html#SP10">§10</a>), 17/tl (<a href="17-tl.html#SP16">§16</a>), 17/ts (<a href="17-ts.html#SP8_1">§8.1</a>, <a href="17-ts.html#SP11">§11</a>), 17/rs (<a href="17-rs.html#SP6_1">§6.1</a>, <a href="17-rs.html#SP7_1">§7.1</a>), 18/lc (<a href="18-lc.html#SP11">§11</a>), 19/rsft (<a href="19-rsft.html#SP1_1_1_1">§1.1.1.1</a>, <a href="19-rsft.html#SP1_1_1_1_1">§1.1.1.1.1</a>, <a href="19-rsft.html#SP1_3">§1.3</a>), 21/rl (<a href="21-rl.html#SP9">§9</a>), 21/rl2 (<a href="21-rl2.html#SP14">§14</a>, <a href="21-rl2.html#SP20">§20</a>), 21/ac (<a href="21-ac.html#SP6">§6</a>, <a href="21-ac.html#SP8">§8</a>, <a href="21-ac.html#SP14">§14</a>), 22/cs (<a href="22-cs.html#SP8">§8</a>), 22/ph (<a href="22-ph.html#SP12">§12</a>), 22/tp2 (<a href="22-tp2.html#SP4">§4</a>), 24/ch (<a href="24-ch.html#SP6">§6</a>, <a href="24-ch.html#SP8">§8</a>), 26/rt (<a href="26-rt.html#SP4">§4</a>), 27/ei (<a href="27-ei.html#SP3">§3</a>, <a href="27-ei.html#SP4">§4</a>).</p>
|
||||
|
||||
<p class="endnote">The function Packaging::incarnate is used in 21/rl (<a href="21-rl.html#SP9">§9</a>), 27/ei (<a href="27-ei.html#SP3">§3</a>).</p>
|
||||
|
||||
|
@ -386,6 +391,7 @@
|
|||
<span class="definitionkeyword">enum</span> <span class="constant">CHRONOLOGY_SUBPACKAGE</span>
|
||||
<span class="definitionkeyword">enum</span> <span class="constant">LISTING_SUBPACKAGE</span>
|
||||
<span class="definitionkeyword">enum</span> <span class="constant">EQUATIONS_SUBPACKAGE</span>
|
||||
<span class="definitionkeyword">enum</span> <span class="constant">BIBLIOGRAPHIC_SUBPACKAGE</span>
|
||||
<span class="definitionkeyword">enum</span> <span class="constant">MAX_SUBPACKAGE</span>
|
||||
</pre>
|
||||
|
||||
|
@ -447,9 +453,9 @@
|
|||
|
||||
<p class="endnote">The function Packaging::request_kinds appears nowhere else.</p>
|
||||
|
||||
<p class="endnote">The function Packaging::request_resource is used in 5/ins (<a href="5-ins.html#SP14">§14</a>), 5/nv (<a href="5-nv.html#SP16">§16</a>), 6/bp (<a href="6-bp.html#SP31">§31</a>), 15/pr (<a href="15-pr.html#SP27">§27</a>), 15/ma (<a href="15-ma.html#SP11_3">§11.3</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#SP5">§5</a>), 21/rb (<a href="21-rb.html#SP23">§23</a>), 21/rl2 (<a href="21-rl2.html#SP10">§10</a>), 21/ac (<a href="21-ac.html#SP6">§6</a>), 22/ph (<a href="22-ph.html#SP11">§11</a>), 22/tp (<a href="22-tp.html#SP5">§5</a>), 24/ch (<a href="24-ch.html#SP3">§3</a>), 26/lt (<a href="26-lt.html#SP3">§3</a>), 27/ei (<a href="27-ei.html#SP3">§3</a>).</p>
|
||||
<p class="endnote">The function Packaging::request_resource is used in 5/ins (<a href="5-ins.html#SP14">§14</a>), 5/nv (<a href="5-nv.html#SP16">§16</a>), 6/bp (<a href="6-bp.html#SP31">§31</a>), 6/rlt (<a href="6-rlt.html#SP14">§14</a>), 15/pr (<a href="15-pr.html#SP27">§27</a>), 15/ma (<a href="15-ma.html#SP11_3">§11.3</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#SP5">§5</a>), 21/rb (<a href="21-rb.html#SP23">§23</a>), 21/rl2 (<a href="21-rl2.html#SP10">§10</a>), 21/ac (<a href="21-ac.html#SP6">§6</a>), 22/ph (<a href="22-ph.html#SP11">§11</a>), 22/tp (<a href="22-tp.html#SP5">§5</a>), 24/ch (<a href="24-ch.html#SP3">§3</a>), 26/lt (<a href="26-lt.html#SP3">§3</a>), 27/ei (<a href="27-ei.html#SP3">§3</a>).</p>
|
||||
|
||||
<p class="endnote">The function Packaging::synoptic_resource is used in 6/rlt (<a href="6-rlt.html#SP15">§15</a>, <a href="6-rlt.html#SP17">§17</a>, <a href="6-rlt.html#SP29_1">§29.1</a>), 8/ef (<a href="8-ef.html#SP19">§19</a>), 13/rsfk (<a href="13-rsfk.html#SP16_3">§16.3</a>, <a href="13-rsfk.html#SP26_6_1">§26.6.1</a>, <a href="13-rsfk.html#SP26_6_2">§26.6.2</a>, <a href="13-rsfk.html#SP26_6_3">§26.6.3</a>, <a href="13-rsfk.html#SP26_6_4">§26.6.4</a>, <a href="13-rsfk.html#SP26_6_5">§26.6.5</a>, <a href="13-rsfk.html#SP26_6_6">§26.6.6</a>, <a href="13-rsfk.html#SP27">§27</a>), 19/tc (<a href="19-tc.html#SP8">§8</a>), 21/rl (<a href="21-rl.html#SP20">§20</a>), 21/rl2 (<a href="21-rl2.html#SP14">§14</a>, <a href="21-rl2.html#SP14_1">§14.1</a>, <a href="21-rl2.html#SP20">§20</a>), 21/ac (<a href="21-ac.html#SP8">§8</a>, <a href="21-ac.html#SP14">§14</a>), 22/cs (<a href="22-cs.html#SP8">§8</a>), 22/tp2 (<a href="22-tp2.html#SP4">§4</a>), 24/ch (<a href="24-ch.html#SP7">§7</a>, <a href="24-ch.html#SP8">§8</a>), 26/ts (<a href="26-ts.html#SP10">§10</a>, <a href="26-ts.html#SP11">§11</a>).</p>
|
||||
<p class="endnote">The function Packaging::synoptic_resource is used in 6/rlt (<a href="6-rlt.html#SP15">§15</a>, <a href="6-rlt.html#SP17">§17</a>, <a href="6-rlt.html#SP29_1">§29.1</a>), 8/ef (<a href="8-ef.html#SP19">§19</a>), 13/rsfk (<a href="13-rsfk.html#SP16_3">§16.3</a>, <a href="13-rsfk.html#SP26_6_1">§26.6.1</a>, <a href="13-rsfk.html#SP26_6_2">§26.6.2</a>, <a href="13-rsfk.html#SP26_6_3">§26.6.3</a>, <a href="13-rsfk.html#SP26_6_4">§26.6.4</a>, <a href="13-rsfk.html#SP26_6_5">§26.6.5</a>, <a href="13-rsfk.html#SP26_6_6">§26.6.6</a>, <a href="13-rsfk.html#SP27">§27</a>), 19/tc (<a href="19-tc.html#SP8">§8</a>), 21/rl (<a href="21-rl.html#SP20">§20</a>), 21/rl2 (<a href="21-rl2.html#SP14">§14</a>, <a href="21-rl2.html#SP14_1">§14.1</a>, <a href="21-rl2.html#SP20">§20</a>), 21/ac (<a href="21-ac.html#SP8">§8</a>, <a href="21-ac.html#SP14">§14</a>), 22/cs (<a href="22-cs.html#SP8">§8</a>), 22/tp2 (<a href="22-tp2.html#SP4">§4</a>), 24/ch (<a href="24-ch.html#SP6">§6</a>, <a href="24-ch.html#SP7">§7</a>, <a href="24-ch.html#SP8">§8</a>), 26/ts (<a href="26-ts.html#SP10">§10</a>, <a href="26-ts.html#SP11">§11</a>).</p>
|
||||
|
||||
<p class="endnote">The structure subpackage_requests is private to this section.</p>
|
||||
|
||||
|
@ -480,6 +486,7 @@
|
|||
<span class="reserved">case</span><span class="plain"> </span><span class="constant">CHRONOLOGY_SUBPACKAGE</span><span class="plain">: </span><span class="identifier">N</span><span class="plain"> = </span><span class="identifier">I</span><span class="string">"chronology"</span><span class="plain">; </span><span class="reserved">break</span><span class="plain">;</span>
|
||||
<span class="reserved">case</span><span class="plain"> </span><span class="constant">LISTING_SUBPACKAGE</span><span class="plain">: </span><span class="identifier">N</span><span class="plain"> = </span><span class="identifier">I</span><span class="string">"listing"</span><span class="plain">; </span><span class="reserved">break</span><span class="plain">;</span>
|
||||
<span class="reserved">case</span><span class="plain"> </span><span class="constant">EQUATIONS_SUBPACKAGE</span><span class="plain">: </span><span class="identifier">N</span><span class="plain"> = </span><span class="identifier">I</span><span class="string">"equations"</span><span class="plain">; </span><span class="reserved">break</span><span class="plain">;</span>
|
||||
<span class="reserved">case</span><span class="plain"> </span><span class="constant">BIBLIOGRAPHIC_SUBPACKAGE</span><span class="plain">: </span><span class="identifier">N</span><span class="plain"> = </span><span class="identifier">I</span><span class="string">"bibliographic"</span><span class="plain">; </span><span class="reserved">break</span><span class="plain">;</span>
|
||||
<span class="reserved">default</span><span class="plain">: </span><span class="identifier">internal_error</span><span class="plain">(</span><span class="string">"nameless resource"</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="functiontext">InterNames::one_off</span><span class="plain">(</span><span class="identifier">N</span><span class="plain">, </span><span class="identifier">parent</span><span class="plain">);</span>
|
||||
|
@ -529,6 +536,7 @@
|
|||
<span class="reserved">case</span><span class="plain"> </span><span class="constant">SUBSTITUTION_PR_COUNTER</span><span class="plain">: </span><span class="identifier">WRITE_TO</span><span class="plain">(</span><span class="identifier">P</span><span class="plain">, </span><span class="string">"ts"</span><span class="plain">); </span><span class="reserved">break</span><span class="plain">;</span>
|
||||
<span class="reserved">case</span><span class="plain"> </span><span class="constant">SUBSTITUTIONF_PR_COUNTER</span><span class="plain">: </span><span class="identifier">WRITE_TO</span><span class="plain">(</span><span class="identifier">P</span><span class="plain">, </span><span class="string">"ts_fn"</span><span class="plain">); </span><span class="reserved">break</span><span class="plain">;</span>
|
||||
<span class="reserved">case</span><span class="plain"> </span><span class="constant">MISC_PR_COUNTER</span><span class="plain">: </span><span class="identifier">WRITE_TO</span><span class="plain">(</span><span class="identifier">P</span><span class="plain">, </span><span class="string">"misc_const"</span><span class="plain">); </span><span class="reserved">break</span><span class="plain">;</span>
|
||||
<span class="reserved">case</span><span class="plain"> </span><span class="constant">DATA_PR_COUNTER</span><span class="plain">: </span><span class="identifier">WRITE_TO</span><span class="plain">(</span><span class="identifier">P</span><span class="plain">, </span><span class="string">"data"</span><span class="plain">); </span><span class="reserved">break</span><span class="plain">;</span>
|
||||
<span class="reserved">default</span><span class="plain">: </span><span class="identifier">internal_error</span><span class="plain">(</span><span class="string">"unimplemented"</span><span class="plain">);</span>
|
||||
<span class="plain">}</span>
|
||||
<span class="identifier">WRITE_TO</span><span class="plain">(</span><span class="identifier">P</span><span class="plain">, </span><span class="string">"_%d"</span><span class="plain">, ++(</span><span class="identifier">R</span><span class="plain">-</span><span class="element">>counters</span><span class="plain">[</span><span class="identifier">what_for</span><span class="plain">]));</span>
|
||||
|
@ -588,7 +596,7 @@
|
|||
|
||||
<p class="endnote">The function Packaging::function_text is used in 21/rl (<a href="21-rl.html#SP9">§9</a>).</p>
|
||||
|
||||
<p class="endnote">The function Packaging::house is used in 13/rsfk (<a href="13-rsfk.html#SP13_1_1">§13.1.1</a>, <a href="13-rsfk.html#SP26">§26</a>), 16/ic (<a href="16-ic.html#SP10">§10</a>), 27/ei (<a href="27-ei.html#SP4">§4</a>).</p>
|
||||
<p class="endnote">The function Packaging::house is used in 6/rlt (<a href="6-rlt.html#SP14">§14</a>), 13/rsfk (<a href="13-rsfk.html#SP13_1_1">§13.1.1</a>, <a href="13-rsfk.html#SP26">§26</a>), 16/ic (<a href="16-ic.html#SP10">§10</a>), 27/ei (<a href="27-ei.html#SP4">§4</a>).</p>
|
||||
|
||||
<p class="endnote">The function Packaging::house_with is used in 26/rt (<a href="26-rt.html#SP4">§4</a>), 27/ei (<a href="27-ei.html#SP4">§4</a>), 27/in (<a href="27-in.html#SP3">§3</a>).</p>
|
||||
|
||||
|
|
|
@ -1204,33 +1204,45 @@ logical properties of the two terms of the BP being defined.
|
|||
<span class="reserved">inter_name</span><span class="plain"> *</span><span class="identifier">REL_BLOCK_HEADER_symbol</span><span class="plain"> = </span><span class="identifier">NULL</span><span class="plain">;</span>
|
||||
<span class="reserved">inter_name</span><span class="plain"> *</span><span class="identifier">TTF_iname</span><span class="plain"> = </span><span class="identifier">NULL</span><span class="plain">;</span>
|
||||
|
||||
<span class="reserved">inter_name</span><span class="plain"> *</span><span class="functiontext">Relations::compile_defined_relation_constant</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">inter_t</span><span class="plain"> </span><span class="identifier">val</span><span class="plain">) {</span>
|
||||
<span class="reserved">package_request</span><span class="plain"> *</span><span class="identifier">PR</span><span class="plain"> = </span><span class="functiontext">Packaging::request_resource</span><span class="plain">(</span><span class="identifier">NULL</span><span class="plain">, </span><span class="constant">RELATIONS_SUBPACKAGE</span><span class="plain">);</span>
|
||||
<span class="reserved">inter_name</span><span class="plain"> *</span><span class="identifier">iname</span><span class="plain"> = </span><span class="functiontext">InterNames::iname</span><span class="plain">(</span><span class="identifier">id</span><span class="plain">);</span>
|
||||
<span class="functiontext">Packaging::house</span><span class="plain">(</span><span class="identifier">iname</span><span class="plain">, </span><span class="identifier">PR</span><span class="plain">);</span>
|
||||
<span class="reserved">packaging_state</span><span class="plain"> </span><span class="identifier">save</span><span class="plain"> = </span><span class="functiontext">Packaging::enter_home_of</span><span class="plain">(</span><span class="identifier">iname</span><span class="plain">);</span>
|
||||
<span class="functiontext">Emit::named_numeric_constant_hex</span><span class="plain">(</span><span class="identifier">iname</span><span class="plain">, </span><span class="identifier">val</span><span class="plain">);</span>
|
||||
<span class="functiontext">Packaging::exit</span><span class="plain">(</span><span class="identifier">save</span><span class="plain">);</span>
|
||||
<span class="reserved">return</span><span class="plain"> </span><span class="identifier">iname</span><span class="plain">;</span>
|
||||
<span class="plain">}</span>
|
||||
|
||||
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">Relations::compile_defined_relation_constants</span><span class="plain">(</span><span class="reserved">void</span><span class="plain">) {</span>
|
||||
<span class="identifier">RELS_SYMMETRIC_iname</span><span class="plain"> = </span><span class="functiontext">Emit::named_numeric_constant_hex</span><span class="plain">(</span><span class="functiontext">InterNames::iname</span><span class="plain">(</span><span class="constant">RELS_SYMMETRIC_INAME</span><span class="plain">), (</span><span class="identifier">inter_t</span><span class="plain">) 0</span><span class="identifier">x8000</span><span class="plain">);</span>
|
||||
<span class="identifier">RELS_EQUIVALENCE_iname</span><span class="plain"> = </span><span class="functiontext">Emit::named_numeric_constant_hex</span><span class="plain">(</span><span class="functiontext">InterNames::iname</span><span class="plain">(</span><span class="constant">RELS_EQUIVALENCE_INAME</span><span class="plain">), (</span><span class="identifier">inter_t</span><span class="plain">) 0</span><span class="identifier">x4000</span><span class="plain">);</span>
|
||||
<span class="identifier">RELS_X_UNIQUE_iname</span><span class="plain"> = </span><span class="functiontext">Emit::named_numeric_constant_hex</span><span class="plain">(</span><span class="functiontext">InterNames::iname</span><span class="plain">(</span><span class="constant">RELS_X_UNIQUE_INAME</span><span class="plain">), (</span><span class="identifier">inter_t</span><span class="plain">) 0</span><span class="identifier">x2000</span><span class="plain">);</span>
|
||||
<span class="identifier">RELS_Y_UNIQUE_iname</span><span class="plain"> = </span><span class="functiontext">Emit::named_numeric_constant_hex</span><span class="plain">(</span><span class="functiontext">InterNames::iname</span><span class="plain">(</span><span class="constant">RELS_Y_UNIQUE_INAME</span><span class="plain">), (</span><span class="identifier">inter_t</span><span class="plain">) 0</span><span class="identifier">x1000</span><span class="plain">);</span>
|
||||
<span class="identifier">RELS_TEST_iname</span><span class="plain"> = </span><span class="functiontext">Emit::named_numeric_constant_hex</span><span class="plain">(</span><span class="functiontext">InterNames::iname</span><span class="plain">(</span><span class="constant">RELS_TEST_INAME</span><span class="plain">), (</span><span class="identifier">inter_t</span><span class="plain">) 0</span><span class="identifier">x0800</span><span class="plain">);</span>
|
||||
<span class="identifier">RELS_ASSERT_TRUE_iname</span><span class="plain"> = </span><span class="functiontext">Emit::named_numeric_constant_hex</span><span class="plain">(</span><span class="functiontext">InterNames::iname</span><span class="plain">(</span><span class="constant">RELS_ASSERT_TRUE_INAME</span><span class="plain">), (</span><span class="identifier">inter_t</span><span class="plain">) 0</span><span class="identifier">x0400</span><span class="plain">);</span>
|
||||
<span class="identifier">RELS_ASSERT_FALSE_iname</span><span class="plain"> = </span><span class="functiontext">Emit::named_numeric_constant_hex</span><span class="plain">(</span><span class="functiontext">InterNames::iname</span><span class="plain">(</span><span class="constant">RELS_ASSERT_FALSE_INAME</span><span class="plain">), (</span><span class="identifier">inter_t</span><span class="plain">) 0</span><span class="identifier">x0200</span><span class="plain">);</span>
|
||||
<span class="identifier">RELS_SHOW_iname</span><span class="plain"> = </span><span class="functiontext">Emit::named_numeric_constant_hex</span><span class="plain">(</span><span class="functiontext">InterNames::iname</span><span class="plain">(</span><span class="constant">RELS_SHOW_INAME</span><span class="plain">), (</span><span class="identifier">inter_t</span><span class="plain">) 0</span><span class="identifier">x0100</span><span class="plain">);</span>
|
||||
<span class="identifier">RELS_ROUTE_FIND_iname</span><span class="plain"> = </span><span class="functiontext">Emit::named_numeric_constant_hex</span><span class="plain">(</span><span class="functiontext">InterNames::iname</span><span class="plain">(</span><span class="constant">RELS_ROUTE_FIND_INAME</span><span class="plain">), (</span><span class="identifier">inter_t</span><span class="plain">) 0</span><span class="identifier">x0080</span><span class="plain">);</span>
|
||||
<span class="identifier">RELS_ROUTE_FIND_COUNT_iname</span><span class="plain"> = </span><span class="functiontext">Emit::named_numeric_constant_hex</span><span class="plain">(</span><span class="functiontext">InterNames::iname</span><span class="plain">(</span><span class="constant">RELS_ROUTE_FIND_COUNT_INAME</span><span class="plain">), (</span><span class="identifier">inter_t</span><span class="plain">) 0</span><span class="identifier">x0040</span><span class="plain">);</span>
|
||||
<span class="identifier">RELS_LOOKUP_ANY_iname</span><span class="plain"> = </span><span class="functiontext">Emit::named_numeric_constant_hex</span><span class="plain">(</span><span class="functiontext">InterNames::iname</span><span class="plain">(</span><span class="constant">RELS_LOOKUP_ANY_INAME</span><span class="plain">), (</span><span class="identifier">inter_t</span><span class="plain">) 0</span><span class="identifier">x0008</span><span class="plain">);</span>
|
||||
<span class="identifier">RELS_LOOKUP_ALL_X_iname</span><span class="plain"> = </span><span class="functiontext">Emit::named_numeric_constant_hex</span><span class="plain">(</span><span class="functiontext">InterNames::iname</span><span class="plain">(</span><span class="constant">RELS_LOOKUP_ALL_X_INAME</span><span class="plain">), (</span><span class="identifier">inter_t</span><span class="plain">) 0</span><span class="identifier">x0004</span><span class="plain">);</span>
|
||||
<span class="identifier">RELS_LOOKUP_ALL_Y_iname</span><span class="plain"> = </span><span class="functiontext">Emit::named_numeric_constant_hex</span><span class="plain">(</span><span class="functiontext">InterNames::iname</span><span class="plain">(</span><span class="constant">RELS_LOOKUP_ALL_Y_INAME</span><span class="plain">), (</span><span class="identifier">inter_t</span><span class="plain">) 0</span><span class="identifier">x0002</span><span class="plain">);</span>
|
||||
<span class="identifier">RELS_LIST_iname</span><span class="plain"> = </span><span class="functiontext">Emit::named_numeric_constant_hex</span><span class="plain">(</span><span class="functiontext">InterNames::iname</span><span class="plain">(</span><span class="constant">RELS_LIST_INAME</span><span class="plain">), (</span><span class="identifier">inter_t</span><span class="plain">) 0</span><span class="identifier">x0001</span><span class="plain">);</span>
|
||||
<span class="identifier">RELS_SYMMETRIC_iname</span><span class="plain"> = </span><span class="functiontext">Relations::compile_defined_relation_constant</span><span class="plain">(</span><span class="constant">RELS_SYMMETRIC_INAME</span><span class="plain">, 0</span><span class="identifier">x8000</span><span class="plain">);</span>
|
||||
<span class="identifier">RELS_EQUIVALENCE_iname</span><span class="plain"> = </span><span class="functiontext">Relations::compile_defined_relation_constant</span><span class="plain">(</span><span class="constant">RELS_EQUIVALENCE_INAME</span><span class="plain">, 0</span><span class="identifier">x4000</span><span class="plain">);</span>
|
||||
<span class="identifier">RELS_X_UNIQUE_iname</span><span class="plain"> = </span><span class="functiontext">Relations::compile_defined_relation_constant</span><span class="plain">(</span><span class="constant">RELS_X_UNIQUE_INAME</span><span class="plain">, 0</span><span class="identifier">x2000</span><span class="plain">);</span>
|
||||
<span class="identifier">RELS_Y_UNIQUE_iname</span><span class="plain"> = </span><span class="functiontext">Relations::compile_defined_relation_constant</span><span class="plain">(</span><span class="constant">RELS_Y_UNIQUE_INAME</span><span class="plain">, 0</span><span class="identifier">x1000</span><span class="plain">);</span>
|
||||
<span class="identifier">RELS_TEST_iname</span><span class="plain"> = </span><span class="functiontext">Relations::compile_defined_relation_constant</span><span class="plain">(</span><span class="constant">RELS_TEST_INAME</span><span class="plain">, 0</span><span class="identifier">x0800</span><span class="plain">);</span>
|
||||
<span class="identifier">RELS_ASSERT_TRUE_iname</span><span class="plain"> = </span><span class="functiontext">Relations::compile_defined_relation_constant</span><span class="plain">(</span><span class="constant">RELS_ASSERT_TRUE_INAME</span><span class="plain">, 0</span><span class="identifier">x0400</span><span class="plain">);</span>
|
||||
<span class="identifier">RELS_ASSERT_FALSE_iname</span><span class="plain"> = </span><span class="functiontext">Relations::compile_defined_relation_constant</span><span class="plain">(</span><span class="constant">RELS_ASSERT_FALSE_INAME</span><span class="plain">, 0</span><span class="identifier">x0200</span><span class="plain">);</span>
|
||||
<span class="identifier">RELS_SHOW_iname</span><span class="plain"> = </span><span class="functiontext">Relations::compile_defined_relation_constant</span><span class="plain">(</span><span class="constant">RELS_SHOW_INAME</span><span class="plain">, 0</span><span class="identifier">x0100</span><span class="plain">);</span>
|
||||
<span class="identifier">RELS_ROUTE_FIND_iname</span><span class="plain"> = </span><span class="functiontext">Relations::compile_defined_relation_constant</span><span class="plain">(</span><span class="constant">RELS_ROUTE_FIND_INAME</span><span class="plain">, 0</span><span class="identifier">x0080</span><span class="plain">);</span>
|
||||
<span class="identifier">RELS_ROUTE_FIND_COUNT_iname</span><span class="plain"> = </span><span class="functiontext">Relations::compile_defined_relation_constant</span><span class="plain">(</span><span class="constant">RELS_ROUTE_FIND_COUNT_INAME</span><span class="plain">, 0</span><span class="identifier">x0040</span><span class="plain">);</span>
|
||||
<span class="identifier">RELS_LOOKUP_ANY_iname</span><span class="plain"> = </span><span class="functiontext">Relations::compile_defined_relation_constant</span><span class="plain">(</span><span class="constant">RELS_LOOKUP_ANY_INAME</span><span class="plain">, 0</span><span class="identifier">x0008</span><span class="plain">);</span>
|
||||
<span class="identifier">RELS_LOOKUP_ALL_X_iname</span><span class="plain"> = </span><span class="functiontext">Relations::compile_defined_relation_constant</span><span class="plain">(</span><span class="constant">RELS_LOOKUP_ALL_X_INAME</span><span class="plain">, 0</span><span class="identifier">x0004</span><span class="plain">);</span>
|
||||
<span class="identifier">RELS_LOOKUP_ALL_Y_iname</span><span class="plain"> = </span><span class="functiontext">Relations::compile_defined_relation_constant</span><span class="plain">(</span><span class="constant">RELS_LOOKUP_ALL_Y_INAME</span><span class="plain">, 0</span><span class="identifier">x0002</span><span class="plain">);</span>
|
||||
<span class="identifier">RELS_LIST_iname</span><span class="plain"> = </span><span class="functiontext">Relations::compile_defined_relation_constant</span><span class="plain">(</span><span class="constant">RELS_LIST_INAME</span><span class="plain">, 0</span><span class="identifier">x0001</span><span class="plain">);</span>
|
||||
<span class="reserved">if</span><span class="plain"> (</span><span class="functiontext">VirtualMachines::is_16_bit</span><span class="plain">()) {</span>
|
||||
<span class="identifier">REL_BLOCK_HEADER_symbol</span><span class="plain"> = </span><span class="functiontext">Emit::named_numeric_constant_hex</span><span class="plain">(</span><span class="functiontext">InterNames::iname</span><span class="plain">(</span><span class="constant">REL_BLOCK_HEADER_INAME</span><span class="plain">), (</span><span class="identifier">inter_t</span><span class="plain">) 0</span><span class="identifier">x100</span><span class="plain">*5 + 13); </span> <span class="comment">2^5 = 32 bytes block</span>
|
||||
<span class="identifier">REL_BLOCK_HEADER_symbol</span><span class="plain"> = </span><span class="functiontext">Relations::compile_defined_relation_constant</span><span class="plain">(</span><span class="constant">REL_BLOCK_HEADER_INAME</span><span class="plain">, 0</span><span class="identifier">x100</span><span class="plain">*5 + 13); </span> <span class="comment">2^5 = 32 bytes block</span>
|
||||
<span class="plain">} </span><span class="reserved">else</span><span class="plain"> {</span>
|
||||
<span class="identifier">REL_BLOCK_HEADER_symbol</span><span class="plain"> = </span><span class="functiontext">Emit::named_numeric_constant_hex</span><span class="plain">(</span><span class="functiontext">InterNames::iname</span><span class="plain">(</span><span class="constant">REL_BLOCK_HEADER_INAME</span><span class="plain">), (</span><span class="identifier">inter_t</span><span class="plain">) (0</span><span class="identifier">x100</span><span class="plain">*6 + 13)*0</span><span class="identifier">x10000</span><span class="plain">);</span>
|
||||
<span class="identifier">REL_BLOCK_HEADER_symbol</span><span class="plain"> = </span><span class="functiontext">Relations::compile_defined_relation_constant</span><span class="plain">(</span><span class="constant">REL_BLOCK_HEADER_INAME</span><span class="plain">, (0</span><span class="identifier">x100</span><span class="plain">*6 + 13)*0</span><span class="identifier">x10000</span><span class="plain">);</span>
|
||||
<span class="plain">}</span>
|
||||
<span class="identifier">TTF_iname</span><span class="plain"> = </span><span class="functiontext">Emit::named_numeric_constant_hex</span><span class="plain">(</span><span class="functiontext">InterNames::iname</span><span class="plain">(</span><span class="constant">TTF_sum_INAME</span><span class="plain">), (</span><span class="identifier">inter_t</span><span class="plain">) (0</span><span class="identifier">x0800</span><span class="plain"> + 0</span><span class="identifier">x0400</span><span class="plain"> + 0</span><span class="identifier">x0200</span><span class="plain">));</span>
|
||||
<span class="identifier">TTF_iname</span><span class="plain"> = </span><span class="functiontext">Relations::compile_defined_relation_constant</span><span class="plain">(</span><span class="constant">TTF_sum_INAME</span><span class="plain">, (0</span><span class="identifier">x0800</span><span class="plain"> + 0</span><span class="identifier">x0400</span><span class="plain"> + 0</span><span class="identifier">x0200</span><span class="plain">));</span>
|
||||
<span class="comment">i.e., <code class="display"><span class="extract">RELS_TEST + RELS_ASSERT_TRUE + RELS_ASSERT_FALSE</span></code></span>
|
||||
<span class="plain">}</span>
|
||||
</pre>
|
||||
|
||||
<p class="inwebparagraph"></p>
|
||||
|
||||
<p class="endnote">The function Relations::compile_defined_relation_constant appears nowhere else.</p>
|
||||
|
||||
<p class="endnote">The function Relations::compile_defined_relation_constants is used in 1/mr (<a href="1-mr.html#SP4_14">§4.14</a>).</p>
|
||||
|
||||
<p class="inwebparagraph"><a id="SP15"></a><b>§15. </b></p>
|
||||
|
@ -3141,11 +3153,6 @@ logical properties of the two terms of the BP being defined.
|
|||
|
||||
<span class="reserved">relation_guard</span><span class="plain"> *</span><span class="identifier">rg</span><span class="plain">;</span>
|
||||
<span class="identifier">LOOP_OVER</span><span class="plain">(</span><span class="identifier">rg</span><span class="plain">, </span><span class="reserved">relation_guard</span><span class="plain">) {</span>
|
||||
<span class="identifier">TEMPORARY_TEXT</span><span class="plain">(</span><span class="identifier">C</span><span class="plain">);</span>
|
||||
<span class="identifier">WRITE_TO</span><span class="plain">(</span><span class="identifier">C</span><span class="plain">, </span><span class="string">"Routines guarding %S(L, R)"</span><span class="plain">, </span><span class="functiontext">BinaryPredicates::get_log_name</span><span class="plain">(</span><span class="identifier">rg</span><span class="plain">-</span><span class="element">>guarding</span><span class="plain">));</span>
|
||||
<span class="functiontext">Emit::comment</span><span class="plain">(</span><span class="identifier">C</span><span class="plain">);</span>
|
||||
<span class="identifier">DISCARD_TEXT</span><span class="plain">(</span><span class="identifier">C</span><span class="plain">);</span>
|
||||
|
||||
<<span class="cwebmacro">Compile RGuard f0 routine</span> <span class="cwebmacronumber">29.2</span>><span class="plain">;</span>
|
||||
<<span class="cwebmacro">Compile RGuard f1 routine</span> <span class="cwebmacronumber">29.3</span>><span class="plain">;</span>
|
||||
<<span class="cwebmacro">Compile RGuard T routine</span> <span class="cwebmacronumber">29.4</span>><span class="plain">;</span>
|
||||
|
|
|
@ -354,6 +354,12 @@ compiled to constants, used early on at run-time to print the banner.
|
|||
|
||||
|
||||
<pre class="display">
|
||||
<span class="identifier">inter_name</span><span class="plain"> *</span><span class="functiontext">PL::Bibliographic::constant</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">package_request</span><span class="plain"> *</span><span class="identifier">PR</span><span class="plain"> = </span><span class="identifier">Packaging::synoptic_resource</span><span class="plain">(</span><span class="identifier">BIBLIOGRAPHIC_SUBPACKAGE</span><span class="plain">);</span>
|
||||
<span class="identifier">package_request</span><span class="plain"> *</span><span class="identifier">PR2</span><span class="plain"> = </span><span class="identifier">Packaging::request</span><span class="plain">(</span><span class="identifier">Packaging::supply_iname</span><span class="plain">(</span><span class="identifier">PR</span><span class="plain">, </span><span class="identifier">DATA_PR_COUNTER</span><span class="plain">), </span><span class="identifier">PR</span><span class="plain">, </span><span class="identifier">data_ptype</span><span class="plain">);</span>
|
||||
<span class="reserved">return</span><span class="plain"> </span><span class="identifier">InterNames::one_off</span><span class="plain">(</span><span class="identifier">name</span><span class="plain">, </span><span class="identifier">PR2</span><span class="plain">);</span>
|
||||
<span class="plain">}</span>
|
||||
|
||||
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">PL::Bibliographic::compile_constants</span><span class="plain">(</span><span class="reserved">void</span><span class="plain">) {</span>
|
||||
<span class="identifier">encode_constant_text_bibliographically</span><span class="plain"> = </span><span class="identifier">TRUE</span><span class="plain">;</span>
|
||||
<span class="identifier">BEGIN_COMPILATION_MODE</span><span class="plain">;</span>
|
||||
|
@ -372,6 +378,8 @@ compiled to constants, used early on at run-time to print the banner.
|
|||
|
||||
<p class="inwebparagraph"></p>
|
||||
|
||||
<p class="endnote">The function PL::Bibliographic::constant is used in <a href="#SP12_1">§12.1</a>, <a href="#SP12_2">§12.2</a>, <a href="#SP12_3">§12.3</a>, <a href="#SP12_4">§12.4</a>, <a href="#SP12_5">§12.5</a>.</p>
|
||||
|
||||
<p class="endnote">The function PL::Bibliographic::compile_constants appears nowhere else.</p>
|
||||
|
||||
<p class="inwebparagraph"><a id="SP12_1"></a><b>§12.1. </b>If the author doesn't name a work, then its title is properly "", not
|
||||
|
@ -385,13 +393,16 @@ compiled to constants, used early on at run-time to print the banner.
|
|||
|
||||
|
||||
<pre class="displaydefn">
|
||||
<span class="identifier">inter_name</span><span class="plain"> *</span><span class="identifier">iname</span><span class="plain"> = </span><span class="functiontext">PL::Bibliographic::constant</span><span class="plain">(</span><span class="identifier">I</span><span class="string">"Story"</span><span class="plain">);</span>
|
||||
<span class="identifier">packaging_state</span><span class="plain"> </span><span class="identifier">save</span><span class="plain"> = </span><span class="identifier">Packaging::enter_home_of</span><span class="plain">(</span><span class="identifier">iname</span><span class="plain">);</span>
|
||||
<span class="identifier">NonlocalVariables::treat_as_plain_text_word</span><span class="plain">(</span><span class="identifier">story_title_VAR</span><span class="plain">);</span>
|
||||
<span class="identifier">inter_t</span><span class="plain"> </span><span class="identifier">v1</span><span class="plain"> = 0, </span><span class="identifier">v2</span><span class="plain"> = 0;</span>
|
||||
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">NonlocalVariables::has_initial_value_set</span><span class="plain">(</span><span class="identifier">story_title_VAR</span><span class="plain">))</span>
|
||||
<span class="identifier">NonlocalVariables::seek_initial_value</span><span class="plain">(&</span><span class="identifier">v1</span><span class="plain">, &</span><span class="identifier">v2</span><span class="plain">, </span><span class="identifier">story_title_VAR</span><span class="plain">);</span>
|
||||
<span class="reserved">else</span>
|
||||
<span class="identifier">Strings::TextLiterals::compile_literal_from_text</span><span class="plain">(&</span><span class="identifier">v1</span><span class="plain">, &</span><span class="identifier">v2</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"\</span><span class="plain">"</span><span class="string">Welcome\</span><span class="plain">"</span><span class="string">"</span><span class="plain">);</span>
|
||||
<span class="identifier">Emit::named_generic_constant</span><span class="plain">(</span><span class="identifier">InterNames::iname</span><span class="plain">(</span><span class="identifier">Story_INAME</span><span class="plain">), </span><span class="identifier">v1</span><span class="plain">, </span><span class="identifier">v2</span><span class="plain">);</span>
|
||||
<span class="identifier">Emit::named_generic_constant</span><span class="plain">(</span><span class="identifier">iname</span><span class="plain">, </span><span class="identifier">v1</span><span class="plain">, </span><span class="identifier">v2</span><span class="plain">);</span>
|
||||
<span class="identifier">Packaging::exit</span><span class="plain">(</span><span class="identifier">save</span><span class="plain">);</span>
|
||||
</pre>
|
||||
|
||||
<p class="inwebparagraph"></p>
|
||||
|
@ -408,6 +419,8 @@ compiled to constants, used early on at run-time to print the banner.
|
|||
|
||||
|
||||
<pre class="displaydefn">
|
||||
<span class="identifier">inter_name</span><span class="plain"> *</span><span class="identifier">iname</span><span class="plain"> = </span><span class="functiontext">PL::Bibliographic::constant</span><span class="plain">(</span><span class="identifier">I</span><span class="string">"Headline"</span><span class="plain">);</span>
|
||||
<span class="identifier">packaging_state</span><span class="plain"> </span><span class="identifier">save</span><span class="plain"> = </span><span class="identifier">Packaging::enter_home_of</span><span class="plain">(</span><span class="identifier">iname</span><span class="plain">);</span>
|
||||
<span class="identifier">inter_t</span><span class="plain"> </span><span class="identifier">v1</span><span class="plain"> = 0, </span><span class="identifier">v2</span><span class="plain"> = 0;</span>
|
||||
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">NonlocalVariables::has_initial_value_set</span><span class="plain">(</span><span class="identifier">story_headline_VAR</span><span class="plain">)) {</span>
|
||||
<span class="identifier">NonlocalVariables::treat_as_plain_text_word</span><span class="plain">(</span><span class="identifier">story_headline_VAR</span><span class="plain">);</span>
|
||||
|
@ -415,7 +428,8 @@ compiled to constants, used early on at run-time to print the banner.
|
|||
<span class="plain">} </span><span class="reserved">else</span><span class="plain"> {</span>
|
||||
<span class="identifier">Strings::TextLiterals::compile_literal_from_text</span><span class="plain">(&</span><span class="identifier">v1</span><span class="plain">, &</span><span class="identifier">v2</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"\</span><span class="plain">"</span><span class="string">An Interactive Fiction\</span><span class="plain">"</span><span class="string">"</span><span class="plain">);</span>
|
||||
<span class="plain">}</span>
|
||||
<span class="identifier">Emit::named_generic_constant</span><span class="plain">(</span><span class="identifier">InterNames::iname</span><span class="plain">(</span><span class="identifier">Headline_INAME</span><span class="plain">), </span><span class="identifier">v1</span><span class="plain">, </span><span class="identifier">v2</span><span class="plain">);</span>
|
||||
<span class="identifier">Emit::named_generic_constant</span><span class="plain">(</span><span class="identifier">iname</span><span class="plain">, </span><span class="identifier">v1</span><span class="plain">, </span><span class="identifier">v2</span><span class="plain">);</span>
|
||||
<span class="identifier">Packaging::exit</span><span class="plain">(</span><span class="identifier">save</span><span class="plain">);</span>
|
||||
</pre>
|
||||
|
||||
<p class="inwebparagraph"></p>
|
||||
|
@ -433,10 +447,13 @@ compiled to constants, used early on at run-time to print the banner.
|
|||
|
||||
<pre class="displaydefn">
|
||||
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">NonlocalVariables::has_initial_value_set</span><span class="plain">(</span><span class="identifier">story_author_VAR</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="functiontext">PL::Bibliographic::constant</span><span class="plain">(</span><span class="identifier">I</span><span class="string">"Story_Author"</span><span class="plain">);</span>
|
||||
<span class="identifier">packaging_state</span><span class="plain"> </span><span class="identifier">save</span><span class="plain"> = </span><span class="identifier">Packaging::enter_home_of</span><span class="plain">(</span><span class="identifier">iname</span><span class="plain">);</span>
|
||||
<span class="identifier">inter_t</span><span class="plain"> </span><span class="identifier">v1</span><span class="plain"> = 0, </span><span class="identifier">v2</span><span class="plain"> = 0;</span>
|
||||
<span class="identifier">NonlocalVariables::treat_as_plain_text_word</span><span class="plain">(</span><span class="identifier">story_author_VAR</span><span class="plain">);</span>
|
||||
<span class="identifier">NonlocalVariables::seek_initial_value</span><span class="plain">(&</span><span class="identifier">v1</span><span class="plain">, &</span><span class="identifier">v2</span><span class="plain">, </span><span class="identifier">story_author_VAR</span><span class="plain">);</span>
|
||||
<span class="identifier">Emit::named_generic_constant</span><span class="plain">(</span><span class="identifier">InterNames::iname</span><span class="plain">(</span><span class="identifier">Story_Author_INAME</span><span class="plain">), </span><span class="identifier">v1</span><span class="plain">, </span><span class="identifier">v2</span><span class="plain">);</span>
|
||||
<span class="identifier">Emit::named_generic_constant</span><span class="plain">(</span><span class="identifier">iname</span><span class="plain">, </span><span class="identifier">v1</span><span class="plain">, </span><span class="identifier">v2</span><span class="plain">);</span>
|
||||
<span class="identifier">Packaging::exit</span><span class="plain">(</span><span class="identifier">save</span><span class="plain">);</span>
|
||||
<span class="plain">}</span>
|
||||
</pre>
|
||||
|
||||
|
@ -455,9 +472,12 @@ compiled to constants, used early on at run-time to print the banner.
|
|||
|
||||
<pre class="displaydefn">
|
||||
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">NonlocalVariables::has_initial_value_set</span><span class="plain">(</span><span class="identifier">story_release_number_VAR</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="functiontext">PL::Bibliographic::constant</span><span class="plain">(</span><span class="identifier">I</span><span class="string">"Release"</span><span class="plain">);</span>
|
||||
<span class="identifier">packaging_state</span><span class="plain"> </span><span class="identifier">save</span><span class="plain"> = </span><span class="identifier">Packaging::enter_home_of</span><span class="plain">(</span><span class="identifier">iname</span><span class="plain">);</span>
|
||||
<span class="identifier">inter_t</span><span class="plain"> </span><span class="identifier">v1</span><span class="plain"> = 0, </span><span class="identifier">v2</span><span class="plain"> = 0;</span>
|
||||
<span class="identifier">NonlocalVariables::seek_initial_value</span><span class="plain">(&</span><span class="identifier">v1</span><span class="plain">, &</span><span class="identifier">v2</span><span class="plain">, </span><span class="identifier">story_release_number_VAR</span><span class="plain">);</span>
|
||||
<span class="identifier">Emit::named_generic_constant</span><span class="plain">(</span><span class="identifier">InterNames::iname</span><span class="plain">(</span><span class="identifier">Release_INAME</span><span class="plain">), </span><span class="identifier">v1</span><span class="plain">, </span><span class="identifier">v2</span><span class="plain">);</span>
|
||||
<span class="identifier">Emit::named_generic_constant</span><span class="plain">(</span><span class="identifier">iname</span><span class="plain">, </span><span class="identifier">v1</span><span class="plain">, </span><span class="identifier">v2</span><span class="plain">);</span>
|
||||
<span class="identifier">Packaging::exit</span><span class="plain">(</span><span class="identifier">save</span><span class="plain">);</span>
|
||||
<span class="plain">}</span>
|
||||
</pre>
|
||||
|
||||
|
@ -477,12 +497,15 @@ should be able to fake the date-stamp with dates of their own choosing.
|
|||
|
||||
|
||||
<pre class="displaydefn">
|
||||
<span class="identifier">inter_name</span><span class="plain"> *</span><span class="identifier">iname</span><span class="plain"> = </span><span class="functiontext">PL::Bibliographic::constant</span><span class="plain">(</span><span class="identifier">I</span><span class="string">"Serial"</span><span class="plain">);</span>
|
||||
<span class="identifier">packaging_state</span><span class="plain"> </span><span class="identifier">save</span><span class="plain"> = </span><span class="identifier">Packaging::enter_home_of</span><span class="plain">(</span><span class="identifier">iname</span><span class="plain">);</span>
|
||||
<span class="identifier">TEMPORARY_TEXT</span><span class="plain">(</span><span class="identifier">SN</span><span class="plain">);</span>
|
||||
<span class="reserved">int</span><span class="plain"> </span><span class="identifier">year_digits</span><span class="plain"> = (</span><span class="identifier">the_present</span><span class="plain">-></span><span class="identifier">tm_year</span><span class="plain">) % 100;</span>
|
||||
<span class="identifier">WRITE_TO</span><span class="plain">(</span><span class="identifier">SN</span><span class="plain">, </span><span class="string">"%02d%02d%02d"</span><span class="plain">,</span>
|
||||
<span class="identifier">year_digits</span><span class="plain">, (</span><span class="identifier">the_present</span><span class="plain">-></span><span class="identifier">tm_mon</span><span class="plain">)+1, </span><span class="identifier">the_present</span><span class="plain">-></span><span class="identifier">tm_mday</span><span class="plain">);</span>
|
||||
<span class="identifier">Emit::named_text_constant</span><span class="plain">(</span><span class="identifier">InterNames::iname</span><span class="plain">(</span><span class="identifier">Serial_INAME</span><span class="plain">), </span><span class="identifier">SN</span><span class="plain">);</span>
|
||||
<span class="identifier">Emit::named_text_constant</span><span class="plain">(</span><span class="identifier">iname</span><span class="plain">, </span><span class="identifier">SN</span><span class="plain">);</span>
|
||||
<span class="identifier">DISCARD_TEXT</span><span class="plain">(</span><span class="identifier">SN</span><span class="plain">);</span>
|
||||
<span class="identifier">Packaging::exit</span><span class="plain">(</span><span class="identifier">save</span><span class="plain">);</span>
|
||||
</pre>
|
||||
|
||||
<p class="inwebparagraph"></p>
|
||||
|
|
|
@ -66,8 +66,12 @@ around it, in byte-accessible memory.
|
|||
<span class="identifier">inter_name</span><span class="plain"> *</span><span class="identifier">UUID_array_iname</span><span class="plain"> = </span><span class="identifier">NULL</span><span class="plain">;</span>
|
||||
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">PL::Bibliographic::IFID::define_UUID</span><span class="plain">(</span><span class="reserved">void</span><span class="plain">) {</span>
|
||||
<span class="identifier">text_stream</span><span class="plain"> *</span><span class="identifier">uuid</span><span class="plain"> = </span><span class="functiontext">PL::Bibliographic::IFID::read_uuid</span><span class="plain">();</span>
|
||||
<span class="identifier">package_request</span><span class="plain"> *</span><span class="identifier">PR</span><span class="plain"> = </span><span class="identifier">Packaging::synoptic_resource</span><span class="plain">(</span><span class="identifier">BIBLIOGRAPHIC_SUBPACKAGE</span><span class="plain">);</span>
|
||||
<span class="identifier">UUID_array_iname</span><span class="plain"> = </span><span class="identifier">InterNames::iname</span><span class="plain">(</span><span class="identifier">UUID_ARRAY_INAME</span><span class="plain">);</span>
|
||||
<span class="identifier">Packaging::house</span><span class="plain">(</span><span class="identifier">UUID_array_iname</span><span class="plain">, </span><span class="identifier">PR</span><span class="plain">);</span>
|
||||
<span class="identifier">packaging_state</span><span class="plain"> </span><span class="identifier">save</span><span class="plain"> = </span><span class="identifier">Packaging::enter_home_of</span><span class="plain">(</span><span class="identifier">UUID_array_iname</span><span class="plain">);</span>
|
||||
<span class="identifier">Emit::named_string_constant</span><span class="plain">(</span><span class="identifier">UUID_array_iname</span><span class="plain">, </span><span class="identifier">uuid</span><span class="plain">);</span>
|
||||
<span class="identifier">Packaging::exit</span><span class="plain">(</span><span class="identifier">save</span><span class="plain">);</span>
|
||||
<span class="plain">}</span>
|
||||
|
||||
<span class="identifier">inter_name</span><span class="plain"> *</span><span class="functiontext">PL::Bibliographic::IFID::UUID</span><span class="plain">(</span><span class="reserved">void</span><span class="plain">) {</span>
|
||||
|
|
|
@ -466,8 +466,13 @@ of the kind which the constructor makes:
|
|||
<span class="identifier">LOOP_OVER</span><span class="plain">(</span><span class="identifier">con</span><span class="plain">, </span><span class="reserved">kind_constructor</span><span class="plain">) {</span>
|
||||
<span class="identifier">text_stream</span><span class="plain"> *</span><span class="identifier">tn</span><span class="plain"> = </span><span class="functiontext">Kinds::Constructors::name_in_template_code</span><span class="plain">(</span><span class="identifier">con</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">tn</span><span class="plain">) > 0) {</span>
|
||||
<span class="identifier">con</span><span class="plain">-</span><span class="element">>con_iname</span><span class="plain"> = </span><span class="identifier">Emit::named_numeric_constant</span><span class="plain">(</span><span class="identifier">InterNames::template_weak_ID_name</span><span class="plain">(</span><span class="identifier">tn</span><span class="plain">), (</span><span class="identifier">inter_t</span><span class="plain">) </span><span class="identifier">con</span><span class="plain">-</span><span class="element">>weak_kind_ID</span><span class="plain">);</span>
|
||||
<span class="identifier">package_request</span><span class="plain"> *</span><span class="identifier">PR</span><span class="plain"> = </span><span class="identifier">Packaging::synoptic_resource</span><span class="plain">(</span><span class="identifier">KINDS_SUBPACKAGE</span><span class="plain">);</span>
|
||||
<span class="identifier">con</span><span class="plain">-</span><span class="element">>con_iname</span><span class="plain"> = </span><span class="identifier">InterNames::template_weak_ID_name</span><span class="plain">(</span><span class="identifier">tn</span><span class="plain">);</span>
|
||||
<span class="identifier">Packaging::house</span><span class="plain">(</span><span class="identifier">con</span><span class="plain">-</span><span class="element">>con_iname</span><span class="plain">, </span><span class="identifier">PR</span><span class="plain">);</span>
|
||||
<span class="identifier">packaging_state</span><span class="plain"> </span><span class="identifier">save</span><span class="plain"> = </span><span class="identifier">Packaging::enter_home_of</span><span class="plain">(</span><span class="identifier">con</span><span class="plain">-</span><span class="element">>con_iname</span><span class="plain">);</span>
|
||||
<span class="identifier">Emit::named_numeric_constant</span><span class="plain">(</span><span class="identifier">con</span><span class="plain">-</span><span class="element">>con_iname</span><span class="plain">, (</span><span class="identifier">inter_t</span><span class="plain">) </span><span class="identifier">con</span><span class="plain">-</span><span class="element">>weak_kind_ID</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">con</span><span class="plain">-</span><span class="element">>con_iname</span><span class="plain">), </span><span class="identifier">SR_CACHE_MARK_BIT</span><span class="plain">);</span>
|
||||
<span class="identifier">Packaging::exit</span><span class="plain">(</span><span class="identifier">save</span><span class="plain">);</span>
|
||||
<span class="plain">}</span>
|
||||
<span class="plain">}</span>
|
||||
<span class="identifier">Emit::named_numeric_constant</span><span class="plain">(</span><span class="identifier">InterNames::iname</span><span class="plain">(</span><span class="identifier">BASE_KIND_HWM_INAME</span><span class="plain">), (</span><span class="identifier">inter_t</span><span class="plain">) </span><span class="identifier">next_free_data_type_ID</span><span class="plain">);</span>
|
||||
|
|
|
@ -499,15 +499,6 @@ ensure that we always point to the same array every time the same construction
|
|||
turns up. This means remembering everything we've seen, using a new structure:
|
||||
|
||||
=
|
||||
void Kinds::RunTime::compile_strong_id(OUTPUT_STREAM, kind *K) {
|
||||
runtime_kind_structure *rks = Kinds::RunTime::get_rks(K);
|
||||
if (rks) {
|
||||
WRITE("%n", rks->rks_iname);
|
||||
} else {
|
||||
Kinds::RunTime::compile_weak_id(OUT, K);
|
||||
}
|
||||
}
|
||||
|
||||
void Kinds::RunTime::emit_strong_id(kind *K) {
|
||||
runtime_kind_structure *rks = Kinds::RunTime::get_rks(K);
|
||||
if (rks) {
|
||||
|
@ -875,13 +866,6 @@ heap_allocation Kinds::RunTime::make_heap_allocation(kind *K, int multiplier,
|
|||
return ha;
|
||||
}
|
||||
|
||||
void Kinds::RunTime::compile_heap_allocation(OUTPUT_STREAM, heap_allocation ha) {
|
||||
if (ha.stack_offset >= 0) WRITE("BlkValueCreateOnStack(%d, ", ha.stack_offset);
|
||||
else WRITE("BlkValueCreate(");
|
||||
Kinds::RunTime::compile_strong_id(OUT, ha.allocated_kind);
|
||||
WRITE(")");
|
||||
}
|
||||
|
||||
void Kinds::RunTime::emit_heap_allocation(heap_allocation ha) {
|
||||
if (ha.stack_offset >= 0) {
|
||||
inter_name *iname = InterNames::extern(BLKVALUECREATEONSTACK_EXNAMEF);
|
||||
|
|
|
@ -338,12 +338,16 @@ void Chronology::past_actions_i6_routines(void) {
|
|||
|
||||
Routines::end(save);
|
||||
}
|
||||
Emit::named_array_begin(InterNames::iname(PastActionsI6Routines_INAME), K_value);
|
||||
package_request *PR = Packaging::synoptic_resource(CHRONOLOGY_SUBPACKAGE);
|
||||
inter_name *iname = InterNames::one_off(I"PastActionsI6Routines", PR);
|
||||
packaging_state save = Packaging::enter(PR);
|
||||
Emit::named_array_begin(iname, K_value);
|
||||
LOOP_OVER(pta, past_tense_action_record)
|
||||
Emit::array_iname_entry(pta->pta_iname);
|
||||
Emit::array_numeric_entry(0);
|
||||
Emit::array_numeric_entry(0);
|
||||
Emit::array_end();
|
||||
Packaging::exit(save);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
|
|
@ -25,6 +25,7 @@ inter_symbol *rulebook_ptype = NULL;
|
|||
inter_symbol *table_ptype = NULL;
|
||||
inter_symbol *table_column_ptype = NULL;
|
||||
inter_symbol *relation_ptype = NULL;
|
||||
inter_symbol *data_ptype = NULL;
|
||||
|
||||
@ =
|
||||
void Packaging::emit_types(void) {
|
||||
|
@ -72,6 +73,8 @@ void Packaging::emit_types(void) {
|
|||
Emit::guard(Inter::PackageType::new_packagetype(Emit::IRS(), table_column_ptype, Emit::baseline(Emit::IRS()), NULL));
|
||||
relation_ptype = Emit::new_symbol(Inter::get_global_symbols(Emit::repository()), I"_relation");
|
||||
Emit::guard(Inter::PackageType::new_packagetype(Emit::IRS(), relation_ptype, Emit::baseline(Emit::IRS()), NULL));
|
||||
data_ptype = Emit::new_symbol(Inter::get_global_symbols(Emit::repository()), I"_data");
|
||||
Emit::guard(Inter::PackageType::new_packagetype(Emit::IRS(), data_ptype, Emit::baseline(Emit::IRS()), NULL));
|
||||
}
|
||||
|
||||
@
|
||||
|
@ -104,6 +107,7 @@ void Packaging::emit_types(void) {
|
|||
@e SUBSTITUTION_PR_COUNTER
|
||||
@e SUBSTITUTIONF_PR_COUNTER
|
||||
@e MISC_PR_COUNTER
|
||||
@e DATA_PR_COUNTER
|
||||
|
||||
@e MAX_PR_COUNTER
|
||||
|
||||
|
@ -202,6 +206,7 @@ packaging_state Packaging::enter(package_request *R) {
|
|||
(S->eventual_type == relation_ptype) ||
|
||||
(S->eventual_type == table_ptype) ||
|
||||
(S->eventual_type == table_column_ptype) ||
|
||||
(S->eventual_type == data_ptype) ||
|
||||
(S->parent_request == NULL)) {
|
||||
current_enclosure = S;
|
||||
break;
|
||||
|
@ -300,6 +305,7 @@ package_request *Packaging::request_synoptic(void) {
|
|||
@e CHRONOLOGY_SUBPACKAGE
|
||||
@e LISTING_SUBPACKAGE
|
||||
@e EQUATIONS_SUBPACKAGE
|
||||
@e BIBLIOGRAPHIC_SUBPACKAGE
|
||||
|
||||
@e MAX_SUBPACKAGE
|
||||
|
||||
|
@ -374,6 +380,7 @@ package_request *Packaging::synoptic_resource(int ix) {
|
|||
case CHRONOLOGY_SUBPACKAGE: N = I"chronology"; break;
|
||||
case LISTING_SUBPACKAGE: N = I"listing"; break;
|
||||
case EQUATIONS_SUBPACKAGE: N = I"equations"; break;
|
||||
case BIBLIOGRAPHIC_SUBPACKAGE: N = I"bibliographic"; break;
|
||||
default: internal_error("nameless resource");
|
||||
}
|
||||
inter_name *iname = InterNames::one_off(N, parent);
|
||||
|
@ -415,6 +422,7 @@ inter_name *Packaging::supply_iname(package_request *R, int what_for) {
|
|||
case SUBSTITUTION_PR_COUNTER: WRITE_TO(P, "ts"); break;
|
||||
case SUBSTITUTIONF_PR_COUNTER: WRITE_TO(P, "ts_fn"); break;
|
||||
case MISC_PR_COUNTER: WRITE_TO(P, "misc_const"); break;
|
||||
case DATA_PR_COUNTER: WRITE_TO(P, "data"); break;
|
||||
default: internal_error("unimplemented");
|
||||
}
|
||||
WRITE_TO(P, "_%d", ++(R->counters[what_for]));
|
||||
|
|
|
@ -856,27 +856,37 @@ inter_name *RELS_LIST_iname = NULL;
|
|||
inter_name *REL_BLOCK_HEADER_symbol = NULL;
|
||||
inter_name *TTF_iname = NULL;
|
||||
|
||||
inter_name *Relations::compile_defined_relation_constant(int id, inter_t val) {
|
||||
package_request *PR = Packaging::request_resource(NULL, RELATIONS_SUBPACKAGE);
|
||||
inter_name *iname = InterNames::iname(id);
|
||||
Packaging::house(iname, PR);
|
||||
packaging_state save = Packaging::enter_home_of(iname);
|
||||
Emit::named_numeric_constant_hex(iname, val);
|
||||
Packaging::exit(save);
|
||||
return iname;
|
||||
}
|
||||
|
||||
void Relations::compile_defined_relation_constants(void) {
|
||||
RELS_SYMMETRIC_iname = Emit::named_numeric_constant_hex(InterNames::iname(RELS_SYMMETRIC_INAME), (inter_t) 0x8000);
|
||||
RELS_EQUIVALENCE_iname = Emit::named_numeric_constant_hex(InterNames::iname(RELS_EQUIVALENCE_INAME), (inter_t) 0x4000);
|
||||
RELS_X_UNIQUE_iname = Emit::named_numeric_constant_hex(InterNames::iname(RELS_X_UNIQUE_INAME), (inter_t) 0x2000);
|
||||
RELS_Y_UNIQUE_iname = Emit::named_numeric_constant_hex(InterNames::iname(RELS_Y_UNIQUE_INAME), (inter_t) 0x1000);
|
||||
RELS_TEST_iname = Emit::named_numeric_constant_hex(InterNames::iname(RELS_TEST_INAME), (inter_t) 0x0800);
|
||||
RELS_ASSERT_TRUE_iname = Emit::named_numeric_constant_hex(InterNames::iname(RELS_ASSERT_TRUE_INAME), (inter_t) 0x0400);
|
||||
RELS_ASSERT_FALSE_iname = Emit::named_numeric_constant_hex(InterNames::iname(RELS_ASSERT_FALSE_INAME), (inter_t) 0x0200);
|
||||
RELS_SHOW_iname = Emit::named_numeric_constant_hex(InterNames::iname(RELS_SHOW_INAME), (inter_t) 0x0100);
|
||||
RELS_ROUTE_FIND_iname = Emit::named_numeric_constant_hex(InterNames::iname(RELS_ROUTE_FIND_INAME), (inter_t) 0x0080);
|
||||
RELS_ROUTE_FIND_COUNT_iname = Emit::named_numeric_constant_hex(InterNames::iname(RELS_ROUTE_FIND_COUNT_INAME), (inter_t) 0x0040);
|
||||
RELS_LOOKUP_ANY_iname = Emit::named_numeric_constant_hex(InterNames::iname(RELS_LOOKUP_ANY_INAME), (inter_t) 0x0008);
|
||||
RELS_LOOKUP_ALL_X_iname = Emit::named_numeric_constant_hex(InterNames::iname(RELS_LOOKUP_ALL_X_INAME), (inter_t) 0x0004);
|
||||
RELS_LOOKUP_ALL_Y_iname = Emit::named_numeric_constant_hex(InterNames::iname(RELS_LOOKUP_ALL_Y_INAME), (inter_t) 0x0002);
|
||||
RELS_LIST_iname = Emit::named_numeric_constant_hex(InterNames::iname(RELS_LIST_INAME), (inter_t) 0x0001);
|
||||
RELS_SYMMETRIC_iname = Relations::compile_defined_relation_constant(RELS_SYMMETRIC_INAME, 0x8000);
|
||||
RELS_EQUIVALENCE_iname = Relations::compile_defined_relation_constant(RELS_EQUIVALENCE_INAME, 0x4000);
|
||||
RELS_X_UNIQUE_iname = Relations::compile_defined_relation_constant(RELS_X_UNIQUE_INAME, 0x2000);
|
||||
RELS_Y_UNIQUE_iname = Relations::compile_defined_relation_constant(RELS_Y_UNIQUE_INAME, 0x1000);
|
||||
RELS_TEST_iname = Relations::compile_defined_relation_constant(RELS_TEST_INAME, 0x0800);
|
||||
RELS_ASSERT_TRUE_iname = Relations::compile_defined_relation_constant(RELS_ASSERT_TRUE_INAME, 0x0400);
|
||||
RELS_ASSERT_FALSE_iname = Relations::compile_defined_relation_constant(RELS_ASSERT_FALSE_INAME, 0x0200);
|
||||
RELS_SHOW_iname = Relations::compile_defined_relation_constant(RELS_SHOW_INAME, 0x0100);
|
||||
RELS_ROUTE_FIND_iname = Relations::compile_defined_relation_constant(RELS_ROUTE_FIND_INAME, 0x0080);
|
||||
RELS_ROUTE_FIND_COUNT_iname = Relations::compile_defined_relation_constant(RELS_ROUTE_FIND_COUNT_INAME, 0x0040);
|
||||
RELS_LOOKUP_ANY_iname = Relations::compile_defined_relation_constant(RELS_LOOKUP_ANY_INAME, 0x0008);
|
||||
RELS_LOOKUP_ALL_X_iname = Relations::compile_defined_relation_constant(RELS_LOOKUP_ALL_X_INAME, 0x0004);
|
||||
RELS_LOOKUP_ALL_Y_iname = Relations::compile_defined_relation_constant(RELS_LOOKUP_ALL_Y_INAME, 0x0002);
|
||||
RELS_LIST_iname = Relations::compile_defined_relation_constant(RELS_LIST_INAME, 0x0001);
|
||||
if (VirtualMachines::is_16_bit()) {
|
||||
REL_BLOCK_HEADER_symbol = Emit::named_numeric_constant_hex(InterNames::iname(REL_BLOCK_HEADER_INAME), (inter_t) 0x100*5 + 13); /* $2^5 = 32$ bytes block */
|
||||
REL_BLOCK_HEADER_symbol = Relations::compile_defined_relation_constant(REL_BLOCK_HEADER_INAME, 0x100*5 + 13); /* $2^5 = 32$ bytes block */
|
||||
} else {
|
||||
REL_BLOCK_HEADER_symbol = Emit::named_numeric_constant_hex(InterNames::iname(REL_BLOCK_HEADER_INAME), (inter_t) (0x100*6 + 13)*0x10000);
|
||||
REL_BLOCK_HEADER_symbol = Relations::compile_defined_relation_constant(REL_BLOCK_HEADER_INAME, (0x100*6 + 13)*0x10000);
|
||||
}
|
||||
TTF_iname = Emit::named_numeric_constant_hex(InterNames::iname(TTF_sum_INAME), (inter_t) (0x0800 + 0x0400 + 0x0200));
|
||||
TTF_iname = Relations::compile_defined_relation_constant(TTF_sum_INAME, (0x0800 + 0x0400 + 0x0200));
|
||||
/* i.e., |RELS_TEST + RELS_ASSERT_TRUE + RELS_ASSERT_FALSE| */
|
||||
}
|
||||
|
||||
|
@ -2330,11 +2340,6 @@ void Relations::compile_defined_relations(void) {
|
|||
|
||||
relation_guard *rg;
|
||||
LOOP_OVER(rg, relation_guard) {
|
||||
TEMPORARY_TEXT(C);
|
||||
WRITE_TO(C, "Routines guarding %S(L, R)", BinaryPredicates::get_log_name(rg->guarding));
|
||||
Emit::comment(C);
|
||||
DISCARD_TEXT(C);
|
||||
|
||||
@<Compile RGuard f0 routine@>;
|
||||
@<Compile RGuard f1 routine@>;
|
||||
@<Compile RGuard T routine@>;
|
||||
|
|
|
@ -236,6 +236,12 @@ int PL::Bibliographic::episode_SMF(int task, parse_node *V, wording *NPs) {
|
|||
compiled to constants, used early on at run-time to print the banner.
|
||||
|
||||
=
|
||||
inter_name *PL::Bibliographic::constant(text_stream *name) {
|
||||
package_request *PR = Packaging::synoptic_resource(BIBLIOGRAPHIC_SUBPACKAGE);
|
||||
package_request *PR2 = Packaging::request(Packaging::supply_iname(PR, DATA_PR_COUNTER), PR, data_ptype);
|
||||
return InterNames::one_off(name, PR2);
|
||||
}
|
||||
|
||||
void PL::Bibliographic::compile_constants(void) {
|
||||
encode_constant_text_bibliographically = TRUE;
|
||||
BEGIN_COMPILATION_MODE;
|
||||
|
@ -255,17 +261,22 @@ void PL::Bibliographic::compile_constants(void) {
|
|||
"Welcome": that's just something we use to provide a readable banner.
|
||||
|
||||
@<Compile the I6 Story constant@> =
|
||||
inter_name *iname = PL::Bibliographic::constant(I"Story");
|
||||
packaging_state save = Packaging::enter_home_of(iname);
|
||||
NonlocalVariables::treat_as_plain_text_word(story_title_VAR);
|
||||
inter_t v1 = 0, v2 = 0;
|
||||
if (NonlocalVariables::has_initial_value_set(story_title_VAR))
|
||||
NonlocalVariables::seek_initial_value(&v1, &v2, story_title_VAR);
|
||||
else
|
||||
Strings::TextLiterals::compile_literal_from_text(&v1, &v2, L"\"Welcome\"");
|
||||
Emit::named_generic_constant(InterNames::iname(Story_INAME), v1, v2);
|
||||
Emit::named_generic_constant(iname, v1, v2);
|
||||
Packaging::exit(save);
|
||||
|
||||
@ And similarly here:
|
||||
|
||||
@<Compile the I6 Headline constant@> =
|
||||
inter_name *iname = PL::Bibliographic::constant(I"Headline");
|
||||
packaging_state save = Packaging::enter_home_of(iname);
|
||||
inter_t v1 = 0, v2 = 0;
|
||||
if (NonlocalVariables::has_initial_value_set(story_headline_VAR)) {
|
||||
NonlocalVariables::treat_as_plain_text_word(story_headline_VAR);
|
||||
|
@ -273,25 +284,32 @@ void PL::Bibliographic::compile_constants(void) {
|
|||
} else {
|
||||
Strings::TextLiterals::compile_literal_from_text(&v1, &v2, L"\"An Interactive Fiction\"");
|
||||
}
|
||||
Emit::named_generic_constant(InterNames::iname(Headline_INAME), v1, v2);
|
||||
Emit::named_generic_constant(iname, v1, v2);
|
||||
Packaging::exit(save);
|
||||
|
||||
@ This time we compile nothing if no author is provided:
|
||||
|
||||
@<Compile the I6 Story Author constant@> =
|
||||
if (NonlocalVariables::has_initial_value_set(story_author_VAR)) {
|
||||
inter_name *iname = PL::Bibliographic::constant(I"Story_Author");
|
||||
packaging_state save = Packaging::enter_home_of(iname);
|
||||
inter_t v1 = 0, v2 = 0;
|
||||
NonlocalVariables::treat_as_plain_text_word(story_author_VAR);
|
||||
NonlocalVariables::seek_initial_value(&v1, &v2, story_author_VAR);
|
||||
Emit::named_generic_constant(InterNames::iname(Story_Author_INAME), v1, v2);
|
||||
Emit::named_generic_constant(iname, v1, v2);
|
||||
Packaging::exit(save);
|
||||
}
|
||||
|
||||
@ Similarly (but numerically):
|
||||
|
||||
@<Compile the I6 Release directive@> =
|
||||
if (NonlocalVariables::has_initial_value_set(story_release_number_VAR)) {
|
||||
inter_name *iname = PL::Bibliographic::constant(I"Release");
|
||||
packaging_state save = Packaging::enter_home_of(iname);
|
||||
inter_t v1 = 0, v2 = 0;
|
||||
NonlocalVariables::seek_initial_value(&v1, &v2, story_release_number_VAR);
|
||||
Emit::named_generic_constant(InterNames::iname(Release_INAME), v1, v2);
|
||||
Emit::named_generic_constant(iname, v1, v2);
|
||||
Packaging::exit(save);
|
||||
}
|
||||
|
||||
@ This innocuous code -- if Inform runs on 25 June 2013, we compile the serial
|
||||
|
@ -299,12 +317,15 @@ number "130625" -- is actually controversial: quite a few users feel they
|
|||
should be able to fake the date-stamp with dates of their own choosing.
|
||||
|
||||
@<Compile the I6 serial number, based on the date@> =
|
||||
inter_name *iname = PL::Bibliographic::constant(I"Serial");
|
||||
packaging_state save = Packaging::enter_home_of(iname);
|
||||
TEMPORARY_TEXT(SN);
|
||||
int year_digits = (the_present->tm_year) % 100;
|
||||
WRITE_TO(SN, "%02d%02d%02d",
|
||||
year_digits, (the_present->tm_mon)+1, the_present->tm_mday);
|
||||
Emit::named_text_constant(InterNames::iname(Serial_INAME), SN);
|
||||
Emit::named_text_constant(iname, SN);
|
||||
DISCARD_TEXT(SN);
|
||||
Packaging::exit(save);
|
||||
|
||||
@ The Library Card is part of the Contents index, and is intended as a
|
||||
natural way to present bibliographic data to the user. In effect, it's a
|
||||
|
|
|
@ -44,8 +44,12 @@ around it, in byte-accessible memory.
|
|||
inter_name *UUID_array_iname = NULL;
|
||||
void PL::Bibliographic::IFID::define_UUID(void) {
|
||||
text_stream *uuid = PL::Bibliographic::IFID::read_uuid();
|
||||
package_request *PR = Packaging::synoptic_resource(BIBLIOGRAPHIC_SUBPACKAGE);
|
||||
UUID_array_iname = InterNames::iname(UUID_ARRAY_INAME);
|
||||
Packaging::house(UUID_array_iname, PR);
|
||||
packaging_state save = Packaging::enter_home_of(UUID_array_iname);
|
||||
Emit::named_string_constant(UUID_array_iname, uuid);
|
||||
Packaging::exit(save);
|
||||
}
|
||||
|
||||
inter_name *PL::Bibliographic::IFID::UUID(void) {
|
||||
|
|
|
@ -375,8 +375,13 @@ void Kinds::Constructors::compile_I6_constants(void) {
|
|||
LOOP_OVER(con, kind_constructor) {
|
||||
text_stream *tn = Kinds::Constructors::name_in_template_code(con);
|
||||
if (Str::len(tn) > 0) {
|
||||
con->con_iname = Emit::named_numeric_constant(InterNames::template_weak_ID_name(tn), (inter_t) con->weak_kind_ID);
|
||||
package_request *PR = Packaging::synoptic_resource(KINDS_SUBPACKAGE);
|
||||
con->con_iname = InterNames::template_weak_ID_name(tn);
|
||||
Packaging::house(con->con_iname, PR);
|
||||
packaging_state save = Packaging::enter_home_of(con->con_iname);
|
||||
Emit::named_numeric_constant(con->con_iname, (inter_t) con->weak_kind_ID);
|
||||
Inter::Symbols::set_flag(InterNames::to_symbol(con->con_iname), SR_CACHE_MARK_BIT);
|
||||
Packaging::exit(save);
|
||||
}
|
||||
}
|
||||
Emit::named_numeric_constant(InterNames::iname(BASE_KIND_HWM_INAME), (inter_t) next_free_data_type_ID);
|
||||
|
|
Loading…
Reference in a new issue