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

Rehoused table of verb forms

This commit is contained in:
Graham Nelson 2019-04-03 08:42:01 +01:00
parent 5721709c70
commit f6db87e096
4 changed files with 13 additions and 5 deletions

View file

@ -328,7 +328,7 @@
<p class="endnote">The function InterNames::new_in_space is used in <a href="#SP3">&#167;3</a>.</p>
<p class="endnote">The function InterNames::one_off is used in <a href="#SP7">&#167;7</a>, 5/un (<a href="5-un.html#SP1">&#167;1</a>), 5/nv (<a href="5-nv.html#SP16">&#167;16</a>), 6/bp (<a href="6-bp.html#SP32">&#167;32</a>), 6/rlt (<a href="6-rlt.html#SP9">&#167;9</a>, <a href="6-rlt.html#SP9_13">&#167;9.13</a>, <a href="6-rlt.html#SP15">&#167;15</a>, <a href="6-rlt.html#SP17">&#167;17</a>, <a href="6-rlt.html#SP29_1">&#167;29.1</a>), 8/ef (<a href="8-ef.html#SP19">&#167;19</a>), 13/rsfk (<a href="13-rsfk.html#SP15">&#167;15</a>, <a href="13-rsfk.html#SP16_3">&#167;16.3</a>, <a href="13-rsfk.html#SP26_6_1">&#167;26.6.1</a>, <a href="13-rsfk.html#SP26_6_2">&#167;26.6.2</a>, <a href="13-rsfk.html#SP26_6_3">&#167;26.6.3</a>, <a href="13-rsfk.html#SP26_6_4">&#167;26.6.4</a>, <a href="13-rsfk.html#SP26_6_5">&#167;26.6.5</a>, <a href="13-rsfk.html#SP26_6_6">&#167;26.6.6</a>, <a href="13-rsfk.html#SP27">&#167;27</a>), 15/pr (<a href="15-pr.html#SP27">&#167;27</a>), 15/ma (<a href="15-ma.html#SP11_3">&#167;11.3</a>), 17/tl (<a href="17-tl.html#SP14_2">&#167;14.2</a>), 17/rs (<a href="17-rs.html#SP5">&#167;5</a>, <a href="17-rs.html#SP6_1">&#167;6.1</a>), 19/tc (<a href="19-tc.html#SP8">&#167;8</a>), 20/eq (<a href="20-eq.html#SP10_1">&#167;10.1</a>), 21/rl (<a href="21-rl.html#SP9">&#167;9</a>, <a href="21-rl.html#SP19">&#167;19</a>, <a href="21-rl.html#SP20">&#167;20</a>), 21/rb (<a href="21-rb.html#SP23">&#167;23</a>), 21/rl2 (<a href="21-rl2.html#SP10">&#167;10</a>, <a href="21-rl2.html#SP14">&#167;14</a>, <a href="21-rl2.html#SP14_1">&#167;14.1</a>), 21/ac (<a href="21-ac.html#SP8">&#167;8</a>), 22/ph (<a href="22-ph.html#SP11">&#167;11</a>), 22/pu (<a href="22-pu.html#SP6">&#167;6</a>), 22/pav (<a href="22-pav.html#SP9">&#167;9</a>), 22/tp (<a href="22-tp.html#SP7">&#167;7</a>), 24/ch (<a href="24-ch.html#SP3">&#167;3</a>, <a href="24-ch.html#SP7">&#167;7</a>), 26/uo (<a href="26-uo.html#SP21_1">&#167;21.1</a>), 26/lt (<a href="26-lt.html#SP3">&#167;3</a>), 26/rt (<a href="26-rt.html#SP4">&#167;4</a>), 26/ts (<a href="26-ts.html#SP10">&#167;10</a>, <a href="26-ts.html#SP11">&#167;11</a>), 27/cm (<a href="27-cm.html#SP2">&#167;2</a>), 27/pc (<a href="27-pc.html#SP8_1">&#167;8.1</a>, <a href="27-pc.html#SP9">&#167;9</a>).</p>
<p class="endnote">The function InterNames::one_off is used in <a href="#SP7">&#167;7</a>, 5/un (<a href="5-un.html#SP1">&#167;1</a>), 5/nv (<a href="5-nv.html#SP16">&#167;16</a>), 6/bp (<a href="6-bp.html#SP32">&#167;32</a>), 6/rlt (<a href="6-rlt.html#SP9">&#167;9</a>, <a href="6-rlt.html#SP9_13">&#167;9.13</a>, <a href="6-rlt.html#SP15">&#167;15</a>, <a href="6-rlt.html#SP17">&#167;17</a>, <a href="6-rlt.html#SP29_1">&#167;29.1</a>), 6/nv (<a href="6-nv.html#SP18">&#167;18</a>), 8/ef (<a href="8-ef.html#SP19">&#167;19</a>), 13/rsfk (<a href="13-rsfk.html#SP15">&#167;15</a>, <a href="13-rsfk.html#SP16_3">&#167;16.3</a>, <a href="13-rsfk.html#SP26_6_1">&#167;26.6.1</a>, <a href="13-rsfk.html#SP26_6_2">&#167;26.6.2</a>, <a href="13-rsfk.html#SP26_6_3">&#167;26.6.3</a>, <a href="13-rsfk.html#SP26_6_4">&#167;26.6.4</a>, <a href="13-rsfk.html#SP26_6_5">&#167;26.6.5</a>, <a href="13-rsfk.html#SP26_6_6">&#167;26.6.6</a>, <a href="13-rsfk.html#SP27">&#167;27</a>), 15/pr (<a href="15-pr.html#SP27">&#167;27</a>), 15/ma (<a href="15-ma.html#SP11_3">&#167;11.3</a>), 17/tl (<a href="17-tl.html#SP14_2">&#167;14.2</a>), 17/rs (<a href="17-rs.html#SP5">&#167;5</a>, <a href="17-rs.html#SP6_1">&#167;6.1</a>), 19/tc (<a href="19-tc.html#SP8">&#167;8</a>), 20/eq (<a href="20-eq.html#SP10_1">&#167;10.1</a>), 21/rl (<a href="21-rl.html#SP9">&#167;9</a>, <a href="21-rl.html#SP19">&#167;19</a>, <a href="21-rl.html#SP20">&#167;20</a>), 21/rb (<a href="21-rb.html#SP23">&#167;23</a>), 21/rl2 (<a href="21-rl2.html#SP10">&#167;10</a>, <a href="21-rl2.html#SP14">&#167;14</a>, <a href="21-rl2.html#SP14_1">&#167;14.1</a>), 21/ac (<a href="21-ac.html#SP8">&#167;8</a>), 22/ph (<a href="22-ph.html#SP11">&#167;11</a>), 22/pu (<a href="22-pu.html#SP6">&#167;6</a>), 22/pav (<a href="22-pav.html#SP9">&#167;9</a>), 22/tp (<a href="22-tp.html#SP7">&#167;7</a>), 24/ch (<a href="24-ch.html#SP3">&#167;3</a>, <a href="24-ch.html#SP7">&#167;7</a>), 26/uo (<a href="26-uo.html#SP21_1">&#167;21.1</a>), 26/lt (<a href="26-lt.html#SP3">&#167;3</a>), 26/rt (<a href="26-rt.html#SP4">&#167;4</a>), 26/ts (<a href="26-ts.html#SP10">&#167;10</a>, <a href="26-ts.html#SP11">&#167;11</a>), 27/cm (<a href="27-cm.html#SP2">&#167;2</a>), 27/pc (<a href="27-pc.html#SP8_1">&#167;8.1</a>, <a href="27-pc.html#SP9">&#167;9</a>).</p>
<p class="endnote">The function InterNames::attach_memo is used in <a href="#SP3">&#167;3</a>, 5/un (<a href="5-un.html#SP1">&#167;1</a>), 5/nv (<a href="5-nv.html#SP16">&#167;16</a>), 13/rsfk (<a href="13-rsfk.html#SP13_1_1">&#167;13.1.1</a>), 15/pr (<a href="15-pr.html#SP27">&#167;27</a>), 15/ep (<a href="15-ep.html#SP4">&#167;4</a>), 15/vp (<a href="15-vp.html#SP3">&#167;3</a>), 19/tb (<a href="19-tb.html#SP20">&#167;20</a>), 21/rl2 (<a href="21-rl2.html#SP10">&#167;10</a>), 21/ac (<a href="21-ac.html#SP6">&#167;6</a>).</p>

View file

@ -294,9 +294,9 @@
<p class="inwebparagraph"></p>
<p class="endnote">The function Packaging::enter is used in <a href="#SP5">&#167;5</a>, 4/am (<a href="4-am.html#SP34_2">&#167;34.2</a>), 5/ins (<a href="5-ins.html#SP34">&#167;34</a>), 5/nv (<a href="5-nv.html#SP16">&#167;16</a>), 13/rsfk (<a href="13-rsfk.html#SP26">&#167;26</a>), 15/epv (<a href="15-epv.html#SP2">&#167;2</a>), 16/ic (<a href="16-ic.html#SP10">&#167;10</a>), 17/rs (<a href="17-rs.html#SP6_1">&#167;6.1</a>, <a href="17-rs.html#SP7_1">&#167;7.1</a>), 21/rl (<a href="21-rl.html#SP9">&#167;9</a>), 21/rl2 (<a href="21-rl2.html#SP20">&#167;20</a>), 22/ph (<a href="22-ph.html#SP12">&#167;12</a>), 27/ei (<a href="27-ei.html#SP3">&#167;3</a>, <a href="27-ei.html#SP4">&#167;4</a>).</p>
<p class="endnote">The function Packaging::enter is used in <a href="#SP5">&#167;5</a>, 4/am (<a href="4-am.html#SP34_2">&#167;34.2</a>), 5/ins (<a href="5-ins.html#SP34">&#167;34</a>), 5/nv (<a href="5-nv.html#SP16">&#167;16</a>), 6/nv (<a href="6-nv.html#SP18">&#167;18</a>), 13/rsfk (<a href="13-rsfk.html#SP26">&#167;26</a>), 15/epv (<a href="15-epv.html#SP2">&#167;2</a>), 16/ic (<a href="16-ic.html#SP10">&#167;10</a>), 17/rs (<a href="17-rs.html#SP6_1">&#167;6.1</a>, <a href="17-rs.html#SP7_1">&#167;7.1</a>), 21/rl (<a href="21-rl.html#SP9">&#167;9</a>), 21/rl2 (<a href="21-rl2.html#SP20">&#167;20</a>), 22/ph (<a href="22-ph.html#SP12">&#167;12</a>), 27/ei (<a href="27-ei.html#SP3">&#167;3</a>, <a href="27-ei.html#SP4">&#167;4</a>).</p>
<p class="endnote">The function Packaging::exit is used in 5/ins (<a href="5-ins.html#SP34">&#167;34</a>), 5/nv (<a href="5-nv.html#SP16">&#167;16</a>), 6/rlt (<a href="6-rlt.html#SP15_1">&#167;15.1</a>), 13/rsfk (<a href="13-rsfk.html#SP4">&#167;4</a>, <a href="13-rsfk.html#SP26">&#167;26</a>), 15/pr (<a href="15-pr.html#SP27">&#167;27</a>), 15/epv (<a href="15-epv.html#SP2">&#167;2</a>), 16/ic (<a href="16-ic.html#SP10">&#167;10</a>), 17/tl (<a href="17-tl.html#SP16">&#167;16</a>), 17/ts (<a href="17-ts.html#SP8_1">&#167;8.1</a>, <a href="17-ts.html#SP11">&#167;11</a>), 17/rs (<a href="17-rs.html#SP6_1">&#167;6.1</a>, <a href="17-rs.html#SP7_1">&#167;7.1</a>), 18/lc (<a href="18-lc.html#SP11">&#167;11</a>), 21/rl (<a href="21-rl.html#SP9">&#167;9</a>), 21/rl2 (<a href="21-rl2.html#SP20">&#167;20</a>), 21/ac (<a href="21-ac.html#SP6">&#167;6</a>), 22/ph (<a href="22-ph.html#SP12">&#167;12</a>), 26/rt (<a href="26-rt.html#SP4">&#167;4</a>), 27/ei (<a href="27-ei.html#SP3">&#167;3</a>, <a href="27-ei.html#SP4">&#167;4</a>).</p>
<p class="endnote">The function Packaging::exit is used in 5/ins (<a href="5-ins.html#SP34">&#167;34</a>), 5/nv (<a href="5-nv.html#SP16">&#167;16</a>), 6/rlt (<a href="6-rlt.html#SP15_1">&#167;15.1</a>), 6/nv (<a href="6-nv.html#SP18">&#167;18</a>), 13/rsfk (<a href="13-rsfk.html#SP4">&#167;4</a>, <a href="13-rsfk.html#SP26">&#167;26</a>), 15/pr (<a href="15-pr.html#SP27">&#167;27</a>), 15/epv (<a href="15-epv.html#SP2">&#167;2</a>), 16/ic (<a href="16-ic.html#SP10">&#167;10</a>), 17/tl (<a href="17-tl.html#SP16">&#167;16</a>), 17/ts (<a href="17-ts.html#SP8_1">&#167;8.1</a>, <a href="17-ts.html#SP11">&#167;11</a>), 17/rs (<a href="17-rs.html#SP6_1">&#167;6.1</a>, <a href="17-rs.html#SP7_1">&#167;7.1</a>), 18/lc (<a href="18-lc.html#SP11">&#167;11</a>), 21/rl (<a href="21-rl.html#SP9">&#167;9</a>), 21/rl2 (<a href="21-rl2.html#SP20">&#167;20</a>), 21/ac (<a href="21-ac.html#SP6">&#167;6</a>), 22/ph (<a href="22-ph.html#SP12">&#167;12</a>), 26/rt (<a href="26-rt.html#SP4">&#167;4</a>), 27/ei (<a href="27-ei.html#SP3">&#167;3</a>, <a href="27-ei.html#SP4">&#167;4</a>).</p>
<p class="endnote">The function Packaging::incarnate is used in 21/rl (<a href="21-rl.html#SP9">&#167;9</a>), 27/ei (<a href="27-ei.html#SP3">&#167;3</a>).</p>

View file

@ -1013,12 +1013,16 @@ foreign verbs (4).
<span class="identifier">LOOP_OVER</span><span class="plain">(</span><span class="identifier">vf</span><span class="plain">, </span><span class="identifier">verb_form</span><span class="plain">)</span>
<span class="reserved">if</span><span class="plain"> (</span><span class="functiontext">NewVerbs::verb_form_is_instance</span><span class="plain">(</span><span class="identifier">vf</span><span class="plain">))</span>
&lt;<span class="cwebmacro">Compile ConjugateVerbForm routine</span> <span class="cwebmacronumber">18.2</span>&gt;<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">TableOfVerbs_INAME</span><span class="plain">), </span><span class="identifier">K_value</span><span class="plain">);</span>
<span class="reserved">package_request</span><span class="plain"> *</span><span class="identifier">PR</span><span class="plain"> = </span><span class="identifier">Kinds::Behaviour::package</span><span class="plain">(</span><span class="identifier">K_verb</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">"TableOfVerbs"</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">vf</span><span class="plain">, </span><span class="identifier">verb_form</span><span class="plain">)</span>
<span class="reserved">if</span><span class="plain"> (</span><span class="functiontext">NewVerbs::verb_form_is_instance</span><span class="plain">(</span><span class="identifier">vf</span><span class="plain">))</span>
<span class="functiontext">Emit::array_iname_entry</span><span class="plain">(</span><span class="identifier">Verbs::form_iname</span><span class="plain">(</span><span class="identifier">vf</span><span class="plain">));</span>
<span class="functiontext">Emit::array_numeric_entry</span><span class="plain">(0);</span>
<span class="functiontext">Emit::array_end</span><span class="plain">();</span>
<span class="functiontext">Packaging::exit</span><span class="plain">(</span><span class="identifier">save</span><span class="plain">);</span>
<span class="plain">}</span>
</pre>

View file

@ -728,12 +728,16 @@ void NewVerbs::ConjugateVerb(void) {
LOOP_OVER(vf, verb_form)
if (NewVerbs::verb_form_is_instance(vf))
@<Compile ConjugateVerbForm routine@>;
Emit::named_array_begin(InterNames::iname(TableOfVerbs_INAME), K_value);
package_request *PR = Kinds::Behaviour::package(K_verb);
inter_name *iname = InterNames::one_off(I"TableOfVerbs", PR);
packaging_state save = Packaging::enter(PR);
Emit::named_array_begin(iname, K_value);
LOOP_OVER(vf, verb_form)
if (NewVerbs::verb_form_is_instance(vf))
Emit::array_iname_entry(Verbs::form_iname(vf));
Emit::array_numeric_entry(0);
Emit::array_end();
Packaging::exit(save);
}
@<Compile ConjugateVerb routine@> =