mirror of
https://github.com/ganelson/inform.git
synced 2024-06-17 15:50:46 +03:00
Began work on synoptic module
This commit is contained in:
parent
4ff69d1edd
commit
80963c1e34
|
@ -1,6 +1,6 @@
|
|||
# Inform 7
|
||||
|
||||
v10.1.0-alpha.1+6T95 'Krypton' (3 January 2022)
|
||||
v10.1.0-alpha.1+6T96 'Krypton' (4 January 2022)
|
||||
|
||||
## About Inform 7
|
||||
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
Prerelease: alpha.1
|
||||
Build Date: 3 January 2022
|
||||
Build Number: 6T95
|
||||
Build Date: 4 January 2022
|
||||
Build Number: 6T96
|
||||
|
|
|
@ -56,7 +56,7 @@ MathJax = {
|
|||
<ul class="crumbs"><li><a href="../index.html">Home</a></li><li><a href="../extensions.html">Kits</a></li><li><a href="index.html">BasicInformKit</a></li><li><b>Definitions Template</b></li></ul></div>
|
||||
<p class="purpose">Miscellaneous constant definitions, usually providing symbolic names for otherwise inscrutable numbers, which are used throughout the template layer.</p>
|
||||
|
||||
<ul class="toc"><li><a href="S-dfn.html#SP1">§1. Z-Machine Definitions</a></li><li><a href="S-dfn.html#SP2">§2. Glulx Definitions</a></li><li><a href="S-dfn.html#SP3">§3. Nothing</a></li><li><a href="S-dfn.html#SP4">§4. Powers of Two</a></li><li><a href="S-dfn.html#SP5">§5. Text Styles</a></li><li><a href="S-dfn.html#SP6">§6. Colour Numbers</a></li><li><a href="S-dfn.html#SP7">§7. Window Numbers</a></li><li><a href="S-dfn.html#SP8">§8. Paragraphing Flags</a></li><li><a href="S-dfn.html#SP9">§9. Descriptors in the Language of Play</a></li><li><a href="S-dfn.html#SP10">§10. Run-Time Problem Numbers</a></li><li><a href="S-dfn.html#SP11">§11. Template Activities</a></li><li><a href="S-dfn.html#SP12">§12. Template Rulebooks</a></li><li><a href="S-dfn.html#SP13">§13. Kind IDs</a></li><li><a href="S-dfn.html#SP14">§14. Parser Error Numbers</a></li><li><a href="S-dfn.html#SP15">§15. Scope Searching Reasons</a></li><li><a href="S-dfn.html#SP16">§16. Token Types</a></li><li><a href="S-dfn.html#SP17">§17. GPR Return Values</a></li><li><a href="S-dfn.html#SP18">§18. List Styles</a></li><li><a href="S-dfn.html#SP19">§19. Lengths Of Time</a></li><li><a href="S-dfn.html#SP20">§20. Empty Text</a></li><li><a href="S-dfn.html#SP21">§21. Empty Table</a></li><li><a href="S-dfn.html#SP22">§22. Empty Set</a></li><li><a href="S-dfn.html#SP23">§23. Template Attributes</a></li><li><a href="S-dfn.html#SP24">§24. Template Properties</a></li><li><a href="S-dfn.html#SP25">§25. Fake Actions</a></li><li><a href="S-dfn.html#SP26">§26. Formal Parameters</a></li><li><a href="S-dfn.html#SP27">§27. Template Configuration</a></li></ul><hr class="tocbar">
|
||||
<ul class="toc"><li><a href="S-dfn.html#SP1">§1. Z-Machine Definitions</a></li><li><a href="S-dfn.html#SP2">§2. Glulx Definitions</a></li><li><a href="S-dfn.html#SP3">§3. Nothing</a></li><li><a href="S-dfn.html#SP4">§4. Powers of Two</a></li><li><a href="S-dfn.html#SP5">§5. Text Styles</a></li><li><a href="S-dfn.html#SP6">§6. Colour Numbers</a></li><li><a href="S-dfn.html#SP7">§7. Window Numbers</a></li><li><a href="S-dfn.html#SP8">§8. Paragraphing Flags</a></li><li><a href="S-dfn.html#SP9">§9. Descriptors in the Language of Play</a></li><li><a href="S-dfn.html#SP10">§10. Run-Time Problem Numbers</a></li><li><a href="S-dfn.html#SP11">§11. Template Activities</a></li><li><a href="S-dfn.html#SP12">§12. Template Rulebooks</a></li><li><a href="S-dfn.html#SP13">§13. Scope Searching Reasons</a></li><li><a href="S-dfn.html#SP14">§14. Token Types</a></li><li><a href="S-dfn.html#SP15">§15. GPR Return Values</a></li><li><a href="S-dfn.html#SP16">§16. List Styles</a></li><li><a href="S-dfn.html#SP17">§17. Lengths Of Time</a></li><li><a href="S-dfn.html#SP18">§18. Empty Text</a></li><li><a href="S-dfn.html#SP19">§19. Empty Table</a></li><li><a href="S-dfn.html#SP20">§20. Empty Set</a></li><li><a href="S-dfn.html#SP21">§21. Template Attributes</a></li><li><a href="S-dfn.html#SP22">§22. Template Properties</a></li><li><a href="S-dfn.html#SP23">§23. Formal Parameters</a></li><li><a href="S-dfn.html#SP24">§24. Template Configuration</a></li></ul><hr class="tocbar">
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP1" class="paragraph-anchor"></a><b>§1. Z-Machine Definitions. </b>The Z-machine contains certain special constants and variables at fixed
|
||||
position in its "header"; the addresses of these are given below. See
|
||||
|
@ -445,43 +445,7 @@ creation sequence in the Standard Rules.)
|
|||
<span class="reserved-syntax">Constant</span><span class="plain-syntax"> </span><span class="identifier-syntax">DOES_THE_PLAYER_MEAN_RB</span><span class="plain-syntax"> = </span><span class="constant-syntax">34</span><span class="plain-syntax">;</span>
|
||||
<span class="reserved-syntax">Constant</span><span class="plain-syntax"> </span><span class="identifier-syntax">MULTIPLE_ACTION_PROCESSING_RB</span><span class="plain-syntax"> = </span><span class="constant-syntax">35</span><span class="plain-syntax">;</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP13" class="paragraph-anchor"></a><b>§13. Kind IDs. </b>These are filled in automatically by Inform, and have the same names as are used
|
||||
in the Inform source (and in the Load-.i6t sections): for instance <span class="extract"><span class="extract-syntax">NUMBER_TY</span></span>.
|
||||
</p>
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP14" class="paragraph-anchor"></a><b>§14. Parser Error Numbers. </b>The traditional ways in which the I6 library's parser, which we adopt here
|
||||
more or less intact, can give up on a player's command. See the {\it Inform
|
||||
Designer's Manual}, 4th edition, for details.
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">Constant</span><span class="plain-syntax"> </span><span class="identifier-syntax">STUCK_PE</span><span class="plain-syntax"> = </span><span class="constant-syntax">1</span><span class="plain-syntax">;</span>
|
||||
<span class="reserved-syntax">Constant</span><span class="plain-syntax"> </span><span class="identifier-syntax">UPTO_PE</span><span class="plain-syntax"> = </span><span class="constant-syntax">2</span><span class="plain-syntax">;</span>
|
||||
<span class="reserved-syntax">Constant</span><span class="plain-syntax"> </span><span class="identifier-syntax">NUMBER_PE</span><span class="plain-syntax"> = </span><span class="constant-syntax">3</span><span class="plain-syntax">;</span>
|
||||
<span class="reserved-syntax">Constant</span><span class="plain-syntax"> </span><span class="identifier-syntax">ANIMA_PE</span><span class="plain-syntax"> = </span><span class="constant-syntax">4</span><span class="plain-syntax">;</span>
|
||||
<span class="reserved-syntax">Constant</span><span class="plain-syntax"> </span><span class="identifier-syntax">CANTSEE_PE</span><span class="plain-syntax"> = </span><span class="constant-syntax">5</span><span class="plain-syntax">;</span>
|
||||
<span class="reserved-syntax">Constant</span><span class="plain-syntax"> </span><span class="identifier-syntax">TOOLIT_PE</span><span class="plain-syntax"> = </span><span class="constant-syntax">6</span><span class="plain-syntax">;</span>
|
||||
<span class="reserved-syntax">Constant</span><span class="plain-syntax"> </span><span class="identifier-syntax">NOTHELD_PE</span><span class="plain-syntax"> = </span><span class="constant-syntax">7</span><span class="plain-syntax">;</span>
|
||||
<span class="reserved-syntax">Constant</span><span class="plain-syntax"> </span><span class="identifier-syntax">MULTI_PE</span><span class="plain-syntax"> = </span><span class="constant-syntax">8</span><span class="plain-syntax">;</span>
|
||||
<span class="reserved-syntax">Constant</span><span class="plain-syntax"> </span><span class="identifier-syntax">MMULTI_PE</span><span class="plain-syntax"> = </span><span class="constant-syntax">9</span><span class="plain-syntax">;</span>
|
||||
<span class="reserved-syntax">Constant</span><span class="plain-syntax"> </span><span class="identifier-syntax">VAGUE_PE</span><span class="plain-syntax"> = </span><span class="constant-syntax">10</span><span class="plain-syntax">;</span>
|
||||
<span class="reserved-syntax">Constant</span><span class="plain-syntax"> </span><span class="identifier-syntax">EXCEPT_PE</span><span class="plain-syntax"> = </span><span class="constant-syntax">11</span><span class="plain-syntax">;</span>
|
||||
<span class="reserved-syntax">Constant</span><span class="plain-syntax"> </span><span class="identifier-syntax">VERB_PE</span><span class="plain-syntax"> = </span><span class="constant-syntax">12</span><span class="plain-syntax">;</span>
|
||||
<span class="reserved-syntax">Constant</span><span class="plain-syntax"> </span><span class="identifier-syntax">SCENERY_PE</span><span class="plain-syntax"> = </span><span class="constant-syntax">13</span><span class="plain-syntax">;</span>
|
||||
<span class="reserved-syntax">Constant</span><span class="plain-syntax"> </span><span class="identifier-syntax">ITGONE_PE</span><span class="plain-syntax"> = </span><span class="constant-syntax">14</span><span class="plain-syntax">;</span>
|
||||
<span class="reserved-syntax">Constant</span><span class="plain-syntax"> </span><span class="identifier-syntax">JUNKAFTER_PE</span><span class="plain-syntax"> = </span><span class="constant-syntax">15</span><span class="plain-syntax">;</span>
|
||||
<span class="reserved-syntax">Constant</span><span class="plain-syntax"> </span><span class="identifier-syntax">TOOFEW_PE</span><span class="plain-syntax"> = </span><span class="constant-syntax">16</span><span class="plain-syntax">;</span>
|
||||
<span class="reserved-syntax">Constant</span><span class="plain-syntax"> </span><span class="identifier-syntax">NOTHING_PE</span><span class="plain-syntax"> = </span><span class="constant-syntax">17</span><span class="plain-syntax">;</span>
|
||||
<span class="reserved-syntax">Constant</span><span class="plain-syntax"> </span><span class="identifier-syntax">ASKSCOPE_PE</span><span class="plain-syntax"> = </span><span class="constant-syntax">18</span><span class="plain-syntax">;</span>
|
||||
<span class="reserved-syntax">Constant</span><span class="plain-syntax"> </span><span class="identifier-syntax">NOTINCONTEXT_PE</span><span class="plain-syntax"> = </span><span class="constant-syntax">19</span><span class="plain-syntax">;</span>
|
||||
<span class="reserved-syntax">Constant</span><span class="plain-syntax"> </span><span class="identifier-syntax">BLANKLINE_PE</span><span class="plain-syntax"> = </span><span class="constant-syntax">20</span><span class="plain-syntax">; </span><span class="comment-syntax">Not formally a parser error, but used by I7 as if</span>
|
||||
<span class="reserved-syntax">Constant</span><span class="plain-syntax"> </span><span class="identifier-syntax">ANIMAAGAIN_PE</span><span class="plain-syntax"> = </span><span class="constant-syntax">21</span><span class="plain-syntax">;</span>
|
||||
<span class="reserved-syntax">Constant</span><span class="plain-syntax"> </span><span class="identifier-syntax">COMMABEGIN_PE</span><span class="plain-syntax"> = </span><span class="constant-syntax">22</span><span class="plain-syntax">;</span>
|
||||
<span class="reserved-syntax">Constant</span><span class="plain-syntax"> </span><span class="identifier-syntax">MISSINGPERSON_PE</span><span class="plain-syntax"> = </span><span class="constant-syntax">23</span><span class="plain-syntax">;</span>
|
||||
<span class="reserved-syntax">Constant</span><span class="plain-syntax"> </span><span class="identifier-syntax">ANIMALISTEN_PE</span><span class="plain-syntax"> = </span><span class="constant-syntax">24</span><span class="plain-syntax">;</span>
|
||||
<span class="reserved-syntax">Constant</span><span class="plain-syntax"> </span><span class="identifier-syntax">TOTALK_PE</span><span class="plain-syntax"> = </span><span class="constant-syntax">25</span><span class="plain-syntax">;</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP15" class="paragraph-anchor"></a><b>§15. Scope Searching Reasons. </b>The parser makes use of a mechanism for searching through the objects currently
|
||||
<p class="commentary firstcommentary"><a id="SP13" class="paragraph-anchor"></a><b>§13. Scope Searching Reasons. </b>The parser makes use of a mechanism for searching through the objects currently
|
||||
"in scope", which basically means visible to the actor who would perform the
|
||||
action envisaged by the command being parsed. It is sometimes useful to
|
||||
behave differently depending on why this scope searching is being done, so
|
||||
|
@ -500,7 +464,7 @@ in numbering.
|
|||
<span class="reserved-syntax">Constant</span><span class="plain-syntax"> </span><span class="identifier-syntax">LOOPOVERSCOPE_REASON</span><span class="plain-syntax"> = </span><span class="constant-syntax">5</span><span class="plain-syntax">;</span>
|
||||
<span class="reserved-syntax">Constant</span><span class="plain-syntax"> </span><span class="identifier-syntax">TESTSCOPE_REASON</span><span class="plain-syntax"> = </span><span class="constant-syntax">6</span><span class="plain-syntax">;</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP16" class="paragraph-anchor"></a><b>§16. Token Types. </b>Tokens are the indecomposable pieces of a grammar line making up a possible
|
||||
<p class="commentary firstcommentary"><a id="SP14" class="paragraph-anchor"></a><b>§14. Token Types. </b>Tokens are the indecomposable pieces of a grammar line making up a possible
|
||||
reading of a command; some are literal words, others stand for "any named
|
||||
object in scope", and so on. The following codes identify the possibilities.
|
||||
The <span class="extract"><span class="extract-syntax">*_TOKEN</span></span> constants must not be altered without modifying the I6 compiler
|
||||
|
@ -528,7 +492,7 @@ to match (so, basically, they must not be altered at all).
|
|||
<span class="reserved-syntax">Constant</span><span class="plain-syntax"> </span><span class="identifier-syntax">TOPIC_TOKEN</span><span class="plain-syntax"> = </span><span class="constant-syntax">9</span><span class="plain-syntax">;</span>
|
||||
<span class="reserved-syntax">Constant</span><span class="plain-syntax"> </span><span class="identifier-syntax">ENDIT_TOKEN</span><span class="plain-syntax"> = </span><span class="constant-syntax">15</span><span class="plain-syntax">; </span><span class="comment-syntax">Value used to mean "end of grammar line"</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP17" class="paragraph-anchor"></a><b>§17. GPR Return Values. </b>GRP stands for "General Parsing Routine", an I6 routine which acts as a
|
||||
<p class="commentary firstcommentary"><a id="SP15" class="paragraph-anchor"></a><b>§15. GPR Return Values. </b>GRP stands for "General Parsing Routine", an I6 routine which acts as a
|
||||
grammar token: again, see the {\it Inform Designer's Manual}, 4th edition,
|
||||
for details.
|
||||
</p>
|
||||
|
@ -556,7 +520,7 @@ here regardless.
|
|||
<span class="reserved-syntax">Constant</span><span class="plain-syntax"> </span><span class="identifier-syntax">GPR_MULTIINSIDE</span><span class="plain-syntax"> = </span><span class="identifier-syntax">GPR_NOUN</span><span class="plain-syntax"> + </span><span class="constant-syntax">5</span><span class="plain-syntax">;</span>
|
||||
<span class="reserved-syntax">Constant</span><span class="plain-syntax"> </span><span class="identifier-syntax">GPR_CREATURE</span><span class="plain-syntax"> = </span><span class="identifier-syntax">GPR_NOUN</span><span class="plain-syntax"> + </span><span class="constant-syntax">6</span><span class="plain-syntax">;</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP18" class="paragraph-anchor"></a><b>§18. List Styles. </b>These constants make up bitmaps of the options in use when listing objects.
|
||||
<p class="commentary firstcommentary"><a id="SP16" class="paragraph-anchor"></a><b>§16. List Styles. </b>These constants make up bitmaps of the options in use when listing objects.
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
|
@ -579,7 +543,7 @@ here regardless.
|
|||
<span class="reserved-syntax">Constant</span><span class="plain-syntax"> </span><span class="identifier-syntax">EXTRAINDENT_BIT</span><span class="plain-syntax"> = </span><span class="constant-syntax">$$0010000000000000</span><span class="plain-syntax">; </span><span class="comment-syntax">New in I7: extra indentation of 1 level</span>
|
||||
<span class="reserved-syntax">Constant</span><span class="plain-syntax"> </span><span class="identifier-syntax">CFIRSTART_BIT</span><span class="plain-syntax"> = </span><span class="constant-syntax">$$0100000000000000</span><span class="plain-syntax">; </span><span class="comment-syntax">Capitalise first article in list</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP19" class="paragraph-anchor"></a><b>§19. Lengths Of Time. </b>Inform measures time in minutes.
|
||||
<p class="commentary firstcommentary"><a id="SP17" class="paragraph-anchor"></a><b>§17. Lengths Of Time. </b>Inform measures time in minutes.
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
|
@ -589,7 +553,7 @@ here regardless.
|
|||
<span class="reserved-syntax">Constant</span><span class="plain-syntax"> </span><span class="identifier-syntax">TWELVE_HOURS</span><span class="plain-syntax"> = </span><span class="constant-syntax">720</span><span class="plain-syntax">;</span>
|
||||
<span class="reserved-syntax">Constant</span><span class="plain-syntax"> </span><span class="identifier-syntax">TWENTY_FOUR_HOURS</span><span class="plain-syntax"> = </span><span class="constant-syntax">1440</span><span class="plain-syntax">;</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP20" class="paragraph-anchor"></a><b>§20. Empty Text. </b>The I6 compiler does not optimise string compilation: if it needs to compile
|
||||
<p class="commentary firstcommentary"><a id="SP18" class="paragraph-anchor"></a><b>§18. Empty Text. </b>The I6 compiler does not optimise string compilation: if it needs to compile
|
||||
the (packed, read-only) string <span class="extract"><span class="extract-syntax">"exemplum"</span></span> twice, it will compile two copies.
|
||||
This is slightly wasteful on memory, though in practice the loss is not
|
||||
enough for us to care. But we do want to avoid this in I7 because, to make
|
||||
|
@ -605,21 +569,21 @@ and properties: we give it a name as follows.
|
|||
<span class="reserved-syntax">Constant</span><span class="plain-syntax"> </span><span class="identifier-syntax">EMPTY_TEXT_PACKED</span><span class="plain-syntax"> </span><span class="string-syntax">""</span><span class="plain-syntax">;</span>
|
||||
<span class="reserved-syntax">Array</span><span class="plain-syntax"> </span><span class="identifier-syntax">EMPTY_TEXT_VALUE</span><span class="plain-syntax"> --> </span><span class="identifier-syntax">CONSTANT_PACKED_TEXT_STORAGE</span><span class="plain-syntax"> </span><span class="identifier-syntax">EMPTY_TEXT_PACKED</span><span class="plain-syntax">;</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP21" class="paragraph-anchor"></a><b>§21. Empty Table. </b>Similarly: the default value for the "table" kind of value, a Table
|
||||
<p class="commentary firstcommentary"><a id="SP19" class="paragraph-anchor"></a><b>§19. Empty Table. </b>Similarly: the default value for the "table" kind of value, a Table
|
||||
containing no rows and no columns.
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">Array</span><span class="plain-syntax"> </span><span class="identifier-syntax">TheEmptyTable</span><span class="plain-syntax"> --> </span><span class="constant-syntax">0</span><span class="plain-syntax"> </span><span class="constant-syntax">0</span><span class="plain-syntax">;</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP22" class="paragraph-anchor"></a><b>§22. Empty Set. </b>The falsity proposition describes the empty set of objects, and is the
|
||||
<p class="commentary firstcommentary"><a id="SP20" class="paragraph-anchor"></a><b>§20. Empty Set. </b>The falsity proposition describes the empty set of objects, and is the
|
||||
zero value for the "description" kind of value.
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax">[ </span><span class="identifier-syntax">Prop_Falsity</span><span class="plain-syntax"> </span><span class="identifier-syntax">reason</span><span class="plain-syntax"> </span><span class="identifier-syntax">obj</span><span class="plain-syntax">; </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="constant-syntax">0</span><span class="plain-syntax">; ];</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP23" class="paragraph-anchor"></a><b>§23. Template Attributes. </b>An I6 attribute is equivalent to an I7 "either/or property", though the
|
||||
<p class="commentary firstcommentary"><a id="SP21" class="paragraph-anchor"></a><b>§21. Template Attributes. </b>An I6 attribute is equivalent to an I7 "either/or property", though the
|
||||
latter are not always translated into I6 attributes because the Z-machine
|
||||
has only a limited number of attributes to use. Here, we define attributes
|
||||
used by the template.
|
||||
|
@ -682,7 +646,7 @@ are not visible to I7 source text as storage.
|
|||
<span class="identifier-syntax">Attribute</span><span class="plain-syntax"> </span><span class="identifier-syntax">workflag2</span><span class="plain-syntax">; </span><span class="comment-syntax">new in I7 and also temporary workspace</span>
|
||||
<span class="reserved-syntax">Constant</span><span class="plain-syntax"> </span><span class="identifier-syntax">list_filter_permits</span><span class="plain-syntax"> = </span><span class="identifier-syntax">privately_named</span><span class="plain-syntax">; </span><span class="comment-syntax">another I7 listwriter convenience</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP24" class="paragraph-anchor"></a><b>§24. Template Properties. </b>As remarked above, these more often correspond to value properties in I7.
|
||||
<p class="commentary firstcommentary"><a id="SP22" class="paragraph-anchor"></a><b>§22. Template Properties. </b>As remarked above, these more often correspond to value properties in I7.
|
||||
To an experienced I6 user, though, the death toll of abolished I6
|
||||
properties in I7 is breathtaking: in alphabetical order, <span class="extract"><span class="extract-syntax">after</span></span>,
|
||||
<span class="extract"><span class="extract-syntax">cant_go</span></span>, <span class="extract"><span class="extract-syntax">daemon</span></span>, <span class="extract"><span class="extract-syntax">each_turn</span></span>, <span class="extract"><span class="extract-syntax">invent</span></span>, <span class="extract"><span class="extract-syntax">life</span></span>, <span class="extract"><span class="extract-syntax">number</span></span>, <span class="extract"><span class="extract-syntax">orders</span></span>,
|
||||
|
@ -741,31 +705,7 @@ future use.
|
|||
<span class="identifier-syntax">Property</span><span class="plain-syntax"> </span><span class="identifier-syntax">inside_description</span><span class="plain-syntax">; </span><span class="comment-syntax">not used by I7, but an interesting hook in the locale code</span>
|
||||
<span class="identifier-syntax">Property</span><span class="plain-syntax"> </span><span class="identifier-syntax">short_name_indef</span><span class="plain-syntax"> </span><span class="constant-syntax">0</span><span class="plain-syntax">; </span><span class="comment-syntax">not used by I7, but an interesting hook in the listmaker</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP25" class="paragraph-anchor"></a><b>§25. Fake Actions. </b>Though sometimes useful for I6 coding tricks, fake actions — action numbers
|
||||
not corresponding to any action, but different from those of valid actions,
|
||||
and useable with a number of action syntaxes — are not conceptually present
|
||||
in I7 source text. They can only really exist at the I6 level because I6 is
|
||||
typeless; in I7 terms, there is no convenient kind of value which could
|
||||
represent both actions and fake actions while protecting each from confusion
|
||||
with the other.
|
||||
</p>
|
||||
|
||||
<p class="commentary">See the {\it Inform Designer's Manual}, 4th edition, for what these are
|
||||
used for.
|
||||
</p>
|
||||
|
||||
<p class="commentary">The following fake actions from the I6 library have been dropped here:
|
||||
<span class="extract"><span class="extract-syntax">##LetGo</span></span>, <span class="extract"><span class="extract-syntax">##Receive</span></span>, <span class="extract"><span class="extract-syntax">##ThrownAt</span></span>, <span class="extract"><span class="extract-syntax">##Prompt</span></span>, <span class="extract"><span class="extract-syntax">##Places</span></span>, <span class="extract"><span class="extract-syntax">##Objects</span></span>,
|
||||
<span class="extract"><span class="extract-syntax">##Order</span></span>, <span class="extract"><span class="extract-syntax">##NotUnderstood</span></span>.
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="identifier-syntax">Fake_Action</span><span class="plain-syntax"> </span><span class="identifier-syntax">ListMiscellany</span><span class="plain-syntax">;</span>
|
||||
<span class="identifier-syntax">Fake_Action</span><span class="plain-syntax"> </span><span class="identifier-syntax">Miscellany</span><span class="plain-syntax">;</span>
|
||||
<span class="identifier-syntax">Fake_Action</span><span class="plain-syntax"> </span><span class="identifier-syntax">PluralFound</span><span class="plain-syntax">;</span>
|
||||
<span class="identifier-syntax">Fake_Action</span><span class="plain-syntax"> </span><span class="identifier-syntax">TheSame</span><span class="plain-syntax">;</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP26" class="paragraph-anchor"></a><b>§26. Formal Parameters. </b>These are needed for efficient run-time ambiguity resolution.
|
||||
<p class="commentary firstcommentary"><a id="SP23" class="paragraph-anchor"></a><b>§23. Formal Parameters. </b>These are needed for efficient run-time ambiguity resolution.
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
|
@ -780,7 +720,7 @@ used for.
|
|||
<span class="identifier-syntax">Global</span><span class="plain-syntax"> </span><span class="identifier-syntax">formal_par7</span><span class="plain-syntax">;</span>
|
||||
<span class="identifier-syntax">Global</span><span class="plain-syntax"> </span><span class="identifier-syntax">unicode_temp</span><span class="plain-syntax">;</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP27" class="paragraph-anchor"></a><b>§27. Template Configuration. </b>To minimise the need for conditional compilation in the template, the
|
||||
<p class="commentary firstcommentary"><a id="SP24" class="paragraph-anchor"></a><b>§24. Template Configuration. </b>To minimise the need for conditional compilation in the template, the
|
||||
constant <span class="extract"><span class="extract-syntax">KIT_CONFIGURATION_BITMAP</span></span> must be generated by the user
|
||||
(i.e., by I7). It's made up of these bits:
|
||||
</p>
|
||||
|
|
|
@ -56,9 +56,40 @@ MathJax = {
|
|||
<ul class="crumbs"><li><a href="../index.html">Home</a></li><li><a href="../extensions.html">Kits</a></li><li><a href="index.html">CommandParserKit</a></li><li><b>Parser Template</b></li></ul></div>
|
||||
<p class="purpose">The parser for turning the text of the typed command into a proposed action by the player.</p>
|
||||
|
||||
<ul class="toc"><li><a href="S-prs.html#SP1">§1. Grammar Line Variables</a></li><li><a href="S-prs.html#SP2">§2. Grammar Token Variables</a></li><li><a href="S-prs.html#SP3">§3. Match List Variables</a></li><li><a href="S-prs.html#SP4">§4. Words</a></li><li><a href="S-prs.html#SP5">§5. Snippets</a></li><li><a href="S-prs.html#SP6">§6. Unpacking Grammar Lines</a></li><li><a href="S-prs.html#SP7">§7. Keyboard Primitive</a></li><li><a href="S-prs.html#SP8">§8. Reading the Command</a></li><li><a href="S-prs.html#SP9">§9. Parser Proper</a></li><li><a href="S-prs.html#SP10">§10. Parser Letter A</a></li><li><a href="S-prs.html#SP11">§11. Parser Letter B</a></li><li><a href="S-prs.html#SP12">§12. Parser Letter C</a></li><li><a href="S-prs.html#SP13">§13. Parser Letter D</a></li><li><a href="S-prs.html#SP14">§14. Parser Letter E</a></li><li><a href="S-prs.html#SP15">§15. Parser Letter F</a></li><li><a href="S-prs.html#SP16">§16. Parser Letter G</a></li><li><a href="S-prs.html#SP17">§17. Parser Letter H</a></li><li><a href="S-prs.html#SP18">§18. Parser Letter I</a></li><li><a href="S-prs.html#SP19">§19. Parser Letter J</a></li><li><a href="S-prs.html#SP20">§20. Parser Letter K</a></li><li><a href="S-prs.html#SP21">§21. End of Parser Proper</a></li><li><a href="S-prs.html#SP22">§22. Internal Rule</a></li><li><a href="S-prs.html#SP23">§23. Parse Token</a></li><li><a href="S-prs.html#SP24">§24. Parse Token Letter A</a></li><li><a href="S-prs.html#SP25">§25. Parse Token Letter B</a></li><li><a href="S-prs.html#SP26">§26. Parse Token Letter C</a></li><li><a href="S-prs.html#SP27">§27. Parse Token Letter D</a></li><li><a href="S-prs.html#SP28">§28. Parse Token Letter E</a></li><li><a href="S-prs.html#SP29">§29. Parse Token Letter F</a></li><li><a href="S-prs.html#SP30">§30. Descriptors</a></li><li><a href="S-prs.html#SP31">§31. Parsing Descriptors</a></li><li><a href="S-prs.html#SP32">§32. Preposition Chain</a></li><li><a href="S-prs.html#SP33">§33. Creature</a></li><li><a href="S-prs.html#SP34">§34. Noun Domain</a></li><li><a href="S-prs.html#SP35">§35. Adjudicate</a></li><li><a href="S-prs.html#SP36">§36. ReviseMulti</a></li><li><a href="S-prs.html#SP37">§37. Match List</a></li><li><a href="S-prs.html#SP38">§38. ScoreMatchL</a></li><li><a href="S-prs.html#SP39">§39. BestGuess</a></li><li><a href="S-prs.html#SP40">§40. SingleBestGuess</a></li><li><a href="S-prs.html#SP41">§41. Identical</a></li><li><a href="S-prs.html#SP42">§42. Print Command</a></li><li><a href="S-prs.html#SP43">§43. CantSee</a></li><li><a href="S-prs.html#SP44">§44. Multiple Object List</a></li><li><a href="S-prs.html#SP45">§45. Scope</a></li><li><a href="S-prs.html#SP46">§46. Scope Level 0</a></li><li><a href="S-prs.html#SP47">§47. SearchScope</a></li><li><a href="S-prs.html#SP48">§48. ScopeWithin</a></li><li><a href="S-prs.html#SP49">§49. DoScopeActionAndRecurse</a></li><li><a href="S-prs.html#SP50">§50. DoScopeAction</a></li><li><a href="S-prs.html#SP51">§51. Parsing Object Names</a></li><li><a href="S-prs.html#SP52">§52. TryGivenObject</a></li><li><a href="S-prs.html#SP53">§53. Refers</a></li><li><a href="S-prs.html#SP54">§54. NounWord</a></li><li><a href="S-prs.html#SP55">§55. TryNumber</a></li><li><a href="S-prs.html#SP56">§56. Gender</a></li><li><a href="S-prs.html#SP57">§57. Noticing Plurals</a></li><li><a href="S-prs.html#SP58">§58. Pronoun Handling</a></li><li><a href="S-prs.html#SP59">§59. Yes/No Questions</a></li><li><a href="S-prs.html#SP60">§60. Number Words</a></li><li><a href="S-prs.html#SP61">§61. Choose Objects</a></li><li><a href="S-prs.html#SP62">§62. Default Topic</a></li><li><a href="S-prs.html#SP63">§63. Recognition-only-GPR</a></li><li><a href="S-prs.html#SP64">§64. RunRoutines</a></li><li><a href="S-prs.html#SP65">§65. Setting the Player's Command</a></li><li><a href="S-prs.html#SP66">§66. Multiple Object List</a></li></ul><hr class="tocbar">
|
||||
<ul class="toc"><li><a href="S-prs.html#SP1">§1. Parser Error Numbers</a></li><li><a href="S-prs.html#SP2">§2. Grammar Line Variables</a></li><li><a href="S-prs.html#SP3">§3. Grammar Token Variables</a></li><li><a href="S-prs.html#SP4">§4. Match List Variables</a></li><li><a href="S-prs.html#SP5">§5. Words</a></li><li><a href="S-prs.html#SP6">§6. Snippets</a></li><li><a href="S-prs.html#SP7">§7. Unpacking Grammar Lines</a></li><li><a href="S-prs.html#SP8">§8. Keyboard Primitive</a></li><li><a href="S-prs.html#SP9">§9. Reading the Command</a></li><li><a href="S-prs.html#SP10">§10. Parser Proper</a></li><li><a href="S-prs.html#SP11">§11. Parser Letter A</a></li><li><a href="S-prs.html#SP12">§12. Parser Letter B</a></li><li><a href="S-prs.html#SP13">§13. Parser Letter C</a></li><li><a href="S-prs.html#SP14">§14. Parser Letter D</a></li><li><a href="S-prs.html#SP15">§15. Parser Letter E</a></li><li><a href="S-prs.html#SP16">§16. Parser Letter F</a></li><li><a href="S-prs.html#SP17">§17. Parser Letter G</a></li><li><a href="S-prs.html#SP18">§18. Parser Letter H</a></li><li><a href="S-prs.html#SP19">§19. Parser Letter I</a></li><li><a href="S-prs.html#SP20">§20. Parser Letter J</a></li><li><a href="S-prs.html#SP21">§21. Parser Letter K</a></li><li><a href="S-prs.html#SP22">§22. End of Parser Proper</a></li><li><a href="S-prs.html#SP23">§23. Internal Rule</a></li><li><a href="S-prs.html#SP24">§24. Parse Token</a></li><li><a href="S-prs.html#SP25">§25. Parse Token Letter A</a></li><li><a href="S-prs.html#SP26">§26. Parse Token Letter B</a></li><li><a href="S-prs.html#SP27">§27. Parse Token Letter C</a></li><li><a href="S-prs.html#SP28">§28. Parse Token Letter D</a></li><li><a href="S-prs.html#SP29">§29. Parse Token Letter E</a></li><li><a href="S-prs.html#SP30">§30. Parse Token Letter F</a></li><li><a href="S-prs.html#SP31">§31. Descriptors</a></li><li><a href="S-prs.html#SP32">§32. Parsing Descriptors</a></li><li><a href="S-prs.html#SP33">§33. Preposition Chain</a></li><li><a href="S-prs.html#SP34">§34. Creature</a></li><li><a href="S-prs.html#SP35">§35. Noun Domain</a></li><li><a href="S-prs.html#SP36">§36. Adjudicate</a></li><li><a href="S-prs.html#SP37">§37. ReviseMulti</a></li><li><a href="S-prs.html#SP38">§38. Match List</a></li><li><a href="S-prs.html#SP39">§39. ScoreMatchL</a></li><li><a href="S-prs.html#SP40">§40. BestGuess</a></li><li><a href="S-prs.html#SP41">§41. SingleBestGuess</a></li><li><a href="S-prs.html#SP42">§42. Identical</a></li><li><a href="S-prs.html#SP43">§43. Print Command</a></li><li><a href="S-prs.html#SP44">§44. CantSee</a></li><li><a href="S-prs.html#SP45">§45. Multiple Object List</a></li><li><a href="S-prs.html#SP46">§46. Scope</a></li><li><a href="S-prs.html#SP47">§47. Scope Level 0</a></li><li><a href="S-prs.html#SP48">§48. SearchScope</a></li><li><a href="S-prs.html#SP49">§49. ScopeWithin</a></li><li><a href="S-prs.html#SP50">§50. DoScopeActionAndRecurse</a></li><li><a href="S-prs.html#SP51">§51. DoScopeAction</a></li><li><a href="S-prs.html#SP52">§52. Parsing Object Names</a></li><li><a href="S-prs.html#SP53">§53. TryGivenObject</a></li><li><a href="S-prs.html#SP54">§54. Refers</a></li><li><a href="S-prs.html#SP55">§55. NounWord</a></li><li><a href="S-prs.html#SP56">§56. TryNumber</a></li><li><a href="S-prs.html#SP57">§57. Gender</a></li><li><a href="S-prs.html#SP58">§58. Noticing Plurals</a></li><li><a href="S-prs.html#SP59">§59. Pronoun Handling</a></li><li><a href="S-prs.html#SP60">§60. Yes/No Questions</a></li><li><a href="S-prs.html#SP61">§61. Number Words</a></li><li><a href="S-prs.html#SP62">§62. Choose Objects</a></li><li><a href="S-prs.html#SP63">§63. Default Topic</a></li><li><a href="S-prs.html#SP64">§64. Recognition-only-GPR</a></li><li><a href="S-prs.html#SP65">§65. RunRoutines</a></li><li><a href="S-prs.html#SP66">§66. Setting the Player's Command</a></li><li><a href="S-prs.html#SP67">§67. Multiple Object List</a></li></ul><hr class="tocbar">
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP1" class="paragraph-anchor"></a><b>§1. Grammar Line Variables. </b>This is the I6 library parser in mostly untouched form: reformatted for template
|
||||
<p class="commentary firstcommentary"><a id="SP1" class="paragraph-anchor"></a><b>§1. Parser Error Numbers. </b>The traditional ways in which the I6 library's parser, which we adopt here
|
||||
more or less intact, can give up on a player's command.
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">Constant</span><span class="plain-syntax"> </span><span class="identifier-syntax">STUCK_PE</span><span class="plain-syntax"> = </span><span class="constant-syntax">1</span><span class="plain-syntax">;</span>
|
||||
<span class="reserved-syntax">Constant</span><span class="plain-syntax"> </span><span class="identifier-syntax">UPTO_PE</span><span class="plain-syntax"> = </span><span class="constant-syntax">2</span><span class="plain-syntax">;</span>
|
||||
<span class="reserved-syntax">Constant</span><span class="plain-syntax"> </span><span class="identifier-syntax">NUMBER_PE</span><span class="plain-syntax"> = </span><span class="constant-syntax">3</span><span class="plain-syntax">;</span>
|
||||
<span class="reserved-syntax">Constant</span><span class="plain-syntax"> </span><span class="identifier-syntax">ANIMA_PE</span><span class="plain-syntax"> = </span><span class="constant-syntax">4</span><span class="plain-syntax">;</span>
|
||||
<span class="reserved-syntax">Constant</span><span class="plain-syntax"> </span><span class="identifier-syntax">CANTSEE_PE</span><span class="plain-syntax"> = </span><span class="constant-syntax">5</span><span class="plain-syntax">;</span>
|
||||
<span class="reserved-syntax">Constant</span><span class="plain-syntax"> </span><span class="identifier-syntax">TOOLIT_PE</span><span class="plain-syntax"> = </span><span class="constant-syntax">6</span><span class="plain-syntax">;</span>
|
||||
<span class="reserved-syntax">Constant</span><span class="plain-syntax"> </span><span class="identifier-syntax">NOTHELD_PE</span><span class="plain-syntax"> = </span><span class="constant-syntax">7</span><span class="plain-syntax">;</span>
|
||||
<span class="reserved-syntax">Constant</span><span class="plain-syntax"> </span><span class="identifier-syntax">MULTI_PE</span><span class="plain-syntax"> = </span><span class="constant-syntax">8</span><span class="plain-syntax">;</span>
|
||||
<span class="reserved-syntax">Constant</span><span class="plain-syntax"> </span><span class="identifier-syntax">MMULTI_PE</span><span class="plain-syntax"> = </span><span class="constant-syntax">9</span><span class="plain-syntax">;</span>
|
||||
<span class="reserved-syntax">Constant</span><span class="plain-syntax"> </span><span class="identifier-syntax">VAGUE_PE</span><span class="plain-syntax"> = </span><span class="constant-syntax">10</span><span class="plain-syntax">;</span>
|
||||
<span class="reserved-syntax">Constant</span><span class="plain-syntax"> </span><span class="identifier-syntax">EXCEPT_PE</span><span class="plain-syntax"> = </span><span class="constant-syntax">11</span><span class="plain-syntax">;</span>
|
||||
<span class="reserved-syntax">Constant</span><span class="plain-syntax"> </span><span class="identifier-syntax">VERB_PE</span><span class="plain-syntax"> = </span><span class="constant-syntax">12</span><span class="plain-syntax">;</span>
|
||||
<span class="reserved-syntax">Constant</span><span class="plain-syntax"> </span><span class="identifier-syntax">SCENERY_PE</span><span class="plain-syntax"> = </span><span class="constant-syntax">13</span><span class="plain-syntax">;</span>
|
||||
<span class="reserved-syntax">Constant</span><span class="plain-syntax"> </span><span class="identifier-syntax">ITGONE_PE</span><span class="plain-syntax"> = </span><span class="constant-syntax">14</span><span class="plain-syntax">;</span>
|
||||
<span class="reserved-syntax">Constant</span><span class="plain-syntax"> </span><span class="identifier-syntax">JUNKAFTER_PE</span><span class="plain-syntax"> = </span><span class="constant-syntax">15</span><span class="plain-syntax">;</span>
|
||||
<span class="reserved-syntax">Constant</span><span class="plain-syntax"> </span><span class="identifier-syntax">TOOFEW_PE</span><span class="plain-syntax"> = </span><span class="constant-syntax">16</span><span class="plain-syntax">;</span>
|
||||
<span class="reserved-syntax">Constant</span><span class="plain-syntax"> </span><span class="identifier-syntax">NOTHING_PE</span><span class="plain-syntax"> = </span><span class="constant-syntax">17</span><span class="plain-syntax">;</span>
|
||||
<span class="reserved-syntax">Constant</span><span class="plain-syntax"> </span><span class="identifier-syntax">ASKSCOPE_PE</span><span class="plain-syntax"> = </span><span class="constant-syntax">18</span><span class="plain-syntax">;</span>
|
||||
<span class="reserved-syntax">Constant</span><span class="plain-syntax"> </span><span class="identifier-syntax">NOTINCONTEXT_PE</span><span class="plain-syntax"> = </span><span class="constant-syntax">19</span><span class="plain-syntax">;</span>
|
||||
<span class="reserved-syntax">Constant</span><span class="plain-syntax"> </span><span class="identifier-syntax">BLANKLINE_PE</span><span class="plain-syntax"> = </span><span class="constant-syntax">20</span><span class="plain-syntax">; </span><span class="comment-syntax">Not formally a parser error, but used by I7 as if</span>
|
||||
<span class="reserved-syntax">Constant</span><span class="plain-syntax"> </span><span class="identifier-syntax">ANIMAAGAIN_PE</span><span class="plain-syntax"> = </span><span class="constant-syntax">21</span><span class="plain-syntax">;</span>
|
||||
<span class="reserved-syntax">Constant</span><span class="plain-syntax"> </span><span class="identifier-syntax">COMMABEGIN_PE</span><span class="plain-syntax"> = </span><span class="constant-syntax">22</span><span class="plain-syntax">;</span>
|
||||
<span class="reserved-syntax">Constant</span><span class="plain-syntax"> </span><span class="identifier-syntax">MISSINGPERSON_PE</span><span class="plain-syntax"> = </span><span class="constant-syntax">23</span><span class="plain-syntax">;</span>
|
||||
<span class="reserved-syntax">Constant</span><span class="plain-syntax"> </span><span class="identifier-syntax">ANIMALISTEN_PE</span><span class="plain-syntax"> = </span><span class="constant-syntax">24</span><span class="plain-syntax">;</span>
|
||||
<span class="reserved-syntax">Constant</span><span class="plain-syntax"> </span><span class="identifier-syntax">TOTALK_PE</span><span class="plain-syntax"> = </span><span class="constant-syntax">25</span><span class="plain-syntax">;</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP2" class="paragraph-anchor"></a><b>§2. Grammar Line Variables. </b>This is the I6 library parser in mostly untouched form: reformatted for template
|
||||
file use, and with paragraph divisions, but otherwise hardly changed at all.
|
||||
It is a complex algorithm but one which is known to produce good results for
|
||||
the most part, and it is well understood from (at time of writing) fifteen
|
||||
|
@ -80,6 +111,7 @@ be read or written by the parser.
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="identifier-syntax">Global</span><span class="plain-syntax"> </span><span class="identifier-syntax">etype</span><span class="plain-syntax">; </span><span class="comment-syntax">parser error number if command not recognised</span>
|
||||
<span class="identifier-syntax">Global</span><span class="plain-syntax"> </span><span class="identifier-syntax">best_etype</span><span class="plain-syntax">; </span><span class="comment-syntax">Preferred error number so far</span>
|
||||
<span class="identifier-syntax">Global</span><span class="plain-syntax"> </span><span class="identifier-syntax">nextbest_etype</span><span class="plain-syntax">; </span><span class="comment-syntax">Preferred one, if ASKSCOPE_PE disallowed</span>
|
||||
|
||||
|
@ -116,7 +148,7 @@ be read or written by the parser.
|
|||
<span class="identifier-syntax">Global</span><span class="plain-syntax"> </span><span class="identifier-syntax">usual_grammar_after</span><span class="plain-syntax">; </span><span class="comment-syntax">Point from which usual grammar is parsed (it may vary from</span>
|
||||
<span class="plain-syntax"> </span><span class="comment-syntax">the above if user's routines match multi-word verbs)</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP2" class="paragraph-anchor"></a><b>§2. Grammar Token Variables. </b>More globals, but dealing at the level of individual tokens now.
|
||||
<p class="commentary firstcommentary"><a id="SP3" class="paragraph-anchor"></a><b>§3. Grammar Token Variables. </b>More globals, but dealing at the level of individual tokens now.
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
|
@ -160,7 +192,7 @@ be read or written by the parser.
|
|||
<span class="reserved-syntax">Constant</span><span class="plain-syntax"> </span><span class="identifier-syntax">comma_word</span><span class="plain-syntax"> = </span><span class="character-syntax">'comma,'</span><span class="plain-syntax">; </span><span class="comment-syntax">An "untypeable word" used to substitute</span>
|
||||
<span class="plain-syntax"> </span><span class="comment-syntax">for commas in parse buffers</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP3" class="paragraph-anchor"></a><b>§3. Match List Variables. </b>The most difficult tokens to match are those which refer to objects, since
|
||||
<p class="commentary firstcommentary"><a id="SP4" class="paragraph-anchor"></a><b>§4. Match List Variables. </b>The most difficult tokens to match are those which refer to objects, since
|
||||
there is such a variety of names which can be given to any individual object,
|
||||
and we don't of course know which object or objects are meant. We store the
|
||||
possibilities (up to <span class="extract"><span class="extract-syntax">MATCH_LIST_WORDS</span></span>, anyway) in a data structure called the match list.
|
||||
|
@ -175,7 +207,7 @@ possibilities (up to <span class="extract"><span class="extract-syntax">MATCH_LI
|
|||
<span class="identifier-syntax">Global</span><span class="plain-syntax"> </span><span class="identifier-syntax">match_length</span><span class="plain-syntax">; </span><span class="comment-syntax">How many words long are these matches?</span>
|
||||
<span class="identifier-syntax">Global</span><span class="plain-syntax"> </span><span class="identifier-syntax">match_from</span><span class="plain-syntax">; </span><span class="comment-syntax">At what word of the input do they begin?</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP4" class="paragraph-anchor"></a><b>§4. Words. </b>The player's command is broken down into a numbered sequence of words, which
|
||||
<p class="commentary firstcommentary"><a id="SP5" class="paragraph-anchor"></a><b>§5. Words. </b>The player's command is broken down into a numbered sequence of words, which
|
||||
break at spaces or certain punctuation (see the DM4). The numbering runs
|
||||
upwards from 1 to <span class="extract"><span class="extract-syntax">WordCount()</span></span>. The following utility routines provide
|
||||
access to words in the current command; because buffers have different
|
||||
|
@ -244,7 +276,7 @@ as two commands in succession),
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">NextWord</span><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax">];</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP5" class="paragraph-anchor"></a><b>§5. Snippets. </b>Although the idea is arguably implicit in I6, the formal concept of
|
||||
<p class="commentary firstcommentary"><a id="SP6" class="paragraph-anchor"></a><b>§6. Snippets. </b>Although the idea is arguably implicit in I6, the formal concept of
|
||||
"snippet" is new in I7. A snippet is a value which represents a word
|
||||
range in the command most recently typed by the player. These words number
|
||||
consecutively upwards from 1, as noted above. The correspondence between
|
||||
|
@ -320,7 +352,7 @@ $$ C = 100 + N $$
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">rfalse</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">];</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP6" class="paragraph-anchor"></a><b>§6. Unpacking Grammar Lines. </b>Grammar lines are sequences of tokens in an array built into the story file,
|
||||
<p class="commentary firstcommentary"><a id="SP7" class="paragraph-anchor"></a><b>§7. Unpacking Grammar Lines. </b>Grammar lines are sequences of tokens in an array built into the story file,
|
||||
but in a format which differs depending on the virtual machine in use, so
|
||||
the following code unpacks the data into more convenient if larger arrays
|
||||
which are VM-independent.
|
||||
|
@ -368,7 +400,7 @@ which are VM-independent.
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">found_tdata</span><span class="plain-syntax"> = (</span><span class="identifier-syntax">token</span><span class="plain-syntax">+1)-->0;</span>
|
||||
<span class="plain-syntax">];</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP7" class="paragraph-anchor"></a><b>§7. Keyboard Primitive. </b>This is the primitive routine to read from the keyboard: it usually delegates
|
||||
<p class="commentary firstcommentary"><a id="SP8" class="paragraph-anchor"></a><b>§8. Keyboard Primitive. </b>This is the primitive routine to read from the keyboard: it usually delegates
|
||||
this to a routine specific to the virtual machine being used, but sometimes
|
||||
uses a hacked version to allow TEST commands to work. (When a TEST is running,
|
||||
the text in the walk-through provided is fed into the buffer as if it had
|
||||
|
@ -383,7 +415,7 @@ been typed at the keyboard.)
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">VM_ReadKeyboard</span><span class="plain-syntax">(</span><span class="identifier-syntax">a_buffer</span><span class="plain-syntax">, </span><span class="identifier-syntax">a_table</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">];</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP8" class="paragraph-anchor"></a><b>§8. Reading the Command. </b>The <span class="extract"><span class="extract-syntax">Keyboard</span></span> routine actually receives the player's words, putting the
|
||||
<p class="commentary firstcommentary"><a id="SP9" class="paragraph-anchor"></a><b>§9. Reading the Command. </b>The <span class="extract"><span class="extract-syntax">Keyboard</span></span> routine actually receives the player's words, putting the
|
||||
words in <span class="extract"><span class="extract-syntax">a_buffer</span></span> and their dictionary addresses in <span class="extract"><span class="extract-syntax">a_table</span></span>. It is
|
||||
assumed that the table is the same one on each (standard) call. Much
|
||||
of the code handles the OOPS and UNDO commands, which are not actions and
|
||||
|
@ -533,7 +565,7 @@ yes/no questions and the like, without invoking the rest of the parser.
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">IMMEDIATELY_UNDO_RM</span><span class="plain-syntax">(</span><span class="character-syntax">'E'</span><span class="plain-syntax">); </span><span class="reserved-syntax">new_line</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">];</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP9" class="paragraph-anchor"></a><b>§9. Parser Proper. </b>The main parser routine is something of a leviathan, and it has traditionally
|
||||
<p class="commentary firstcommentary"><a id="SP10" class="paragraph-anchor"></a><b>§10. Parser Proper. </b>The main parser routine is something of a leviathan, and it has traditionally
|
||||
been divided into 11 lettered parts:
|
||||
</p>
|
||||
|
||||
|
@ -569,7 +601,7 @@ fairly thorough description of its output, which is written into the
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">parser_results</span><span class="plain-syntax">--></span><span class="identifier-syntax">INP2_PRES</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">meta</span><span class="plain-syntax"> = </span><span class="reserved-syntax">false</span><span class="plain-syntax">;</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP10" class="paragraph-anchor"></a><b>§10. Parser Letter A. </b>Get the input, do OOPS and AGAIN.
|
||||
<p class="commentary firstcommentary"><a id="SP11" class="paragraph-anchor"></a><b>§11. Parser Letter A. </b>Get the input, do OOPS and AGAIN.
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
|
@ -734,7 +766,7 @@ fairly thorough description of its output, which is written into the
|
|||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="identifier-syntax">usual_grammar_after</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">;</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP11" class="paragraph-anchor"></a><b>§11. Parser Letter B. </b>Is the command a direction name, and so an implicit GO? If so, go to (K).
|
||||
<p class="commentary firstcommentary"><a id="SP12" class="paragraph-anchor"></a><b>§12. Parser Letter B. </b>Is the command a direction name, and so an implicit GO? If so, go to (K).
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
|
@ -774,7 +806,7 @@ fairly thorough description of its output, which is written into the
|
|||
|
||||
<span class="plain-syntax"> } </span><span class="comment-syntax">end of first-word-not-a-verb</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP12" class="paragraph-anchor"></a><b>§12. Parser Letter C. </b>Is anyone being addressed?
|
||||
<p class="commentary firstcommentary"><a id="SP13" class="paragraph-anchor"></a><b>§13. Parser Letter C. </b>Is anyone being addressed?
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
|
@ -856,7 +888,7 @@ fairly thorough description of its output, which is written into the
|
|||
<span class="plain-syntax"> #</span><span class="identifier-syntax">Endif</span><span class="plain-syntax">; </span><span class="comment-syntax">DEBUG</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">jump</span><span class="plain-syntax"> </span><span class="identifier-syntax">BeginCommand</span><span class="plain-syntax">;</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP13" class="paragraph-anchor"></a><b>§13. Parser Letter D. </b>Get the verb: try all the syntax lines for that verb.
|
||||
<p class="commentary firstcommentary"><a id="SP14" class="paragraph-anchor"></a><b>§14. Parser Letter D. </b>Get the verb: try all the syntax lines for that verb.
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
|
@ -921,7 +953,7 @@ fairly thorough description of its output, which is written into the
|
|||
<span class="plain-syntax"> </span><span class="comment-syntax">multiflag is used here to prevent inappropriate MULTI_PE errors</span>
|
||||
<span class="plain-syntax"> </span><span class="comment-syntax">in addition to its unrelated duties passing information to action routines</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP14" class="paragraph-anchor"></a><b>§14. Parser Letter E. </b>Break down a syntax line into analysed tokens.
|
||||
<p class="commentary firstcommentary"><a id="SP15" class="paragraph-anchor"></a><b>§15. Parser Letter E. </b>Break down a syntax line into analysed tokens.
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
|
@ -957,7 +989,7 @@ fairly thorough description of its output, which is written into the
|
|||
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">wn</span><span class="plain-syntax"> = </span><span class="identifier-syntax">verb_wordnum</span><span class="plain-syntax">+1;</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP15" class="paragraph-anchor"></a><b>§15. Parser Letter F. </b>Look ahead for advance warning for <span class="extract"><span class="extract-syntax">multiexcept</span></span>/<span class="extract"><span class="extract-syntax">multiinside</span></span>.
|
||||
<p class="commentary firstcommentary"><a id="SP16" class="paragraph-anchor"></a><b>§16. Parser Letter F. </b>Look ahead for advance warning for <span class="extract"><span class="extract-syntax">multiexcept</span></span>/<span class="extract"><span class="extract-syntax">multiinside</span></span>.
|
||||
</p>
|
||||
|
||||
<p class="commentary">There are two special cases where parsing a token now has to be affected by
|
||||
|
@ -1086,7 +1118,7 @@ and similarly for <span class="extract"><span class="extract-syntax">multiinside
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">etype</span><span class="plain-syntax"> = </span><span class="identifier-syntax">STUCK_PE</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">wn</span><span class="plain-syntax"> = </span><span class="identifier-syntax">verb_wordnum</span><span class="plain-syntax">+1;</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP16" class="paragraph-anchor"></a><b>§16. Parser Letter G. </b>Parse each token in turn (calling <span class="extract"><span class="extract-syntax">ParseToken</span></span> to do most of the work).
|
||||
<p class="commentary firstcommentary"><a id="SP17" class="paragraph-anchor"></a><b>§17. Parser Letter G. </b>Parse each token in turn (calling <span class="extract"><span class="extract-syntax">ParseToken</span></span> to do most of the work).
|
||||
</p>
|
||||
|
||||
<p class="commentary">The <span class="extract"><span class="extract-syntax">pattern</span></span> gradually accumulates what has been recognised so far,
|
||||
|
@ -1294,7 +1326,7 @@ so that it may be reprinted by the parser later on.
|
|||
|
||||
<span class="plain-syntax"> </span><span class="comment-syntax">The grammar is exhausted: every line has failed to match.</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP17" class="paragraph-anchor"></a><b>§17. Parser Letter H. </b>Cheaply parse otherwise unrecognised conversation and return.
|
||||
<p class="commentary firstcommentary"><a id="SP18" class="paragraph-anchor"></a><b>§18. Parser Letter H. </b>Cheaply parse otherwise unrecognised conversation and return.
|
||||
</p>
|
||||
|
||||
<p class="commentary">(Errors are handled differently depending on who was talking. If the command
|
||||
|
@ -1339,7 +1371,7 @@ fake action <span class="extract"><span class="extract-syntax">##NotUnderstood</
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">rtrue</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP18" class="paragraph-anchor"></a><b>§18. Parser Letter I. </b>Print best possible error message.
|
||||
<p class="commentary firstcommentary"><a id="SP19" class="paragraph-anchor"></a><b>§19. Parser Letter I. </b>Print best possible error message.
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
|
@ -1417,7 +1449,7 @@ fake action <span class="extract"><span class="extract-syntax">##NotUnderstood</
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">say__p</span><span class="plain-syntax"> = </span><span class="constant-syntax">1</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">EndActivity</span><span class="plain-syntax">(</span><span class="identifier-syntax">PRINTING_A_PARSER_ERROR_ACT</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP19" class="paragraph-anchor"></a><b>§19. Parser Letter J. </b>Retry the whole lot.
|
||||
<p class="commentary firstcommentary"><a id="SP20" class="paragraph-anchor"></a><b>§20. Parser Letter J. </b>Retry the whole lot.
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
|
@ -1428,7 +1460,7 @@ fake action <span class="extract"><span class="extract-syntax">##NotUnderstood</
|
|||
<span class="plain-syntax"> </span><span class="comment-syntax">...being careful not to go all the way back, to avoid infinite repetition</span>
|
||||
<span class="plain-syntax"> </span><span class="comment-syntax">of a deferred command causing an error.</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP20" class="paragraph-anchor"></a><b>§20. Parser Letter K. </b>Last thing: check for THEN and further instructions(s), return.
|
||||
<p class="commentary firstcommentary"><a id="SP21" class="paragraph-anchor"></a><b>§21. Parser Letter K. </b>Last thing: check for THEN and further instructions(s), return.
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
|
@ -1452,12 +1484,12 @@ fake action <span class="extract"><span class="extract-syntax">##NotUnderstood</
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">best_etype</span><span class="plain-syntax"> = </span><span class="identifier-syntax">UPTO_PE</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">jump</span><span class="plain-syntax"> </span><span class="identifier-syntax">GiveError</span><span class="plain-syntax">;</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP21" class="paragraph-anchor"></a><b>§21. End of Parser Proper. </b></p>
|
||||
<p class="commentary firstcommentary"><a id="SP22" class="paragraph-anchor"></a><b>§22. End of Parser Proper. </b></p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax">]; </span><span class="comment-syntax">end of Parser__parse</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP22" class="paragraph-anchor"></a><b>§22. Internal Rule. </b>As a hook on which to hang responses.
|
||||
<p class="commentary firstcommentary"><a id="SP23" class="paragraph-anchor"></a><b>§23. Internal Rule. </b>As a hook on which to hang responses.
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
|
@ -1465,7 +1497,7 @@ fake action <span class="extract"><span class="extract-syntax">##NotUnderstood</
|
|||
<span class="plain-syntax">[ </span><span class="identifier-syntax">PARSER_N_ERROR_INTERNAL_R</span><span class="plain-syntax">; ];</span>
|
||||
<span class="plain-syntax">[ </span><span class="identifier-syntax">PARSER_COMMAND_INTERNAL_R</span><span class="plain-syntax">; ];</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP23" class="paragraph-anchor"></a><b>§23. Parse Token. </b>The main parsing routine above tried a sequence of "grammar lines" in turn,
|
||||
<p class="commentary firstcommentary"><a id="SP24" class="paragraph-anchor"></a><b>§24. Parse Token. </b>The main parsing routine above tried a sequence of "grammar lines" in turn,
|
||||
matching each against the text typed until one fitted. A grammar line is
|
||||
itself a sequence of "grammar tokens". Here we have to parse the tokens.
|
||||
</p>
|
||||
|
@ -1547,7 +1579,7 @@ break down others into elementary tokens
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">l</span><span class="plain-syntax"> </span><span class="identifier-syntax">o</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax"> </span><span class="identifier-syntax">j</span><span class="plain-syntax"> </span><span class="identifier-syntax">k</span><span class="plain-syntax"> </span><span class="identifier-syntax">and_parity</span><span class="plain-syntax"> </span><span class="identifier-syntax">single_object</span><span class="plain-syntax"> </span><span class="identifier-syntax">desc_wn</span><span class="plain-syntax"> </span><span class="identifier-syntax">many_flag</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">token_allows_multiple</span><span class="plain-syntax"> </span><span class="identifier-syntax">prev_indef_wanted</span><span class="plain-syntax">;</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP24" class="paragraph-anchor"></a><b>§24. Parse Token Letter A. </b>Analyse token; handle all not involving object lists, break down others.
|
||||
<p class="commentary firstcommentary"><a id="SP25" class="paragraph-anchor"></a><b>§25. Parse Token Letter A. </b>Analyse token; handle all not involving object lists, break down others.
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
|
@ -1682,7 +1714,7 @@ break down others into elementary tokens
|
|||
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">token</span><span class="plain-syntax"> = </span><span class="identifier-syntax">given_tdata</span><span class="plain-syntax">;</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP25" class="paragraph-anchor"></a><b>§25. Parse Token Letter B. </b>Begin parsing an object list.
|
||||
<p class="commentary firstcommentary"><a id="SP26" class="paragraph-anchor"></a><b>§26. Parse Token Letter B. </b>Begin parsing an object list.
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
|
@ -1702,7 +1734,7 @@ break down others into elementary tokens
|
|||
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">many_flag</span><span class="plain-syntax"> = </span><span class="reserved-syntax">false</span><span class="plain-syntax">; </span><span class="identifier-syntax">and_parity</span><span class="plain-syntax"> = </span><span class="reserved-syntax">true</span><span class="plain-syntax">; </span><span class="identifier-syntax">dont_infer</span><span class="plain-syntax"> = </span><span class="reserved-syntax">false</span><span class="plain-syntax">;</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP26" class="paragraph-anchor"></a><b>§26. Parse Token Letter C. </b>Parse descriptors (articles, pronouns, etc.) in the list.
|
||||
<p class="commentary firstcommentary"><a id="SP27" class="paragraph-anchor"></a><b>§27. Parse Token Letter C. </b>Parse descriptors (articles, pronouns, etc.) in the list.
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
|
@ -1753,7 +1785,7 @@ break down others into elementary tokens
|
|||
|
||||
<span class="plain-syntax"> .</span><span class="identifier-syntax">TryAgain2</span><span class="plain-syntax">;</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP27" class="paragraph-anchor"></a><b>§27. Parse Token Letter D. </b>Parse an object name.
|
||||
<p class="commentary firstcommentary"><a id="SP28" class="paragraph-anchor"></a><b>§28. Parse Token Letter D. </b>Parse an object name.
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
|
@ -1899,7 +1931,7 @@ break down others into elementary tokens
|
|||
<span class="comment-syntax"> wn = oops_from + match_length;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">wn</span><span class="plain-syntax"> = </span><span class="identifier-syntax">match_from</span><span class="plain-syntax"> + </span><span class="identifier-syntax">match_length</span><span class="plain-syntax">;</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP28" class="paragraph-anchor"></a><b>§28. Parse Token Letter E. </b>Parse connectives (AND, BUT, etc.) and go back to (C).
|
||||
<p class="commentary firstcommentary"><a id="SP29" class="paragraph-anchor"></a><b>§29. Parse Token Letter E. </b>Parse connectives (AND, BUT, etc.) and go back to (C).
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
|
@ -1939,7 +1971,7 @@ break down others into elementary tokens
|
|||
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">wn</span><span class="plain-syntax">--; </span><span class="comment-syntax">Word marker back to first not-understood word</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP29" class="paragraph-anchor"></a><b>§29. Parse Token Letter F. </b>Return the conclusion of parsing an object list.
|
||||
<p class="commentary firstcommentary"><a id="SP30" class="paragraph-anchor"></a><b>§30. Parse Token Letter F. </b>Return the conclusion of parsing an object list.
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
|
@ -1984,7 +2016,7 @@ break down others into elementary tokens
|
|||
|
||||
<span class="plain-syntax">]; </span><span class="comment-syntax">end of ParseToken__</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP30" class="paragraph-anchor"></a><b>§30. Descriptors. </b>In grammatical terms, a descriptor appears at the front of an English noun
|
||||
<p class="commentary firstcommentary"><a id="SP31" class="paragraph-anchor"></a><b>§31. Descriptors. </b>In grammatical terms, a descriptor appears at the front of an English noun
|
||||
phrase and clarifies the quantity or specific identity of what is referred
|
||||
to: for instance, {\it my} mirror, {\it the} dwarf, {\it that} woman.
|
||||
(Numbers, as in {\it four} duets, are also descriptors in linguistics:
|
||||
|
@ -2034,7 +2066,7 @@ or indefinite article.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="constant-syntax">0</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">];</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP31" class="paragraph-anchor"></a><b>§31. Parsing Descriptors. </b>The <span class="extract"><span class="extract-syntax">Descriptors()</span></span> routine parses the descriptors at the head of a noun
|
||||
<p class="commentary firstcommentary"><a id="SP32" class="paragraph-anchor"></a><b>§32. Parsing Descriptors. </b>The <span class="extract"><span class="extract-syntax">Descriptors()</span></span> routine parses the descriptors at the head of a noun
|
||||
phrase, leaving the current word marker <span class="extract"><span class="extract-syntax">wn</span></span> at the first word of the
|
||||
noun phrase's body. It is allowed to set up for a plural only if <span class="extract"><span class="extract-syntax">allow_p</span></span>
|
||||
is set; it returns a parser error number, or 0 if no error occurred.
|
||||
|
@ -2109,7 +2141,7 @@ is set; it returns a parser error number, or 0 if no error occurred.
|
|||
<span class="plain-syntax"> @</span><span class="identifier-syntax">pull</span><span class="plain-syntax"> </span><span class="identifier-syntax">indef_wanted</span><span class="plain-syntax">; @</span><span class="identifier-syntax">pull</span><span class="plain-syntax"> </span><span class="identifier-syntax">indef_type</span><span class="plain-syntax">; @</span><span class="identifier-syntax">pull</span><span class="plain-syntax"> </span><span class="identifier-syntax">indef_mode</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">];</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP32" class="paragraph-anchor"></a><b>§32. Preposition Chain. </b>A small utility for runs of prepositions.
|
||||
<p class="commentary firstcommentary"><a id="SP33" class="paragraph-anchor"></a><b>§33. Preposition Chain. </b>A small utility for runs of prepositions.
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
|
@ -2123,7 +2155,7 @@ is set; it returns a parser error number, or 0 if no error occurred.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> -1;</span>
|
||||
<span class="plain-syntax">];</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP33" class="paragraph-anchor"></a><b>§33. Creature. </b>Will this object do for an I6 <span class="extract"><span class="extract-syntax">creature</span></span> token? (In I7 terms, this affects
|
||||
<p class="commentary firstcommentary"><a id="SP34" class="paragraph-anchor"></a><b>§34. Creature. </b>Will this object do for an I6 <span class="extract"><span class="extract-syntax">creature</span></span> token? (In I7 terms, this affects
|
||||
the tokens "[someone]", "[somebody]", "[anyone]" and "[anybody]".)
|
||||
</p>
|
||||
|
||||
|
@ -2135,7 +2167,7 @@ the tokens "[someone]", "[somebody]", "[anyone]" and "[anybody]".)
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">rfalse</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">];</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP34" class="paragraph-anchor"></a><b>§34. Noun Domain. </b><span class="extract"><span class="extract-syntax">NounDomain</span></span> does the most substantial part of parsing an object name.
|
||||
<p class="commentary firstcommentary"><a id="SP35" class="paragraph-anchor"></a><b>§35. Noun Domain. </b><span class="extract"><span class="extract-syntax">NounDomain</span></span> does the most substantial part of parsing an object name.
|
||||
It is given two "domains" — usually a location and then the actor who is
|
||||
looking — and a context (i.e. token type), and returns:
|
||||
</p>
|
||||
|
@ -2544,7 +2576,7 @@ because we want to allow duplicates).
|
|||
|
||||
<span class="plain-syntax">[ </span><span class="identifier-syntax">PARSER_CLARIF_INTERNAL_R</span><span class="plain-syntax">; ];</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP35" class="paragraph-anchor"></a><b>§35. Adjudicate. </b>The <span class="extract"><span class="extract-syntax">Adjudicate</span></span> routine tries to see if there is an obvious choice, when
|
||||
<p class="commentary firstcommentary"><a id="SP36" class="paragraph-anchor"></a><b>§36. Adjudicate. </b>The <span class="extract"><span class="extract-syntax">Adjudicate</span></span> routine tries to see if there is an obvious choice, when
|
||||
faced with a list of objects (the <span class="extract"><span class="extract-syntax">match_list</span></span>) each of which matches the
|
||||
player's specification equally well. To do this it makes use of the <span class="extract"><span class="extract-syntax">context</span></span>
|
||||
(the token type being worked on).
|
||||
|
@ -2787,7 +2819,7 @@ routines to clear up this mess, so we can't economise on working them out).
|
|||
|
||||
<span class="plain-syntax">]; </span><span class="comment-syntax">Adjudicate</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP36" class="paragraph-anchor"></a><b>§36. ReviseMulti. </b><span class="extract"><span class="extract-syntax">ReviseMulti</span></span> revises the multiple object which already exists, in the
|
||||
<p class="commentary firstcommentary"><a id="SP37" class="paragraph-anchor"></a><b>§37. ReviseMulti. </b><span class="extract"><span class="extract-syntax">ReviseMulti</span></span> revises the multiple object which already exists, in the
|
||||
light of information which has come along since then (i.e., the second
|
||||
parameter). It returns a parser error number, or else 0 if all is well.
|
||||
This only ever throws things out, never adds new ones.
|
||||
|
@ -2835,7 +2867,7 @@ This only ever throws things out, never adds new ones.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="constant-syntax">0</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">];</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP37" class="paragraph-anchor"></a><b>§37. Match List. </b>The match list is an array, <span class="extract"><span class="extract-syntax">match_list--></span></span>, which holds the current best
|
||||
<p class="commentary firstcommentary"><a id="SP38" class="paragraph-anchor"></a><b>§38. Match List. </b>The match list is an array, <span class="extract"><span class="extract-syntax">match_list--></span></span>, which holds the current best
|
||||
guesses at what object(s) a portion of the command refers to. The global
|
||||
<span class="extract"><span class="extract-syntax">number_matched</span></span> is set to the current length of the <span class="extract"><span class="extract-syntax">match_list</span></span>.
|
||||
</p>
|
||||
|
@ -2896,7 +2928,7 @@ or "panic".
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">rfalse</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">];</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP38" class="paragraph-anchor"></a><b>§38. ScoreMatchL. </b><span class="extract"><span class="extract-syntax">ScoreMatchL</span></span> scores the match list for quality in terms of what the player
|
||||
<p class="commentary firstcommentary"><a id="SP39" class="paragraph-anchor"></a><b>§39. ScoreMatchL. </b><span class="extract"><span class="extract-syntax">ScoreMatchL</span></span> scores the match list for quality in terms of what the player
|
||||
has vaguely asked for. Points are awarded for conforming with requirements
|
||||
like "my", and so on. Remove from the match list any entries which fail
|
||||
the basic requirements of the descriptors. (The scoring system used to
|
||||
|
@ -3002,7 +3034,7 @@ evaluate the possibilities is discussed in detail in the DM4.)
|
|||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax">];</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP39" class="paragraph-anchor"></a><b>§39. BestGuess. </b><span class="extract"><span class="extract-syntax">BestGuess</span></span> makes the best guess it can out of the match list, assuming that
|
||||
<p class="commentary firstcommentary"><a id="SP40" class="paragraph-anchor"></a><b>§40. BestGuess. </b><span class="extract"><span class="extract-syntax">BestGuess</span></span> makes the best guess it can out of the match list, assuming that
|
||||
everything in the match list is textually as good as everything else;
|
||||
however it ignores items marked as \(-1\), and so marks anything it chooses.
|
||||
It returns \(-1\) if there are no possible choices.
|
||||
|
@ -3028,7 +3060,7 @@ It returns \(-1\) if there are no possible choices.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">];</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP40" class="paragraph-anchor"></a><b>§40. SingleBestGuess. </b><span class="extract"><span class="extract-syntax">SingleBestGuess</span></span> returns the highest-scoring object in the match list
|
||||
<p class="commentary firstcommentary"><a id="SP41" class="paragraph-anchor"></a><b>§41. SingleBestGuess. </b><span class="extract"><span class="extract-syntax">SingleBestGuess</span></span> returns the highest-scoring object in the match list
|
||||
if it is the clear winner, or returns \(-1\) if there is no clear winner.
|
||||
</p>
|
||||
|
||||
|
@ -3043,7 +3075,7 @@ if it is the clear winner, or returns \(-1\) if there is no clear winner.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">earliest</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">];</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP41" class="paragraph-anchor"></a><b>§41. Identical. </b><span class="extract"><span class="extract-syntax">Identical</span></span> decides whether or not two objects can be distinguished from each
|
||||
<p class="commentary firstcommentary"><a id="SP42" class="paragraph-anchor"></a><b>§42. Identical. </b><span class="extract"><span class="extract-syntax">Identical</span></span> decides whether or not two objects can be distinguished from each
|
||||
other by anything the player can type. If not, it returns <span class="extract"><span class="extract-syntax">true</span></span>. (This
|
||||
routine is critical to the handling of plurals, and the list-writer
|
||||
requires it to be an equivalence relation between objects: but it is,
|
||||
|
@ -3105,7 +3137,7 @@ for some function \(f\).)
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">rtrue</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">];</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP42" class="paragraph-anchor"></a><b>§42. Print Command. </b><span class="extract"><span class="extract-syntax">PrintCommand</span></span> reconstructs the command as it presently reads, from the
|
||||
<p class="commentary firstcommentary"><a id="SP43" class="paragraph-anchor"></a><b>§43. Print Command. </b><span class="extract"><span class="extract-syntax">PrintCommand</span></span> reconstructs the command as it presently reads, from the
|
||||
pattern which has been built up.
|
||||
</p>
|
||||
|
||||
|
@ -3170,7 +3202,7 @@ the preposition <span class="extract"><span class="extract-syntax">n</span></spa
|
|||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax">];</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP43" class="paragraph-anchor"></a><b>§43. CantSee. </b>The <span class="extract"><span class="extract-syntax">CantSee</span></span> routine returns a good error number for the situation where
|
||||
<p class="commentary firstcommentary"><a id="SP44" class="paragraph-anchor"></a><b>§44. CantSee. </b>The <span class="extract"><span class="extract-syntax">CantSee</span></span> routine returns a good error number for the situation where
|
||||
the last word looked at didn't seem to refer to any object in context.
|
||||
</p>
|
||||
|
||||
|
@ -3213,7 +3245,7 @@ Thus game objects always triumph over scenery.)
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">e</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">];</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP44" class="paragraph-anchor"></a><b>§44. Multiple Object List. </b>The <span class="extract"><span class="extract-syntax">MultiAdd</span></span> routine adds object <span class="extract"><span class="extract-syntax">o</span></span> to the multiple-object-list. This is
|
||||
<p class="commentary firstcommentary"><a id="SP45" class="paragraph-anchor"></a><b>§45. Multiple Object List. </b>The <span class="extract"><span class="extract-syntax">MultiAdd</span></span> routine adds object <span class="extract"><span class="extract-syntax">o</span></span> to the multiple-object-list. This is
|
||||
only allowed to hold <span class="extract"><span class="extract-syntax">MATCH_LIST_WORDS</span></span> minus one objects at most, at which
|
||||
point it ignores any new entries (and sets a global flag so that a warning
|
||||
may later be printed if need be).
|
||||
|
@ -3259,7 +3291,7 @@ out anything without the given attribute <span class="extract"><span class="extr
|
|||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax">];</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP45" class="paragraph-anchor"></a><b>§45. Scope. </b>The scope of an actor is the set of objects which he can refer to in typed
|
||||
<p class="commentary firstcommentary"><a id="SP46" class="paragraph-anchor"></a><b>§46. Scope. </b>The scope of an actor is the set of objects which he can refer to in typed
|
||||
commands, which is normally the same as the set of visible objects; but this
|
||||
can be modified. This is how I7 handles tokens like "[any room]".
|
||||
</p>
|
||||
|
@ -3327,7 +3359,7 @@ scope. (In I6, room names were not normally parsed.)
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">ats_flag</span><span class="plain-syntax"> == </span><span class="constant-syntax">1</span><span class="plain-syntax">) { </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">HasLightSource</span><span class="plain-syntax">(</span><span class="identifier-syntax">obj</span><span class="plain-syntax">)==1) </span><span class="identifier-syntax">ats_hls</span><span class="plain-syntax"> = </span><span class="constant-syntax">1</span><span class="plain-syntax">; }</span>
|
||||
<span class="plain-syntax">];</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP46" class="paragraph-anchor"></a><b>§46. Scope Level 0. </b>The two ways of starting up the scope machinery other than via the parser
|
||||
<p class="commentary firstcommentary"><a id="SP47" class="paragraph-anchor"></a><b>§47. Scope Level 0. </b>The two ways of starting up the scope machinery other than via the parser
|
||||
code above.
|
||||
</p>
|
||||
|
||||
|
@ -3353,7 +3385,7 @@ code above.
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">parser_one</span><span class="plain-syntax"> = </span><span class="identifier-syntax">x</span><span class="plain-syntax">; </span><span class="identifier-syntax">scope_reason</span><span class="plain-syntax"> = </span><span class="identifier-syntax">y</span><span class="plain-syntax">; </span><span class="identifier-syntax">actor</span><span class="plain-syntax"> = </span><span class="identifier-syntax">a</span><span class="plain-syntax">; </span><span class="identifier-syntax">actors_location</span><span class="plain-syntax"> = </span><span class="identifier-syntax">al</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">];</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP47" class="paragraph-anchor"></a><b>§47. SearchScope. </b>Level 1. The method is:
|
||||
<p class="commentary firstcommentary"><a id="SP48" class="paragraph-anchor"></a><b>§48. SearchScope. </b>Level 1. The method is:
|
||||
</p>
|
||||
|
||||
<ul class="items"><li>(a) If the context is a <span class="extract"><span class="extract-syntax">scope=...</span></span> token, then the search is delegated
|
||||
|
@ -3438,7 +3470,7 @@ OPEN BOX only to be told that he can't see any such thing.)
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">EndActivity</span><span class="plain-syntax">(</span><span class="identifier-syntax">DECIDING_SCOPE_ACT</span><span class="plain-syntax">, </span><span class="identifier-syntax">actor</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">];</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP48" class="paragraph-anchor"></a><b>§48. ScopeWithin. </b>Level 2. <span class="extract"><span class="extract-syntax">ScopeWithin</span></span> puts objects visible from within the <span class="extract"><span class="extract-syntax">domain</span></span> into scope.
|
||||
<p class="commentary firstcommentary"><a id="SP49" class="paragraph-anchor"></a><b>§49. ScopeWithin. </b>Level 2. <span class="extract"><span class="extract-syntax">ScopeWithin</span></span> puts objects visible from within the <span class="extract"><span class="extract-syntax">domain</span></span> into scope.
|
||||
An item belonging to the <span class="extract"><span class="extract-syntax">domain</span></span> is placed in scope unless it is being
|
||||
concealed by the <span class="extract"><span class="extract-syntax">domain</span></span>: and even then, if the <span class="extract"><span class="extract-syntax">domain</span></span> is the current
|
||||
actor. Suppose Zorro conceals a book beneath his cloak: then the book is
|
||||
|
@ -3465,7 +3497,7 @@ code doing so.
|
|||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax">];</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP49" class="paragraph-anchor"></a><b>§49. DoScopeActionAndRecurse. </b>Level 3.
|
||||
<p class="commentary firstcommentary"><a id="SP50" class="paragraph-anchor"></a><b>§50. DoScopeActionAndRecurse. </b>Level 3.
|
||||
In all cases, the <span class="extract"><span class="extract-syntax">domain</span></span> itself is visited. There are then three possible
|
||||
forms of recursion:
|
||||
</p>
|
||||
|
@ -3525,7 +3557,7 @@ so it retains its old I6 library interpretation.)
|
|||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax">];</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP50" class="paragraph-anchor"></a><b>§50. DoScopeAction. </b>Level 4. This is where we take whatever action is to be performed as the
|
||||
<p class="commentary firstcommentary"><a id="SP51" class="paragraph-anchor"></a><b>§51. DoScopeAction. </b>Level 4. This is where we take whatever action is to be performed as the
|
||||
"visit" to each scoped object, and it's the bottom at last of the scope
|
||||
mechanism.
|
||||
</p>
|
||||
|
@ -3550,7 +3582,7 @@ mechanism.
|
|||
<span class="plain-syntax"> @</span><span class="identifier-syntax">pull</span><span class="plain-syntax"> </span><span class="identifier-syntax">scope_reason</span><span class="plain-syntax">; @</span><span class="identifier-syntax">pull</span><span class="plain-syntax"> </span><span class="identifier-syntax">parser_one</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">];</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP51" class="paragraph-anchor"></a><b>§51. Parsing Object Names. </b>We now reach the final major block of code in the parser: the part which tries
|
||||
<p class="commentary firstcommentary"><a id="SP52" class="paragraph-anchor"></a><b>§52. Parsing Object Names. </b>We now reach the final major block of code in the parser: the part which tries
|
||||
to match a given object's name(s) against the text at word position <span class="extract"><span class="extract-syntax">match_from</span></span>
|
||||
in the player's command, and calls <span class="extract"><span class="extract-syntax">MakeMatch</span></span> if it succeeds. There are
|
||||
basically four possibilities: ME, a pronoun such as IT, a name which doesn't
|
||||
|
@ -3595,7 +3627,7 @@ cases, we pass the job down to <span class="extract"><span class="extract-syntax
|
|||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax">];</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP52" class="paragraph-anchor"></a><b>§52. TryGivenObject. </b><span class="extract"><span class="extract-syntax">TryGivenObject</span></span> tries to match as many words as possible in what has been
|
||||
<p class="commentary firstcommentary"><a id="SP53" class="paragraph-anchor"></a><b>§53. TryGivenObject. </b><span class="extract"><span class="extract-syntax">TryGivenObject</span></span> tries to match as many words as possible in what has been
|
||||
typed to the given object, <span class="extract"><span class="extract-syntax">obj</span></span>. If it manages any words matched at all,
|
||||
it calls <span class="extract"><span class="extract-syntax">MakeMatch</span></span> to say so, then returns the number of words (or 1
|
||||
if it was a match because of inadequate input).
|
||||
|
@ -3690,7 +3722,7 @@ if it was a match because of inadequate input).
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">jump</span><span class="plain-syntax"> </span><span class="identifier-syntax">MMbyPN</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">];</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP53" class="paragraph-anchor"></a><b>§53. Refers. </b><span class="extract"><span class="extract-syntax">Refers</span></span> works out whether the word at number wnum can refer to the object
|
||||
<p class="commentary firstcommentary"><a id="SP54" class="paragraph-anchor"></a><b>§54. Refers. </b><span class="extract"><span class="extract-syntax">Refers</span></span> works out whether the word at number wnum can refer to the object
|
||||
<span class="extract"><span class="extract-syntax">obj</span></span>, returning true or false. The standard method is to see if the word
|
||||
is listed under the <span class="extract"><span class="extract-syntax">name</span></span> property for the object, but this is more
|
||||
complex in languages other than English.
|
||||
|
@ -3727,7 +3759,7 @@ complex in languages other than English.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">rfalse</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">];</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP54" class="paragraph-anchor"></a><b>§54. NounWord. </b><span class="extract"><span class="extract-syntax">NounWord</span></span> (which takes no arguments) returns:
|
||||
<p class="commentary firstcommentary"><a id="SP55" class="paragraph-anchor"></a><b>§55. NounWord. </b><span class="extract"><span class="extract-syntax">NounWord</span></span> (which takes no arguments) returns:
|
||||
</p>
|
||||
|
||||
<ul class="items"><li>(a) 0 if the next word is not in the dictionary or is but does not carry the
|
||||
|
@ -3750,7 +3782,7 @@ if it is a pronoun,
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">];</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP55" class="paragraph-anchor"></a><b>§55. TryNumber. </b><span class="extract"><span class="extract-syntax">TryNumber</span></span> takes word number <span class="extract"><span class="extract-syntax">wordnum</span></span> and tries to parse it as an (unsigned)
|
||||
<p class="commentary firstcommentary"><a id="SP56" class="paragraph-anchor"></a><b>§56. TryNumber. </b><span class="extract"><span class="extract-syntax">TryNumber</span></span> takes word number <span class="extract"><span class="extract-syntax">wordnum</span></span> and tries to parse it as an (unsigned)
|
||||
decimal number or the name of a small number, returning
|
||||
</p>
|
||||
|
||||
|
@ -3804,7 +3836,7 @@ are parsed.)
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">tot</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">];</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP56" class="paragraph-anchor"></a><b>§56. Gender. </b><span class="extract"><span class="extract-syntax">GetGender</span></span> returns 0 if the given animate object is female, and 1 if male,
|
||||
<p class="commentary firstcommentary"><a id="SP57" class="paragraph-anchor"></a><b>§57. Gender. </b><span class="extract"><span class="extract-syntax">GetGender</span></span> returns 0 if the given animate object is female, and 1 if male,
|
||||
and is abstracted as a routine in case something more elaborate is ever
|
||||
needed.
|
||||
</p>
|
||||
|
@ -3834,7 +3866,7 @@ Manual}, 4th edition.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">case</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">];</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP57" class="paragraph-anchor"></a><b>§57. Noticing Plurals. </b></p>
|
||||
<p class="commentary firstcommentary"><a id="SP58" class="paragraph-anchor"></a><b>§58. Noticing Plurals. </b></p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax">[ </span><span class="identifier-syntax">DetectPluralWord</span><span class="plain-syntax"> </span><span class="identifier-syntax">at</span><span class="plain-syntax"> </span><span class="identifier-syntax">n</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax"> </span><span class="identifier-syntax">w</span><span class="plain-syntax"> </span><span class="identifier-syntax">swn</span><span class="plain-syntax"> </span><span class="identifier-syntax">outcome</span><span class="plain-syntax">;</span>
|
||||
|
@ -3851,7 +3883,7 @@ Manual}, 4th edition.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">outcome</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">];</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP58" class="paragraph-anchor"></a><b>§58. Pronoun Handling. </b></p>
|
||||
<p class="commentary firstcommentary"><a id="SP59" class="paragraph-anchor"></a><b>§59. Pronoun Handling. </b></p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax">[ </span><span class="identifier-syntax">SetPronoun</span><span class="plain-syntax"> </span><span class="identifier-syntax">dword</span><span class="plain-syntax"> </span><span class="identifier-syntax">value</span><span class="plain-syntax"> </span><span class="identifier-syntax">x</span><span class="plain-syntax">;</span>
|
||||
|
@ -3898,7 +3930,7 @@ Manual}, 4th edition.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">rfalse</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">];</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP59" class="paragraph-anchor"></a><b>§59. Yes/No Questions. </b></p>
|
||||
<p class="commentary firstcommentary"><a id="SP60" class="paragraph-anchor"></a><b>§60. Yes/No Questions. </b></p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax">[ </span><span class="identifier-syntax">YesOrNo</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax"> </span><span class="identifier-syntax">j</span><span class="plain-syntax">;</span>
|
||||
|
@ -3923,7 +3955,7 @@ Manual}, 4th edition.
|
|||
|
||||
<span class="plain-syntax">[ </span><span class="identifier-syntax">YES_OR_NO_QUESTION_INTERNAL_R</span><span class="plain-syntax">; ];</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP60" class="paragraph-anchor"></a><b>§60. Number Words. </b>Not much of a parsing routine: we look through an array of pairs of number
|
||||
<p class="commentary firstcommentary"><a id="SP61" class="paragraph-anchor"></a><b>§61. Number Words. </b>Not much of a parsing routine: we look through an array of pairs of number
|
||||
words (single words) and their numeric equivalents.
|
||||
</p>
|
||||
|
||||
|
@ -3935,7 +3967,7 @@ words (single words) and their numeric equivalents.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="constant-syntax">0</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">];</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP61" class="paragraph-anchor"></a><b>§61. Choose Objects. </b>This material, the final body of code in the parser, is an I7 addition.
|
||||
<p class="commentary firstcommentary"><a id="SP62" class="paragraph-anchor"></a><b>§62. Choose Objects. </b>This material, the final body of code in the parser, is an I7 addition.
|
||||
The I6 parser leaves it to the user to provide a <span class="extract"><span class="extract-syntax">ChooseObjects</span></span> routine
|
||||
to decide between possibilities when the situation is ambiguous. For I7
|
||||
use, we provide a <span class="extract"><span class="extract-syntax">ChooseObjects</span></span> which essentially runs the "does the
|
||||
|
@ -4103,13 +4135,13 @@ is defined in the Standard Rules, not here.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="constant-syntax">2</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">];</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP62" class="paragraph-anchor"></a><b>§62. Default Topic. </b>A default value for the I7 sort-of-kind "topic", which never matches.
|
||||
<p class="commentary firstcommentary"><a id="SP63" class="paragraph-anchor"></a><b>§63. Default Topic. </b>A default value for the I7 sort-of-kind "topic", which never matches.
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax">[ </span><span class="identifier-syntax">DefaultTopic</span><span class="plain-syntax">; </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">GPR_FAIL</span><span class="plain-syntax">; ];</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP63" class="paragraph-anchor"></a><b>§63. Recognition-only-GPR. </b>An I6 general parsing routine to look at words from the position marker
|
||||
<p class="commentary firstcommentary"><a id="SP64" class="paragraph-anchor"></a><b>§64. Recognition-only-GPR. </b>An I6 general parsing routine to look at words from the position marker
|
||||
<span class="extract"><span class="extract-syntax">wn</span></span> in the player's command to see if they match the contents of the
|
||||
text <span class="extract"><span class="extract-syntax">txt</span></span>, returning either <span class="extract"><span class="extract-syntax">GPR_PREPOSITION</span></span> or <span class="extract"><span class="extract-syntax">GPR_FAIL</span></span>
|
||||
according to whether a match could be made. This is used when the an
|
||||
|
@ -4163,7 +4195,7 @@ recognises an existing value: it doesn't parse a new one.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">GPR_PREPOSITION</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">];</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP64" class="paragraph-anchor"></a><b>§64. RunRoutines. </b>This function may not be very well-named, but the idea is to take a property
|
||||
<p class="commentary firstcommentary"><a id="SP65" class="paragraph-anchor"></a><b>§65. RunRoutines. </b>This function may not be very well-named, but the idea is to take a property
|
||||
of a given object and either to print it (and return <span class="extract"><span class="extract-syntax">true</span></span>) if it's a string,
|
||||
and call it (and pass along its return value) if it's a routine. If the
|
||||
object does not provide the property, we act on the default value for the
|
||||
|
@ -4189,7 +4221,7 @@ address, returned by the <span class="extract"><span class="extract-syntax">.&am
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">obj</span><span class="plain-syntax">.</span><span class="identifier-syntax">prop</span><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax">];</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP65" class="paragraph-anchor"></a><b>§65. Setting the Player's Command. </b>In effect, the text typed most recently by the player is a sort of
|
||||
<p class="commentary firstcommentary"><a id="SP66" class="paragraph-anchor"></a><b>§66. Setting the Player's Command. </b>In effect, the text typed most recently by the player is a sort of
|
||||
text already, though it isn't in text format, and doesn't live on
|
||||
the heap.
|
||||
</p>
|
||||
|
@ -4211,7 +4243,7 @@ the heap.
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">TEXT_TY_Untransmute</span><span class="plain-syntax">(</span><span class="identifier-syntax">from_txt</span><span class="plain-syntax">, </span><span class="identifier-syntax">p</span><span class="plain-syntax">, </span><span class="identifier-syntax">cp</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">];</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP66" class="paragraph-anchor"></a><b>§66. Multiple Object List. </b>The parser uses one data structure which is really a list: but which can't
|
||||
<p class="commentary firstcommentary"><a id="SP67" class="paragraph-anchor"></a><b>§67. Multiple Object List. </b>The parser uses one data structure which is really a list: but which can't
|
||||
be represented as such because the heap might not exist. This is the multiple
|
||||
object list, which is used to handle commands like TAKE ALL by firing off a
|
||||
sequence of actions with one of the objects taken from entries in turn of
|
||||
|
|
|
@ -56,7 +56,7 @@ MathJax = {
|
|||
<ul class="crumbs"><li><a href="../index.html">Home</a></li><li><a href="../extensions.html">Kits</a></li><li><a href="index.html">WorldModelKit</a></li><li><b>Actions Template</b></li></ul></div>
|
||||
<p class="purpose">To try actions by people in the model world, processing the necessary rulebooks.</p>
|
||||
|
||||
<ul class="toc"><li><a href="S-act.html#SP1">§1. Summary</a></li><li><a href="S-act.html#SP2">§2. Action Data</a></li><li><a href="S-act.html#SP3">§3. Requirements Bitmap</a></li><li><a href="S-act.html#SP4">§4. Try Action</a></li><li><a href="S-act.html#SP5">§5. I6 Angle Brackets</a></li><li><a href="S-act.html#SP6">§6. Conversion</a></li><li><a href="S-act.html#SP7">§7. Implicit Take</a></li><li><a href="S-act.html#SP8">§8. Look After Going</a></li><li><a href="S-act.html#SP9">§9. Abbreviated Room Description</a></li><li><a href="S-act.html#SP10">§10. Begin Action</a></li><li><a href="S-act.html#SP11">§11. Action Primitive</a></li><li><a href="S-act.html#SP12">§12. Internal Rule</a></li><li><a href="S-act.html#SP13">§13. Type Safety</a></li><li><a href="S-act.html#SP14">§14. Basic Visibility Rule</a></li><li><a href="S-act.html#SP15">§15. Basic Accessibility Rule</a></li><li><a href="S-act.html#SP16">§16. Carrying Requirements Rule</a></li><li><a href="S-act.html#SP17">§17. Standard Implicit Taking Rule</a></li><li><a href="S-act.html#SP18">§18. Requested Actions Require Persuasion Rule</a></li><li><a href="S-act.html#SP19">§19. Carry Out Requested Actions Rule</a></li><li><a href="S-act.html#SP20">§20. Generic Verb Subroutine</a></li><li><a href="S-act.html#SP21">§21. Work Out Details Of Specific Action Rule</a></li><li><a href="S-act.html#SP22">§22. Actions Bitmap</a></li><li><a href="S-act.html#SP23">§23. Printing Actions</a></li></ul><hr class="tocbar">
|
||||
<ul class="toc"><li><a href="S-act.html#SP1">§1. Summary</a></li><li><a href="S-act.html#SP2">§2. Fake Actions</a></li><li><a href="S-act.html#SP3">§3. Action Data</a></li><li><a href="S-act.html#SP4">§4. Requirements Bitmap</a></li><li><a href="S-act.html#SP5">§5. Try Action</a></li><li><a href="S-act.html#SP6">§6. I6 Angle Brackets</a></li><li><a href="S-act.html#SP7">§7. Conversion</a></li><li><a href="S-act.html#SP8">§8. Implicit Take</a></li><li><a href="S-act.html#SP9">§9. Look After Going</a></li><li><a href="S-act.html#SP10">§10. Abbreviated Room Description</a></li><li><a href="S-act.html#SP11">§11. Begin Action</a></li><li><a href="S-act.html#SP12">§12. Action Primitive</a></li><li><a href="S-act.html#SP13">§13. Internal Rule</a></li><li><a href="S-act.html#SP14">§14. Type Safety</a></li><li><a href="S-act.html#SP15">§15. Basic Visibility Rule</a></li><li><a href="S-act.html#SP16">§16. Basic Accessibility Rule</a></li><li><a href="S-act.html#SP17">§17. Carrying Requirements Rule</a></li><li><a href="S-act.html#SP18">§18. Standard Implicit Taking Rule</a></li><li><a href="S-act.html#SP19">§19. Requested Actions Require Persuasion Rule</a></li><li><a href="S-act.html#SP20">§20. Carry Out Requested Actions Rule</a></li><li><a href="S-act.html#SP21">§21. Generic Verb Subroutine</a></li><li><a href="S-act.html#SP22">§22. Work Out Details Of Specific Action Rule</a></li><li><a href="S-act.html#SP23">§23. Actions Bitmap</a></li><li><a href="S-act.html#SP24">§24. Printing Actions</a></li></ul><hr class="tocbar">
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP1" class="paragraph-anchor"></a><b>§1. Summary. </b>To review: an action is an impulse to do something by a person in the model
|
||||
world. Commands such as DROP POTATO are converted into actions ("dropping
|
||||
|
@ -105,7 +105,27 @@ for (i) to (vii), the alternative ways for actions to begin; and secondly
|
|||
the common machinery into which all actions eventually pass.
|
||||
</p>
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP2" class="paragraph-anchor"></a><b>§2. Action Data. </b>This is perhaps a good place to document the <span class="extract"><span class="extract-syntax">ActionData</span></span> array, a convenient
|
||||
<p class="commentary firstcommentary"><a id="SP2" class="paragraph-anchor"></a><b>§2. Fake Actions. </b>Though sometimes useful for I6 coding tricks, fake actions — action numbers
|
||||
not corresponding to any action, but different from those of valid actions,
|
||||
and useable with a number of action syntaxes — are not conceptually present
|
||||
in I7 source text. They can only really exist at the I6 level because I6 is
|
||||
typeless; in I7 terms, there is no convenient kind of value which could
|
||||
represent both actions and fake actions while protecting each from confusion
|
||||
with the other.
|
||||
</p>
|
||||
|
||||
<p class="commentary">The following fake actions from the I6 library have been dropped here:
|
||||
<span class="extract"><span class="extract-syntax">##LetGo</span></span>, <span class="extract"><span class="extract-syntax">##Receive</span></span>, <span class="extract"><span class="extract-syntax">##ThrownAt</span></span>, <span class="extract"><span class="extract-syntax">##Prompt</span></span>, <span class="extract"><span class="extract-syntax">##Places</span></span>, <span class="extract"><span class="extract-syntax">##Objects</span></span>,
|
||||
<span class="extract"><span class="extract-syntax">##Order</span></span>, <span class="extract"><span class="extract-syntax">##NotUnderstood</span></span>.
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="identifier-syntax">Fake_Action</span><span class="plain-syntax"> </span><span class="identifier-syntax">ListMiscellany</span><span class="plain-syntax">;</span>
|
||||
<span class="identifier-syntax">Fake_Action</span><span class="plain-syntax"> </span><span class="identifier-syntax">Miscellany</span><span class="plain-syntax">;</span>
|
||||
<span class="identifier-syntax">Fake_Action</span><span class="plain-syntax"> </span><span class="identifier-syntax">PluralFound</span><span class="plain-syntax">;</span>
|
||||
<span class="identifier-syntax">Fake_Action</span><span class="plain-syntax"> </span><span class="identifier-syntax">TheSame</span><span class="plain-syntax">;</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP3" class="paragraph-anchor"></a><b>§3. Action Data. </b>This is perhaps a good place to document the <span class="extract"><span class="extract-syntax">ActionData</span></span> array, a convenient
|
||||
table of metadata about the actions. Since this is compiled by Inform, the
|
||||
following structure can't be modified here without making matching changes
|
||||
in Inform. <span class="extract"><span class="extract-syntax">ActionData</span></span> is an I6 <span class="extract"><span class="extract-syntax">table</span></span> containing a series of fixed-length
|
||||
|
@ -142,7 +162,7 @@ means "the current action".
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="constant-syntax">0</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">];</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP3" class="paragraph-anchor"></a><b>§3. Requirements Bitmap. </b>As noted above, the <span class="extract"><span class="extract-syntax">AD_REQUIREMENTS</span></span> field is a bitmap of flags for
|
||||
<p class="commentary firstcommentary"><a id="SP4" class="paragraph-anchor"></a><b>§4. Requirements Bitmap. </b>As noted above, the <span class="extract"><span class="extract-syntax">AD_REQUIREMENTS</span></span> field is a bitmap of flags for
|
||||
various possible action requirements:
|
||||
</p>
|
||||
|
||||
|
@ -170,7 +190,7 @@ various possible action requirements:
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">rfalse</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">];</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP4" class="paragraph-anchor"></a><b>§4. Try Action. </b>This is method (ii) in the summary above.
|
||||
<p class="commentary firstcommentary"><a id="SP5" class="paragraph-anchor"></a><b>§5. Try Action. </b>This is method (ii) in the summary above.
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
|
@ -220,7 +240,7 @@ various possible action requirements:
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">TrackActions</span><span class="plain-syntax">(</span><span class="reserved-syntax">true</span><span class="plain-syntax">, </span><span class="identifier-syntax">smeta</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">];</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP5" class="paragraph-anchor"></a><b>§5. I6 Angle Brackets. </b>This is method (iii) in the summary above. The routine here has slightly
|
||||
<p class="commentary firstcommentary"><a id="SP6" class="paragraph-anchor"></a><b>§6. I6 Angle Brackets. </b>This is method (iii) in the summary above. The routine here has slightly
|
||||
odd conventions and a curious name which would take too long to explain:
|
||||
neither can be changed without amending the veneer code within the I6
|
||||
compiler.
|
||||
|
@ -233,7 +253,7 @@ compiler.
|
|||
<span class="plain-syntax"> @</span><span class="identifier-syntax">pull</span><span class="plain-syntax"> </span><span class="identifier-syntax">inp2</span><span class="plain-syntax">; @</span><span class="identifier-syntax">pull</span><span class="plain-syntax"> </span><span class="identifier-syntax">inp1</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">];</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP6" class="paragraph-anchor"></a><b>§6. Conversion. </b>This is method (iv) in the summary above.
|
||||
<p class="commentary firstcommentary"><a id="SP7" class="paragraph-anchor"></a><b>§7. Conversion. </b>This is method (iv) in the summary above.
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
|
@ -266,7 +286,7 @@ compiler.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">rtrue</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">];</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP7" class="paragraph-anchor"></a><b>§7. Implicit Take. </b>This is method (vi) in the summary above.
|
||||
<p class="commentary firstcommentary"><a id="SP8" class="paragraph-anchor"></a><b>§8. Implicit Take. </b>This is method (vi) in the summary above.
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
|
@ -286,7 +306,7 @@ compiler.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">rfalse</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">];</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP8" class="paragraph-anchor"></a><b>§8. Look After Going. </b>This is method (vii) in the summary above.
|
||||
<p class="commentary firstcommentary"><a id="SP9" class="paragraph-anchor"></a><b>§9. Look After Going. </b>This is method (vii) in the summary above.
|
||||
</p>
|
||||
|
||||
<p class="commentary">Fundamentally, room descriptions arise through looking actions, but they
|
||||
|
@ -302,7 +322,7 @@ SUPERBRIEF mode set.
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">AbbreviatedRoomDescription</span><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax">];</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP9" class="paragraph-anchor"></a><b>§9. Abbreviated Room Description. </b>This is used when we want a room description with the same abbreviation
|
||||
<p class="commentary firstcommentary"><a id="SP10" class="paragraph-anchor"></a><b>§10. Abbreviated Room Description. </b>This is used when we want a room description with the same abbreviation
|
||||
conventions as after a going action, and we don't quite want a looking
|
||||
action fully to take place. We nevertheless want to be sure that the
|
||||
action variables for looking exist, and in particular, we want to set the
|
||||
|
@ -353,7 +373,7 @@ runs through the specific action processing stage.
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">action</span><span class="plain-syntax"> = </span><span class="identifier-syntax">prior_action</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">];</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP10" class="paragraph-anchor"></a><b>§10. Begin Action. </b>We now begin the second half of the segment: the machinery which handles
|
||||
<p class="commentary firstcommentary"><a id="SP11" class="paragraph-anchor"></a><b>§11. Begin Action. </b>We now begin the second half of the segment: the machinery which handles
|
||||
all actions.
|
||||
</p>
|
||||
|
||||
|
@ -381,7 +401,7 @@ and then call <span class="extract"><span class="extract-syntax">ActionPrimitive
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">rv</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">];</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP11" class="paragraph-anchor"></a><b>§11. Action Primitive. </b>This is somewhat different from the I6 library counterpart which gives it
|
||||
<p class="commentary firstcommentary"><a id="SP12" class="paragraph-anchor"></a><b>§12. Action Primitive. </b>This is somewhat different from the I6 library counterpart which gives it
|
||||
its name, but the idea is the same. It has no arguments at all: everything
|
||||
it needs to know is now stored in global variables. The routine looks long,
|
||||
but really contains little: it's all just book-keeping, printing debugging
|
||||
|
@ -464,13 +484,13 @@ more discussion of this.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">rfalse</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">];</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP12" class="paragraph-anchor"></a><b>§12. Internal Rule. </b>Provided only as a hook on which to hang responses.
|
||||
<p class="commentary firstcommentary"><a id="SP13" class="paragraph-anchor"></a><b>§13. Internal Rule. </b>Provided only as a hook on which to hang responses.
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax">[ </span><span class="identifier-syntax">ACTION_PROCESSING_INTERNAL_R</span><span class="plain-syntax">; ];</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP13" class="paragraph-anchor"></a><b>§13. Type Safety. </b>Some basic action requirements have to be met before we can go any further:
|
||||
<p class="commentary firstcommentary"><a id="SP14" class="paragraph-anchor"></a><b>§14. Type Safety. </b>Some basic action requirements have to be met before we can go any further:
|
||||
if they aren't, then it isn't type-safe even to run the action processing
|
||||
rulebook.
|
||||
</p>
|
||||
|
@ -575,7 +595,7 @@ or "supplying a missing second noun" activities to fill the void.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">rfalse</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">];</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP14" class="paragraph-anchor"></a><b>§14. Basic Visibility Rule. </b>This is one of the I6 primitive rules in the action processing rulebook:
|
||||
<p class="commentary firstcommentary"><a id="SP15" class="paragraph-anchor"></a><b>§15. Basic Visibility Rule. </b>This is one of the I6 primitive rules in the action processing rulebook:
|
||||
see the account in the Standard Rules for details.
|
||||
</p>
|
||||
|
||||
|
@ -603,7 +623,7 @@ so that it would be unfair to apply the rule to any other person.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">rfalse</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">];</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP15" class="paragraph-anchor"></a><b>§15. Basic Accessibility Rule. </b>This is one of the I6 primitive rules in the action processing rulebook:
|
||||
<p class="commentary firstcommentary"><a id="SP16" class="paragraph-anchor"></a><b>§16. Basic Accessibility Rule. </b>This is one of the I6 primitive rules in the action processing rulebook:
|
||||
see the account in the Standard Rules for details.
|
||||
</p>
|
||||
|
||||
|
@ -650,7 +670,7 @@ see the account in the Standard Rules for details.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">rfalse</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">];</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP16" class="paragraph-anchor"></a><b>§16. Carrying Requirements Rule. </b>This is one of the I6 primitive rules in the action processing rulebook:
|
||||
<p class="commentary firstcommentary"><a id="SP17" class="paragraph-anchor"></a><b>§17. Carrying Requirements Rule. </b>This is one of the I6 primitive rules in the action processing rulebook:
|
||||
see the account in the Standard Rules for details.
|
||||
</p>
|
||||
|
||||
|
@ -685,7 +705,7 @@ see the account in the Standard Rules for details.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">rfalse</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">];</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP17" class="paragraph-anchor"></a><b>§17. Standard Implicit Taking Rule. </b></p>
|
||||
<p class="commentary firstcommentary"><a id="SP18" class="paragraph-anchor"></a><b>§18. Standard Implicit Taking Rule. </b></p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax">[ </span><span class="identifier-syntax">STANDARD_IMPLICIT_TAKING_R</span><span class="plain-syntax">;</span>
|
||||
|
@ -693,7 +713,7 @@ see the account in the Standard Rules for details.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">rfalse</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">];</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP18" class="paragraph-anchor"></a><b>§18. Requested Actions Require Persuasion Rule. </b>This is one of the I6 primitive rules in the action processing rulebook:
|
||||
<p class="commentary firstcommentary"><a id="SP19" class="paragraph-anchor"></a><b>§19. Requested Actions Require Persuasion Rule. </b>This is one of the I6 primitive rules in the action processing rulebook:
|
||||
see the account in the Standard Rules for details.
|
||||
</p>
|
||||
|
||||
|
@ -715,7 +735,7 @@ see the account in the Standard Rules for details.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">rfalse</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">];</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP19" class="paragraph-anchor"></a><b>§19. Carry Out Requested Actions Rule. </b>This is one of the I6 primitive rules in the action processing rulebook:
|
||||
<p class="commentary firstcommentary"><a id="SP20" class="paragraph-anchor"></a><b>§20. Carry Out Requested Actions Rule. </b>This is one of the I6 primitive rules in the action processing rulebook:
|
||||
see the account in the Standard Rules for details.
|
||||
</p>
|
||||
|
||||
|
@ -737,7 +757,7 @@ see the account in the Standard Rules for details.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">rfalse</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">];</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP20" class="paragraph-anchor"></a><b>§20. Generic Verb Subroutine. </b>In I6, actions are carried out by routines with names like <span class="extract"><span class="extract-syntax">TakeSub</span></span>,
|
||||
<p class="commentary firstcommentary"><a id="SP21" class="paragraph-anchor"></a><b>§21. Generic Verb Subroutine. </b>In I6, actions are carried out by routines with names like <span class="extract"><span class="extract-syntax">TakeSub</span></span>,
|
||||
consisting of <span class="extract"><span class="extract-syntax">-Sub</span></span> tacked on to the action name <span class="extract"><span class="extract-syntax">Take</span></span>. <span class="extract"><span class="extract-syntax">Sub</span></span> stands for
|
||||
"subroutine": this is all a convention going back to Inform 1, which was
|
||||
in 1993 practically an assembler. In the I6 code generated by I7, every
|
||||
|
@ -767,7 +787,7 @@ carry out and report rulebooks.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">rtrue</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">];</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP21" class="paragraph-anchor"></a><b>§21. Work Out Details Of Specific Action Rule. </b>This is one of the I6 primitive rules in the specific action processing
|
||||
<p class="commentary firstcommentary"><a id="SP22" class="paragraph-anchor"></a><b>§22. Work Out Details Of Specific Action Rule. </b>This is one of the I6 primitive rules in the specific action processing
|
||||
rulebook, and it's basically a trick to allow information known to the
|
||||
<span class="extract"><span class="extract-syntax">GenericVerbSub</span></span> routine to be passed down as rulebook variables for the
|
||||
specific action-processing rules — in effect allowing us to pass not
|
||||
|
@ -785,7 +805,7 @@ flags, plus the three specific rulebooks needed to process the action.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">rfalse</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">];</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP22" class="paragraph-anchor"></a><b>§22. Actions Bitmap. </b>This is a fairly large bitmap recording which actions have succeeded thus
|
||||
<p class="commentary firstcommentary"><a id="SP23" class="paragraph-anchor"></a><b>§23. Actions Bitmap. </b>This is a fairly large bitmap recording which actions have succeeded thus
|
||||
far on which nouns. It was to some extent an early attempt at implementing
|
||||
a past-tense system; I'm not at all sure it was successful, since it is
|
||||
hindered by certain restrictions — it only records action/noun combinations,
|
||||
|
@ -833,7 +853,7 @@ to what the user might expect, which is unfortunate.
|
|||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax">];</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP23" class="paragraph-anchor"></a><b>§23. Printing Actions. </b>This is really for debugging purposes, but also provides us with a way to
|
||||
<p class="commentary firstcommentary"><a id="SP24" class="paragraph-anchor"></a><b>§24. Printing Actions. </b>This is really for debugging purposes, but also provides us with a way to
|
||||
print a stored action, for instance, or to print an action name value.
|
||||
(For instance, printing an action name might result in "taking"; printing
|
||||
a whole action might produce "Henry taking the grapefruit".)
|
||||
|
|
|
@ -188,7 +188,6 @@ based on character cells.
|
|||
<span class="identifier-syntax">Global</span><span class="plain-syntax"> </span><span class="identifier-syntax">noun</span><span class="plain-syntax">; </span><span class="comment-syntax">= I7 "noun"</span>
|
||||
<span class="identifier-syntax">Global</span><span class="plain-syntax"> </span><span class="identifier-syntax">second</span><span class="plain-syntax">; </span><span class="comment-syntax">= I7 "second noun"</span>
|
||||
<span class="identifier-syntax">Global</span><span class="plain-syntax"> </span><span class="identifier-syntax">keep_silent</span><span class="plain-syntax">; </span><span class="comment-syntax">true if current action is being tried silently</span>
|
||||
<span class="identifier-syntax">Global</span><span class="plain-syntax"> </span><span class="identifier-syntax">etype</span><span class="plain-syntax">; </span><span class="comment-syntax">parser error number if command not recognised</span>
|
||||
<span class="identifier-syntax">Global</span><span class="plain-syntax"> </span><span class="identifier-syntax">trace_actions</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">;</span>
|
||||
|
||||
<span class="identifier-syntax">Global</span><span class="plain-syntax"> </span><span class="identifier-syntax">untouchable_object</span><span class="plain-syntax">;</span>
|
||||
|
|
|
@ -75,12 +75,16 @@ function togglePopup(material_id) {
|
|||
|
||||
<p class="commentary firstcommentary"><a id="SP1" class="paragraph-anchor"></a><b>§1. </b></p>
|
||||
|
||||
<pre class="definitions code-font"><span class="definition-keyword">define</span> <span class="constant-syntax">SYNOPTIC_HIERARCHY_MADE_ITHBIT</span><span class="plain-syntax"> </span><span class="constant-syntax">1</span>
|
||||
<span class="definition-keyword">define</span> <span class="constant-syntax">KIT_HIERARCHY_MADE_ITHBIT</span><span class="plain-syntax"> </span><span class="constant-syntax">2</span>
|
||||
</pre>
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">typedef</span><span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="reserved-syntax">inter_tree</span><span class="plain-syntax"> {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="reserved-syntax">inter_warehouse</span><span class="plain-syntax"> *</span><span class="identifier-syntax">housed</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="reserved-syntax">inter_tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">root_node</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="reserved-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">root_package</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="identifier-syntax">building_site</span><span class="plain-syntax"> </span><span class="identifier-syntax">site</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">history_bits</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">CLASS_DEFINITION</span>
|
||||
<span class="plain-syntax">} </span><span class="reserved-syntax">inter_tree</span><span class="plain-syntax">;</span>
|
||||
</pre>
|
||||
|
@ -102,6 +106,7 @@ function togglePopup(material_id) {
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">I</span><span class="plain-syntax">-></span><span class="element-syntax">root_node</span><span class="plain-syntax">-></span><span class="element-syntax">package</span><span class="plain-syntax"> = </span><span class="identifier-syntax">I</span><span class="plain-syntax">-></span><span class="element-syntax">root_package</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><a href="2-tw.html#SP3" class="function-link"><span class="function-syntax">Inter::Warehouse::attribute_resource</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">-></span><span class="element-syntax">housed</span><span class="plain-syntax">, </span><span class="identifier-syntax">N</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="plain-syntax">-></span><span class="element-syntax">root_package</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Site::clear</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">I</span><span class="plain-syntax">-></span><span class="element-syntax">history_bits</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">I</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
|
|
|
@ -204,7 +204,7 @@ and caches needed to index an Inter tree.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">I</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) </span><span class="identifier-syntax">internal_error</span><span class="plain-syntax">(</span><span class="string-syntax">"no tree to index"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</span><span class="plain-syntax"> = </span><span class="identifier-syntax">CREATE</span><span class="plain-syntax">(</span><span class="reserved-syntax">index_session</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">session</span><span class="plain-syntax">-></span><span class="element-syntax">tree</span><span class="plain-syntax"> = </span><span class="identifier-syntax">I</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">session</span><span class="plain-syntax">-></span><span class="element-syntax">inv</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Synoptic::inv</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">session</span><span class="plain-syntax">-></span><span class="element-syntax">inv</span><span class="plain-syntax"> = </span><span class="identifier-syntax">MakeSynopticModuleStage::take_inventory</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">session</span><span class="plain-syntax">-></span><span class="element-syntax">lexicon</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">session</span><span class="plain-syntax">-></span><span class="element-syntax">set_of_instances</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">session</span><span class="plain-syntax">-></span><span class="element-syntax">list_of_scenes</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
|
||||
|
|
|
@ -262,7 +262,7 @@ we may need to keep multiple sets of faux instances, one for each tree. So:
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">session</span><span class="plain-syntax">-></span><span class="element-syntax">set_of_instances</span><span class="plain-syntax"> = </span><span class="identifier-syntax">faux_set</span><span class="plain-syntax">;</span>
|
||||
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">tree_inventory</span><span class="plain-syntax"> *</span><span class="identifier-syntax">inv</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP6" class="function-link"><span class="function-syntax">Indexing::get_inventory</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">instance_nodes</span><span class="plain-syntax">, </span><span class="identifier-syntax">Synoptic::module_order</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">instance_nodes</span><span class="plain-syntax">, </span><span class="identifier-syntax">MakeSynopticModuleStage::module_order</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER_INVENTORY_PACKAGES</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">i</span><span class="plain-syntax">, </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">instance_nodes</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Metadata::read_optional_numeric</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^is_object"</span><span class="plain-syntax">))</span>
|
||||
|
|
|
@ -115,7 +115,7 @@ which are inside <span class="extract"><span class="extract-syntax">_scene</span
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP6" class="function-link"><span class="function-syntax">Indexing::get_tree</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">tree_inventory</span><span class="plain-syntax"> *</span><span class="identifier-syntax">inv</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP6" class="function-link"><span class="function-syntax">Indexing::get_inventory</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">scene_nodes</span><span class="plain-syntax">, </span><a href="2-fs.html#SP3" class="function-link"><span class="function-syntax">FauxScenes::scene_order</span></a><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">rulebook_nodes</span><span class="plain-syntax">, </span><span class="identifier-syntax">Synoptic::module_order</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">rulebook_nodes</span><span class="plain-syntax">, </span><span class="identifier-syntax">MakeSynopticModuleStage::module_order</span><span class="plain-syntax">);</span>
|
||||
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">scene_pack</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER_INVENTORY_PACKAGES</span><span class="plain-syntax">(</span><span class="identifier-syntax">scene_pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">i</span><span class="plain-syntax">, </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">scene_nodes</span><span class="plain-syntax">)</span>
|
||||
|
|
|
@ -144,7 +144,7 @@ order, then sorted.
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">verb_nodes</span><span class="plain-syntax">, </span><span class="identifier-syntax">Synoptic::module_order</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">verb_nodes</span><span class="plain-syntax">, </span><span class="identifier-syntax">MakeSynopticModuleStage::module_order</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER_INVENTORY_PACKAGES</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">i</span><span class="plain-syntax">, </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">verb_nodes</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">index_lexicon_entry</span><span class="plain-syntax"> *</span><span class="identifier-syntax">lex</span><span class="plain-syntax">;</span>
|
||||
|
|
|
@ -81,8 +81,8 @@ so we do little more than tabulate that data here.
|
|||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">ArithmeticElement::render</span><button class="popup" onclick="togglePopup('usagePopup1')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup1">Usage of <span class="code-font"><span class="function-syntax">ArithmeticElement::render</span></span>:<br/>The Periodic Table - <a href="3-tpt.html#SP4">§4</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">LD</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP6" class="function-link"><span class="function-syntax">Indexing::get_localisation</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">tree_inventory</span><span class="plain-syntax"> *</span><span class="identifier-syntax">inv</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP6" class="function-link"><span class="function-syntax">Indexing::get_inventory</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">kind_nodes</span><span class="plain-syntax">, </span><span class="identifier-syntax">Synoptic::module_order</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">multiplication_rule_nodes</span><span class="plain-syntax">, </span><span class="identifier-syntax">Synoptic::module_order</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">kind_nodes</span><span class="plain-syntax">, </span><span class="identifier-syntax">MakeSynopticModuleStage::module_order</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">multiplication_rule_nodes</span><span class="plain-syntax">, </span><span class="identifier-syntax">MakeSynopticModuleStage::module_order</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_TAG</span><span class="plain-syntax">(</span><span class="string-syntax">"hr"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-ae2.html#SP1_1" class="named-paragraph-link"><span class="named-paragraph">Index the rubric about quasinumerical kinds</span><span class="named-paragraph-number">1.1</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-ae2.html#SP1_2" class="named-paragraph-link"><span class="named-paragraph">Index the table of quasinumerical kinds</span><span class="named-paragraph-number">1.2</span></a></span><span class="plain-syntax">;</span>
|
||||
|
|
|
@ -89,7 +89,7 @@ function togglePopup(material_id) {
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">Localisation::roman</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.Bh.None"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> } </span><span class="reserved-syntax">else</span><span class="plain-syntax"> {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">named_action_pattern_nodes</span><span class="plain-syntax">, </span><span class="identifier-syntax">Synoptic::module_order</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">named_action_pattern_nodes</span><span class="plain-syntax">, </span><span class="identifier-syntax">MakeSynopticModuleStage::module_order</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER_INVENTORY_PACKAGES</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">i</span><span class="plain-syntax">, </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">named_action_pattern_nodes</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">name</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Metadata::read_optional_textual</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^name"</span><span class="plain-syntax">);</span>
|
||||
|
|
|
@ -83,8 +83,8 @@ and it is quite dense with information.
|
|||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">ChartElement::render</span><button class="popup" onclick="togglePopup('usagePopup1')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup1">Usage of <span class="code-font"><span class="function-syntax">ChartElement::render</span></span>:<br/>The Periodic Table - <a href="3-tpt.html#SP4">§4</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">D</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP6" class="function-link"><span class="function-syntax">Indexing::get_localisation</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">tree_inventory</span><span class="plain-syntax"> *</span><span class="identifier-syntax">inv</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP6" class="function-link"><span class="function-syntax">Indexing::get_inventory</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">kind_nodes</span><span class="plain-syntax">, </span><span class="identifier-syntax">Synoptic::module_order</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">instance_nodes</span><span class="plain-syntax">, </span><span class="identifier-syntax">Synoptic::module_order</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">kind_nodes</span><span class="plain-syntax">, </span><span class="identifier-syntax">MakeSynopticModuleStage::module_order</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">instance_nodes</span><span class="plain-syntax">, </span><span class="identifier-syntax">MakeSynopticModuleStage::module_order</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::begin_wide_html_table</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">pass</span><span class="plain-syntax"> = </span><span class="constant-syntax">1</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-ce2.html#SP1_3" class="named-paragraph-link"><span class="named-paragraph">Add a dotty row to the chart of kinds</span><span class="named-paragraph-number">1.3</span></a></span><span class="plain-syntax">;</span>
|
||||
|
|
|
@ -81,8 +81,8 @@ function togglePopup(material_id) {
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">LD</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP6" class="function-link"><span class="function-syntax">Indexing::get_localisation</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP6" class="function-link"><span class="function-syntax">Indexing::get_tree</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">tree_inventory</span><span class="plain-syntax"> *</span><span class="identifier-syntax">inv</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP6" class="function-link"><span class="function-syntax">Indexing::get_inventory</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">extension_nodes</span><span class="plain-syntax">, </span><span class="identifier-syntax">Synoptic::category_order</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">heading_nodes</span><span class="plain-syntax">, </span><span class="identifier-syntax">Synoptic::module_order</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">extension_nodes</span><span class="plain-syntax">, </span><span class="identifier-syntax">MakeSynopticModuleStage::category_order</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">heading_nodes</span><span class="plain-syntax">, </span><span class="identifier-syntax">MakeSynopticModuleStage::module_order</span><span class="plain-syntax">);</span>
|
||||
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-ce4.html#SP1_1" class="named-paragraph-link"><span class="named-paragraph">Write a sort of half-title page</span><span class="named-paragraph-number">1.1</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-ce4.html#SP1_2" class="named-paragraph-link"><span class="named-paragraph">Index the headings</span><span class="named-paragraph-number">1.2</span></a></span><span class="plain-syntax">;</span>
|
||||
|
|
|
@ -80,7 +80,7 @@ function togglePopup(material_id) {
|
|||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">EventsElement::render</span><button class="popup" onclick="togglePopup('usagePopup1')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup1">Usage of <span class="code-font"><span class="function-syntax">EventsElement::render</span></span>:<br/>The Periodic Table - <a href="3-tpt.html#SP4">§4</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">LD</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP6" class="function-link"><span class="function-syntax">Indexing::get_localisation</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">tree_inventory</span><span class="plain-syntax"> *</span><span class="identifier-syntax">inv</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP6" class="function-link"><span class="function-syntax">Indexing::get_inventory</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">rule_nodes</span><span class="plain-syntax">, </span><span class="identifier-syntax">Synoptic::module_order</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">rule_nodes</span><span class="plain-syntax">, </span><span class="identifier-syntax">MakeSynopticModuleStage::module_order</span><span class="plain-syntax">);</span>
|
||||
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">when_count</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">, </span><span class="identifier-syntax">tt_count</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-ee.html#SP1_1" class="named-paragraph-link"><span class="named-paragraph">Index events with no specific time</span><span class="named-paragraph-number">1.1</span></a></span><span class="plain-syntax">;</span>
|
||||
|
|
|
@ -82,8 +82,8 @@ really, and most of the code here is just to arrange them in some logical order.
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">LD</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP6" class="function-link"><span class="function-syntax">Indexing::get_localisation</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP6" class="function-link"><span class="function-syntax">Indexing::get_tree</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">tree_inventory</span><span class="plain-syntax"> *</span><span class="identifier-syntax">inv</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP6" class="function-link"><span class="function-syntax">Indexing::get_inventory</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">rulebook_nodes</span><span class="plain-syntax">, </span><span class="identifier-syntax">Synoptic::module_order</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">activity_nodes</span><span class="plain-syntax">, </span><span class="identifier-syntax">Synoptic::module_order</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">rulebook_nodes</span><span class="plain-syntax">, </span><span class="identifier-syntax">MakeSynopticModuleStage::module_order</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">activity_nodes</span><span class="plain-syntax">, </span><span class="identifier-syntax">MakeSynopticModuleStage::module_order</span><span class="plain-syntax">);</span>
|
||||
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">E</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER_INVENTORY_PACKAGES</span><span class="plain-syntax">(</span><span class="identifier-syntax">E</span><span class="plain-syntax">, </span><span class="identifier-syntax">i</span><span class="plain-syntax">, </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">module_nodes</span><span class="plain-syntax">)</span>
|
||||
|
@ -101,7 +101,7 @@ really, and most of the code here is just to arrange them in some logical order.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">c</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">rb_pack</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER_INVENTORY_PACKAGES</span><span class="plain-syntax">(</span><span class="identifier-syntax">rb_pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">i</span><span class="plain-syntax">, </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">rulebook_nodes</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Synoptic::module_containing</span><span class="plain-syntax">(</span><span class="identifier-syntax">rb_pack</span><span class="plain-syntax">-></span><span class="identifier-syntax">package_head</span><span class="plain-syntax">) == </span><span class="identifier-syntax">E</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">MakeSynopticModuleStage::module_containing</span><span class="plain-syntax">(</span><span class="identifier-syntax">rb_pack</span><span class="plain-syntax">-></span><span class="identifier-syntax">package_head</span><span class="plain-syntax">) == </span><span class="identifier-syntax">E</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Metadata::read_optional_numeric</span><span class="plain-syntax">(</span><span class="identifier-syntax">rb_pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^automatically_generated"</span><span class="plain-syntax">))</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">continue</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">c</span><span class="plain-syntax">++ == </span><span class="constant-syntax">0</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="3-ee2.html#SP1_1_1" class="named-paragraph-link"><span class="named-paragraph">Heading for these</span><span class="named-paragraph-number">1.1.1</span></a></span><span class="plain-syntax">;</span>
|
||||
|
@ -111,7 +111,7 @@ really, and most of the code here is just to arrange them in some logical order.
|
|||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">av_pack</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER_INVENTORY_PACKAGES</span><span class="plain-syntax">(</span><span class="identifier-syntax">av_pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">i</span><span class="plain-syntax">, </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">activity_nodes</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Synoptic::module_containing</span><span class="plain-syntax">(</span><span class="identifier-syntax">av_pack</span><span class="plain-syntax">-></span><span class="identifier-syntax">package_head</span><span class="plain-syntax">) == </span><span class="identifier-syntax">E</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">MakeSynopticModuleStage::module_containing</span><span class="plain-syntax">(</span><span class="identifier-syntax">av_pack</span><span class="plain-syntax">-></span><span class="identifier-syntax">package_head</span><span class="plain-syntax">) == </span><span class="identifier-syntax">E</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">c</span><span class="plain-syntax">++ == </span><span class="constant-syntax">0</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="3-ee2.html#SP1_1_1" class="named-paragraph-link"><span class="named-paragraph">Heading for these</span><span class="named-paragraph-number">1.1.1</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><a href="2-ir.html#SP15" class="function-link"><span class="function-syntax">IndexRules::activity_box</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">av_pack</span><span class="plain-syntax">, </span><span class="constant-syntax">1</span><span class="plain-syntax">, </span><span class="identifier-syntax">session</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
|
|
|
@ -83,9 +83,9 @@ function togglePopup(material_id) {
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">LD</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP6" class="function-link"><span class="function-syntax">Indexing::get_localisation</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP6" class="function-link"><span class="function-syntax">Indexing::get_tree</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">tree_inventory</span><span class="plain-syntax"> *</span><span class="identifier-syntax">inv</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP6" class="function-link"><span class="function-syntax">Indexing::get_inventory</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">figure_nodes</span><span class="plain-syntax">, </span><span class="identifier-syntax">Synoptic::module_order</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">sound_nodes</span><span class="plain-syntax">, </span><span class="identifier-syntax">Synoptic::module_order</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">file_nodes</span><span class="plain-syntax">, </span><span class="identifier-syntax">Synoptic::module_order</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">figure_nodes</span><span class="plain-syntax">, </span><span class="identifier-syntax">MakeSynopticModuleStage::module_order</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">sound_nodes</span><span class="plain-syntax">, </span><span class="identifier-syntax">MakeSynopticModuleStage::module_order</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">file_nodes</span><span class="plain-syntax">, </span><span class="identifier-syntax">MakeSynopticModuleStage::module_order</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-fe.html#SP1_1" class="named-paragraph-link"><span class="named-paragraph">Index the figures</span><span class="named-paragraph-number">1.1</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-fe.html#SP1_2" class="named-paragraph-link"><span class="named-paragraph">Index the sounds</span><span class="named-paragraph-number">1.2</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-fe.html#SP1_3" class="named-paragraph-link"><span class="named-paragraph">Index the files</span><span class="named-paragraph-number">1.3</span></a></span><span class="plain-syntax">;</span>
|
||||
|
|
|
@ -79,7 +79,7 @@ function togglePopup(material_id) {
|
|||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">GroupedElement::render</span><button class="popup" onclick="togglePopup('usagePopup1')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup1">Usage of <span class="code-font"><span class="function-syntax">GroupedElement::render</span></span>:<br/>The Periodic Table - <a href="3-tpt.html#SP4">§4</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">tree_inventory</span><span class="plain-syntax"> *</span><span class="identifier-syntax">inv</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP6" class="function-link"><span class="function-syntax">Indexing::get_inventory</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">action_nodes</span><span class="plain-syntax">, </span><span class="identifier-syntax">Synoptic::module_order</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">action_nodes</span><span class="plain-syntax">, </span><span class="identifier-syntax">MakeSynopticModuleStage::module_order</span><span class="plain-syntax">);</span>
|
||||
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">f</span><span class="plain-syntax"> = </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">current_area</span><span class="plain-syntax"> = </span><span class="identifier-syntax">I</span><span class="string-syntax">"___no_area___"</span><span class="plain-syntax">;</span>
|
||||
|
@ -129,7 +129,7 @@ page for each action.
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">LD</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP6" class="function-link"><span class="function-syntax">Indexing::get_localisation</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP6" class="function-link"><span class="function-syntax">Indexing::get_tree</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">tree_inventory</span><span class="plain-syntax"> *</span><span class="identifier-syntax">inv</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP6" class="function-link"><span class="function-syntax">Indexing::get_inventory</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">action_nodes</span><span class="plain-syntax">, </span><span class="identifier-syntax">Synoptic::module_order</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">action_nodes</span><span class="plain-syntax">, </span><span class="identifier-syntax">MakeSynopticModuleStage::module_order</span><span class="plain-syntax">);</span>
|
||||
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">an_pack</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER_INVENTORY_PACKAGES</span><span class="plain-syntax">(</span><span class="identifier-syntax">an_pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">i</span><span class="plain-syntax">, </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">action_nodes</span><span class="plain-syntax">) {</span>
|
||||
|
|
|
@ -82,7 +82,7 @@ technical implementation rather than the content of a work.
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">LD</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP6" class="function-link"><span class="function-syntax">Indexing::get_localisation</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP6" class="function-link"><span class="function-syntax">Indexing::get_tree</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">tree_inventory</span><span class="plain-syntax"> *</span><span class="identifier-syntax">inv</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP6" class="function-link"><span class="function-syntax">Indexing::get_inventory</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">use_option_nodes</span><span class="plain-syntax">, </span><span class="identifier-syntax">Synoptic::module_order</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">use_option_nodes</span><span class="plain-syntax">, </span><span class="identifier-syntax">MakeSynopticModuleStage::module_order</span><span class="plain-syntax">);</span>
|
||||
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-ie.html#SP1_1" class="named-paragraph-link"><span class="named-paragraph">Show the virtual machine compiled for</span><span class="named-paragraph-number">1.1</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-ie.html#SP1_2" class="named-paragraph-link"><span class="named-paragraph">Show the use options</span><span class="named-paragraph-number">1.2</span></a></span><span class="plain-syntax">;</span>
|
||||
|
|
|
@ -80,7 +80,7 @@ function togglePopup(material_id) {
|
|||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">RelationsElement::render</span><button class="popup" onclick="togglePopup('usagePopup1')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup1">Usage of <span class="code-font"><span class="function-syntax">RelationsElement::render</span></span>:<br/>The Periodic Table - <a href="3-tpt.html#SP4">§4</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">LD</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP6" class="function-link"><span class="function-syntax">Indexing::get_localisation</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">tree_inventory</span><span class="plain-syntax"> *</span><span class="identifier-syntax">inv</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP6" class="function-link"><span class="function-syntax">Indexing::get_inventory</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">relation_nodes</span><span class="plain-syntax">, </span><span class="identifier-syntax">Synoptic::module_order</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">relation_nodes</span><span class="plain-syntax">, </span><span class="identifier-syntax">MakeSynopticModuleStage::module_order</span><span class="plain-syntax">);</span>
|
||||
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::begin_plain_html_table</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">);</span>
|
||||
|
|
|
@ -79,7 +79,7 @@ function togglePopup(material_id) {
|
|||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">RulesForScenesElement::render</span><button class="popup" onclick="togglePopup('usagePopup1')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup1">Usage of <span class="code-font"><span class="function-syntax">RulesForScenesElement::render</span></span>:<br/>The Periodic Table - <a href="3-tpt.html#SP4">§4</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">LD</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP6" class="function-link"><span class="function-syntax">Indexing::get_localisation</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">tree_inventory</span><span class="plain-syntax"> *</span><span class="identifier-syntax">inv</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP6" class="function-link"><span class="function-syntax">Indexing::get_inventory</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">rulebook_nodes</span><span class="plain-syntax">, </span><span class="identifier-syntax">Synoptic::module_order</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">rulebook_nodes</span><span class="plain-syntax">, </span><span class="identifier-syntax">MakeSynopticModuleStage::module_order</span><span class="plain-syntax">);</span>
|
||||
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Localisation::bold</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.RS.Machinery"</span><span class="plain-syntax">);</span>
|
||||
|
|
|
@ -81,8 +81,8 @@ their contents in logical order.
|
|||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">StandardsElement::render</span><button class="popup" onclick="togglePopup('usagePopup1')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup1">Usage of <span class="code-font"><span class="function-syntax">StandardsElement::render</span></span>:<br/>The Periodic Table - <a href="3-tpt.html#SP4">§4</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">LD</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP6" class="function-link"><span class="function-syntax">Indexing::get_localisation</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">tree_inventory</span><span class="plain-syntax"> *</span><span class="identifier-syntax">inv</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP6" class="function-link"><span class="function-syntax">Indexing::get_inventory</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">rulebook_nodes</span><span class="plain-syntax">, </span><span class="identifier-syntax">Synoptic::module_order</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">activity_nodes</span><span class="plain-syntax">, </span><span class="identifier-syntax">Synoptic::module_order</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">rulebook_nodes</span><span class="plain-syntax">, </span><span class="identifier-syntax">MakeSynopticModuleStage::module_order</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">activity_nodes</span><span class="plain-syntax">, </span><span class="identifier-syntax">MakeSynopticModuleStage::module_order</span><span class="plain-syntax">);</span>
|
||||
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-se.html#SP1_4" class="named-paragraph-link"><span class="named-paragraph">Index the segment for the main action rulebooks</span><span class="named-paragraph-number">1.4</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-se.html#SP1_2" class="named-paragraph-link"><span class="named-paragraph">Index the segment for the sequence of play rulebooks</span><span class="named-paragraph-number">1.2</span></a></span><span class="plain-syntax">;</span>
|
||||
|
|
|
@ -82,14 +82,14 @@ main source text, all the tables in the Standard Rules, and so on.
|
|||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">TablesElement::render</span><button class="popup" onclick="togglePopup('usagePopup1')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup1">Usage of <span class="code-font"><span class="function-syntax">TablesElement::render</span></span>:<br/>The Periodic Table - <a href="3-tpt.html#SP4">§4</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">LD</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP6" class="function-link"><span class="function-syntax">Indexing::get_localisation</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">tree_inventory</span><span class="plain-syntax"> *</span><span class="identifier-syntax">inv</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP6" class="function-link"><span class="function-syntax">Indexing::get_inventory</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">table_nodes</span><span class="plain-syntax">, </span><span class="identifier-syntax">Synoptic::category_order</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">table_nodes</span><span class="plain-syntax">, </span><span class="identifier-syntax">MakeSynopticModuleStage::category_order</span><span class="plain-syntax">);</span>
|
||||
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">current_mod</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">; </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">mc</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">, </span><span class="identifier-syntax">first_ext</span><span class="plain-syntax"> = </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">cat</span><span class="plain-syntax"> = </span><span class="constant-syntax">1</span><span class="plain-syntax">, </span><span class="identifier-syntax">open_cat</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">with_cat</span><span class="plain-syntax"> = </span><span class="constant-syntax">1</span><span class="plain-syntax">; </span><span class="identifier-syntax">with_cat</span><span class="plain-syntax"> <= </span><span class="constant-syntax">3</span><span class="plain-syntax">; </span><span class="identifier-syntax">with_cat</span><span class="plain-syntax">++) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">table_pack</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER_INVENTORY_PACKAGES</span><span class="plain-syntax">(</span><span class="identifier-syntax">table_pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">i</span><span class="plain-syntax">, </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">table_nodes</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">mod</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Synoptic::module_containing</span><span class="plain-syntax">(</span><span class="identifier-syntax">table_pack</span><span class="plain-syntax">-></span><span class="identifier-syntax">package_head</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">mod</span><span class="plain-syntax"> = </span><span class="identifier-syntax">MakeSynopticModuleStage::module_containing</span><span class="plain-syntax">(</span><span class="identifier-syntax">table_pack</span><span class="plain-syntax">-></span><span class="identifier-syntax">package_head</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">mod</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">cat</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Metadata::read_optional_numeric</span><span class="plain-syntax">(</span><span class="identifier-syntax">mod</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^category"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">cat</span><span class="plain-syntax"> == </span><span class="identifier-syntax">with_cat</span><span class="plain-syntax">) {</span>
|
||||
|
|
|
@ -81,9 +81,9 @@ quite different.
|
|||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">ValuesElement::render</span><button class="popup" onclick="togglePopup('usagePopup1')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup1">Usage of <span class="code-font"><span class="function-syntax">ValuesElement::render</span></span>:<br/>The Periodic Table - <a href="3-tpt.html#SP4">§4</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">index_session</span><span class="plain-syntax"> *</span><span class="identifier-syntax">session</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">localisation_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">LD</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP6" class="function-link"><span class="function-syntax">Indexing::get_localisation</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">tree_inventory</span><span class="plain-syntax"> *</span><span class="identifier-syntax">inv</span><span class="plain-syntax"> = </span><a href="1-ia.html#SP6" class="function-link"><span class="function-syntax">Indexing::get_inventory</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">variable_nodes</span><span class="plain-syntax">, </span><span class="identifier-syntax">Synoptic::module_order</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">variable_nodes</span><span class="plain-syntax">, </span><span class="identifier-syntax">MakeSynopticModuleStage::module_order</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-ve.html#SP1_1" class="named-paragraph-link"><span class="named-paragraph">Index the variables</span><span class="named-paragraph-number">1.1</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">equation_nodes</span><span class="plain-syntax">, </span><span class="identifier-syntax">Synoptic::module_order</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">equation_nodes</span><span class="plain-syntax">, </span><span class="identifier-syntax">MakeSynopticModuleStage::module_order</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-ve.html#SP1_2" class="named-paragraph-link"><span class="named-paragraph">Index the equations</span><span class="named-paragraph-number">1.2</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
|
|
|
@ -84,10 +84,10 @@ which take more than 1/1000th of the total running time.
|
|||
|
||||
<pre class="undisplayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax">100.0% in inform7 run</span>
|
||||
<span class="plain-syntax"> 55.6% in compilation to Inter</span>
|
||||
<span class="plain-syntax"> 40.1% in </span><a href="../core-module/1-htc.html#SP9" class="internal">Sequence::undertake_queued_tasks</a>
|
||||
<span class="plain-syntax"> 57.1% in compilation to Inter</span>
|
||||
<span class="plain-syntax"> 41.5% in </span><a href="../core-module/1-htc.html#SP9" class="internal">Sequence::undertake_queued_tasks</a>
|
||||
<span class="plain-syntax"> 3.5% in </span><a href="../assertions-module/2-ptmn.html#SP1" class="internal">MajorNodes::pre_pass</a>
|
||||
<span class="plain-syntax"> 2.4% in </span><a href="../assertions-module/2-ptmn.html#SP1" class="internal">MajorNodes::pass_1</a>
|
||||
<span class="plain-syntax"> 2.6% in </span><a href="../assertions-module/2-ptmn.html#SP1" class="internal">MajorNodes::pass_1</a>
|
||||
<span class="plain-syntax"> 2.1% in </span><a href="../runtime-module/6-pi.html#SP1" class="internal">RTPhrasebook::compile_entries</a>
|
||||
<span class="plain-syntax"> 1.3% in </span><a href="../assertions-module/5-id.html#SP4" class="internal">ImperativeDefinitions::assess_all</a>
|
||||
<span class="plain-syntax"> 1.2% in </span><a href="../runtime-module/5-kc.html#SP10" class="internal">RTKindConstructors::compile</a>
|
||||
|
@ -101,21 +101,18 @@ which take more than 1/1000th of the total running time.
|
|||
<span class="plain-syntax"> 0.1% in </span><a href="../runtime-module/5-kc.html#SP10_7" class="internal">RTKindConstructors::compile_permissions</a>
|
||||
<span class="plain-syntax"> 0.1% in </span><a href="../core-module/1-wtc.html#SP9" class="internal">Task::make_built_in_kind_constructors</a>
|
||||
<span class="plain-syntax"> 2.0% not specifically accounted for</span>
|
||||
<span class="plain-syntax"> 42.3% in running Inter pipeline</span>
|
||||
<span class="plain-syntax"> 11.9% in step preparation</span>
|
||||
<span class="plain-syntax"> 9.7% in inter step 7/16: consolidate-text</span>
|
||||
<span class="plain-syntax"> 8.2% in inter step 6/16: load-binary-kits</span>
|
||||
<span class="plain-syntax"> 6.9% in inter step 16/16: generate inform6 -> auto.inf</span>
|
||||
<span class="plain-syntax"> 1.5% in inter step 11/16: make-identifiers-unique</span>
|
||||
<span class="plain-syntax"> 0.4% in inter step 12/16: reconcile-verbs</span>
|
||||
<span class="plain-syntax"> 0.3% in inter step 14/16: eliminate-redundant-operations</span>
|
||||
<span class="plain-syntax"> 0.3% in inter step 5/16: assimilate</span>
|
||||
<span class="plain-syntax"> 0.3% in inter step 8/16: resolve-external-symbols</span>
|
||||
<span class="plain-syntax"> 0.1% in inter step 10/16: detect-indirect-calls</span>
|
||||
<span class="plain-syntax"> 0.1% in inter step 13/16: eliminate-redundant-labels</span>
|
||||
<span class="plain-syntax"> 0.1% in inter step 3/16: parse-linked-matter</span>
|
||||
<span class="plain-syntax"> 0.1% in inter step 4/16: resolve-conditional-compilation</span>
|
||||
<span class="plain-syntax"> 0.1% in inter step 9/16: inspect-plugs</span>
|
||||
<span class="plain-syntax"> 40.8% in running Inter pipeline</span>
|
||||
<span class="plain-syntax"> 10.8% in step preparation</span>
|
||||
<span class="plain-syntax"> 10.2% in inter step 6/14: make-synoptic-module</span>
|
||||
<span class="plain-syntax"> 8.0% in inter step 5/14: load-binary-kits</span>
|
||||
<span class="plain-syntax"> 7.1% in inter step 14/14: generate inform6 -> auto.inf</span>
|
||||
<span class="plain-syntax"> 1.5% in inter step 10/14: make-identifiers-unique</span>
|
||||
<span class="plain-syntax"> 0.3% in inter step 13/14: eliminate-redundant-operations</span>
|
||||
<span class="plain-syntax"> 0.3% in inter step 4/14: compile-splats</span>
|
||||
<span class="plain-syntax"> 0.3% in inter step 7/14: shorten-wiring</span>
|
||||
<span class="plain-syntax"> 0.1% in inter step 11/14: reconcile-verbs</span>
|
||||
<span class="plain-syntax"> 0.1% in inter step 12/14: eliminate-redundant-labels</span>
|
||||
<span class="plain-syntax"> 0.1% in inter step 9/14: detect-indirect-calls</span>
|
||||
<span class="plain-syntax"> 1.7% not specifically accounted for</span>
|
||||
<span class="plain-syntax"> 1.7% in supervisor</span>
|
||||
<span class="plain-syntax"> 0.4% not specifically accounted for</span>
|
||||
|
@ -127,16 +124,16 @@ represent less than 1/1000th of the total.
|
|||
</p>
|
||||
|
||||
<pre class="undisplayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax">Total memory consumption was 400127K = 391 MB</span>
|
||||
<span class="plain-syntax">Total memory consumption was 404027K = 395 MB</span>
|
||||
|
||||
<span class="plain-syntax">60.9% was used for 2026653 objects, in 380059 frames in 305 x 800K = 244000K = 238 MB:</span>
|
||||
<span class="plain-syntax">61.3% was used for 2026237 objects, in 380039 frames in 310 x 800K = 248000K = 242 MB:</span>
|
||||
|
||||
<span class="plain-syntax"> 10.2% inter_tree_node_array 58 x 8192 = 475136 objects, 41813824 bytes</span>
|
||||
<span class="plain-syntax"> 7.2% text_stream_array 5302 x 100 = 530200 objects, 29860864 bytes</span>
|
||||
<span class="plain-syntax"> 4.7% linked_list 34789 objects, 19481840 bytes</span>
|
||||
<span class="plain-syntax"> 3.9% inter_symbol_array 140 x 1024 = 143360 objects, 16060800 bytes</span>
|
||||
<span class="plain-syntax"> 10.1% inter_tree_node_array 58 x 8192 = 475136 objects, 41813824 bytes</span>
|
||||
<span class="plain-syntax"> 7.2% text_stream_array 5298 x 100 = 529800 objects, 29838336 bytes</span>
|
||||
<span class="plain-syntax"> 4.7% linked_list 34785 objects, 19479600 bytes</span>
|
||||
<span class="plain-syntax"> 4.1% inter_symbol_array 140 x 1024 = 143360 objects, 17207680 bytes</span>
|
||||
<span class="plain-syntax"> 2.5% parse_node 129462 objects, 10356960 bytes</span>
|
||||
<span class="plain-syntax"> 1.8% verb_conjugation 160 objects, 7425280 bytes</span>
|
||||
<span class="plain-syntax"> 1.7% verb_conjugation 160 objects, 7425280 bytes</span>
|
||||
<span class="plain-syntax"> 1.3% parse_node_annotation_array 345 x 500 = 172500 objects, 5531040 bytes</span>
|
||||
<span class="plain-syntax"> 0.8% pcalc_prop_array 25 x 1000 = 25000 objects, 3400800 bytes</span>
|
||||
<span class="plain-syntax"> 0.8% inter_name_array 69 x 1000 = 69000 objects, 3314208 bytes</span>
|
||||
|
@ -147,7 +144,7 @@ represent less than 1/1000th of the total.
|
|||
<span class="plain-syntax"> 0.4% package_request 21139 objects, 1860232 bytes</span>
|
||||
<span class="plain-syntax"> 0.4% vocabulary_entry_array 161 x 100 = 16100 objects, 1808352 bytes</span>
|
||||
<span class="plain-syntax"> 0.4% inter_symbols_table 26570 objects, 1700480 bytes</span>
|
||||
<span class="plain-syntax"> 0.3% dictionary 33308 objects, 1598784 bytes</span>
|
||||
<span class="plain-syntax"> 0.3% dictionary 33310 objects, 1598880 bytes</span>
|
||||
<span class="plain-syntax"> 0.3% match_trie_array 11 x 1000 = 11000 objects, 1496352 bytes</span>
|
||||
<span class="plain-syntax"> 0.3% i6_schema_array 23 x 100 = 2300 objects, 1380736 bytes</span>
|
||||
<span class="plain-syntax"> 0.3% dict_entry_array 423 x 100 = 42300 objects, 1367136 bytes</span>
|
||||
|
@ -222,12 +219,12 @@ represent less than 1/1000th of the total.
|
|||
<span class="plain-syntax"> ---- verb_sense 403 objects, 29016 bytes</span>
|
||||
<span class="plain-syntax"> ---- action_pattern_array 7 x 100 = 700 objects, 28224 bytes</span>
|
||||
<span class="plain-syntax"> ---- shared_variable_set_array 6 x 100 = 600 objects, 24192 bytes</span>
|
||||
<span class="plain-syntax"> ---- pipeline_step 16 objects, 21632 bytes</span>
|
||||
<span class="plain-syntax"> ---- backdrops_data 670 objects, 21440 bytes</span>
|
||||
<span class="plain-syntax"> ---- action_name 90 objects, 20160 bytes</span>
|
||||
<span class="plain-syntax"> ---- nonlocal_variable 93 objects, 20088 bytes</span>
|
||||
<span class="plain-syntax"> ---- property 146 objects, 19856 bytes</span>
|
||||
<span class="plain-syntax"> ---- timed_rules_rfd_data 400 objects, 19200 bytes</span>
|
||||
<span class="plain-syntax"> ---- pipeline_step 14 objects, 18928 bytes</span>
|
||||
<span class="plain-syntax"> ---- method 374 objects, 17952 bytes</span>
|
||||
<span class="plain-syntax"> ---- pcalc_prop_deferral 86 objects, 17888 bytes</span>
|
||||
<span class="plain-syntax"> ---- instance 167 objects, 17368 bytes</span>
|
||||
|
@ -238,12 +235,12 @@ represent less than 1/1000th of the total.
|
|||
<span class="plain-syntax"> ---- action_name_list_array 1 x 1000 objects, 16032 bytes</span>
|
||||
<span class="plain-syntax"> ---- adjective 137 objects, 15344 bytes</span>
|
||||
<span class="plain-syntax"> ---- generated_segment 14 objects, 14784 bytes</span>
|
||||
<span class="plain-syntax"> ---- pathname 332 objects, 13280 bytes</span>
|
||||
<span class="plain-syntax"> ---- booking_list 407 objects, 13024 bytes</span>
|
||||
<span class="plain-syntax"> ---- pathname 324 objects, 12960 bytes</span>
|
||||
<span class="plain-syntax"> ---- adjective_iname_holder 320 objects, 12800 bytes</span>
|
||||
<span class="plain-syntax"> ---- uniqueness_count 451 objects, 10824 bytes</span>
|
||||
<span class="plain-syntax"> ---- filename 246 objects, 9840 bytes</span>
|
||||
<span class="plain-syntax"> ---- stopwatch_timer 113 objects, 9040 bytes</span>
|
||||
<span class="plain-syntax"> ---- stopwatch_timer 111 objects, 8880 bytes</span>
|
||||
<span class="plain-syntax"> ---- equation_node 68 objects, 7616 bytes</span>
|
||||
<span class="plain-syntax"> ---- hierarchy_attachment_point 77 objects, 7392 bytes</span>
|
||||
<span class="plain-syntax"> ---- understanding_item_array 3 x 100 = 300 objects, 7296 bytes</span>
|
||||
|
@ -295,21 +292,21 @@ represent less than 1/1000th of the total.
|
|||
<span class="plain-syntax"> ---- direction_inference_data 30 objects, 1200 bytes</span>
|
||||
<span class="plain-syntax"> ---- target_vm 8 objects, 1152 bytes</span>
|
||||
<span class="plain-syntax"> ---- tree_inventory_item 28 objects, 1120 bytes</span>
|
||||
<span class="plain-syntax"> ---- pipeline_stage 22 objects, 1056 bytes</span>
|
||||
<span class="plain-syntax"> ---- runtime_kind_structure 13 objects, 1040 bytes</span>
|
||||
<span class="plain-syntax"> ---- quantifier 16 objects, 1024 bytes</span>
|
||||
<span class="plain-syntax"> ---- inbuild_requirement 25 objects, 1000 bytes</span>
|
||||
<span class="plain-syntax"> ---- submodule_identity 30 objects, 960 bytes</span>
|
||||
<span class="plain-syntax"> ---- named_rulebook_outcome 15 objects, 960 bytes</span>
|
||||
<span class="plain-syntax"> ---- submodule_identity 30 objects, 960 bytes</span>
|
||||
<span class="plain-syntax"> ---- pipeline_stage 20 objects, 960 bytes</span>
|
||||
<span class="plain-syntax"> ---- control_structure_phrase 12 objects, 864 bytes</span>
|
||||
<span class="plain-syntax"> ---- cached_understanding 21 objects, 840 bytes</span>
|
||||
<span class="plain-syntax"> ---- phrase_option_array 1 x 100 objects, 824 bytes</span>
|
||||
<span class="plain-syntax"> ---- inter_data_type 14 objects, 784 bytes</span>
|
||||
<span class="plain-syntax"> ---- inbuild_search_result 18 objects, 720 bytes</span>
|
||||
<span class="plain-syntax"> ---- internal_test 15 objects, 720 bytes</span>
|
||||
<span class="plain-syntax"> ---- inbuild_search_result 18 objects, 720 bytes</span>
|
||||
<span class="plain-syntax"> ---- inform_language 6 objects, 672 bytes</span>
|
||||
<span class="plain-syntax"> ---- relation_guard 5 objects, 640 bytes</span>
|
||||
<span class="plain-syntax"> ---- inter_warehouse_room 10 objects, 640 bytes</span>
|
||||
<span class="plain-syntax"> ---- relation_guard 5 objects, 640 bytes</span>
|
||||
<span class="plain-syntax"> ---- code_generation 1 object, 576 bytes</span>
|
||||
<span class="plain-syntax"> ---- rulebook_outcome 17 objects, 544 bytes</span>
|
||||
<span class="plain-syntax"> ---- small_word_set 11 objects, 528 bytes</span>
|
||||
|
@ -364,18 +361,18 @@ represent less than 1/1000th of the total.
|
|||
<span class="plain-syntax"> ---- by_function_bp_data 1 object, 40 bytes</span>
|
||||
<span class="plain-syntax"> ---- kind_template_definition 1 object, 40 bytes</span>
|
||||
|
||||
<span class="plain-syntax">39.0% was used for memory not allocated for objects:</span>
|
||||
<span class="plain-syntax">38.6% was used for memory not allocated for objects:</span>
|
||||
|
||||
<span class="plain-syntax"> 20.4% text stream storage 83602988 bytes in 548180 claims</span>
|
||||
<span class="plain-syntax"> 4.5% dictionary storage 18457088 bytes in 33308 claims</span>
|
||||
<span class="plain-syntax"> 20.1% text stream storage 83531016 bytes in 547826 claims</span>
|
||||
<span class="plain-syntax"> 4.4% dictionary storage 18458624 bytes in 33310 claims</span>
|
||||
<span class="plain-syntax"> ---- sorting 736 bytes in 3 claims</span>
|
||||
<span class="plain-syntax"> 1.7% source text 7200000 bytes in 3 claims</span>
|
||||
<span class="plain-syntax"> 2.6% source text details 10800000 bytes in 2 claims</span>
|
||||
<span class="plain-syntax"> ---- documentation fragments 262144 bytes in 1 claim</span>
|
||||
<span class="plain-syntax"> ---- linguistic stock array 81920 bytes in 2 claims</span>
|
||||
<span class="plain-syntax"> ---- small word set array 105600 bytes in 22 claims</span>
|
||||
<span class="plain-syntax"> 1.0% inter symbols storage 4299216 bytes in 27676 claims</span>
|
||||
<span class="plain-syntax"> 4.1% inter bytecode storage 16802748 bytes in 14 claims</span>
|
||||
<span class="plain-syntax"> 1.0% inter symbols storage 4267472 bytes in 27675 claims</span>
|
||||
<span class="plain-syntax"> 4.0% inter bytecode storage 16802748 bytes in 14 claims</span>
|
||||
<span class="plain-syntax"> 3.9% inter links storage 16174208 bytes in 266 claims</span>
|
||||
<span class="plain-syntax"> ---- inter tree location list storage 191232 bytes in 32 claims</span>
|
||||
<span class="plain-syntax"> 0.4% instance-of-kind counting 1695204 bytes in 1 claim</span>
|
||||
|
@ -384,7 +381,7 @@ represent less than 1/1000th of the total.
|
|||
<span class="plain-syntax"> ---- code generation workspace for objects 1336 bytes in 4 claims</span>
|
||||
<span class="plain-syntax"> ---- emitter array storage 161792 bytes in 2062 claims</span>
|
||||
|
||||
<span class="plain-syntax">18.5% was overhead - 76160600 bytes = 74375K = 72 MB</span>
|
||||
<span class="plain-syntax">19.1% was overhead - 79137672 bytes = 77282K = 75 MB</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP4" class="paragraph-anchor"></a><b>§4. Preform grammar. </b>The full annotated description of the Preform grammar (see <a href="../words-module/4-ap.html" class="internal">About Preform (in words)</a>),
|
||||
with optimisation details and hit/miss statistics added, is also long: it's
|
||||
|
|
|
@ -154,7 +154,7 @@ function togglePopup(material_id) {
|
|||
<span class="plain-syntax"> #</span><span class="identifier-syntax">endif</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">PipelineErrors::error_with</span><button class="popup" onclick="togglePopup('usagePopup4')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup4">Usage of <span class="code-font"><span class="function-syntax">PipelineErrors::error_with</span></span>:<br/>Running Pipelines - <a href="2-rp.html#SP3_1_1">§3.1.1</a><br/>Read, Move, Wipe, Stop Stages - <a href="2-rmwss.html#SP3">§3</a><br/>Shorten Wiring Stage - <a href="4-sws.html#SP2">§2</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">pipeline_step</span><span class="plain-syntax"> *</span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="reserved-syntax">char</span><span class="plain-syntax"> *</span><span class="identifier-syntax">erm</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">quoted</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">PipelineErrors::error_with</span><button class="popup" onclick="togglePopup('usagePopup4')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup4">Usage of <span class="code-font"><span class="function-syntax">PipelineErrors::error_with</span></span>:<br/>Running Pipelines - <a href="2-rp.html#SP3_1_1">§3.1.1</a><br/>Read, Move, Wipe, Stop Stages - <a href="2-rmwss.html#SP3">§3</a><br/>Shorten Wiring Stage - <a href="4-sws.html#SP2_1">§2.1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">pipeline_step</span><span class="plain-syntax"> *</span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="reserved-syntax">char</span><span class="plain-syntax"> *</span><span class="identifier-syntax">erm</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">quoted</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> #</span><span class="identifier-syntax">ifdef</span><span class="plain-syntax"> </span><span class="identifier-syntax">CORE_MODULE</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="2-pe.html#SP2_1" class="named-paragraph-link"><span class="named-paragraph">Begin problem message using the module of the same name</span><span class="named-paragraph-number">2.1</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">full</span><span class="plain-syntax">)</span>
|
||||
|
|
|
@ -340,7 +340,7 @@ move, add or remove some of these symbols.
|
|||
<span class="definition-keyword">define</span> <span class="constant-syntax">MAX_RPSYM</span><span class="plain-syntax"> </span><span class="constant-syntax">100</span>
|
||||
</pre>
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="function-syntax">RunningPipelines::get_symbol</span><button class="popup" onclick="togglePopup('usagePopup3')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup3">Usage of <span class="code-font"><span class="function-syntax">RunningPipelines::get_symbol</span></span>:<br/><a href="2-rp.html#SP6">§6</a><br/>Parsing Stages - <a href="3-ps.html#SP2_3">§2.3</a><br/>Compile Splats Stage - <a href="3-css.html#SP2">§2</a>, <a href="3-css.html#SP3_1_3_1_1_1">§3.1.3.1.1.1</a>, <a href="3-css.html#SP3_1_3_1_3">§3.1.3.1.3</a>, <a href="3-css.html#SP3_1_3_1_4_1">§3.1.3.1.4.1</a>, <a href="3-css.html#SP3_1_3_1_4_2">§3.1.3.1.4.2</a>, <a href="3-css.html#SP3_1_3_1_4_3">§3.1.3.1.4.3</a>, <a href="3-css.html#SP3_1_3_1_4_4">§3.1.3.1.4.4</a>, <a href="3-css.html#SP3_1_3_1_4_5">§3.1.3.1.4.5</a>, <a href="3-css.html#SP3_1_3_1_4_5_3_1_1">§3.1.3.1.4.5.3.1.1</a>, <a href="3-css.html#SP3_1_3_1_4_5_3_1_2">§3.1.3.1.4.5.3.1.2</a>, <a href="3-css.html#SP3_1_3_1_4_5_3_1_3">§3.1.3.1.4.5.3.1.3</a>, <a href="3-css.html#SP3_2_3_1">§3.2.3.1</a>, <a href="3-css.html#SP3_2_3_2">§3.2.3.2</a>, <a href="3-css.html#SP3_2_3_2_1">§3.2.3.2.1</a>, <a href="3-css.html#SP3_2_3_3">§3.2.3.3</a>, <a href="3-css.html#SP6">§6</a>, <a href="3-css.html#SP9">§9</a>, <a href="3-css.html#SP10_1">§10.1</a><br/>Detect Indirect Calls Stage - <a href="4-dics.html#SP2_1_2">§2.1.2</a><br/>Synoptic Utilities - <a href="5-su.html#SP4">§4</a>, <a href="5-su.html#SP5">§5</a><br/>Kinds - <a href="5-knd.html#SP1_12">§1.12</a>, <a href="5-knd.html#SP2">§2</a><br/>Eliminate Redundant Matter Stage - <a href="6-erms.html#SP2">§2</a>, <a href="6-erms.html#SP3_3">§3.3</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">pipeline_step</span><span class="plain-syntax"> *</span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">id</span><span class="plain-syntax">) {</span>
|
||||
<span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="function-syntax">RunningPipelines::get_symbol</span><button class="popup" onclick="togglePopup('usagePopup3')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup3">Usage of <span class="code-font"><span class="function-syntax">RunningPipelines::get_symbol</span></span>:<br/><a href="2-rp.html#SP6">§6</a><br/>Parsing Stages - <a href="3-ps.html#SP2_3">§2.3</a><br/>Compile Splats Stage - <a href="3-css.html#SP2">§2</a>, <a href="3-css.html#SP3_1_3_1_1_1">§3.1.3.1.1.1</a>, <a href="3-css.html#SP3_1_3_1_3">§3.1.3.1.3</a>, <a href="3-css.html#SP3_1_3_1_4_1">§3.1.3.1.4.1</a>, <a href="3-css.html#SP3_1_3_1_4_2">§3.1.3.1.4.2</a>, <a href="3-css.html#SP3_1_3_1_4_3">§3.1.3.1.4.3</a>, <a href="3-css.html#SP3_1_3_1_4_4">§3.1.3.1.4.4</a>, <a href="3-css.html#SP3_1_3_1_4_5">§3.1.3.1.4.5</a>, <a href="3-css.html#SP3_1_3_1_4_5_3_1_1">§3.1.3.1.4.5.3.1.1</a>, <a href="3-css.html#SP3_1_3_1_4_5_3_1_2">§3.1.3.1.4.5.3.1.2</a>, <a href="3-css.html#SP3_1_3_1_4_5_3_1_3">§3.1.3.1.4.5.3.1.3</a>, <a href="3-css.html#SP3_2_3_1">§3.2.3.1</a>, <a href="3-css.html#SP3_2_3_2">§3.2.3.2</a>, <a href="3-css.html#SP3_2_3_2_1">§3.2.3.2.1</a>, <a href="3-css.html#SP3_2_3_3">§3.2.3.3</a>, <a href="3-css.html#SP6">§6</a>, <a href="3-css.html#SP9">§9</a>, <a href="3-css.html#SP10_1">§10.1</a><br/>Detect Indirect Calls Stage - <a href="4-dics.html#SP2_1_2">§2.1.2</a><br/>Synoptic Utilities - <a href="5-su.html#SP4">§4</a>, <a href="5-su.html#SP5">§5</a>, <a href="5-su.html#SP7">§7</a><br/>Kinds - <a href="5-knd.html#SP1_12">§1.12</a>, <a href="5-knd.html#SP2">§2</a><br/>Eliminate Redundant Matter Stage - <a href="6-erms.html#SP2">§2</a>, <a href="6-erms.html#SP3_3">§3.3</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">pipeline_step</span><span class="plain-syntax"> *</span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">id</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> ((</span><span class="identifier-syntax">id</span><span class="plain-syntax"> < </span><span class="constant-syntax">0</span><span class="plain-syntax">) || (</span><span class="identifier-syntax">id</span><span class="plain-syntax"> >= </span><span class="constant-syntax">MAX_RPSYM</span><span class="plain-syntax">)) </span><span class="identifier-syntax">internal_error</span><span class="plain-syntax">(</span><span class="string-syntax">"bad ID"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">step</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) </span><span class="identifier-syntax">internal_error</span><span class="plain-syntax">(</span><span class="string-syntax">"no step"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax"> = </span><span class="identifier-syntax">step</span><span class="plain-syntax">-></span><span class="element-syntax">ephemera</span><span class="plain-syntax">.</span><span class="element-syntax">repository</span><span class="plain-syntax">;</span>
|
||||
|
|
|
@ -84,7 +84,7 @@ MathJax = {
|
|||
<main role="main">
|
||||
<!--Weave of 'Compile Splats Stage' generated by Inweb-->
|
||||
<div class="breadcrumbs">
|
||||
<ul class="crumbs"><li><a href="../index.html">Home</a></li><li><a href="../compiler.html">Inter Modules</a></li><li><a href="index.html">pipeline</a></li><li><a href="index.html#3">Chapter 3: Assimilation Stages</a></li><li><b>Compile Splats Stage</b></li></ul></div>
|
||||
<ul class="crumbs"><li><a href="../index.html">Home</a></li><li><a href="../compiler.html">Inter Modules</a></li><li><a href="index.html">pipeline</a></li><li><a href="index.html#3">Chapter 3: Assimilation</a></li><li><b>Compile Splats Stage</b></li></ul></div>
|
||||
<p class="purpose">To replace each splat node with a sequence of pure Inter nodes having the same meaning, thus purging the tree of all raw I6 syntax entirely.</p>
|
||||
|
||||
<ul class="toc"><li><a href="3-css.html#SP1">§1. Basic idea</a></li><li><a href="3-css.html#SP3_1">§3.1. How definitions are assimilated</a></li><li><a href="3-css.html#SP3_2">§3.2. How functions are assimilated</a></li><li><a href="3-css.html#SP4">§4. Plumbing</a></li><li><a href="3-css.html#SP7">§7. Inform 6 expressions in constant context</a></li><li><a href="3-css.html#SP12">§12. Delegating the work of compiling function bodies</a></li></ul><hr class="tocbar">
|
||||
|
|
|
@ -70,7 +70,7 @@ function togglePopup(material_id) {
|
|||
<main role="main">
|
||||
<!--Weave of 'Parsing Stages' generated by Inweb-->
|
||||
<div class="breadcrumbs">
|
||||
<ul class="crumbs"><li><a href="../index.html">Home</a></li><li><a href="../compiler.html">Inter Modules</a></li><li><a href="index.html">pipeline</a></li><li><a href="index.html#3">Chapter 3: Assimilation Stages</a></li><li><b>Parsing Stages</b></li></ul></div>
|
||||
<ul class="crumbs"><li><a href="../index.html">Home</a></li><li><a href="../compiler.html">Inter Modules</a></li><li><a href="index.html">pipeline</a></li><li><a href="index.html#3">Chapter 3: Assimilation</a></li><li><b>Parsing Stages</b></li></ul></div>
|
||||
<p class="purpose">Two stages which accept raw I6-syntax material in the parse tree, either from imsertions made using Inform 7's low-level features, or after reading the source code for a kit.</p>
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP1" class="paragraph-anchor"></a><b>§1. </b>These stages have more in common than first appears. Both convert I6T-syntax
|
||||
|
|
|
@ -70,7 +70,7 @@ function togglePopup(material_id) {
|
|||
<main role="main">
|
||||
<!--Weave of 'Resolve Conditional Compilation Stage' generated by Inweb-->
|
||||
<div class="breadcrumbs">
|
||||
<ul class="crumbs"><li><a href="../index.html">Home</a></li><li><a href="../compiler.html">Inter Modules</a></li><li><a href="index.html">pipeline</a></li><li><a href="index.html#3">Chapter 3: Assimilation Stages</a></li><li><b>Resolve Conditional Compilation Stage</b></li></ul></div>
|
||||
<ul class="crumbs"><li><a href="../index.html">Home</a></li><li><a href="../compiler.html">Inter Modules</a></li><li><a href="index.html">pipeline</a></li><li><a href="index.html#3">Chapter 3: Assimilation</a></li><li><b>Resolve Conditional Compilation Stage</b></li></ul></div>
|
||||
<p class="purpose">To generate the initial state of storage for variables.</p>
|
||||
|
||||
<ul class="toc"><li><a href="3-rccs.html#SP1">§1. Pipeline stage</a></li><li><a href="3-rccs.html#SP2">§2. Resolution</a></li></ul><hr class="tocbar">
|
||||
|
|
|
@ -70,7 +70,7 @@ function togglePopup(material_id) {
|
|||
<main role="main">
|
||||
<!--Weave of 'Detect Indirect Calls Stage' generated by Inweb-->
|
||||
<div class="breadcrumbs">
|
||||
<ul class="crumbs"><li><a href="../index.html">Home</a></li><li><a href="../compiler.html">Inter Modules</a></li><li><a href="index.html">pipeline</a></li><li><a href="index.html#4">Chapter 4: Linking Stages</a></li><li><b>Detect Indirect Calls Stage</b></li></ul></div>
|
||||
<ul class="crumbs"><li><a href="../index.html">Home</a></li><li><a href="../compiler.html">Inter Modules</a></li><li><a href="index.html">pipeline</a></li><li><a href="index.html#4">Chapter 4: Linking</a></li><li><b>Detect Indirect Calls Stage</b></li></ul></div>
|
||||
<p class="purpose">To handle function calls made to functions identified by symbols which turn out, during linking, to be variables rather than constants.</p>
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP1" class="paragraph-anchor"></a><b>§1. </b>Suppose kit A makes the function call <span class="extract"><span class="extract-syntax">Mystery(1, 2, 3)</span></span>, where <span class="extract"><span class="extract-syntax">Mystery</span></span> is a
|
||||
|
@ -180,7 +180,7 @@ though as it happens this transformation would work just as well either way:
|
|||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="4-dics.html#SP2_1">§2.1</a>.</li></ul>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="4-sws.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-pm.html">1</a></li><li class="progresschapter"><a href="2-pp.html">2</a></li><li class="progresschapter"><a href="3-ps.html">3</a></li><li class="progresscurrentchapter">4</li><li class="progresssection"><a href="4-lbks.html">lbks</a></li><li class="progresssection"><a href="4-sws.html">sws</a></li><li class="progresscurrent">dics</li><li class="progresssection"><a href="4-mius.html">mius</a></li><li class="progresssection"><a href="4-rvs.html">rvs</a></li><li class="progresschapter"><a href="5-msms.html">5</a></li><li class="progresschapter"><a href="6-erms.html">6</a></li><li class="progressnext"><a href="4-mius.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="4-sws.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-pm.html">1</a></li><li class="progresschapter"><a href="2-pp.html">2</a></li><li class="progresschapter"><a href="3-ps.html">3</a></li><li class="progresscurrentchapter">4</li><li class="progresssection"><a href="4-lbks.html">lbks</a></li><li class="progresssection"><a href="4-sws.html">sws</a></li><li class="progresscurrent">dics</li><li class="progresssection"><a href="4-mius.html">mius</a></li><li class="progresssection"><a href="4-rvs.html">rvs</a></li><li class="progresssection"><a href="4-tsk.html">tsk</a></li><li class="progresschapter"><a href="5-msms.html">5</a></li><li class="progresschapter"><a href="6-erms.html">6</a></li><li class="progressnext"><a href="4-mius.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -75,7 +75,7 @@ function togglePopup(material_id) {
|
|||
<main role="main">
|
||||
<!--Weave of 'Load Binary Kits Stage' generated by Inweb-->
|
||||
<div class="breadcrumbs">
|
||||
<ul class="crumbs"><li><a href="../index.html">Home</a></li><li><a href="../compiler.html">Inter Modules</a></li><li><a href="index.html">pipeline</a></li><li><a href="index.html#4">Chapter 4: Linking Stages</a></li><li><b>Load Binary Kits Stage</b></li></ul></div>
|
||||
<ul class="crumbs"><li><a href="../index.html">Home</a></li><li><a href="../compiler.html">Inter Modules</a></li><li><a href="index.html">pipeline</a></li><li><a href="index.html#4">Chapter 4: Linking</a></li><li><b>Load Binary Kits Stage</b></li></ul></div>
|
||||
<p class="purpose">Reading other Inter trees as binary files, and attaching them at given points in the main Inter tree.</p>
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP1" class="paragraph-anchor"></a><b>§1. </b>Inform 7 compiles source text to a single "main" Inter tree. That tree must
|
||||
|
@ -174,7 +174,7 @@ of the sidecar and put it into the main tree.
|
|||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="4-lbks.html#SP3">§3</a>.</li></ul>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="3-css.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-pm.html">1</a></li><li class="progresschapter"><a href="2-pp.html">2</a></li><li class="progresschapter"><a href="3-ps.html">3</a></li><li class="progresscurrentchapter">4</li><li class="progresscurrent">lbks</li><li class="progresssection"><a href="4-sws.html">sws</a></li><li class="progresssection"><a href="4-dics.html">dics</a></li><li class="progresssection"><a href="4-mius.html">mius</a></li><li class="progresssection"><a href="4-rvs.html">rvs</a></li><li class="progresschapter"><a href="5-msms.html">5</a></li><li class="progresschapter"><a href="6-erms.html">6</a></li><li class="progressnext"><a href="4-sws.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="3-css.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-pm.html">1</a></li><li class="progresschapter"><a href="2-pp.html">2</a></li><li class="progresschapter"><a href="3-ps.html">3</a></li><li class="progresscurrentchapter">4</li><li class="progresscurrent">lbks</li><li class="progresssection"><a href="4-sws.html">sws</a></li><li class="progresssection"><a href="4-dics.html">dics</a></li><li class="progresssection"><a href="4-mius.html">mius</a></li><li class="progresssection"><a href="4-rvs.html">rvs</a></li><li class="progresssection"><a href="4-tsk.html">tsk</a></li><li class="progresschapter"><a href="5-msms.html">5</a></li><li class="progresschapter"><a href="6-erms.html">6</a></li><li class="progressnext"><a href="4-sws.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -70,7 +70,7 @@ function togglePopup(material_id) {
|
|||
<main role="main">
|
||||
<!--Weave of 'Make Identifiers Unique Stage' generated by Inweb-->
|
||||
<div class="breadcrumbs">
|
||||
<ul class="crumbs"><li><a href="../index.html">Home</a></li><li><a href="../compiler.html">Inter Modules</a></li><li><a href="index.html">pipeline</a></li><li><a href="index.html#4">Chapter 4: Linking Stages</a></li><li><b>Make Identifiers Unique Stage</b></li></ul></div>
|
||||
<ul class="crumbs"><li><a href="../index.html">Home</a></li><li><a href="../compiler.html">Inter Modules</a></li><li><a href="index.html">pipeline</a></li><li><a href="index.html#4">Chapter 4: Linking</a></li><li><b>Make Identifiers Unique Stage</b></li></ul></div>
|
||||
<p class="purpose">To make sure certain symbol names translate into globally unique target symbols.</p>
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP1" class="paragraph-anchor"></a><b>§1. </b>Inter frequently contains multiple symbols with different meanings but the
|
||||
|
@ -185,7 +185,7 @@ translation in that case.
|
|||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="4-mius.html#SP3">§3</a>.</li></ul>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="4-dics.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-pm.html">1</a></li><li class="progresschapter"><a href="2-pp.html">2</a></li><li class="progresschapter"><a href="3-ps.html">3</a></li><li class="progresscurrentchapter">4</li><li class="progresssection"><a href="4-lbks.html">lbks</a></li><li class="progresssection"><a href="4-sws.html">sws</a></li><li class="progresssection"><a href="4-dics.html">dics</a></li><li class="progresscurrent">mius</li><li class="progresssection"><a href="4-rvs.html">rvs</a></li><li class="progresschapter"><a href="5-msms.html">5</a></li><li class="progresschapter"><a href="6-erms.html">6</a></li><li class="progressnext"><a href="4-rvs.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="4-dics.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-pm.html">1</a></li><li class="progresschapter"><a href="2-pp.html">2</a></li><li class="progresschapter"><a href="3-ps.html">3</a></li><li class="progresscurrentchapter">4</li><li class="progresssection"><a href="4-lbks.html">lbks</a></li><li class="progresssection"><a href="4-sws.html">sws</a></li><li class="progresssection"><a href="4-dics.html">dics</a></li><li class="progresscurrent">mius</li><li class="progresssection"><a href="4-rvs.html">rvs</a></li><li class="progresssection"><a href="4-tsk.html">tsk</a></li><li class="progresschapter"><a href="5-msms.html">5</a></li><li class="progresschapter"><a href="6-erms.html">6</a></li><li class="progressnext"><a href="4-rvs.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -70,7 +70,7 @@ function togglePopup(material_id) {
|
|||
<main role="main">
|
||||
<!--Weave of 'Reconcile Verbs Stage' generated by Inweb-->
|
||||
<div class="breadcrumbs">
|
||||
<ul class="crumbs"><li><a href="../index.html">Home</a></li><li><a href="../compiler.html">Inter Modules</a></li><li><a href="index.html">pipeline</a></li><li><a href="index.html#4">Chapter 4: Linking Stages</a></li><li><b>Reconcile Verbs Stage</b></li></ul></div>
|
||||
<ul class="crumbs"><li><a href="../index.html">Home</a></li><li><a href="../compiler.html">Inter Modules</a></li><li><a href="index.html">pipeline</a></li><li><a href="index.html#4">Chapter 4: Linking</a></li><li><b>Reconcile Verbs Stage</b></li></ul></div>
|
||||
<p class="purpose">To reconcile clashes between assimilated and originally generated verbs.</p>
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP1" class="paragraph-anchor"></a><b>§1. </b>Suppose that the main source text creates a command verb PURLOIN: this
|
||||
|
@ -146,7 +146,7 @@ affecting the world model) over testing commands.
|
|||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="4-rvs.html#SP1_1">§1.1</a> (twice).</li></ul>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="4-mius.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-pm.html">1</a></li><li class="progresschapter"><a href="2-pp.html">2</a></li><li class="progresschapter"><a href="3-ps.html">3</a></li><li class="progresscurrentchapter">4</li><li class="progresssection"><a href="4-lbks.html">lbks</a></li><li class="progresssection"><a href="4-sws.html">sws</a></li><li class="progresssection"><a href="4-dics.html">dics</a></li><li class="progresssection"><a href="4-mius.html">mius</a></li><li class="progresscurrent">rvs</li><li class="progresschapter"><a href="5-msms.html">5</a></li><li class="progresschapter"><a href="6-erms.html">6</a></li><li class="progressnext"><a href="5-msms.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="4-mius.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-pm.html">1</a></li><li class="progresschapter"><a href="2-pp.html">2</a></li><li class="progresschapter"><a href="3-ps.html">3</a></li><li class="progresscurrentchapter">4</li><li class="progresssection"><a href="4-lbks.html">lbks</a></li><li class="progresssection"><a href="4-sws.html">sws</a></li><li class="progresssection"><a href="4-dics.html">dics</a></li><li class="progresssection"><a href="4-mius.html">mius</a></li><li class="progresscurrent">rvs</li><li class="progresssection"><a href="4-tsk.html">tsk</a></li><li class="progresschapter"><a href="5-msms.html">5</a></li><li class="progresschapter"><a href="6-erms.html">6</a></li><li class="progressnext"><a href="4-tsk.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -70,7 +70,7 @@ function togglePopup(material_id) {
|
|||
<main role="main">
|
||||
<!--Weave of 'Shorten Wiring Stage' generated by Inweb-->
|
||||
<div class="breadcrumbs">
|
||||
<ul class="crumbs"><li><a href="../index.html">Home</a></li><li><a href="../compiler.html">Inter Modules</a></li><li><a href="index.html">pipeline</a></li><li><a href="index.html#4">Chapter 4: Linking Stages</a></li><li><b>Shorten Wiring Stage</b></li></ul></div>
|
||||
<ul class="crumbs"><li><a href="../index.html">Home</a></li><li><a href="../compiler.html">Inter Modules</a></li><li><a href="index.html">pipeline</a></li><li><a href="index.html#4">Chapter 4: Linking</a></li><li><b>Shorten Wiring Stage</b></li></ul></div>
|
||||
<p class="purpose">To catch missing resources with suitable errors, to remove plugs and sockets as no longer necessary, and to shorten wiring as much as possible.</p>
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP1" class="paragraph-anchor"></a><b>§1. </b></p>
|
||||
|
@ -96,6 +96,17 @@ and report these errors efficiently, so we keep the bad names in both a dictiona
|
|||
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">ShortenWiringStage::run</span><button class="popup" onclick="togglePopup('usagePopup2')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup2">Usage of <span class="code-font"><span class="function-syntax">ShortenWiringStage::run</span></span>:<br/><a href="4-sws.html#SP1">§1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">pipeline_step</span><span class="plain-syntax"> *</span><span class="identifier-syntax">step</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax"> = </span><span class="identifier-syntax">step</span><span class="plain-syntax">-></span><span class="element-syntax">ephemera</span><span class="plain-syntax">.</span><span class="element-syntax">repository</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="4-sws.html#SP2_1" class="named-paragraph-link"><span class="named-paragraph">Shorten the wiring and report loose plugs</span><span class="named-paragraph-number">2.1</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">connectors</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Site::connectors_package</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">connectors</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="4-sws.html#SP2_2" class="named-paragraph-link"><span class="named-paragraph">Remove the now unnecessary plugs and sockets</span><span class="named-paragraph-number">2.2</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>The structure plug_inspection_state is private to this section.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP2_1" class="paragraph-anchor"></a><b>§2.1. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Shorten the wiring and report loose plugs</span><span class="named-paragraph-number">2.1</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">plug_inspection_state</span><span class="plain-syntax"> </span><span class="identifier-syntax">state</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">state</span><span class="plain-syntax">.</span><span class="identifier-syntax">bad_plugs</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Dictionaries::new</span><span class="plain-syntax">(16, </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">state</span><span class="plain-syntax">.</span><span class="identifier-syntax">bad_plug_names</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NEW_LINKED_LIST</span><span class="plain-syntax">(</span><span class="identifier-syntax">text_stream</span><span class="plain-syntax">);</span>
|
||||
|
@ -112,33 +123,8 @@ and report these errors efficiently, so we keep the bad names in both a dictiona
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">DISCARD_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">NS</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">connectors</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Site::connectors_package</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">connectors</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbols_table</span><span class="plain-syntax"> *</span><span class="identifier-syntax">ST</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Packages::scope</span><span class="plain-syntax">(</span><span class="identifier-syntax">connectors</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax">=0; </span><span class="identifier-syntax">i</span><span class="function-syntax"><ST-></span><span class="identifier-syntax">size</span><span class="plain-syntax">; </span><span class="identifier-syntax">i</span><span class="plain-syntax">++) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">S</span><span class="plain-syntax"> = </span><span class="identifier-syntax">ST</span><span class="plain-syntax">-></span><span class="identifier-syntax">symbol_array</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">];</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> ((</span><span class="identifier-syntax">Wiring::is_plug</span><span class="plain-syntax">(</span><span class="identifier-syntax">S</span><span class="plain-syntax">)) && (</span><span class="identifier-syntax">Wiring::has_no_incoming_connections</span><span class="plain-syntax">(</span><span class="identifier-syntax">S</span><span class="plain-syntax">)))</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Inter::Symbols::remove_from_table</span><span class="plain-syntax">(</span><span class="identifier-syntax">S</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax">=0; </span><span class="identifier-syntax">i</span><span class="function-syntax"><ST-></span><span class="identifier-syntax">size</span><span class="plain-syntax">; </span><span class="identifier-syntax">i</span><span class="plain-syntax">++) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">S</span><span class="plain-syntax"> = </span><span class="identifier-syntax">ST</span><span class="plain-syntax">-></span><span class="identifier-syntax">symbol_array</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">];</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> ((</span><span class="identifier-syntax">Wiring::is_socket</span><span class="plain-syntax">(</span><span class="identifier-syntax">S</span><span class="plain-syntax">)) && (</span><span class="identifier-syntax">Wiring::has_no_incoming_connections</span><span class="plain-syntax">(</span><span class="identifier-syntax">S</span><span class="plain-syntax">)))</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Inter::Symbols::remove_from_table</span><span class="plain-syntax">(</span><span class="identifier-syntax">S</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">errors</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax">=0; </span><span class="identifier-syntax">i</span><span class="function-syntax"><ST-></span><span class="identifier-syntax">size</span><span class="plain-syntax">; </span><span class="identifier-syntax">i</span><span class="plain-syntax">++) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">S</span><span class="plain-syntax"> = </span><span class="identifier-syntax">ST</span><span class="plain-syntax">-></span><span class="identifier-syntax">symbol_array</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">];</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">S</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOG</span><span class="plain-syntax">(</span><span class="string-syntax">"Connector not deleted: %3\n"</span><span class="plain-syntax">, </span><span class="identifier-syntax">S</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">errors</span><span class="plain-syntax">++;</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">errors</span><span class="plain-syntax"> > </span><span class="constant-syntax">0</span><span class="plain-syntax">) </span><span class="identifier-syntax">internal_error</span><span class="plain-syntax">(</span><span class="string-syntax">"plugs and sockets mismanaged"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>The structure plug_inspection_state is private to this section.</li></ul>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="4-sws.html#SP2">§2</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP3" class="paragraph-anchor"></a><b>§3. </b>Note that it is not necessarily an error to have a loose plug, that is, a plug
|
||||
which does not connect to any socket. It is only an error if a symbol is trying
|
||||
to connect to this plug. So we make a traverse of the tree to look for such symbols.
|
||||
|
@ -150,7 +136,7 @@ we simplify just to <span class="extract"><span class="extract-syntax">S1 ->
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">ShortenWiringStage::visitor</span><button class="popup" onclick="togglePopup('usagePopup3')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup3">Usage of <span class="code-font"><span class="function-syntax">ShortenWiringStage::visitor</span></span>:<br/><a href="4-sws.html#SP2">§2</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">inter_tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="reserved-syntax">void</span><span class="plain-syntax"> *</span><span class="identifier-syntax">v_state</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">ShortenWiringStage::visitor</span><button class="popup" onclick="togglePopup('usagePopup3')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup3">Usage of <span class="code-font"><span class="function-syntax">ShortenWiringStage::visitor</span></span>:<br/><a href="4-sws.html#SP2_1">§2.1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">inter_tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="reserved-syntax">void</span><span class="plain-syntax"> *</span><span class="identifier-syntax">v_state</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">plug_inspection_state</span><span class="plain-syntax"> *</span><span class="identifier-syntax">state</span><span class="plain-syntax"> = (</span><span class="reserved-syntax">plug_inspection_state</span><span class="plain-syntax"> *) </span><span class="identifier-syntax">v_state</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">Q</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Package::defined_by_frame</span><span class="plain-syntax">(</span><span class="identifier-syntax">P</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbols_table</span><span class="plain-syntax"> *</span><span class="identifier-syntax">ST</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Packages::scope</span><span class="plain-syntax">(</span><span class="identifier-syntax">Q</span><span class="plain-syntax">);</span>
|
||||
|
@ -176,8 +162,66 @@ we simplify just to <span class="extract"><span class="extract-syntax">S1 ->
|
|||
<span class="plain-syntax"> }</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="4-sws.html#SP3">§3</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP2_2" class="paragraph-anchor"></a><b>§2.2. </b>At this point there will be plugs with no incoming connections, but which
|
||||
are each wired to sockets. Removing the plugs first then leaves the sockets
|
||||
with no incoming connections either, and so the sockets can go too.
|
||||
</p>
|
||||
|
||||
<p class="commentary">The result should be a completely empty <span class="extract"><span class="extract-syntax">connectors</span></span> module.
|
||||
</p>
|
||||
|
||||
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Remove the now unnecessary plugs and sockets</span><span class="named-paragraph-number">2.2</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbols_table</span><span class="plain-syntax"> *</span><span class="identifier-syntax">ST</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Packages::scope</span><span class="plain-syntax">(</span><span class="identifier-syntax">connectors</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="4-sws.html#SP2_2_1" class="named-paragraph-link"><span class="named-paragraph">Remove plugs with no incoming connections</span><span class="named-paragraph-number">2.2.1</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="4-sws.html#SP2_2_2" class="named-paragraph-link"><span class="named-paragraph">Remove sockets with no incoming connections</span><span class="named-paragraph-number">2.2.2</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="4-sws.html#SP2_2_3" class="named-paragraph-link"><span class="named-paragraph">Report any remaining symbols in this table as errors</span><span class="named-paragraph-number">2.2.3</span></a></span><span class="plain-syntax">;</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="4-sws.html#SP2">§2</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP2_2_1" class="paragraph-anchor"></a><b>§2.2.1. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Remove plugs with no incoming connections</span><span class="named-paragraph-number">2.2.1</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax">=0; </span><span class="identifier-syntax">i</span><span class="function-syntax"><ST-></span><span class="identifier-syntax">size</span><span class="plain-syntax">; </span><span class="identifier-syntax">i</span><span class="plain-syntax">++) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">S</span><span class="plain-syntax"> = </span><span class="identifier-syntax">ST</span><span class="plain-syntax">-></span><span class="identifier-syntax">symbol_array</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">];</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> ((</span><span class="identifier-syntax">Wiring::is_plug</span><span class="plain-syntax">(</span><span class="identifier-syntax">S</span><span class="plain-syntax">)) && (</span><span class="identifier-syntax">Wiring::has_no_incoming_connections</span><span class="plain-syntax">(</span><span class="identifier-syntax">S</span><span class="plain-syntax">)))</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Inter::Symbols::remove_from_table</span><span class="plain-syntax">(</span><span class="identifier-syntax">S</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="4-sws.html#SP2_2">§2.2</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP2_2_2" class="paragraph-anchor"></a><b>§2.2.2. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Remove sockets with no incoming connections</span><span class="named-paragraph-number">2.2.2</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax">=0; </span><span class="identifier-syntax">i</span><span class="function-syntax"><ST-></span><span class="identifier-syntax">size</span><span class="plain-syntax">; </span><span class="identifier-syntax">i</span><span class="plain-syntax">++) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">S</span><span class="plain-syntax"> = </span><span class="identifier-syntax">ST</span><span class="plain-syntax">-></span><span class="identifier-syntax">symbol_array</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">];</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> ((</span><span class="identifier-syntax">Wiring::is_socket</span><span class="plain-syntax">(</span><span class="identifier-syntax">S</span><span class="plain-syntax">)) && (</span><span class="identifier-syntax">Wiring::has_no_incoming_connections</span><span class="plain-syntax">(</span><span class="identifier-syntax">S</span><span class="plain-syntax">)))</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Inter::Symbols::remove_from_table</span><span class="plain-syntax">(</span><span class="identifier-syntax">S</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="4-sws.html#SP2_2">§2.2</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP2_2_3" class="paragraph-anchor"></a><b>§2.2.3. </b>This should never happen:
|
||||
</p>
|
||||
|
||||
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Report any remaining symbols in this table as errors</span><span class="named-paragraph-number">2.2.3</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">errors</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax">=0; </span><span class="identifier-syntax">i</span><span class="function-syntax"><ST-></span><span class="identifier-syntax">size</span><span class="plain-syntax">; </span><span class="identifier-syntax">i</span><span class="plain-syntax">++) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">S</span><span class="plain-syntax"> = </span><span class="identifier-syntax">ST</span><span class="plain-syntax">-></span><span class="identifier-syntax">symbol_array</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">];</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">S</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOG</span><span class="plain-syntax">(</span><span class="string-syntax">"Connector not deleted: %3\n"</span><span class="plain-syntax">, </span><span class="identifier-syntax">S</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">errors</span><span class="plain-syntax">++;</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">errors</span><span class="plain-syntax"> > </span><span class="constant-syntax">0</span><span class="plain-syntax">) </span><span class="identifier-syntax">internal_error</span><span class="plain-syntax">(</span><span class="string-syntax">"plugs and sockets mismanaged"</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="4-sws.html#SP2_2">§2.2</a>.</li></ul>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="4-lbks.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-pm.html">1</a></li><li class="progresschapter"><a href="2-pp.html">2</a></li><li class="progresschapter"><a href="3-ps.html">3</a></li><li class="progresscurrentchapter">4</li><li class="progresssection"><a href="4-lbks.html">lbks</a></li><li class="progresscurrent">sws</li><li class="progresssection"><a href="4-dics.html">dics</a></li><li class="progresssection"><a href="4-mius.html">mius</a></li><li class="progresssection"><a href="4-rvs.html">rvs</a></li><li class="progresschapter"><a href="5-msms.html">5</a></li><li class="progresschapter"><a href="6-erms.html">6</a></li><li class="progressnext"><a href="4-dics.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="4-lbks.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-pm.html">1</a></li><li class="progresschapter"><a href="2-pp.html">2</a></li><li class="progresschapter"><a href="3-ps.html">3</a></li><li class="progresscurrentchapter">4</li><li class="progresssection"><a href="4-lbks.html">lbks</a></li><li class="progresscurrent">sws</li><li class="progresssection"><a href="4-dics.html">dics</a></li><li class="progresssection"><a href="4-mius.html">mius</a></li><li class="progresssection"><a href="4-rvs.html">rvs</a></li><li class="progresssection"><a href="4-tsk.html">tsk</a></li><li class="progresschapter"><a href="5-msms.html">5</a></li><li class="progresschapter"><a href="6-erms.html">6</a></li><li class="progressnext"><a href="4-dics.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
651
docs/pipeline-module/4-tsk.html
Normal file
651
docs/pipeline-module/4-tsk.html
Normal file
|
@ -0,0 +1,651 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<title>The Standard Kits</title>
|
||||
<link href="../docs-assets/Breadcrumbs.css" rel="stylesheet" rev="stylesheet" type="text/css">
|
||||
<meta name="viewport" content="width=device-width initial-scale=1">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<meta http-equiv="Content-Language" content="en-gb">
|
||||
|
||||
<link href="../docs-assets/Contents.css" rel="stylesheet" rev="stylesheet" type="text/css">
|
||||
<link href="../docs-assets/Progress.css" rel="stylesheet" rev="stylesheet" type="text/css">
|
||||
<link href="../docs-assets/Navigation.css" rel="stylesheet" rev="stylesheet" type="text/css">
|
||||
<link href="../docs-assets/Fonts.css" rel="stylesheet" rev="stylesheet" type="text/css">
|
||||
<link href="../docs-assets/Base.css" rel="stylesheet" rev="stylesheet" type="text/css">
|
||||
<script>
|
||||
function togglePopup(material_id) {
|
||||
var popup = document.getElementById(material_id);
|
||||
popup.classList.toggle("show");
|
||||
}
|
||||
</script>
|
||||
|
||||
<link href="../docs-assets/Popups.css" rel="stylesheet" rev="stylesheet" type="text/css">
|
||||
<link href="../docs-assets/Colours.css" rel="stylesheet" rev="stylesheet" type="text/css">
|
||||
|
||||
</head>
|
||||
<body class="commentary-font">
|
||||
<nav role="navigation">
|
||||
<h1><a href="../index.html">
|
||||
<img src="../docs-assets/Inform.png" height=72">
|
||||
</a></h1>
|
||||
<ul><li><a href="../compiler.html">compiler tools</a></li>
|
||||
<li><a href="../other.html">other tools</a></li>
|
||||
<li><a href="../extensions.html">extensions and kits</a></li>
|
||||
<li><a href="../units.html">unit test tools</a></li>
|
||||
</ul><h2>Compiler Webs</h2><ul>
|
||||
<li><a href="../inbuild/index.html">inbuild</a></li>
|
||||
<li><a href="../inform7/index.html">inform7</a></li>
|
||||
<li><a href="../inter/index.html">inter</a></li>
|
||||
</ul><h2>Inbuild Modules</h2><ul>
|
||||
<li><a href="../supervisor-module/index.html">supervisor</a></li>
|
||||
</ul><h2>Inform7 Modules</h2><ul>
|
||||
<li><a href="../core-module/index.html">core</a></li>
|
||||
<li><a href="../assertions-module/index.html">assertions</a></li>
|
||||
<li><a href="../values-module/index.html">values</a></li>
|
||||
<li><a href="../knowledge-module/index.html">knowledge</a></li>
|
||||
<li><a href="../imperative-module/index.html">imperative</a></li>
|
||||
<li><a href="../runtime-module/index.html">runtime</a></li>
|
||||
<li><a href="../if-module/index.html">if</a></li>
|
||||
<li><a href="../multimedia-module/index.html">multimedia</a></li>
|
||||
<li><a href="../index-module/index.html">index</a></li>
|
||||
</ul><h2>Inter Modules</h2><ul>
|
||||
<li><a href="../bytecode-module/index.html">bytecode</a></li>
|
||||
<li><a href="../building-module/index.html">building</a></li>
|
||||
<li><a href="index.html"><span class="selectedlink">pipeline</span></a></li>
|
||||
<li><a href="../final-module/index.html">final</a></li>
|
||||
</ul><h2>Services</h2><ul>
|
||||
<li><a href="../arch-module/index.html">arch</a></li>
|
||||
<li><a href="../calculus-module/index.html">calculus</a></li>
|
||||
<li><a href="../html-module/index.html">html</a></li>
|
||||
<li><a href="../inflections-module/index.html">inflections</a></li>
|
||||
<li><a href="../kinds-module/index.html">kinds</a></li>
|
||||
<li><a href="../linguistics-module/index.html">linguistics</a></li>
|
||||
<li><a href="../problems-module/index.html">problems</a></li>
|
||||
<li><a href="../syntax-module/index.html">syntax</a></li>
|
||||
<li><a href="../words-module/index.html">words</a></li>
|
||||
<li><a href="../../../inweb/docs/foundation-module/index.html">foundation</a></li>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
<main role="main">
|
||||
<!--Weave of 'The Standard Kits' generated by Inweb-->
|
||||
<div class="breadcrumbs">
|
||||
<ul class="crumbs"><li><a href="../index.html">Home</a></li><li><a href="../compiler.html">Inter Modules</a></li><li><a href="index.html">pipeline</a></li><li><a href="index.html#4">Chapter 4: Linking</a></li><li><b>The Standard Kits</b></li></ul></div>
|
||||
<p class="purpose">The layout and naming conventions for functions and other resources provided by the standard kits, and which are called or accessed from code generated by Inter or by the Inform 7 compiler.</p>
|
||||
|
||||
<ul class="toc"><li><a href="4-tsk.html#SP1_1_1">§1.1.1. Offered by BasicInformKit</a></li><li><a href="4-tsk.html#SP1_1_3">§1.1.3. Offered by CommandParserKit</a></li><li><a href="4-tsk.html#SP1_1_5">§1.1.5. Offered by WorldModelKit</a></li></ul><hr class="tocbar">
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP1" class="paragraph-anchor"></a><b>§1. </b>Suppose you are a tool like <a href="../inform7/index.html" class="internal">inform7</a> or <a href="../inter/index.html" class="internal">inter</a> and you are generating
|
||||
a function, and in that function you want to access the variable <span class="extract"><span class="extract-syntax">location</span></span> —
|
||||
which is defined in <a href="../WorldModelKit/index.html" class="internal">WorldModelKit</a> — or call the function <span class="extract"><span class="extract-syntax">BlkValueCreate</span></span> —
|
||||
which is in <a href="../BasicInformKit/index.html" class="internal">BasicInformKit</a>. These have not yet been linked in to the Inter
|
||||
tree you're trying to build: so how do you describe them?
|
||||
</p>
|
||||
|
||||
<p class="commentary">The answer is that you call <span class="extract"><span class="extract-syntax">HierarchyLocations::find(I, BLKVALUECREATE_HL)</span></span>,
|
||||
say, and it will return an <span class="extract"><span class="extract-syntax">inter_name</span></span> which is exactly what you need. This is
|
||||
all done with plugs and sockets, but you don't care about that.
|
||||
</p>
|
||||
|
||||
<p class="commentary">The one thing you do need to do is to ensure that the following initialisation
|
||||
function has been called: if not, <span class="extract"><span class="extract-syntax">HierarchyLocations::find</span></span> won't find these
|
||||
resources.
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">KitHierarchy::establish</span><button class="popup" onclick="togglePopup('usagePopup1')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup1">Usage of <span class="code-font"><span class="function-syntax">KitHierarchy::establish</span></span>:<br/>Make Synoptic Module Stage - <a href="5-msms.html#SP1">§1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">I</span><span class="plain-syntax">-></span><span class="identifier-syntax">history_bits</span><span class="plain-syntax"> & </span><span class="identifier-syntax">KIT_HIERARCHY_MADE_ITHBIT</span><span class="plain-syntax">) </span><span class="reserved-syntax">return</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">I</span><span class="plain-syntax">-></span><span class="identifier-syntax">history_bits</span><span class="plain-syntax"> |= </span><span class="identifier-syntax">KIT_HIERARCHY_MADE_ITHBIT</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="4-tsk.html#SP1_1" class="named-paragraph-link"><span class="named-paragraph">Establish kit-defined resources</span><span class="named-paragraph-number">1.1</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP1_1" class="paragraph-anchor"></a><b>§1.1. </b>The following, then, is an itemised list of what symbol names in the kits
|
||||
the <a href="../inform7/index.html" class="internal">inform7</a> and <a href="../inter/index.html" class="internal">inter</a> tools need to refer to. (It's not any kind of
|
||||
comprehensive list of what is there.)
|
||||
</p>
|
||||
|
||||
<pre class="definitions code-font"><span class="definition-keyword">define</span> <span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="identifier-syntax">id</span><span class="plain-syntax">, </span><span class="identifier-syntax">n</span><span class="plain-syntax">) </span><span class="identifier-syntax">HierarchyLocations::ctr</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">id</span><span class="plain-syntax">, </span><span class="identifier-syntax">n</span><span class="plain-syntax">, </span><span class="identifier-syntax">Translation::same</span><span class="plain-syntax">(), </span><span class="identifier-syntax">req</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Establish kit-defined resources</span><span class="named-paragraph-number">1.1</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">location_requirement</span><span class="plain-syntax"> </span><span class="identifier-syntax">req</span><span class="plain-syntax"> = </span><span class="identifier-syntax">HierarchyLocations::plug</span><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="4-tsk.html#SP1_1_2" class="named-paragraph-link"><span class="named-paragraph">Establish resources offered by BasicInformKit</span><span class="named-paragraph-number">1.1.2</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="4-tsk.html#SP1_1_6" class="named-paragraph-link"><span class="named-paragraph">Establish resources offered by WorldModelKit</span><span class="named-paragraph-number">1.1.6</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="4-tsk.html#SP1_1_4" class="named-paragraph-link"><span class="named-paragraph">Establish resources offered by CommandParserKit</span><span class="named-paragraph-number">1.1.4</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="4-tsk.html#SP1_1_8" class="named-paragraph-link"><span class="named-paragraph">Establish resources offered by either WorldModelKit or BasicInformExtrasKit</span><span class="named-paragraph-number">1.1.8</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="4-tsk.html#SP1_1_10" class="named-paragraph-link"><span class="named-paragraph">Establish resources offered by either EnglishLanguageKit</span><span class="named-paragraph-number">1.1.10</span></a></span><span class="plain-syntax">;</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="4-tsk.html#SP1">§1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_1_1" class="paragraph-anchor"></a><b>§1.1.1. Offered by BasicInformKit. </b></p>
|
||||
|
||||
<pre class="definitions code-font"><span class="definition-keyword">enum</span> <span class="constant-syntax">ADJUSTPARAGRAPHPOINT_HL</span><span class="plain-syntax"> </span><span class="identifier-syntax">from</span><span class="plain-syntax"> </span><span class="constant-syntax">0</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">ARGUMENTTYPEFAILED_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">AUXF_MAGIC_VALUE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">AUXF_STATUS_IS_CLOSED_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">BLKVALUECOPY_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">BLKVALUECOPYAZ_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">BLKVALUECREATE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">BLKVALUECREATEONSTACK_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">BLKVALUEERROR_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">BLKVALUEFREE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">BLKVALUEFREEONSTACK_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">BLKVALUEWRITE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">CHECKKINDRETURNED_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">CLEARPARAGRAPHING_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">CONSTANT_PACKED_TEXT_STORAGE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">CONSTANT_PERISHABLE_TEXT_STORAGE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">CUBEROOT_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">DB_RULE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">DEBUG_RULES_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">DEBUGPROPERTY_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">DECIMALNUMBER_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">DIGITTOVALUE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">DIVIDEPARAGRAPHPOINT_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">DOUBLEHASHSETRELATIONHANDLER_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">EMPTY_RULEBOOK_INAME_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">EMPTY_TABLE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">EMPTY_TEXT_PACKED_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">EMPTY_TEXT_VALUE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">EMPTYRELATIONHANDLER_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">EXISTSTABLELOOKUPCORR_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">EXISTSTABLELOOKUPENTRY_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">EXISTSTABLEROWCORR_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">FLOAT_NAN_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">FLOATPARSE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">FOLLOWRULEBOOK_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">formal_par0_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">formal_par1_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">formal_par2_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">formal_par3_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">formal_par4_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">formal_par5_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">formal_par6_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">formal_par7_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">FORMAL_RV_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">GENERATERANDOMNUMBER_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">GPROPERTY_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">HASHLISTRELATIONHANDLER_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">I7SFRAME_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">INTEGERDIVIDE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">INTEGERREMAINDER_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">KINDATOMIC_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">LATEST_RULE_RESULT_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">LIST_ITEM_BASE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">LIST_ITEM_KOV_F_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">LIST_OF_TY_DESC_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">LIST_OF_TY_GETITEM_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">LIST_OF_TY_GETLENGTH_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">LIST_OF_TY_INSERTITEM_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">LIST_OF_TY_SAY_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">LIST_OF_TY_SETLENGTH_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">MSTACK_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">MSTVO_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">MSTVON_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">NAME_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">NOTHING_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">NUMBER_TY_ABS_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">NUMBER_TY_TO_REAL_NUMBER_TY_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">OTOVRELROUTETO_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">PACKED_TEXT_STORAGE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">PARACONTENT_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">PARAMETER_VALUE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">PRINTORRUN_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">PRIOR_NAMED_LIST_GENDER_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">PRIOR_NAMED_LIST_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">PRIOR_NAMED_NOUN_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">PROPERTY_LOOP_SIGN_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">PROPERTY_TO_BE_TOTALLED_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">REAL_NUMBER_TY_ABS_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">REAL_NUMBER_TY_APPROXIMATE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">REAL_NUMBER_TY_COMPARE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">REAL_NUMBER_TY_CUBE_ROOT_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">REAL_NUMBER_TY_DIVIDE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">REAL_NUMBER_TY_MINUS_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">REAL_NUMBER_TY_NAN_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">REAL_NUMBER_TY_NEGATE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">REAL_NUMBER_TY_PLUS_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">REAL_NUMBER_TY_POW_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">REAL_NUMBER_TY_REMAINDER_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">REAL_NUMBER_TY_ROOT_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">REAL_NUMBER_TY_SAY_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">REAL_NUMBER_TY_TIMES_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">REAL_NUMBER_TY_TO_NUMBER_TY_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">RELATION_EMPTYEQUIV_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">RELATION_EMPTYOTOO_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">RELATION_EMPTYVTOV_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">RELATION_RSHOWOTOO_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">RELATION_SHOWEQUIV_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">RELATION_SHOWOTOO_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">RELATION_SHOWVTOV_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">RELATION_TY_EQUIVALENCEADJECTIVE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">RELATION_TY_NAME_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">RELATION_TY_OTOOADJECTIVE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">RELATION_TY_OTOVADJECTIVE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">RELATION_TY_SYMMETRICADJECTIVE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">RELATION_TY_VTOOADJECTIVE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">RELATIONTEST_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">RELFOLLOWVECTOR_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">RELS_EMPTY_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">RLANY_CAN_GET_X_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">RLANY_CAN_GET_Y_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">RLANY_GET_X_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">RLIST_ALL_X_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">RLIST_ALL_Y_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">RLNGETF_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">ROUNDOFFVALUE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">RR_STORAGE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">RTP_RELKINDVIOLATION_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">RTP_RELMINIMAL_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">RULEBOOKFAILS_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">RULEBOOKPARBREAK_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">RULEBOOKSUCCEEDS_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">RUNTIMEPROBLEM_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">SAY__N_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">SAY__P_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">SAY__PC_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">SIGNEDCOMPARE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">SQUAREROOT_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">STACKFRAMECREATE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">SUPPRESS_TEXT_SUBSTITUTION_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">TABLE_NOVALUE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">TABLELOOKUPCORR_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">TABLELOOKUPENTRY_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">TEXT_TY_COMPARE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">TEXT_TY_EXPANDIFPERISHABLE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">TEXT_TY_SAY_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">THEEMPTYTABLE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">UNICODE_TEMP_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">VTOORELROUTETO_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">VTOVRELROUTETO_HL</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP1_1_2" class="paragraph-anchor"></a><b>§1.1.2. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Establish resources offered by BasicInformKit</span><span class="named-paragraph-number">1.1.2</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">ADJUSTPARAGRAPHPOINT_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"AdjustParagraphPoint"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">ARGUMENTTYPEFAILED_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"ArgumentTypeFailed"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">AUXF_MAGIC_VALUE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"AUXF_MAGIC_VALUE"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">AUXF_STATUS_IS_CLOSED_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"AUXF_STATUS_IS_CLOSED"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">BLKVALUECOPY_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"BlkValueCopy"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">BLKVALUECOPYAZ_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"BlkValueCopyAZ"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">BLKVALUECREATE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"BlkValueCreate"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">BLKVALUECREATEONSTACK_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"BlkValueCreateOnStack"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">BLKVALUEERROR_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"BlkValueError"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">BLKVALUEFREE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"BlkValueFree"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">BLKVALUEFREEONSTACK_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"BlkValueFreeOnStack"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">BLKVALUEWRITE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"BlkValueWrite"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">CHECKKINDRETURNED_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"CheckKindReturned"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">CLEARPARAGRAPHING_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"ClearParagraphing"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">CONSTANT_PACKED_TEXT_STORAGE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"CONSTANT_PACKED_TEXT_STORAGE"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">CONSTANT_PERISHABLE_TEXT_STORAGE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"CONSTANT_PERISHABLE_TEXT_STORAGE"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">CUBEROOT_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"CubeRoot"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">DB_RULE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"DB_Rule"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">DEBUG_RULES_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"debug_rules"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">DEBUGPROPERTY_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"DebugProperty"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">DECIMALNUMBER_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"DecimalNumber"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">DIGITTOVALUE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"DigitToValue"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">DIVIDEPARAGRAPHPOINT_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"DivideParagraphPoint"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">DOUBLEHASHSETRELATIONHANDLER_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"DoubleHashSetRelationHandler"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">EMPTY_RULEBOOK_INAME_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"EMPTY_RULEBOOK"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">EMPTY_TABLE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"TheEmptyTable"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">EMPTY_TEXT_PACKED_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"EMPTY_TEXT_PACKED"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">EMPTY_TEXT_VALUE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"EMPTY_TEXT_VALUE"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">EMPTYRELATIONHANDLER_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"EmptyRelationHandler"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">EXISTSTABLELOOKUPCORR_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"ExistsTableLookUpCorr"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">EXISTSTABLELOOKUPENTRY_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"ExistsTableLookUpEntry"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">EXISTSTABLEROWCORR_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"ExistsTableRowCorr"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">FLOAT_NAN_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"FLOAT_NAN"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">FLOATPARSE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"FloatParse"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">FOLLOWRULEBOOK_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"FollowRulebook"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">formal_par0_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"formal_par0"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">formal_par1_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"formal_par1"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">formal_par2_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"formal_par2"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">formal_par3_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"formal_par3"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">formal_par4_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"formal_par4"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">formal_par5_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"formal_par5"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">formal_par6_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"formal_par6"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">formal_par7_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"formal_par7"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">FORMAL_RV_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"formal_rv"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">GENERATERANDOMNUMBER_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"GenerateRandomNumber"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">GPROPERTY_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"GProperty"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">HASHLISTRELATIONHANDLER_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"HashListRelationHandler"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">I7SFRAME_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"I7SFRAME"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">INTEGERDIVIDE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"IntegerDivide"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">INTEGERREMAINDER_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"IntegerRemainder"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">KINDATOMIC_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"KindAtomic"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">LATEST_RULE_RESULT_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"latest_rule_result"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">LIST_ITEM_BASE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"LIST_ITEM_BASE"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">LIST_ITEM_KOV_F_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"LIST_ITEM_KOV_F"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">LIST_OF_TY_DESC_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"LIST_OF_TY_Desc"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">LIST_OF_TY_GETITEM_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"LIST_OF_TY_GetItem"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">LIST_OF_TY_GETLENGTH_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"LIST_OF_TY_GetLength"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">LIST_OF_TY_INSERTITEM_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"LIST_OF_TY_InsertItem"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">LIST_OF_TY_SAY_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"LIST_OF_TY_Say"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">LIST_OF_TY_SETLENGTH_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"LIST_OF_TY_SetLength"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">MSTACK_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"MStack"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">MSTVO_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"MstVO"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">MSTVON_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"MstVON"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">NAME_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"name"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">NOTHING_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"nothing"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">NUMBER_TY_ABS_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"NUMBER_TY_Abs"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">NUMBER_TY_TO_REAL_NUMBER_TY_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"NUMBER_TY_to_REAL_NUMBER_TY"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">OTOVRELROUTETO_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"OtoVRelRouteTo"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">PACKED_TEXT_STORAGE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"PACKED_TEXT_STORAGE"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">PARACONTENT_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"ParaContent"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">PARAMETER_VALUE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"parameter_value"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">PRINTORRUN_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"PrintOrRun"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">PRIOR_NAMED_LIST_GENDER_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"prior_named_list_gender"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">PRIOR_NAMED_LIST_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"prior_named_list"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">PRIOR_NAMED_NOUN_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"prior_named_noun"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">PROPERTY_LOOP_SIGN_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"property_loop_sign"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">PROPERTY_TO_BE_TOTALLED_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"property_to_be_totalled"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">REAL_NUMBER_TY_ABS_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"REAL_NUMBER_TY_Abs"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">REAL_NUMBER_TY_APPROXIMATE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"REAL_NUMBER_TY_Approximate"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">REAL_NUMBER_TY_COMPARE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"REAL_NUMBER_TY_Compare"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">REAL_NUMBER_TY_CUBE_ROOT_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"REAL_NUMBER_TY_Cube_Root"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">REAL_NUMBER_TY_DIVIDE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"REAL_NUMBER_TY_Divide"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">REAL_NUMBER_TY_MINUS_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"REAL_NUMBER_TY_Minus"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">REAL_NUMBER_TY_NAN_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"REAL_NUMBER_TY_Nan"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">REAL_NUMBER_TY_NEGATE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"REAL_NUMBER_TY_Negate"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">REAL_NUMBER_TY_PLUS_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"REAL_NUMBER_TY_Plus"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">REAL_NUMBER_TY_POW_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"REAL_NUMBER_TY_Pow"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">REAL_NUMBER_TY_REMAINDER_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"REAL_NUMBER_TY_Remainder"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">REAL_NUMBER_TY_ROOT_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"REAL_NUMBER_TY_Root"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">REAL_NUMBER_TY_SAY_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"REAL_NUMBER_TY_Say"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">REAL_NUMBER_TY_TIMES_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"REAL_NUMBER_TY_Times"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">REAL_NUMBER_TY_TO_NUMBER_TY_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"REAL_NUMBER_TY_to_NUMBER_TY"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">RELATION_EMPTYEQUIV_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Relation_EmptyEquiv"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">RELATION_EMPTYOTOO_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Relation_EmptyOtoO"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">RELATION_EMPTYVTOV_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Relation_EmptyVtoV"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">RELATION_RSHOWOTOO_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Relation_RShowOtoO"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">RELATION_SHOWEQUIV_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Relation_ShowEquiv"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">RELATION_SHOWOTOO_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Relation_ShowOtoO"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">RELATION_SHOWVTOV_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Relation_ShowVtoV"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">RELATION_TY_EQUIVALENCEADJECTIVE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"RELATION_TY_EquivalenceAdjective"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">RELATION_TY_NAME_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"RELATION_TY_Name"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">RELATION_TY_OTOOADJECTIVE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"RELATION_TY_OToOAdjective"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">RELATION_TY_OTOVADJECTIVE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"RELATION_TY_OToVAdjective"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">RELATION_TY_SYMMETRICADJECTIVE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"RELATION_TY_SymmetricAdjective"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">RELATION_TY_VTOOADJECTIVE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"RELATION_TY_VToOAdjective"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">RELATIONTEST_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"RelationTest"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">RELFOLLOWVECTOR_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"RelFollowVector"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">RELS_EMPTY_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"RELS_EMPTY"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">RLANY_CAN_GET_X_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"RLANY_CAN_GET_X"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">RLANY_CAN_GET_Y_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"RLANY_CAN_GET_Y"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">RLANY_GET_X_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"RLANY_GET_X"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">RLIST_ALL_X_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"RLIST_ALL_X"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">RLIST_ALL_Y_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"RLIST_ALL_Y"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">RLNGETF_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"RlnGetF"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">ROUNDOFFVALUE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"RoundOffValue"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">RR_STORAGE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"RR_STORAGE"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">RTP_RELKINDVIOLATION_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"RTP_RELKINDVIOLATION"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">RTP_RELMINIMAL_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"RTP_RELMINIMAL"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">RULEBOOKFAILS_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"RulebookFails"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">RULEBOOKPARBREAK_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"RulebookParBreak"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">RULEBOOKSUCCEEDS_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"RulebookSucceeds"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">RUNTIMEPROBLEM_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"RunTimeProblem"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">SAY__N_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"say__n"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">SAY__P_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"say__p"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">SAY__PC_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"say__pc"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">SIGNEDCOMPARE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"SignedCompare"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">SQUAREROOT_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"SquareRoot"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">STACKFRAMECREATE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"StackFrameCreate"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">SUPPRESS_TEXT_SUBSTITUTION_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"suppress_text_substitution"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">TABLE_NOVALUE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"TABLE_NOVALUE"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">TABLELOOKUPCORR_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"TableLookUpCorr"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">TABLELOOKUPENTRY_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"TableLookUpEntry"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">TEXT_TY_COMPARE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"TEXT_TY_Compare"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">TEXT_TY_EXPANDIFPERISHABLE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"TEXT_TY_ExpandIfPerishable"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">TEXT_TY_SAY_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"TEXT_TY_Say"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">THEEMPTYTABLE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"TheEmptyTable"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">UNICODE_TEMP_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"unicode_temp"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">VTOORELROUTETO_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"VtoORelRouteTo"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">VTOVRELROUTETO_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"VtoVRelRouteTo"</span><span class="plain-syntax">)</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="4-tsk.html#SP1_1">§1.1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_1_3" class="paragraph-anchor"></a><b>§1.1.3. Offered by CommandParserKit. </b></p>
|
||||
|
||||
<pre class="definitions code-font"><span class="definition-keyword">enum</span> <span class="constant-syntax">ARTICLEDESCRIPTORS_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">ETYPE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">NEXTBEST_ETYPE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">NEXTWORDSTOPPED_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">NOTINCONTEXTPE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">PARSETOKENSTOPPED_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">TRYGIVENOBJECT_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">WORDADDRESS_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">WORDINPROPERTY_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">WORDLENGTH_HL</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP1_1_4" class="paragraph-anchor"></a><b>§1.1.4. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Establish resources offered by CommandParserKit</span><span class="named-paragraph-number">1.1.4</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">ARTICLEDESCRIPTORS_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"ArticleDescriptors"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">ETYPE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"etype"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">NEXTBEST_ETYPE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"nextbest_etype"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">NEXTWORDSTOPPED_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"NextWordStopped"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">NOTINCONTEXTPE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"NOTINCONTEXT_PE"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">PARSETOKENSTOPPED_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"ParseTokenStopped"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">TRYGIVENOBJECT_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"TryGivenObject"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">WORDADDRESS_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"WordAddress"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">WORDINPROPERTY_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"WordInProperty"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">WORDLENGTH_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"WordLength"</span><span class="plain-syntax">)</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="4-tsk.html#SP1_1">§1.1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_1_5" class="paragraph-anchor"></a><b>§1.1.5. Offered by WorldModelKit. </b></p>
|
||||
|
||||
<pre class="definitions code-font"><span class="definition-keyword">enum</span> <span class="constant-syntax">ACT_REQUESTER_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">ACTION_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">ACTIONCURRENTLYHAPPENINGFLAG_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">ACTOR_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">ACTOR_LOCATION_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">ALLOWINSHOWME_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">ANIMATE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">C_STYLE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">COMPONENT_CHILD_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">COMPONENT_PARENT_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">COMPONENT_SIBLING_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">CONSULT_FROM_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">CONSULT_WORDS_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">CONTAINER_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">DA_NAME_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">DEADFLAG_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">DEBUG_SCENES_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">DETECTPLURALWORD_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">DURINGSCENEMATCHING_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">ELEMENTARY_TT_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">ENGLISH_BIT_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">FOUND_EVERYWHERE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">GENERICVERBSUB_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">GETGNAOFOBJECT_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">GPR_FAIL_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">GPR_NUMBER_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">GPR_PREPOSITION_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">GPR_TT_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">INDENT_BIT_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">INP1_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">INP2_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">INVENTORY_STAGE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">KEEP_SILENT_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">LOCATION_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">LOCATIONOF_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">LOOPOVERSCOPE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">LOS_RV_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">NEWLINE_BIT_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">NOARTICLE_BIT_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">NOUN_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">NUMBER_TY_TO_TIME_TY_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">PARSED_NUMBER_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">PARSER_ACTION_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">PARSER_ONE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">PARSER_TRACE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">PARSER_TWO_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">PARSERERROR_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">PAST_CHRONOLOGICAL_RECORD_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">PLACEINSCOPE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">PLAYER_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">PLURALFOUND_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">PRESENT_CHRONOLOGICAL_RECORD_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">REAL_LOCATION_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">REASON_THE_ACTION_FAILED_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">RESPONSEVIAACTIVITY_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">ROUTINEFILTER_TT_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">SCENE_ENDED_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">SCENE_ENDINGS_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">SCENE_LATEST_ENDING_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">SCENE_STARTED_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">SCENE_STATUS_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">SCOPE_STAGE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">SCOPE_TT_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">SECOND_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">SHORT_NAME_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">SPECIAL_WORD_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">STORED_ACTION_TY_CURRENT_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">STORED_ACTION_TY_TRY_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">STORY_TENSE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">SUPPORTER_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">SUPPRESS_SCOPE_LOOPS_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">TESTACTIONBITMAP_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">TESTACTIVITY_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">TESTREGIONALCONTAINMENT_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">TESTSCOPE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">TESTSTART_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">THE_TIME_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">THEDARK_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">THESAME_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">TIMESACTIONHASBEENHAPPENING_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">TIMESACTIONHASHAPPENED_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">TRYACTION_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">TURNSACTIONHASBEENHAPPENING_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">UNDERSTAND_AS_MISTAKE_NUMBER_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">WHEN_SCENE_BEGINS_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">WHEN_SCENE_ENDS_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">WN_HL</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP1_1_6" class="paragraph-anchor"></a><b>§1.1.6. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Establish resources offered by WorldModelKit</span><span class="named-paragraph-number">1.1.6</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">ACT_REQUESTER_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"act_requester"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">ACTION_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"action"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">ACTIONCURRENTLYHAPPENINGFLAG_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"ActionCurrentlyHappeningFlag"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">ACTOR_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"actor"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">ACTOR_LOCATION_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"actor_location"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">ALLOWINSHOWME_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"AllowInShowme"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">ANIMATE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"animate"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">C_STYLE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"c_style"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">COMPONENT_CHILD_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"component_child"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">COMPONENT_PARENT_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"component_parent"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">COMPONENT_SIBLING_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"component_sibling"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">CONSULT_FROM_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"consult_from"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">CONSULT_WORDS_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"consult_words"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">CONTAINER_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"container"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">DA_NAME_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"DA_Name"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">DEADFLAG_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"deadflag"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">DEBUG_SCENES_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"debug_scenes"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">DETECTPLURALWORD_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"DetectPluralWord"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">DURINGSCENEMATCHING_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"DuringSceneMatching"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">ELEMENTARY_TT_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"ELEMENTARY_TT"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">ENGLISH_BIT_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"ENGLISH_BIT"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">FOUND_EVERYWHERE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"FoundEverywhere"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">GENERICVERBSUB_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"GenericVerbSub"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">GETGNAOFOBJECT_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"GetGNAOfObject"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">GPR_FAIL_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"GPR_FAIL"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">GPR_NUMBER_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"GPR_NUMBER"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">GPR_PREPOSITION_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"GPR_PREPOSITION"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">GPR_TT_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"GPR_TT"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">INDENT_BIT_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"INDENT_BIT"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">INP1_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"inp1"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">INP2_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"inp2"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">INVENTORY_STAGE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"inventory_stage"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">KEEP_SILENT_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"keep_silent"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">LOCATION_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"location"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">LOCATIONOF_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"LocationOf"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">LOOPOVERSCOPE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"LoopOverScope"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">LOS_RV_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"los_rv"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">NEWLINE_BIT_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"NEWLINE_BIT"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">NOARTICLE_BIT_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"NOARTICLE_BIT"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">NOUN_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"noun"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">NUMBER_TY_TO_TIME_TY_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"NUMBER_TY_to_TIME_TY"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">PARSED_NUMBER_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"parsed_number"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">PARSER_ACTION_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"parser_action"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">PARSER_ONE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"parser_one"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">PARSER_TRACE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"parser_trace"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">PARSER_TWO_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"parser_two"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">PARSERERROR_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"ParserError"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">PAST_CHRONOLOGICAL_RECORD_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"past_chronological_record"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">PLACEINSCOPE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"PlaceInScope"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">PLAYER_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"player"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">PLURALFOUND_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"##PluralFound"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">PRESENT_CHRONOLOGICAL_RECORD_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"present_chronological_record"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">REAL_LOCATION_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"real_location"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">REASON_THE_ACTION_FAILED_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"reason_the_action_failed"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">RESPONSEVIAACTIVITY_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"ResponseViaActivity"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">ROUTINEFILTER_TT_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"ROUTINE_FILTER_TT"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">SCENE_ENDED_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"scene_ended"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">SCENE_ENDINGS_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"scene_endings"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">SCENE_LATEST_ENDING_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"scene_latest_ending"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">SCENE_STARTED_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"scene_started"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">SCENE_STATUS_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"scene_status"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">SCOPE_STAGE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"scope_stage"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">SCOPE_TT_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"SCOPE_TT"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">SECOND_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"second"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">SHORT_NAME_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"short_name"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">SPECIAL_WORD_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"special_word"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">STORED_ACTION_TY_CURRENT_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"STORED_ACTION_TY_Current"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">STORED_ACTION_TY_TRY_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"STORED_ACTION_TY_Try"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">STORY_TENSE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"story_tense"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">SUPPORTER_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"supporter"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">SUPPRESS_SCOPE_LOOPS_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"suppress_scope_loops"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">TESTACTIONBITMAP_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"TestActionBitmap"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">TESTACTIVITY_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"TestActivity"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">TESTREGIONALCONTAINMENT_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"TestRegionalContainment"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">TESTSCOPE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"TestScope"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">TESTSTART_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"TestStart"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">THE_TIME_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"the_time"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">THEDARK_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"thedark"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">THESAME_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"##TheSame"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">TIMESACTIONHASBEENHAPPENING_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"TimesActionHasBeenHappening"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">TIMESACTIONHASHAPPENED_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"TimesActionHasHappened"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">TRYACTION_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"TryAction"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">TURNSACTIONHASBEENHAPPENING_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"TurnsActionHasBeenHappening"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">UNDERSTAND_AS_MISTAKE_NUMBER_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"understand_as_mistake_number"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">WHEN_SCENE_BEGINS_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"WHEN_SCENE_BEGINS_RB"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">WHEN_SCENE_ENDS_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"WHEN_SCENE_ENDS_RB"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">WN_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"wn"</span><span class="plain-syntax">)</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="4-tsk.html#SP1_1">§1.1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_1_7" class="paragraph-anchor"></a><b>§1.1.7. </b></p>
|
||||
|
||||
<pre class="definitions code-font"><span class="definition-keyword">enum</span> <span class="constant-syntax">PNTOVP_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">PRINTSHORTNAME_HL</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP1_1_8" class="paragraph-anchor"></a><b>§1.1.8. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Establish resources offered by either WorldModelKit or BasicInformExtrasKit</span><span class="named-paragraph-number">1.1.8</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">PNTOVP_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"PNToVP"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">PRINTSHORTNAME_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"PrintShortName"</span><span class="plain-syntax">)</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="4-tsk.html#SP1_1">§1.1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_1_9" class="paragraph-anchor"></a><b>§1.1.9. </b></p>
|
||||
|
||||
<pre class="definitions code-font"><span class="definition-keyword">enum</span> <span class="constant-syntax">THEN1__WD_HL</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP1_1_10" class="paragraph-anchor"></a><b>§1.1.10. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Establish resources offered by either EnglishLanguageKit</span><span class="named-paragraph-number">1.1.10</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">THEN1__WD_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"THEN1__WD"</span><span class="plain-syntax">)</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="4-tsk.html#SP1_1">§1.1</a>.</li></ul>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="4-rvs.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-pm.html">1</a></li><li class="progresschapter"><a href="2-pp.html">2</a></li><li class="progresschapter"><a href="3-ps.html">3</a></li><li class="progresscurrentchapter">4</li><li class="progresssection"><a href="4-lbks.html">lbks</a></li><li class="progresssection"><a href="4-sws.html">sws</a></li><li class="progresssection"><a href="4-dics.html">dics</a></li><li class="progresssection"><a href="4-mius.html">mius</a></li><li class="progresssection"><a href="4-rvs.html">rvs</a></li><li class="progresscurrent">tsk</li><li class="progresschapter"><a href="5-msms.html">5</a></li><li class="progresschapter"><a href="6-erms.html">6</a></li><li class="progressnext"><a href="5-msms.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -84,12 +84,12 @@ of packages of type <span class="extract"><span class="extract-syntax">_activity
|
|||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">SynopticActivities::compile</span><button class="popup" onclick="togglePopup('usagePopup1')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup1">Usage of <span class="code-font"><span class="function-syntax">SynopticActivities::compile</span></span>:<br/>Make Synoptic Module Stage - <a href="5-msms.html#SP1">§1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="reserved-syntax">pipeline_step</span><span class="plain-syntax"> *</span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="reserved-syntax">tree_inventory</span><span class="plain-syntax"> *</span><span class="identifier-syntax">inv</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">TreeLists::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">activity_nodes</span><span class="plain-syntax">) > </span><span class="constant-syntax">0</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">activity_nodes</span><span class="plain-syntax">, </span><a href="5-su.html#SP2" class="function-link"><span class="function-syntax">Synoptic::module_order</span></a><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">activity_nodes</span><span class="plain-syntax">, </span><a href="5-msms.html#SP6" class="function-link"><span class="function-syntax">MakeSynopticModuleStage::module_order</span></a><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax">=0; </span><span class="identifier-syntax">i</span><span class="function-syntax"><TreeLists::len(inv-></span><span class="element-syntax">activity_nodes</span><span class="plain-syntax">); </span><span class="identifier-syntax">i</span><span class="plain-syntax">++) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Package::defined_by_frame</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">activity_nodes</span><span class="plain-syntax">-></span><span class="identifier-syntax">list</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">].</span><span class="identifier-syntax">node</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">D</span><span class="plain-syntax"> = </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::get_definition</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"activity_id"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">D</span><span class="plain-syntax"> = </span><a href="5-su.html#SP1" class="function-link"><span class="function-syntax">Synoptic::get_definition</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"activity_id"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">D</span><span class="plain-syntax">-></span><span class="identifier-syntax">W</span><span class="plain-syntax">.</span><span class="identifier-syntax">data</span><span class="plain-syntax">[</span><span class="identifier-syntax">DATA_CONST_IFLD</span><span class="plain-syntax">+1] = (</span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax">) </span><span class="identifier-syntax">i</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">D</span><span class="plain-syntax"> = </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::get_optional_definition</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"var_id"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">D</span><span class="plain-syntax"> = </span><a href="5-su.html#SP2" class="function-link"><span class="function-syntax">Synoptic::get_optional_definition</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"var_id"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">D</span><span class="plain-syntax">) </span><span class="identifier-syntax">D</span><span class="plain-syntax">-></span><span class="identifier-syntax">W</span><span class="plain-syntax">.</span><span class="identifier-syntax">data</span><span class="plain-syntax">[</span><span class="identifier-syntax">DATA_CONST_IFLD</span><span class="plain-syntax">+1] = (</span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax">) (10000 + </span><span class="identifier-syntax">i</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
|
@ -105,13 +105,13 @@ of packages of type <span class="extract"><span class="extract-syntax">_activity
|
|||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">iname</span><span class="plain-syntax"> = </span><span class="identifier-syntax">HierarchyLocations::find</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="constant-syntax">ACTIVITY_AFTER_RULEBOOKS_HL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::begin_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP7" class="function-link"><span class="function-syntax">Synoptic::begin_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax">=0; </span><span class="identifier-syntax">i</span><span class="function-syntax"><TreeLists::len(inv-></span><span class="element-syntax">activity_nodes</span><span class="plain-syntax">); </span><span class="identifier-syntax">i</span><span class="plain-syntax">++) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Package::defined_by_frame</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">activity_nodes</span><span class="plain-syntax">-></span><span class="identifier-syntax">list</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">].</span><span class="identifier-syntax">node</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">vc_s</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Metadata::read_symbol</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^after_rulebook"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::symbol_entry</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">vc_s</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP8" class="function-link"><span class="function-syntax">Synoptic::symbol_entry</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">vc_s</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::end_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP7" class="function-link"><span class="function-syntax">Synoptic::end_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="5-act.html#SP1">§1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_2" class="paragraph-anchor"></a><b>§1.2. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Define ACTIVITY_ATB_RULEBOOKS array</span><span class="named-paragraph-number">1.2</span></span><span class="comment-syntax"> =</span>
|
||||
|
@ -120,13 +120,13 @@ of packages of type <span class="extract"><span class="extract-syntax">_activity
|
|||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">iname</span><span class="plain-syntax"> = </span><span class="identifier-syntax">HierarchyLocations::find</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="constant-syntax">ACTIVITY_ATB_RULEBOOKS_HL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Produce::annotate_iname_i</span><span class="plain-syntax">(</span><span class="identifier-syntax">iname</span><span class="plain-syntax">, </span><span class="identifier-syntax">BYTEARRAY_IANN</span><span class="plain-syntax">, </span><span class="constant-syntax">1</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::begin_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP7" class="function-link"><span class="function-syntax">Synoptic::begin_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax">=0; </span><span class="identifier-syntax">i</span><span class="function-syntax"><TreeLists::len(inv-></span><span class="element-syntax">activity_nodes</span><span class="plain-syntax">); </span><span class="identifier-syntax">i</span><span class="plain-syntax">++) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Package::defined_by_frame</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">activity_nodes</span><span class="plain-syntax">-></span><span class="identifier-syntax">list</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">].</span><span class="identifier-syntax">node</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">ubf</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Metadata::read_numeric</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^used_by_future"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">ubf</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP8" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">ubf</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::end_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP7" class="function-link"><span class="function-syntax">Synoptic::end_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="5-act.html#SP1">§1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_3" class="paragraph-anchor"></a><b>§1.3. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Define ACTIVITY_BEFORE_RULEBOOKS array</span><span class="named-paragraph-number">1.3</span></span><span class="comment-syntax"> =</span>
|
||||
|
@ -134,13 +134,13 @@ of packages of type <span class="extract"><span class="extract-syntax">_activity
|
|||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">iname</span><span class="plain-syntax"> = </span><span class="identifier-syntax">HierarchyLocations::find</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="constant-syntax">ACTIVITY_BEFORE_RULEBOOKS_HL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::begin_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP7" class="function-link"><span class="function-syntax">Synoptic::begin_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax">=0; </span><span class="identifier-syntax">i</span><span class="function-syntax"><TreeLists::len(inv-></span><span class="element-syntax">activity_nodes</span><span class="plain-syntax">); </span><span class="identifier-syntax">i</span><span class="plain-syntax">++) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Package::defined_by_frame</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">activity_nodes</span><span class="plain-syntax">-></span><span class="identifier-syntax">list</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">].</span><span class="identifier-syntax">node</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">vc_s</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Metadata::read_symbol</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^before_rulebook"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::symbol_entry</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">vc_s</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP8" class="function-link"><span class="function-syntax">Synoptic::symbol_entry</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">vc_s</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::end_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP7" class="function-link"><span class="function-syntax">Synoptic::end_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="5-act.html#SP1">§1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_4" class="paragraph-anchor"></a><b>§1.4. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Define ACTIVITY_FOR_RULEBOOKS array</span><span class="named-paragraph-number">1.4</span></span><span class="comment-syntax"> =</span>
|
||||
|
@ -148,13 +148,13 @@ of packages of type <span class="extract"><span class="extract-syntax">_activity
|
|||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">iname</span><span class="plain-syntax"> = </span><span class="identifier-syntax">HierarchyLocations::find</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="constant-syntax">ACTIVITY_FOR_RULEBOOKS_HL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::begin_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP7" class="function-link"><span class="function-syntax">Synoptic::begin_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax">=0; </span><span class="identifier-syntax">i</span><span class="function-syntax"><TreeLists::len(inv-></span><span class="element-syntax">activity_nodes</span><span class="plain-syntax">); </span><span class="identifier-syntax">i</span><span class="plain-syntax">++) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Package::defined_by_frame</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">activity_nodes</span><span class="plain-syntax">-></span><span class="identifier-syntax">list</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">].</span><span class="identifier-syntax">node</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">vc_s</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Metadata::read_symbol</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^for_rulebook"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::symbol_entry</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">vc_s</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP8" class="function-link"><span class="function-syntax">Synoptic::symbol_entry</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">vc_s</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::end_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP7" class="function-link"><span class="function-syntax">Synoptic::end_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="5-act.html#SP1">§1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_5" class="paragraph-anchor"></a><b>§1.5. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Define ACTIVITY_VAR_CREATORS array</span><span class="named-paragraph-number">1.5</span></span><span class="comment-syntax"> =</span>
|
||||
|
@ -162,14 +162,14 @@ of packages of type <span class="extract"><span class="extract-syntax">_activity
|
|||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">iname</span><span class="plain-syntax"> = </span><span class="identifier-syntax">HierarchyLocations::find</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="constant-syntax">ACTIVITY_VAR_CREATORS_HL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::begin_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP7" class="function-link"><span class="function-syntax">Synoptic::begin_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax">=0; </span><span class="identifier-syntax">i</span><span class="function-syntax"><TreeLists::len(inv-></span><span class="element-syntax">activity_nodes</span><span class="plain-syntax">); </span><span class="identifier-syntax">i</span><span class="plain-syntax">++) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Package::defined_by_frame</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">activity_nodes</span><span class="plain-syntax">-></span><span class="identifier-syntax">list</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">].</span><span class="identifier-syntax">node</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">vc_s</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Metadata::read_optional_symbol</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^var_creator"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">vc_s</span><span class="plain-syntax">) </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::symbol_entry</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">vc_s</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">vc_s</span><span class="plain-syntax">) </span><a href="5-su.html#SP8" class="function-link"><span class="function-syntax">Synoptic::symbol_entry</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">vc_s</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><a href="5-su.html#SP8" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::end_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP7" class="function-link"><span class="function-syntax">Synoptic::end_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="5-act.html#SP1">§1</a>.</li></ul>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
|
|
|
@ -92,12 +92,12 @@ of packages of type <span class="extract"><span class="extract-syntax">_action</
|
|||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">SynopticActions::compile</span><button class="popup" onclick="togglePopup('usagePopup1')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup1">Usage of <span class="code-font"><span class="function-syntax">SynopticActions::compile</span></span>:<br/>Make Synoptic Module Stage - <a href="5-msms.html#SP1">§1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="reserved-syntax">pipeline_step</span><span class="plain-syntax"> *</span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="reserved-syntax">tree_inventory</span><span class="plain-syntax"> *</span><span class="identifier-syntax">inv</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">TreeLists::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">action_nodes</span><span class="plain-syntax">) > </span><span class="constant-syntax">0</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">action_nodes</span><span class="plain-syntax">, </span><a href="5-su.html#SP2" class="function-link"><span class="function-syntax">Synoptic::module_order</span></a><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">action_nodes</span><span class="plain-syntax">, </span><a href="5-msms.html#SP6" class="function-link"><span class="function-syntax">MakeSynopticModuleStage::module_order</span></a><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax">=0; </span><span class="identifier-syntax">i</span><span class="function-syntax"><TreeLists::len(inv-></span><span class="element-syntax">action_nodes</span><span class="plain-syntax">); </span><span class="identifier-syntax">i</span><span class="plain-syntax">++) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Package::defined_by_frame</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">action_nodes</span><span class="plain-syntax">-></span><span class="identifier-syntax">list</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">].</span><span class="identifier-syntax">node</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">D</span><span class="plain-syntax"> = </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::get_definition</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"action_id"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">D</span><span class="plain-syntax"> = </span><a href="5-su.html#SP1" class="function-link"><span class="function-syntax">Synoptic::get_definition</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"action_id"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">D</span><span class="plain-syntax">-></span><span class="identifier-syntax">W</span><span class="plain-syntax">.</span><span class="identifier-syntax">data</span><span class="plain-syntax">[</span><span class="identifier-syntax">DATA_CONST_IFLD</span><span class="plain-syntax">+1] = (</span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax">) </span><span class="identifier-syntax">i</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">D</span><span class="plain-syntax"> = </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::get_optional_definition</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"var_id"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">D</span><span class="plain-syntax"> = </span><a href="5-su.html#SP2" class="function-link"><span class="function-syntax">Synoptic::get_optional_definition</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"var_id"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">D</span><span class="plain-syntax">) </span><span class="identifier-syntax">D</span><span class="plain-syntax">-></span><span class="identifier-syntax">W</span><span class="plain-syntax">.</span><span class="identifier-syntax">data</span><span class="plain-syntax">[</span><span class="identifier-syntax">DATA_CONST_IFLD</span><span class="plain-syntax">+1] = (</span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax">) (20000 + </span><span class="identifier-syntax">i</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
|
@ -132,11 +132,11 @@ of packages of type <span class="extract"><span class="extract-syntax">_action</
|
|||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">iname</span><span class="plain-syntax"> = </span><span class="identifier-syntax">HierarchyLocations::find</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="constant-syntax">ACTIONHAPPENED_HL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::begin_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP7" class="function-link"><span class="function-syntax">Synoptic::begin_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax">=0; </span><span class="identifier-syntax">i</span><span class="function-syntax"><=(TreeLists::len(inv-></span><span class="element-syntax">action_nodes</span><span class="plain-syntax">)/16); </span><span class="identifier-syntax">i</span><span class="plain-syntax">++)</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::end_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP8" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP8" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP7" class="function-link"><span class="function-syntax">Synoptic::end_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="5-act2.html#SP2">§2</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP2_4" class="paragraph-anchor"></a><b>§2.4. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Define ACTIONCODING array</span><span class="named-paragraph-number">2.4</span></span><span class="comment-syntax"> =</span>
|
||||
|
@ -144,16 +144,16 @@ of packages of type <span class="extract"><span class="extract-syntax">_action</
|
|||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">iname</span><span class="plain-syntax"> = </span><span class="identifier-syntax">HierarchyLocations::find</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="constant-syntax">ACTIONCODING_HL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::begin_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP7" class="function-link"><span class="function-syntax">Synoptic::begin_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax">=0; </span><span class="identifier-syntax">i</span><span class="function-syntax"><TreeLists::len(inv-></span><span class="element-syntax">action_nodes</span><span class="plain-syntax">); </span><span class="identifier-syntax">i</span><span class="plain-syntax">++) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Package::defined_by_frame</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">action_nodes</span><span class="plain-syntax">-></span><span class="identifier-syntax">list</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">].</span><span class="identifier-syntax">node</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">double_sharp_s</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Metadata::read_optional_symbol</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^double_sharp"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">no</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Metadata::read_optional_numeric</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^no_coding"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> ((</span><span class="identifier-syntax">no</span><span class="plain-syntax">) || (</span><span class="identifier-syntax">double_sharp_s</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">)) </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::symbol_entry</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">double_sharp_s</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> ((</span><span class="identifier-syntax">no</span><span class="plain-syntax">) || (</span><span class="identifier-syntax">double_sharp_s</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">)) </span><a href="5-su.html#SP8" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><a href="5-su.html#SP8" class="function-link"><span class="function-syntax">Synoptic::symbol_entry</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">double_sharp_s</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::end_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP8" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP7" class="function-link"><span class="function-syntax">Synoptic::end_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="5-act2.html#SP2">§2</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP2_5" class="paragraph-anchor"></a><b>§2.5. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Define ACTIONDATA array</span><span class="named-paragraph-number">2.5</span></span><span class="comment-syntax"> =</span>
|
||||
|
@ -162,18 +162,18 @@ of packages of type <span class="extract"><span class="extract-syntax">_action</
|
|||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">iname</span><span class="plain-syntax"> = </span><span class="identifier-syntax">HierarchyLocations::find</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="constant-syntax">ACTIONDATA_HL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Produce::annotate_iname_i</span><span class="plain-syntax">(</span><span class="identifier-syntax">iname</span><span class="plain-syntax">, </span><span class="identifier-syntax">TABLEARRAY_IANN</span><span class="plain-syntax">, </span><span class="constant-syntax">1</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::begin_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP7" class="function-link"><span class="function-syntax">Synoptic::begin_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax">=0; </span><span class="identifier-syntax">i</span><span class="function-syntax"><TreeLists::len(inv-></span><span class="element-syntax">action_nodes</span><span class="plain-syntax">); </span><span class="identifier-syntax">i</span><span class="plain-syntax">++) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Package::defined_by_frame</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">action_nodes</span><span class="plain-syntax">-></span><span class="identifier-syntax">list</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">].</span><span class="identifier-syntax">node</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">double_sharp_s</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Metadata::read_optional_symbol</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^double_sharp"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">double_sharp_s</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP8" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP8" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP8" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP8" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP8" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="plain-syntax"> } </span><span class="reserved-syntax">else</span><span class="plain-syntax"> {</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::symbol_entry</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">double_sharp_s</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP8" class="function-link"><span class="function-syntax">Synoptic::symbol_entry</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">double_sharp_s</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">out_of_world</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Metadata::read_numeric</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^out_of_world"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">requires_light</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Metadata::read_numeric</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^requires_light"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">can_have_noun</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Metadata::read_numeric</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^can_have_noun"</span><span class="plain-syntax">);</span>
|
||||
|
@ -192,17 +192,17 @@ of packages of type <span class="extract"><span class="extract-syntax">_action</
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">can_have_second</span><span class="plain-syntax"> == </span><span class="constant-syntax">0</span><span class="plain-syntax">) </span><span class="identifier-syntax">msp</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">bitmap</span><span class="plain-syntax"> = (</span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax">) (</span><span class="identifier-syntax">mn</span><span class="plain-syntax"> + </span><span class="identifier-syntax">ms</span><span class="plain-syntax">*</span><span class="constant-syntax">0x02</span><span class="plain-syntax"> + </span><span class="identifier-syntax">ml</span><span class="plain-syntax">*</span><span class="constant-syntax">0x04</span><span class="plain-syntax"> + </span><span class="identifier-syntax">mnp</span><span class="plain-syntax">*</span><span class="constant-syntax">0x08</span><span class="plain-syntax"> +</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">msp</span><span class="plain-syntax">*</span><span class="constant-syntax">0x10</span><span class="plain-syntax"> + (</span><span class="identifier-syntax">out_of_world</span><span class="plain-syntax">?1:0)*</span><span class="constant-syntax">0x20</span><span class="plain-syntax"> + </span><span class="identifier-syntax">hn</span><span class="plain-syntax">*</span><span class="constant-syntax">0x40</span><span class="plain-syntax"> + </span><span class="identifier-syntax">hs</span><span class="plain-syntax">*</span><span class="constant-syntax">0x80</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">bitmap</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::symbol_entry</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">noun_kind</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::symbol_entry</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">second_kind</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP8" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">bitmap</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP8" class="function-link"><span class="function-syntax">Synoptic::symbol_entry</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">noun_kind</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP8" class="function-link"><span class="function-syntax">Synoptic::symbol_entry</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">second_kind</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">vc_s</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Metadata::read_optional_symbol</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^var_creator"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">vc_s</span><span class="plain-syntax">) </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::symbol_entry</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">vc_s</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">vc_s</span><span class="plain-syntax">) </span><a href="5-su.html#SP8" class="function-link"><span class="function-syntax">Synoptic::symbol_entry</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">vc_s</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><a href="5-su.html#SP8" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">((</span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax">) (20000 + </span><span class="identifier-syntax">i</span><span class="plain-syntax">));</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP8" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">((</span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax">) (20000 + </span><span class="identifier-syntax">i</span><span class="plain-syntax">));</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::end_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP8" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP7" class="function-link"><span class="function-syntax">Synoptic::end_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="5-act2.html#SP2">§2</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP2_6" class="paragraph-anchor"></a><b>§2.6. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Define DB_ACTION_DETAILS function</span><span class="named-paragraph-number">2.6</span></span><span class="comment-syntax"> =</span>
|
||||
|
@ -211,10 +211,10 @@ of packages of type <span class="extract"><span class="extract-syntax">_action</
|
|||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">iname</span><span class="plain-syntax"> = </span><span class="identifier-syntax">HierarchyLocations::find</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="constant-syntax">DB_ACTION_DETAILS_HL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::begin_function</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">act_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::local</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"act"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">n_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::local</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"n"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">s_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::local</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"s"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">for_say_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::local</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"for_say"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">act_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP6" class="function-link"><span class="function-syntax">Synoptic::local</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"act"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">n_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP6" class="function-link"><span class="function-syntax">Synoptic::local</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"n"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">s_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP6" class="function-link"><span class="function-syntax">Synoptic::local</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"s"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">for_say_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP6" class="function-link"><span class="function-syntax">Synoptic::local</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"for_say"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Produce::inv_primitive</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">SWITCH_BIP</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Produce::down</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Produce::val_symbol</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">K_value</span><span class="plain-syntax">, </span><span class="identifier-syntax">act_s</span><span class="plain-syntax">);</span>
|
||||
|
|
|
@ -84,18 +84,18 @@ over the Inter tree. Each needs its own set of unique IDs.
|
|||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">SynopticChronology::compile</span><button class="popup" onclick="togglePopup('usagePopup1')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup1">Usage of <span class="code-font"><span class="function-syntax">SynopticChronology::compile</span></span>:<br/>Make Synoptic Module Stage - <a href="5-msms.html#SP1">§1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="reserved-syntax">pipeline_step</span><span class="plain-syntax"> *</span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="reserved-syntax">tree_inventory</span><span class="plain-syntax"> *</span><span class="identifier-syntax">inv</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">TreeLists::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">action_history_condition_nodes</span><span class="plain-syntax">) > </span><span class="constant-syntax">0</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">action_history_condition_nodes</span><span class="plain-syntax">, </span><a href="5-su.html#SP2" class="function-link"><span class="function-syntax">Synoptic::module_order</span></a><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">action_history_condition_nodes</span><span class="plain-syntax">, </span><a href="5-msms.html#SP6" class="function-link"><span class="function-syntax">MakeSynopticModuleStage::module_order</span></a><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax">=0; </span><span class="identifier-syntax">i</span><span class="function-syntax"><TreeLists::len(inv-></span><span class="element-syntax">action_history_condition_nodes</span><span class="plain-syntax">); </span><span class="identifier-syntax">i</span><span class="plain-syntax">++) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Package::defined_by_frame</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">action_history_condition_nodes</span><span class="plain-syntax">-></span><span class="identifier-syntax">list</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">].</span><span class="identifier-syntax">node</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">D</span><span class="plain-syntax"> = </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::get_definition</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"ahc_id"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">D</span><span class="plain-syntax"> = </span><a href="5-su.html#SP1" class="function-link"><span class="function-syntax">Synoptic::get_definition</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"ahc_id"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">D</span><span class="plain-syntax">-></span><span class="identifier-syntax">W</span><span class="plain-syntax">.</span><span class="identifier-syntax">data</span><span class="plain-syntax">[</span><span class="identifier-syntax">DATA_CONST_IFLD</span><span class="plain-syntax">+1] = (</span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax">) </span><span class="identifier-syntax">i</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">TreeLists::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">past_tense_condition_nodes</span><span class="plain-syntax">) > </span><span class="constant-syntax">0</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">past_tense_condition_nodes</span><span class="plain-syntax">, </span><a href="5-su.html#SP2" class="function-link"><span class="function-syntax">Synoptic::module_order</span></a><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">past_tense_condition_nodes</span><span class="plain-syntax">, </span><a href="5-msms.html#SP6" class="function-link"><span class="function-syntax">MakeSynopticModuleStage::module_order</span></a><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax">=0; </span><span class="identifier-syntax">i</span><span class="function-syntax"><TreeLists::len(inv-></span><span class="element-syntax">past_tense_condition_nodes</span><span class="plain-syntax">); </span><span class="identifier-syntax">i</span><span class="plain-syntax">++) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Package::defined_by_frame</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">past_tense_condition_nodes</span><span class="plain-syntax">-></span><span class="identifier-syntax">list</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">].</span><span class="identifier-syntax">node</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">D</span><span class="plain-syntax"> = </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::get_definition</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"ptc_id"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">D</span><span class="plain-syntax"> = </span><a href="5-su.html#SP1" class="function-link"><span class="function-syntax">Synoptic::get_definition</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"ptc_id"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">D</span><span class="plain-syntax">-></span><span class="identifier-syntax">W</span><span class="plain-syntax">.</span><span class="identifier-syntax">data</span><span class="plain-syntax">[</span><span class="identifier-syntax">DATA_CONST_IFLD</span><span class="plain-syntax">+1] = (</span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax">) </span><span class="identifier-syntax">i</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
|
@ -132,22 +132,22 @@ over the Inter tree. Each needs its own set of unique IDs.
|
|||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">iname</span><span class="plain-syntax"> = </span><span class="identifier-syntax">HierarchyLocations::find</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="constant-syntax">TIMEDEVENTSTABLE_HL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Produce::annotate_iname_i</span><span class="plain-syntax">(</span><span class="identifier-syntax">iname</span><span class="plain-syntax">, </span><span class="identifier-syntax">TABLEARRAY_IANN</span><span class="plain-syntax">, </span><span class="constant-syntax">1</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::begin_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP7" class="function-link"><span class="function-syntax">Synoptic::begin_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">when_count</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax">=0; </span><span class="identifier-syntax">i</span><span class="function-syntax"><TreeLists::len(inv-></span><span class="element-syntax">rule_nodes</span><span class="plain-syntax">); </span><span class="identifier-syntax">i</span><span class="plain-syntax">++) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Package::defined_by_frame</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">rule_nodes</span><span class="plain-syntax">-></span><span class="identifier-syntax">list</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">].</span><span class="identifier-syntax">node</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Metadata::exists</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^timed"</span><span class="plain-syntax">)) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">rule_s</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Metadata::read_symbol</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^value"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Metadata::exists</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^timed_for"</span><span class="plain-syntax">)) {</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::symbol_entry</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">rule_s</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP8" class="function-link"><span class="function-syntax">Synoptic::symbol_entry</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">rule_s</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> } </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="identifier-syntax">when_count</span><span class="plain-syntax">++;</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax">=0; </span><span class="identifier-syntax">i</span><span class="plain-syntax"><</span><span class="identifier-syntax">when_count</span><span class="plain-syntax">+1; </span><span class="identifier-syntax">i</span><span class="plain-syntax">++) {</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP8" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP8" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::end_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP7" class="function-link"><span class="function-syntax">Synoptic::end_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="5-chr.html#SP1">§1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_4" class="paragraph-anchor"></a><b>§1.4. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Define TIMEDEVENTTIMESTABLE</span><span class="named-paragraph-number">1.4</span></span><span class="comment-syntax"> =</span>
|
||||
|
@ -156,22 +156,22 @@ over the Inter tree. Each needs its own set of unique IDs.
|
|||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">iname</span><span class="plain-syntax"> = </span><span class="identifier-syntax">HierarchyLocations::find</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="constant-syntax">TIMEDEVENTTIMESTABLE_HL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Produce::annotate_iname_i</span><span class="plain-syntax">(</span><span class="identifier-syntax">iname</span><span class="plain-syntax">, </span><span class="identifier-syntax">TABLEARRAY_IANN</span><span class="plain-syntax">, </span><span class="constant-syntax">1</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::begin_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP7" class="function-link"><span class="function-syntax">Synoptic::begin_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">when_count</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax">=0; </span><span class="identifier-syntax">i</span><span class="function-syntax"><TreeLists::len(inv-></span><span class="element-syntax">rule_nodes</span><span class="plain-syntax">); </span><span class="identifier-syntax">i</span><span class="plain-syntax">++) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Package::defined_by_frame</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">rule_nodes</span><span class="plain-syntax">-></span><span class="identifier-syntax">list</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">].</span><span class="identifier-syntax">node</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Metadata::exists</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^timed"</span><span class="plain-syntax">)) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Metadata::exists</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^timed_for"</span><span class="plain-syntax">)) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">t</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Metadata::read_optional_numeric</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^timed_for"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">t</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP8" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">t</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> } </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="identifier-syntax">when_count</span><span class="plain-syntax">++;</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax">=0; </span><span class="identifier-syntax">i</span><span class="plain-syntax"><</span><span class="identifier-syntax">when_count</span><span class="plain-syntax">+1; </span><span class="identifier-syntax">i</span><span class="plain-syntax">++) {</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP8" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP8" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::end_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP7" class="function-link"><span class="function-syntax">Synoptic::end_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="5-chr.html#SP1">§1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_5" class="paragraph-anchor"></a><b>§1.5. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Define PASTACTIONSI6ROUTINES</span><span class="named-paragraph-number">1.5</span></span><span class="comment-syntax"> =</span>
|
||||
|
@ -179,16 +179,16 @@ over the Inter tree. Each needs its own set of unique IDs.
|
|||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">iname</span><span class="plain-syntax"> = </span><span class="identifier-syntax">HierarchyLocations::find</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="constant-syntax">PASTACTIONSI6ROUTINES_HL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::begin_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP7" class="function-link"><span class="function-syntax">Synoptic::begin_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax">=0; </span><span class="identifier-syntax">i</span><span class="function-syntax"><TreeLists::len(inv-></span><span class="element-syntax">action_history_condition_nodes</span><span class="plain-syntax">); </span><span class="identifier-syntax">i</span><span class="plain-syntax">++) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Package::defined_by_frame</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">action_history_condition_nodes</span><span class="plain-syntax">-></span><span class="identifier-syntax">list</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">].</span><span class="identifier-syntax">node</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">fn_s</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Metadata::read_symbol</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^value"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">fn_s</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) </span><span class="identifier-syntax">internal_error</span><span class="plain-syntax">(</span><span class="string-syntax">"no pap_fn"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::symbol_entry</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">fn_s</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP8" class="function-link"><span class="function-syntax">Synoptic::symbol_entry</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">fn_s</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::end_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP8" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP8" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP7" class="function-link"><span class="function-syntax">Synoptic::end_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="5-chr.html#SP1">§1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_6" class="paragraph-anchor"></a><b>§1.6. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Define TESTSINGLEPASTSTATE</span><span class="named-paragraph-number">1.6</span></span><span class="comment-syntax"> =</span>
|
||||
|
@ -197,14 +197,14 @@ over the Inter tree. Each needs its own set of unique IDs.
|
|||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">iname</span><span class="plain-syntax"> = </span><span class="identifier-syntax">HierarchyLocations::find</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="constant-syntax">TESTSINGLEPASTSTATE_HL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::begin_function</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">past_flag_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::local</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"past_flag"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pt_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::local</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"pt"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">turn_end_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::local</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"turn_end"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">wanted_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::local</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"wanted"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">old_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::local</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"old"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">new_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::local</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"new"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">trips_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::local</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"trips"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">consecutives_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::local</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"consecutives"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">past_flag_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP6" class="function-link"><span class="function-syntax">Synoptic::local</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"past_flag"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pt_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP6" class="function-link"><span class="function-syntax">Synoptic::local</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"pt"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">turn_end_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP6" class="function-link"><span class="function-syntax">Synoptic::local</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"turn_end"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">wanted_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP6" class="function-link"><span class="function-syntax">Synoptic::local</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"wanted"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">old_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP6" class="function-link"><span class="function-syntax">Synoptic::local</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"old"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">new_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP6" class="function-link"><span class="function-syntax">Synoptic::local</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"new"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">trips_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP6" class="function-link"><span class="function-syntax">Synoptic::local</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"trips"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">consecutives_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP6" class="function-link"><span class="function-syntax">Synoptic::local</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"consecutives"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">TreeLists::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">past_tense_condition_nodes</span><span class="plain-syntax">) > </span><span class="constant-syntax">0</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">prcr_s</span><span class="plain-syntax"> = </span><span class="identifier-syntax">InterNames::to_symbol</span><span class="plain-syntax">(</span><span class="identifier-syntax">HierarchyLocations::find</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="constant-syntax">PRESENT_CHRONOLOGICAL_RECORD_HL</span><span class="plain-syntax">));</span>
|
||||
|
|
|
@ -77,28 +77,37 @@ function togglePopup(material_id) {
|
|||
contain the material compiled from extensions. We must allocate each one a unique ID.
|
||||
</p>
|
||||
|
||||
<p class="commentary">As this is called, <a href="5-su.html" class="internal">Synoptic Utilities</a> has already formed a list <span class="extract"><span class="extract-syntax">extension_nodes</span></span>
|
||||
of packages of type <span class="extract"><span class="extract-syntax">_module</span></span> which derive from extensions.
|
||||
<p class="commentary">Our inventory <span class="extract"><span class="extract-syntax">inv</span></span> already contains a list <span class="extract"><span class="extract-syntax">inv->extension_nodes</span></span> of packages
|
||||
with the type <span class="extract"><span class="extract-syntax">_module</span></span> which derive from extensions.
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">SynopticExtensions::compile</span><button class="popup" onclick="togglePopup('usagePopup1')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup1">Usage of <span class="code-font"><span class="function-syntax">SynopticExtensions::compile</span></span>:<br/>Make Synoptic Module Stage - <a href="5-msms.html#SP1">§1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="reserved-syntax">pipeline_step</span><span class="plain-syntax"> *</span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="reserved-syntax">tree_inventory</span><span class="plain-syntax"> *</span><span class="identifier-syntax">inv</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">TreeLists::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">extension_nodes</span><span class="plain-syntax">) > </span><span class="constant-syntax">0</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">extension_nodes</span><span class="plain-syntax">, </span><a href="5-su.html#SP2" class="function-link"><span class="function-syntax">Synoptic::category_order</span></a><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax">=0; </span><span class="identifier-syntax">i</span><span class="function-syntax"><TreeLists::len(inv-></span><span class="element-syntax">extension_nodes</span><span class="plain-syntax">); </span><span class="identifier-syntax">i</span><span class="plain-syntax">++) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Package::defined_by_frame</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">extension_nodes</span><span class="plain-syntax">-></span><span class="identifier-syntax">list</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">].</span><span class="identifier-syntax">node</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">D</span><span class="plain-syntax"> = </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::get_definition</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"extension_id"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">D</span><span class="plain-syntax">-></span><span class="identifier-syntax">W</span><span class="plain-syntax">.</span><span class="identifier-syntax">data</span><span class="plain-syntax">[</span><span class="identifier-syntax">DATA_CONST_IFLD</span><span class="plain-syntax">+1] = (</span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax">) (</span><span class="identifier-syntax">i</span><span class="plain-syntax"> + </span><span class="constant-syntax">1</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-ext.html#SP1_1" class="named-paragraph-link"><span class="named-paragraph">Define SHOWEXTENSIONVERSIONS function</span><span class="named-paragraph-number">1.1</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-ext.html#SP1_2" class="named-paragraph-link"><span class="named-paragraph">Define SHOWFULLEXTENSIONVERSIONS function</span><span class="named-paragraph-number">1.2</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-ext.html#SP1_3" class="named-paragraph-link"><span class="named-paragraph">Define SHOWONEEXTENSION function</span><span class="named-paragraph-number">1.3</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">TreeLists::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">extension_nodes</span><span class="plain-syntax">) > </span><span class="constant-syntax">0</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="5-ext.html#SP1_1" class="named-paragraph-link"><span class="named-paragraph">Assign unique extension ID numbers</span><span class="named-paragraph-number">1.1</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-ext.html#SP1_2" class="named-paragraph-link"><span class="named-paragraph">Define SHOWEXTENSIONVERSIONS function</span><span class="named-paragraph-number">1.2</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-ext.html#SP1_3" class="named-paragraph-link"><span class="named-paragraph">Define SHOWFULLEXTENSIONVERSIONS function</span><span class="named-paragraph-number">1.3</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-ext.html#SP1_4" class="named-paragraph-link"><span class="named-paragraph">Define SHOWONEEXTENSION function</span><span class="named-paragraph-number">1.4</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP1_1" class="paragraph-anchor"></a><b>§1.1. </b>Extensions have an obvious effect at runtime — they include extra material.
|
||||
But there are also just three functions which deal with extensions as if
|
||||
they were values; all of them simply print credits out.
|
||||
<p class="commentary firstcommentary"><a id="SP1_1" class="paragraph-anchor"></a><b>§1.1. </b>Each extension module contains a numeric constant with the symbol name <span class="extract"><span class="extract-syntax">extension_id</span></span>.
|
||||
We want to ensure that these ID numbers are contiguous from 1 and never duplicated,
|
||||
so we change the values of these constants accordingly.
|
||||
</p>
|
||||
|
||||
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Assign unique extension ID numbers</span><span class="named-paragraph-number">1.1</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">extension_nodes</span><span class="plain-syntax">, </span><a href="5-msms.html#SP6" class="function-link"><span class="function-syntax">MakeSynopticModuleStage::category_order</span></a><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax">=0; </span><span class="identifier-syntax">i</span><span class="function-syntax"><TreeLists::len(inv-></span><span class="element-syntax">extension_nodes</span><span class="plain-syntax">); </span><span class="identifier-syntax">i</span><span class="plain-syntax">++) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax"> =</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Inter::Package::defined_by_frame</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">extension_nodes</span><span class="plain-syntax">-></span><span class="identifier-syntax">list</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">].</span><span class="identifier-syntax">node</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">D</span><span class="plain-syntax"> = </span><a href="5-su.html#SP1" class="function-link"><span class="function-syntax">Synoptic::get_definition</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"extension_id"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">D</span><span class="plain-syntax">-></span><span class="identifier-syntax">W</span><span class="plain-syntax">.</span><span class="identifier-syntax">data</span><span class="plain-syntax">[</span><span class="identifier-syntax">DATA_CONST_IFLD</span><span class="plain-syntax">+1] = (</span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax">) (</span><span class="identifier-syntax">i</span><span class="plain-syntax"> + </span><span class="constant-syntax">1</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="5-ext.html#SP1">§1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_2" class="paragraph-anchor"></a><b>§1.2. </b>Now we compile three functions, each of which simply prints credits out.
|
||||
</p>
|
||||
|
||||
<p class="commentary">This is more important than it may sound because many extensions are published
|
||||
|
@ -119,14 +128,15 @@ of a different author writing an extension which did not ask for modesty. That
|
|||
would violate the CC license.
|
||||
</p>
|
||||
|
||||
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Define SHOWEXTENSIONVERSIONS function</span><span class="named-paragraph-number">1.1</span></span><span class="comment-syntax"> =</span>
|
||||
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Define SHOWEXTENSIONVERSIONS function</span><span class="named-paragraph-number">1.2</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">iname</span><span class="plain-syntax"> = </span><span class="identifier-syntax">HierarchyLocations::find</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="constant-syntax">SHOWEXTENSIONVERSIONS_HL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::begin_function</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax">=0; </span><span class="identifier-syntax">i</span><span class="function-syntax"><TreeLists::len(inv-></span><span class="element-syntax">extension_nodes</span><span class="plain-syntax">); </span><span class="identifier-syntax">i</span><span class="plain-syntax">++) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Package::defined_by_frame</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">extension_nodes</span><span class="plain-syntax">-></span><span class="identifier-syntax">list</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">].</span><span class="identifier-syntax">node</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax"> =</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Inter::Package::defined_by_frame</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">extension_nodes</span><span class="plain-syntax">-></span><span class="identifier-syntax">list</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">].</span><span class="identifier-syntax">node</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">modesty</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Metadata::read_numeric</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^modesty"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">modesty</span><span class="plain-syntax"> == </span><span class="constant-syntax">0</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">credit</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Str::duplicate</span><span class="plain-syntax">(</span><span class="identifier-syntax">Metadata::read_textual</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^credit"</span><span class="plain-syntax">));</span>
|
||||
|
@ -140,10 +150,10 @@ would violate the CC license.
|
|||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::end_function</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="5-ext.html#SP1">§1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_2" class="paragraph-anchor"></a><b>§1.2. </b>This fuller version does not allow the exemptions.
|
||||
<p class="commentary firstcommentary"><a id="SP1_3" class="paragraph-anchor"></a><b>§1.3. </b>This fuller version does not allow the exemptions.
|
||||
</p>
|
||||
|
||||
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Define SHOWFULLEXTENSIONVERSIONS function</span><span class="named-paragraph-number">1.2</span></span><span class="comment-syntax"> =</span>
|
||||
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Define SHOWFULLEXTENSIONVERSIONS function</span><span class="named-paragraph-number">1.3</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
|
@ -161,17 +171,18 @@ would violate the CC license.
|
|||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::end_function</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="5-ext.html#SP1">§1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_3" class="paragraph-anchor"></a><b>§1.3. </b>This prints the name of a single extension, identified by a value which
|
||||
is its extension ID.
|
||||
<p class="commentary firstcommentary"><a id="SP1_4" class="paragraph-anchor"></a><b>§1.4. </b>This prints the name of a single extension, identified by a value which
|
||||
is its extension ID. Speed of execution here is quite unimportant, so it's
|
||||
just a run of <span class="extract"><span class="extract-syntax">if (id == 1) ...</span></span>, then <span class="extract"><span class="extract-syntax">if (id == 2) ...</span></span>, and so on.
|
||||
</p>
|
||||
|
||||
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Define SHOWONEEXTENSION function</span><span class="named-paragraph-number">1.3</span></span><span class="comment-syntax"> =</span>
|
||||
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Define SHOWONEEXTENSION function</span><span class="named-paragraph-number">1.4</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">iname</span><span class="plain-syntax"> = </span><span class="identifier-syntax">HierarchyLocations::find</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="constant-syntax">SHOWONEEXTENSION_HL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::begin_function</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">id_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::local</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"id"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">id_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP6" class="function-link"><span class="function-syntax">Synoptic::local</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"id"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax">=0; </span><span class="identifier-syntax">i</span><span class="function-syntax"><TreeLists::len(inv-></span><span class="element-syntax">extension_nodes</span><span class="plain-syntax">); </span><span class="identifier-syntax">i</span><span class="plain-syntax">++) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Package::defined_by_frame</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">extension_nodes</span><span class="plain-syntax">-></span><span class="identifier-syntax">list</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">].</span><span class="identifier-syntax">node</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">credit</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Metadata::read_textual</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^credit"</span><span class="plain-syntax">);</span>
|
||||
|
|
|
@ -86,7 +86,7 @@ of packages of type <span class="extract"><span class="extract-syntax">_instance
|
|||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">SynopticInstances::compile</span><button class="popup" onclick="togglePopup('usagePopup1')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup1">Usage of <span class="code-font"><span class="function-syntax">SynopticInstances::compile</span></span>:<br/>Make Synoptic Module Stage - <a href="5-msms.html#SP1">§1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="reserved-syntax">pipeline_step</span><span class="plain-syntax"> *</span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="reserved-syntax">tree_inventory</span><span class="plain-syntax"> *</span><span class="identifier-syntax">inv</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">TreeLists::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">instance_nodes</span><span class="plain-syntax">) > </span><span class="constant-syntax">0</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">instance_nodes</span><span class="plain-syntax">, </span><a href="5-su.html#SP2" class="function-link"><span class="function-syntax">Synoptic::module_order</span></a><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">instance_nodes</span><span class="plain-syntax">, </span><a href="5-msms.html#SP6" class="function-link"><span class="function-syntax">MakeSynopticModuleStage::module_order</span></a><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-ins.html#SP1_1" class="named-paragraph-link"><span class="named-paragraph">Define SHOWMEINSTANCEDETAILS function</span><span class="named-paragraph-number">1.1</span></a></span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
@ -97,9 +97,9 @@ of packages of type <span class="extract"><span class="extract-syntax">_instance
|
|||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">iname</span><span class="plain-syntax"> = </span><span class="identifier-syntax">HierarchyLocations::find</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="constant-syntax">SHOWMEINSTANCEDETAILS_HL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::begin_function</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">which_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::local</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"which"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">na_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::local</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"na"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">t_0_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::local</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"t_0"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">which_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP6" class="function-link"><span class="function-syntax">Synoptic::local</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"which"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">na_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP6" class="function-link"><span class="function-syntax">Synoptic::local</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"na"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">t_0_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP6" class="function-link"><span class="function-syntax">Synoptic::local</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"t_0"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax">=0; </span><span class="identifier-syntax">i</span><span class="function-syntax"><TreeLists::len(inv-></span><span class="element-syntax">instance_nodes</span><span class="plain-syntax">); </span><span class="identifier-syntax">i</span><span class="plain-syntax">++) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Package::defined_by_frame</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">instance_nodes</span><span class="plain-syntax">-></span><span class="identifier-syntax">list</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">].</span><span class="identifier-syntax">node</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">showme_s</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Metadata::read_optional_symbol</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^showme_fn"</span><span class="plain-syntax">);</span>
|
||||
|
|
|
@ -98,7 +98,7 @@ of packages of type <span class="extract"><span class="extract-syntax">_kind</sp
|
|||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">SynopticKinds::compile</span><button class="popup" onclick="togglePopup('usagePopup1')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup1">Usage of <span class="code-font"><span class="function-syntax">SynopticKinds::compile</span></span>:<br/>Make Synoptic Module Stage - <a href="5-msms.html#SP1">§1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="reserved-syntax">pipeline_step</span><span class="plain-syntax"> *</span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="reserved-syntax">tree_inventory</span><span class="plain-syntax"> *</span><span class="identifier-syntax">inv</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">TreeLists::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">kind_nodes</span><span class="plain-syntax">) > </span><span class="constant-syntax">0</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">kind_nodes</span><span class="plain-syntax">, </span><a href="5-su.html#SP2" class="function-link"><span class="function-syntax">Synoptic::module_order</span></a><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">kind_nodes</span><span class="plain-syntax">, </span><a href="5-msms.html#SP6" class="function-link"><span class="function-syntax">MakeSynopticModuleStage::module_order</span></a><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax">=0; </span><span class="identifier-syntax">i</span><span class="function-syntax"><TreeLists::len(inv-></span><span class="element-syntax">kind_nodes</span><span class="plain-syntax">); </span><span class="identifier-syntax">i</span><span class="plain-syntax">++) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Package::defined_by_frame</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">kind_nodes</span><span class="plain-syntax">-></span><span class="identifier-syntax">list</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">].</span><span class="identifier-syntax">node</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">id_s</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Metadata::read_optional_symbol</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^strong_id"</span><span class="plain-syntax">);</span>
|
||||
|
@ -106,7 +106,7 @@ of packages of type <span class="extract"><span class="extract-syntax">_kind</sp
|
|||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">TreeLists::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">derived_kind_nodes</span><span class="plain-syntax">) > </span><span class="constant-syntax">0</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">derived_kind_nodes</span><span class="plain-syntax">, </span><a href="5-su.html#SP2" class="function-link"><span class="function-syntax">Synoptic::module_order</span></a><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">derived_kind_nodes</span><span class="plain-syntax">, </span><a href="5-msms.html#SP6" class="function-link"><span class="function-syntax">MakeSynopticModuleStage::module_order</span></a><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-knd.html#SP1_1" class="named-paragraph-link"><span class="named-paragraph">Define BASE_KIND_HWM</span><span class="named-paragraph-number">1.1</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-knd.html#SP1_2" class="named-paragraph-link"><span class="named-paragraph">Define DEFAULTVALUEFINDER function</span><span class="named-paragraph-number">1.2</span></a></span><span class="plain-syntax">;</span>
|
||||
|
@ -136,12 +136,12 @@ of packages of type <span class="extract"><span class="extract-syntax">_kind</sp
|
|||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">iname</span><span class="plain-syntax"> = </span><span class="identifier-syntax">HierarchyLocations::find</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="constant-syntax">DEFAULTVALUEFINDER_HL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::begin_function</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">k_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::local</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"k"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">k_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP6" class="function-link"><span class="function-syntax">Synoptic::local</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"k"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax">=0; </span><span class="identifier-syntax">i</span><span class="function-syntax"><TreeLists::len(inv-></span><span class="element-syntax">derived_kind_nodes</span><span class="plain-syntax">); </span><span class="identifier-syntax">i</span><span class="plain-syntax">++) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Package::defined_by_frame</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">derived_kind_nodes</span><span class="plain-syntax">-></span><span class="identifier-syntax">list</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">].</span><span class="identifier-syntax">node</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Metadata::read_numeric</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^default_value_needed"</span><span class="plain-syntax">)) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">rks_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP3" class="function-link"><span class="function-syntax">Synoptic::get_symbol</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"strong_id"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">dv_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP3" class="function-link"><span class="function-syntax">Synoptic::get_symbol</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"default_value"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">rks_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP1" class="function-link"><span class="function-syntax">Synoptic::get_symbol</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"strong_id"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">dv_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP1" class="function-link"><span class="function-syntax">Synoptic::get_symbol</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"default_value"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Produce::inv_primitive</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">IF_BIP</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Produce::down</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Produce::inv_primitive</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">EQ_BIP</span><span class="plain-syntax">);</span>
|
||||
|
@ -174,8 +174,8 @@ which have to be given some type-safe value to start out at.
|
|||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">iname</span><span class="plain-syntax"> = </span><span class="identifier-syntax">HierarchyLocations::find</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="constant-syntax">DEFAULTVALUEOFKOV_HL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::begin_function</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">sk_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::local</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"sk"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">k_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::local</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"k"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">sk_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP6" class="function-link"><span class="function-syntax">Synoptic::local</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"sk"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">k_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP6" class="function-link"><span class="function-syntax">Synoptic::local</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"k"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Produce::inv_primitive</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">STORE_BIP</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Produce::down</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Produce::ref_symbol</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">K_value</span><span class="plain-syntax">, </span><span class="identifier-syntax">k_s</span><span class="plain-syntax">);</span>
|
||||
|
@ -225,8 +225,8 @@ which have to be given some type-safe value to start out at.
|
|||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">iname</span><span class="plain-syntax"> = </span><span class="identifier-syntax">HierarchyLocations::find</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="constant-syntax">PRINTKINDVALUEPAIR_HL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::begin_function</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">k_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::local</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"k"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">v_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::local</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"v"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">k_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP6" class="function-link"><span class="function-syntax">Synoptic::local</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"k"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">v_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP6" class="function-link"><span class="function-syntax">Synoptic::local</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"v"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Produce::inv_primitive</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">STORE_BIP</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Produce::down</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Produce::ref_symbol</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">K_value</span><span class="plain-syntax">, </span><span class="identifier-syntax">k_s</span><span class="plain-syntax">);</span>
|
||||
|
@ -290,7 +290,7 @@ unless the two values are genuinely equal.
|
|||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">iname</span><span class="plain-syntax"> = </span><span class="identifier-syntax">HierarchyLocations::find</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="constant-syntax">KOVCOMPARISONFUNCTION_HL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::begin_function</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">k_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::local</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"k"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">k_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP6" class="function-link"><span class="function-syntax">Synoptic::local</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"k"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Produce::inv_primitive</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">STORE_BIP</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Produce::down</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Produce::ref_symbol</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">K_value</span><span class="plain-syntax">, </span><span class="identifier-syntax">k_s</span><span class="plain-syntax">);</span>
|
||||
|
@ -334,7 +334,7 @@ unless the two values are genuinely equal.
|
|||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">iname</span><span class="plain-syntax"> = </span><span class="identifier-syntax">HierarchyLocations::find</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="constant-syntax">KOVDOMAINSIZE_HL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::begin_function</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">k_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::local</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"k"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">k_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP6" class="function-link"><span class="function-syntax">Synoptic::local</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"k"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Produce::inv_primitive</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">STORE_BIP</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Produce::down</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Produce::ref_symbol</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">K_value</span><span class="plain-syntax">, </span><span class="identifier-syntax">k_s</span><span class="plain-syntax">);</span>
|
||||
|
@ -382,7 +382,7 @@ a kind storing pointers to blocks of data.
|
|||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">iname</span><span class="plain-syntax"> = </span><span class="identifier-syntax">HierarchyLocations::find</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="constant-syntax">KOVISBLOCKVALUE_HL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::begin_function</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">k_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::local</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"k"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">k_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP6" class="function-link"><span class="function-syntax">Synoptic::local</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"k"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Produce::inv_primitive</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">STORE_BIP</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Produce::down</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">);</span>
|
||||
|
@ -424,7 +424,7 @@ a kind storing pointers to blocks of data.
|
|||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">iname</span><span class="plain-syntax"> = </span><span class="identifier-syntax">HierarchyLocations::find</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="constant-syntax">I7_KIND_NAME_HL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::begin_function</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">k_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::local</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"k"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">k_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP6" class="function-link"><span class="function-syntax">Synoptic::local</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"k"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax">=0; </span><span class="identifier-syntax">i</span><span class="function-syntax"><TreeLists::len(inv-></span><span class="element-syntax">kind_nodes</span><span class="plain-syntax">); </span><span class="identifier-syntax">i</span><span class="plain-syntax">++) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Package::defined_by_frame</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">kind_nodes</span><span class="plain-syntax">-></span><span class="identifier-syntax">list</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">].</span><span class="identifier-syntax">node</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">class_s</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Metadata::read_optional_symbol</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^object_class"</span><span class="plain-syntax">);</span>
|
||||
|
@ -461,8 +461,8 @@ such a function does, see "BlockValues.i6t".
|
|||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">iname</span><span class="plain-syntax"> = </span><span class="identifier-syntax">HierarchyLocations::find</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="constant-syntax">KOVSUPPORTFUNCTION_HL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::begin_function</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">k_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::local</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"k"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">fail_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::local</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"fail"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">k_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP6" class="function-link"><span class="function-syntax">Synoptic::local</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"k"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">fail_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP6" class="function-link"><span class="function-syntax">Synoptic::local</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"fail"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Produce::inv_primitive</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">STORE_BIP</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Produce::down</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">);</span>
|
||||
|
@ -521,9 +521,9 @@ such a function does, see "BlockValues.i6t".
|
|||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">iname</span><span class="plain-syntax"> = </span><span class="identifier-syntax">HierarchyLocations::find</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="constant-syntax">SHOWMEKINDDETAILS_HL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::begin_function</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">which_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::local</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"which"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">na_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::local</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"na"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">t_0_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::local</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"t_0"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">which_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP6" class="function-link"><span class="function-syntax">Synoptic::local</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"which"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">na_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP6" class="function-link"><span class="function-syntax">Synoptic::local</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"na"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">t_0_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP6" class="function-link"><span class="function-syntax">Synoptic::local</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"t_0"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax">=0; </span><span class="identifier-syntax">i</span><span class="function-syntax"><TreeLists::len(inv-></span><span class="element-syntax">kind_nodes</span><span class="plain-syntax">); </span><span class="identifier-syntax">i</span><span class="plain-syntax">++) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Package::defined_by_frame</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">kind_nodes</span><span class="plain-syntax">-></span><span class="identifier-syntax">list</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">].</span><span class="identifier-syntax">node</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Metadata::read_optional_numeric</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^is_object"</span><span class="plain-syntax">)) {</span>
|
||||
|
@ -607,25 +607,25 @@ a kind of thing.
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">Inter::Symbols::annotate_i</span><span class="plain-syntax">(</span><span class="identifier-syntax">kind_name</span><span class="plain-syntax">, </span><span class="identifier-syntax">OBJECT_KIND_COUNTER_IANN</span><span class="plain-syntax">, (</span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax">) </span><span class="identifier-syntax">i</span><span class="plain-syntax">++);</span>
|
||||
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">iname</span><span class="plain-syntax"> = </span><span class="identifier-syntax">HierarchyLocations::find</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="constant-syntax">KINDHIERARCHY_HL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::begin_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP7" class="function-link"><span class="function-syntax">Synoptic::begin_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">LinkedLists::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">L</span><span class="plain-syntax">) > </span><span class="constant-syntax">0</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::symbol_entry</span></a><span class="plain-syntax">(</span><a href="2-rp.html#SP5" class="function-link"><span class="function-syntax">RunningPipelines::get_symbol</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="constant-syntax">object_kind_RPSYM</span><span class="plain-syntax">));</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP8" class="function-link"><span class="function-syntax">Synoptic::symbol_entry</span></a><span class="plain-syntax">(</span><a href="2-rp.html#SP5" class="function-link"><span class="function-syntax">RunningPipelines::get_symbol</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="constant-syntax">object_kind_RPSYM</span><span class="plain-syntax">));</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP8" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">kind_name</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER_LINKED_LIST</span><span class="plain-syntax">(</span><span class="identifier-syntax">kind_name</span><span class="plain-syntax">, </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax">, </span><span class="identifier-syntax">ordered_L</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::symbol_entry</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">kind_name</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP8" class="function-link"><span class="function-syntax">Synoptic::symbol_entry</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">kind_name</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">super_name</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Kind::super</span><span class="plain-syntax">(</span><span class="identifier-syntax">kind_name</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> ((</span><span class="identifier-syntax">super_name</span><span class="plain-syntax">) && (</span><span class="identifier-syntax">super_name</span><span class="plain-syntax"> != </span><a href="2-rp.html#SP5" class="function-link"><span class="function-syntax">RunningPipelines::get_symbol</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="constant-syntax">object_kind_RPSYM</span><span class="plain-syntax">))) {</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(</span><a href="5-knd.html#SP2" class="function-link"><span class="function-syntax">SynopticKinds::kind_of_object_count</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="identifier-syntax">super_name</span><span class="plain-syntax">));</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP8" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(</span><a href="5-knd.html#SP2" class="function-link"><span class="function-syntax">SynopticKinds::kind_of_object_count</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="identifier-syntax">super_name</span><span class="plain-syntax">));</span>
|
||||
<span class="plain-syntax"> } </span><span class="reserved-syntax">else</span><span class="plain-syntax"> {</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP8" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> } </span><span class="reserved-syntax">else</span><span class="plain-syntax"> {</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP8" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP8" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::end_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP7" class="function-link"><span class="function-syntax">Synoptic::end_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="5-knd.html#SP1">§1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP2" class="paragraph-anchor"></a><b>§2. </b></p>
|
||||
|
|
|
@ -136,7 +136,7 @@ this will be executed on the first <span class="extract"><span class="extract-sy
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">A</span><span class="plain-syntax">, </span><span class="string-syntax">"alphabetised_text_%d"</span><span class="plain-syntax">, </span><span class="identifier-syntax">j</span><span class="plain-syntax">++);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">alpha_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP3" class="function-link"><span class="function-syntax">Synoptic::new_symbol</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">texts_pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">A</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">DISCARD_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">A</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP4" class="function-link"><span class="function-syntax">Synoptic::def_textual_constant</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="identifier-syntax">alpha_s</span><span class="plain-syntax">, </span><span class="identifier-syntax">S</span><span class="plain-syntax">, &</span><span class="identifier-syntax">IBM</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP4" class="function-link"><span class="function-syntax">Synoptic::textual_constant</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="identifier-syntax">alpha_s</span><span class="plain-syntax">, </span><span class="identifier-syntax">S</span><span class="plain-syntax">, &</span><span class="identifier-syntax">IBM</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">latest_s</span><span class="plain-syntax"> = </span><span class="identifier-syntax">alpha_s</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">latest_text</span><span class="plain-syntax"> = </span><span class="identifier-syntax">S</span><span class="plain-syntax">;</span>
|
||||
</pre>
|
||||
|
|
|
@ -84,13 +84,13 @@ of instances having the kind <span class="extract"><span class="extract-syntax">
|
|||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">SynopticMultimedia::compile</span><button class="popup" onclick="togglePopup('usagePopup1')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup1">Usage of <span class="code-font"><span class="function-syntax">SynopticMultimedia::compile</span></span>:<br/>Make Synoptic Module Stage - <a href="5-msms.html#SP1">§1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="reserved-syntax">pipeline_step</span><span class="plain-syntax"> *</span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="reserved-syntax">tree_inventory</span><span class="plain-syntax"> *</span><span class="identifier-syntax">inv</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">TreeLists::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">figure_nodes</span><span class="plain-syntax">) > </span><span class="constant-syntax">0</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">figure_nodes</span><span class="plain-syntax">, </span><a href="5-su.html#SP2" class="function-link"><span class="function-syntax">Synoptic::module_order</span></a><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">figure_nodes</span><span class="plain-syntax">, </span><a href="5-msms.html#SP6" class="function-link"><span class="function-syntax">MakeSynopticModuleStage::module_order</span></a><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">TreeLists::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">sound_nodes</span><span class="plain-syntax">) > </span><span class="constant-syntax">0</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">sound_nodes</span><span class="plain-syntax">, </span><a href="5-su.html#SP2" class="function-link"><span class="function-syntax">Synoptic::module_order</span></a><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">sound_nodes</span><span class="plain-syntax">, </span><a href="5-msms.html#SP6" class="function-link"><span class="function-syntax">MakeSynopticModuleStage::module_order</span></a><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">TreeLists::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">file_nodes</span><span class="plain-syntax">) > </span><span class="constant-syntax">0</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">file_nodes</span><span class="plain-syntax">, </span><a href="5-su.html#SP2" class="function-link"><span class="function-syntax">Synoptic::module_order</span></a><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">file_nodes</span><span class="plain-syntax">, </span><a href="5-msms.html#SP6" class="function-link"><span class="function-syntax">MakeSynopticModuleStage::module_order</span></a><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-mlt.html#SP1_1" class="named-paragraph-link"><span class="named-paragraph">Define RESOURCEIDSOFFIGURES array</span><span class="named-paragraph-number">1.1</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-mlt.html#SP1_2" class="named-paragraph-link"><span class="named-paragraph">Define RESOURCEIDSOFSOUNDS array</span><span class="named-paragraph-number">1.2</span></a></span><span class="plain-syntax">;</span>
|
||||
|
@ -103,15 +103,15 @@ of instances having the kind <span class="extract"><span class="extract-syntax">
|
|||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">iname</span><span class="plain-syntax"> = </span><span class="identifier-syntax">HierarchyLocations::find</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="constant-syntax">RESOURCEIDSOFFIGURES_HL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::begin_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP7" class="function-link"><span class="function-syntax">Synoptic::begin_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP8" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax">=0; </span><span class="identifier-syntax">i</span><span class="function-syntax"><TreeLists::len(inv-></span><span class="element-syntax">figure_nodes</span><span class="plain-syntax">); </span><span class="identifier-syntax">i</span><span class="plain-syntax">++) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Package::defined_by_frame</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">figure_nodes</span><span class="plain-syntax">-></span><span class="identifier-syntax">list</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">].</span><span class="identifier-syntax">node</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">id</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Metadata::read_numeric</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^resource_id"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">id</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP8" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">id</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::end_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP8" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP7" class="function-link"><span class="function-syntax">Synoptic::end_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="5-mlt.html#SP1">§1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_2" class="paragraph-anchor"></a><b>§1.2. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Define RESOURCEIDSOFSOUNDS array</span><span class="named-paragraph-number">1.2</span></span><span class="comment-syntax"> =</span>
|
||||
|
@ -119,15 +119,15 @@ of instances having the kind <span class="extract"><span class="extract-syntax">
|
|||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">iname</span><span class="plain-syntax"> = </span><span class="identifier-syntax">HierarchyLocations::find</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="constant-syntax">RESOURCEIDSOFSOUNDS_HL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::begin_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP7" class="function-link"><span class="function-syntax">Synoptic::begin_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP8" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax">=0; </span><span class="identifier-syntax">i</span><span class="function-syntax"><TreeLists::len(inv-></span><span class="element-syntax">sound_nodes</span><span class="plain-syntax">); </span><span class="identifier-syntax">i</span><span class="plain-syntax">++) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Package::defined_by_frame</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">sound_nodes</span><span class="plain-syntax">-></span><span class="identifier-syntax">list</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">].</span><span class="identifier-syntax">node</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">id</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Metadata::read_numeric</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^resource_id"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">id</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP8" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">id</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::end_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP8" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP7" class="function-link"><span class="function-syntax">Synoptic::end_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="5-mlt.html#SP1">§1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_3" class="paragraph-anchor"></a><b>§1.3. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Define NO_EXTERNAL_FILES</span><span class="named-paragraph-number">1.3</span></span><span class="comment-syntax"> =</span>
|
||||
|
@ -143,15 +143,15 @@ of instances having the kind <span class="extract"><span class="extract-syntax">
|
|||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">iname</span><span class="plain-syntax"> = </span><span class="identifier-syntax">HierarchyLocations::find</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="constant-syntax">TABLEOFEXTERNALFILES_HL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::begin_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP7" class="function-link"><span class="function-syntax">Synoptic::begin_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP8" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax">=0; </span><span class="identifier-syntax">i</span><span class="function-syntax"><TreeLists::len(inv-></span><span class="element-syntax">file_nodes</span><span class="plain-syntax">); </span><span class="identifier-syntax">i</span><span class="plain-syntax">++) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Package::defined_by_frame</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">file_nodes</span><span class="plain-syntax">-></span><span class="identifier-syntax">list</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">].</span><span class="identifier-syntax">node</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">vc_s</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Metadata::read_symbol</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^file_value"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::symbol_entry</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">vc_s</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP8" class="function-link"><span class="function-syntax">Synoptic::symbol_entry</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">vc_s</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::end_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP8" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP7" class="function-link"><span class="function-syntax">Synoptic::end_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="5-mlt.html#SP1">§1</a>.</li></ul>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
|
|
|
@ -73,7 +73,14 @@ function togglePopup(material_id) {
|
|||
<ul class="crumbs"><li><a href="../index.html">Home</a></li><li><a href="../compiler.html">Inter Modules</a></li><li><a href="index.html">pipeline</a></li><li><a href="index.html#5">Chapter 5: Synoptic Module</a></li><li><b>Make Synoptic Module Stage</b></li></ul></div>
|
||||
<p class="purpose">Creating a top-level module of synoptic resources.</p>
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP1" class="paragraph-anchor"></a><b>§1. </b></p>
|
||||
<p class="commentary firstcommentary"><a id="SP1" class="paragraph-anchor"></a><b>§1. </b>At this point the tree contains one module for each compilation unit included
|
||||
in the link: which is a fancy way of saying, it contains one module for the
|
||||
main source text, ohe for each extension, and one each for each kit included.
|
||||
</p>
|
||||
|
||||
<p class="commentary">We now add one final module, <span class="extract"><span class="extract-syntax">/main/synoptic</span></span>, which contains resources compiled
|
||||
together from all of the others.
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">MakeSynopticModuleStage::create_pipeline_stage</span><button class="popup" onclick="togglePopup('usagePopup1')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup1">Usage of <span class="code-font"><span class="function-syntax">MakeSynopticModuleStage::create_pipeline_stage</span></span>:<br/>Parsing Pipelines - <a href="2-pp.html#SP10">§10</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">void</span><span class="plain-syntax">) {</span>
|
||||
|
@ -83,7 +90,10 @@ function togglePopup(material_id) {
|
|||
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">MakeSynopticModuleStage::run</span><span class="plain-syntax">(</span><span class="reserved-syntax">pipeline_step</span><span class="plain-syntax"> *</span><span class="identifier-syntax">step</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax"> = </span><span class="identifier-syntax">step</span><span class="plain-syntax">-></span><span class="element-syntax">ephemera</span><span class="plain-syntax">.</span><span class="element-syntax">repository</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">tree_inventory</span><span class="plain-syntax"> *</span><span class="identifier-syntax">inv</span><span class="plain-syntax"> = </span><a href="5-su.html#SP1" class="function-link"><span class="function-syntax">Synoptic::inv</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">tree_inventory</span><span class="plain-syntax"> *</span><span class="identifier-syntax">inv</span><span class="plain-syntax"> = </span><a href="5-msms.html#SP5" class="function-link"><span class="function-syntax">MakeSynopticModuleStage::take_inventory_cached</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">);</span>
|
||||
|
||||
<span class="plain-syntax"> </span><a href="5-sh.html#SP1" class="function-link"><span class="function-syntax">SynopticHierarchy::establish</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">); </span><span class="comment-syntax"> in case this has not already been done</span>
|
||||
<span class="plain-syntax"> </span><a href="4-tsk.html#SP1" class="function-link"><span class="function-syntax">KitHierarchy::establish</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">); </span><span class="comment-syntax"> likewise</span>
|
||||
|
||||
<span class="plain-syntax"> </span><a href="5-lt.html#SP1" class="function-link"><span class="function-syntax">SynopticText::compile</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="identifier-syntax">inv</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-act2.html#SP2" class="function-link"><span class="function-syntax">SynopticActions::compile</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="identifier-syntax">inv</span><span class="plain-syntax">);</span>
|
||||
|
@ -107,8 +117,231 @@ function togglePopup(material_id) {
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP2" class="paragraph-anchor"></a><b>§2. </b>The inventory for an Inter tree is an itemisation of packages with particular
|
||||
types: for example, we can ask it to hold a list of <span class="extract"><span class="extract-syntax">_activity</span></span> packages.
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">typedef</span><span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="reserved-syntax">tree_inventory</span><span class="plain-syntax"> {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">of_tree</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="identifier-syntax">linked_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">items</span><span class="plain-syntax">; </span><span class="comment-syntax"> of </span><span class="extract"><span class="extract-syntax">tree_inventory_item</span></span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_location_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">text_nodes</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_location_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">module_nodes</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_location_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">response_nodes</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_location_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">rulebook_nodes</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_location_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">rule_nodes</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_location_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">activity_nodes</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_location_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">action_nodes</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_location_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">property_nodes</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_location_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">extension_nodes</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_location_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">relation_nodes</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_location_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">table_nodes</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_location_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">table_column_nodes</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_location_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">table_column_usage_nodes</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_location_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">action_history_condition_nodes</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_location_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">past_tense_condition_nodes</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_location_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">instance_nodes</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_location_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">scene_nodes</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_location_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">file_nodes</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_location_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">figure_nodes</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_location_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">sound_nodes</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_location_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">use_option_nodes</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_location_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">verb_nodes</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_location_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">modal_verb_nodes</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_location_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">verb_form_nodes</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_location_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">preposition_nodes</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_location_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">adjective_nodes</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_location_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">derived_kind_nodes</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_location_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">kind_nodes</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_location_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">test_nodes</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_location_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">named_action_pattern_nodes</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_location_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">variable_nodes</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_location_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">equation_nodes</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_location_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">heading_nodes</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_location_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">multiplication_rule_nodes</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">CLASS_DEFINITION</span>
|
||||
<span class="plain-syntax">} </span><span class="reserved-syntax">tree_inventory</span><span class="plain-syntax">;</span>
|
||||
|
||||
<span class="reserved-syntax">typedef</span><span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="reserved-syntax">tree_inventory_item</span><span class="plain-syntax"> {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_location_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">node_list</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">required_ptype</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">CLASS_DEFINITION</span>
|
||||
<span class="plain-syntax">} </span><span class="reserved-syntax">tree_inventory_item</span><span class="plain-syntax">;</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>The structure tree_inventory is accessed in 5/ext, 5/lt, 5/rsp, 5/rls, 5/act, 5/act2, 5/ins, 5/knd, 5/prp, 5/rlt, 5/tbl, 5/chr, 5/scn, 5/mlt, 5/uo, 5/vrb, 5/tst and here.</li><li>The structure tree_inventory_item is private to this section.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP3" class="paragraph-anchor"></a><b>§3. </b>Creating one of these is quick enough: when created, it's just a list of
|
||||
requirements.
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">tree_inventory</span><span class="plain-syntax"> *</span><span class="function-syntax">MakeSynopticModuleStage::new_inventory</span><button class="popup" onclick="togglePopup('usagePopup2')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup2">Usage of <span class="code-font"><span class="function-syntax">MakeSynopticModuleStage::new_inventory</span></span>:<br/><a href="5-msms.html#SP4">§4</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">tree_inventory</span><span class="plain-syntax"> *</span><span class="identifier-syntax">inv</span><span class="plain-syntax"> = </span><span class="identifier-syntax">CREATE</span><span class="plain-syntax">(</span><span class="reserved-syntax">tree_inventory</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">of_tree</span><span class="plain-syntax"> = </span><span class="identifier-syntax">I</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">items</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NEW_LINKED_LIST</span><span class="plain-syntax">(</span><span class="reserved-syntax">tree_inventory_item</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">text_nodes</span><span class="plain-syntax"> = </span><span class="identifier-syntax">TreeLists::new</span><span class="plain-syntax">();</span>
|
||||
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">response_nodes</span><span class="plain-syntax"> = </span><a href="5-msms.html#SP3" class="function-link"><span class="function-syntax">MakeSynopticModuleStage::needs</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"_response"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">rulebook_nodes</span><span class="plain-syntax"> = </span><a href="5-msms.html#SP3" class="function-link"><span class="function-syntax">MakeSynopticModuleStage::needs</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"_rulebook"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">rule_nodes</span><span class="plain-syntax"> = </span><a href="5-msms.html#SP3" class="function-link"><span class="function-syntax">MakeSynopticModuleStage::needs</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"_rule"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">activity_nodes</span><span class="plain-syntax"> = </span><a href="5-msms.html#SP3" class="function-link"><span class="function-syntax">MakeSynopticModuleStage::needs</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"_activity"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">action_nodes</span><span class="plain-syntax"> = </span><a href="5-msms.html#SP3" class="function-link"><span class="function-syntax">MakeSynopticModuleStage::needs</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"_action"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">property_nodes</span><span class="plain-syntax"> = </span><a href="5-msms.html#SP3" class="function-link"><span class="function-syntax">MakeSynopticModuleStage::needs</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"_property"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">relation_nodes</span><span class="plain-syntax"> = </span><a href="5-msms.html#SP3" class="function-link"><span class="function-syntax">MakeSynopticModuleStage::needs</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"_relation"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">table_nodes</span><span class="plain-syntax"> = </span><a href="5-msms.html#SP3" class="function-link"><span class="function-syntax">MakeSynopticModuleStage::needs</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"_table"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">table_column_nodes</span><span class="plain-syntax"> = </span><a href="5-msms.html#SP3" class="function-link"><span class="function-syntax">MakeSynopticModuleStage::needs</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"_table_column"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">table_column_usage_nodes</span><span class="plain-syntax"> = </span><a href="5-msms.html#SP3" class="function-link"><span class="function-syntax">MakeSynopticModuleStage::needs</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"_table_column_usage"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">action_history_condition_nodes</span><span class="plain-syntax"> = </span><a href="5-msms.html#SP3" class="function-link"><span class="function-syntax">MakeSynopticModuleStage::needs</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"_action_history_condition"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">past_tense_condition_nodes</span><span class="plain-syntax"> = </span><a href="5-msms.html#SP3" class="function-link"><span class="function-syntax">MakeSynopticModuleStage::needs</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"_past_condition"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">use_option_nodes</span><span class="plain-syntax"> = </span><a href="5-msms.html#SP3" class="function-link"><span class="function-syntax">MakeSynopticModuleStage::needs</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"_use_option"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">verb_nodes</span><span class="plain-syntax"> = </span><a href="5-msms.html#SP3" class="function-link"><span class="function-syntax">MakeSynopticModuleStage::needs</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"_verb"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">modal_verb_nodes</span><span class="plain-syntax"> = </span><a href="5-msms.html#SP3" class="function-link"><span class="function-syntax">MakeSynopticModuleStage::needs</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"_modal_verb"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">verb_form_nodes</span><span class="plain-syntax"> = </span><a href="5-msms.html#SP3" class="function-link"><span class="function-syntax">MakeSynopticModuleStage::needs</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"_verb_form"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">preposition_nodes</span><span class="plain-syntax"> = </span><a href="5-msms.html#SP3" class="function-link"><span class="function-syntax">MakeSynopticModuleStage::needs</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"_preposition"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">adjective_nodes</span><span class="plain-syntax"> = </span><a href="5-msms.html#SP3" class="function-link"><span class="function-syntax">MakeSynopticModuleStage::needs</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"_adjective"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">derived_kind_nodes</span><span class="plain-syntax"> = </span><a href="5-msms.html#SP3" class="function-link"><span class="function-syntax">MakeSynopticModuleStage::needs</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"_derived_kind"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">kind_nodes</span><span class="plain-syntax"> = </span><a href="5-msms.html#SP3" class="function-link"><span class="function-syntax">MakeSynopticModuleStage::needs</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"_kind"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">module_nodes</span><span class="plain-syntax"> = </span><a href="5-msms.html#SP3" class="function-link"><span class="function-syntax">MakeSynopticModuleStage::needs</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"_module"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">instance_nodes</span><span class="plain-syntax"> = </span><a href="5-msms.html#SP3" class="function-link"><span class="function-syntax">MakeSynopticModuleStage::needs</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"_instance"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">test_nodes</span><span class="plain-syntax"> = </span><a href="5-msms.html#SP3" class="function-link"><span class="function-syntax">MakeSynopticModuleStage::needs</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"_test"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">named_action_pattern_nodes</span><span class="plain-syntax"> = </span><a href="5-msms.html#SP3" class="function-link"><span class="function-syntax">MakeSynopticModuleStage::needs</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"_named_action_pattern"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">variable_nodes</span><span class="plain-syntax"> = </span><a href="5-msms.html#SP3" class="function-link"><span class="function-syntax">MakeSynopticModuleStage::needs</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"_variable"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">equation_nodes</span><span class="plain-syntax"> = </span><a href="5-msms.html#SP3" class="function-link"><span class="function-syntax">MakeSynopticModuleStage::needs</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"_equation"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">heading_nodes</span><span class="plain-syntax"> = </span><a href="5-msms.html#SP3" class="function-link"><span class="function-syntax">MakeSynopticModuleStage::needs</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"_heading"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">multiplication_rule_nodes</span><span class="plain-syntax"> = </span><a href="5-msms.html#SP3" class="function-link"><span class="function-syntax">MakeSynopticModuleStage::needs</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"_multiplication_rule"</span><span class="plain-syntax">);</span>
|
||||
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">extension_nodes</span><span class="plain-syntax"> = </span><span class="identifier-syntax">TreeLists::new</span><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">scene_nodes</span><span class="plain-syntax"> = </span><span class="identifier-syntax">TreeLists::new</span><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">file_nodes</span><span class="plain-syntax"> = </span><span class="identifier-syntax">TreeLists::new</span><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">figure_nodes</span><span class="plain-syntax"> = </span><span class="identifier-syntax">TreeLists::new</span><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">sound_nodes</span><span class="plain-syntax"> = </span><span class="identifier-syntax">TreeLists::new</span><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">inv</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="identifier-syntax">inter_tree_location_list</span><span class="plain-syntax"> *</span><span class="function-syntax">MakeSynopticModuleStage::needs</span><span class="plain-syntax">(</span><span class="reserved-syntax">tree_inventory</span><span class="plain-syntax"> *</span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pt</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">tree_inventory_item</span><span class="plain-syntax"> *</span><span class="identifier-syntax">item</span><span class="plain-syntax"> = </span><span class="identifier-syntax">CREATE</span><span class="plain-syntax">(</span><span class="reserved-syntax">tree_inventory_item</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">item</span><span class="plain-syntax">-></span><span class="identifier-syntax">node_list</span><span class="plain-syntax"> = </span><span class="identifier-syntax">TreeLists::new</span><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">item</span><span class="plain-syntax">-></span><span class="identifier-syntax">required_ptype</span><span class="plain-syntax"> = </span><span class="identifier-syntax">PackageTypes::get</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">of_tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">pt</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">ADD_TO_LINKED_LIST</span><span class="plain-syntax">(</span><span class="identifier-syntax">item</span><span class="plain-syntax">, </span><span class="reserved-syntax">tree_inventory_item</span><span class="plain-syntax">, </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">items</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">item</span><span class="plain-syntax">-></span><span class="element-syntax">node_list</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP4" class="paragraph-anchor"></a><b>§4. </b>The expensive part comes later, when we traverse the Inter tree and add
|
||||
interesting packages to one of the lists.
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">tree_inventory</span><span class="plain-syntax"> *</span><span class="function-syntax">MakeSynopticModuleStage::take_inventory</span><button class="popup" onclick="togglePopup('usagePopup3')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup3">Usage of <span class="code-font"><span class="function-syntax">MakeSynopticModuleStage::take_inventory</span></span>:<br/><a href="5-msms.html#SP5">§5</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">tree_inventory</span><span class="plain-syntax"> *</span><span class="identifier-syntax">inv</span><span class="plain-syntax"> = </span><a href="5-msms.html#SP3" class="function-link"><span class="function-syntax">MakeSynopticModuleStage::new_inventory</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">InterTree::traverse</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><a href="5-msms.html#SP4" class="function-link"><span class="function-syntax">MakeSynopticModuleStage::visitor</span></a><span class="plain-syntax">, </span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="constant-syntax">0</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax">=0; </span><span class="identifier-syntax">i</span><span class="function-syntax"><TreeLists::len(inv-></span><span class="element-syntax">module_nodes</span><span class="plain-syntax">); </span><span class="identifier-syntax">i</span><span class="plain-syntax">++) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Package::defined_by_frame</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">module_nodes</span><span class="plain-syntax">-></span><span class="identifier-syntax">list</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">].</span><span class="identifier-syntax">node</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">InterSymbolsTables::symbol_from_name</span><span class="plain-syntax">(</span><span class="identifier-syntax">Inter::Packages::scope</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">), </span><span class="identifier-syntax">I</span><span class="string-syntax">"extension_id"</span><span class="plain-syntax">))</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::add</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">extension_nodes</span><span class="plain-syntax">, </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">module_nodes</span><span class="plain-syntax">-></span><span class="identifier-syntax">list</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">].</span><span class="identifier-syntax">node</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax">=0; </span><span class="identifier-syntax">i</span><span class="function-syntax"><TreeLists::len(inv-></span><span class="element-syntax">instance_nodes</span><span class="plain-syntax">); </span><span class="identifier-syntax">i</span><span class="plain-syntax">++) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Package::defined_by_frame</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">instance_nodes</span><span class="plain-syntax">-></span><span class="identifier-syntax">list</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">].</span><span class="identifier-syntax">node</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Metadata::exists</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^is_scene"</span><span class="plain-syntax">))</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::add</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">scene_nodes</span><span class="plain-syntax">, </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">instance_nodes</span><span class="plain-syntax">-></span><span class="identifier-syntax">list</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">].</span><span class="identifier-syntax">node</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Metadata::exists</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^is_file"</span><span class="plain-syntax">))</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::add</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">file_nodes</span><span class="plain-syntax">, </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">instance_nodes</span><span class="plain-syntax">-></span><span class="identifier-syntax">list</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">].</span><span class="identifier-syntax">node</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Metadata::exists</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^is_figure"</span><span class="plain-syntax">))</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::add</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">figure_nodes</span><span class="plain-syntax">, </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">instance_nodes</span><span class="plain-syntax">-></span><span class="identifier-syntax">list</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">].</span><span class="identifier-syntax">node</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Metadata::exists</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^is_sound"</span><span class="plain-syntax">))</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::add</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">sound_nodes</span><span class="plain-syntax">, </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">instance_nodes</span><span class="plain-syntax">-></span><span class="identifier-syntax">list</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">].</span><span class="identifier-syntax">node</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">inv</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">MakeSynopticModuleStage::visitor</span><span class="plain-syntax">(</span><span class="identifier-syntax">inter_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">inter_tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="reserved-syntax">void</span><span class="plain-syntax"> *</span><span class="identifier-syntax">state</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">tree_inventory</span><span class="plain-syntax"> *</span><span class="identifier-syntax">inv</span><span class="plain-syntax"> = (</span><span class="reserved-syntax">tree_inventory</span><span class="plain-syntax"> *) </span><span class="identifier-syntax">state</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">P</span><span class="plain-syntax">-></span><span class="identifier-syntax">W</span><span class="plain-syntax">.</span><span class="identifier-syntax">data</span><span class="plain-syntax">[</span><span class="identifier-syntax">ID_IFLD</span><span class="plain-syntax">] == </span><span class="identifier-syntax">CONSTANT_IST</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">con_s</span><span class="plain-syntax"> =</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">InterSymbolsTables::symbol_from_frame_data</span><span class="plain-syntax">(</span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="identifier-syntax">DEFN_CONST_IFLD</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Inter::Symbols::read_annotation</span><span class="plain-syntax">(</span><span class="identifier-syntax">con_s</span><span class="plain-syntax">, </span><span class="identifier-syntax">TEXT_LITERAL_IANN</span><span class="plain-syntax">) == </span><span class="constant-syntax">1</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::add</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">text_nodes</span><span class="plain-syntax">, </span><span class="identifier-syntax">P</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">P</span><span class="plain-syntax">-></span><span class="identifier-syntax">W</span><span class="plain-syntax">.</span><span class="identifier-syntax">data</span><span class="plain-syntax">[</span><span class="identifier-syntax">ID_IFLD</span><span class="plain-syntax">] == </span><span class="identifier-syntax">PACKAGE_IST</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Package::defined_by_frame</span><span class="plain-syntax">(</span><span class="identifier-syntax">P</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">ptype</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Packages::type</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">ptype</span><span class="plain-syntax"> == </span><span class="identifier-syntax">PackageTypes::get</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"_kind"</span><span class="plain-syntax">)) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOG</span><span class="plain-syntax">(</span><span class="string-syntax">"Inside $6:\n"</span><span class="plain-syntax">, </span><span class="identifier-syntax">pack</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbols_table</span><span class="plain-syntax"> *</span><span class="identifier-syntax">ST</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Packages::scope</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax">=0; </span><span class="identifier-syntax">i</span><span class="function-syntax"><ST-></span><span class="identifier-syntax">size</span><span class="plain-syntax">; </span><span class="identifier-syntax">i</span><span class="plain-syntax">++) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">S</span><span class="plain-syntax"> = </span><span class="identifier-syntax">ST</span><span class="plain-syntax">-></span><span class="identifier-syntax">symbol_array</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">];</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> ((</span><span class="identifier-syntax">S</span><span class="plain-syntax">) && (</span><span class="identifier-syntax">S</span><span class="plain-syntax">-></span><span class="identifier-syntax">wiring</span><span class="plain-syntax">.</span><span class="identifier-syntax">no_connections</span><span class="plain-syntax"> > </span><span class="constant-syntax">0</span><span class="plain-syntax">))</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOG</span><span class="plain-syntax">(</span><span class="string-syntax">"I observe $3 (%d)\n"</span><span class="plain-syntax">, </span><span class="identifier-syntax">S</span><span class="plain-syntax">, </span><span class="identifier-syntax">S</span><span class="plain-syntax">-></span><span class="identifier-syntax">wiring</span><span class="plain-syntax">.</span><span class="identifier-syntax">no_connections</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">tree_inventory_item</span><span class="plain-syntax"> *</span><span class="identifier-syntax">item</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER_LINKED_LIST</span><span class="plain-syntax">(</span><span class="identifier-syntax">item</span><span class="plain-syntax">, </span><span class="reserved-syntax">tree_inventory_item</span><span class="plain-syntax">, </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">items</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">ptype</span><span class="plain-syntax"> == </span><span class="identifier-syntax">item</span><span class="plain-syntax">-></span><span class="element-syntax">required_ptype</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::add</span><span class="plain-syntax">(</span><span class="identifier-syntax">item</span><span class="plain-syntax">-></span><span class="element-syntax">node_list</span><span class="plain-syntax">, </span><span class="identifier-syntax">P</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP5" class="paragraph-anchor"></a><b>§5. </b>Calling <a href="5-msms.html#SP4" class="internal">MakeSynopticModuleStage::take_inventory</a> is potentially slow, so
|
||||
we also offer a version which caches the results:
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">tree_inventory</span><span class="plain-syntax"> *</span><span class="identifier-syntax">cached_inventory</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
|
||||
<span class="identifier-syntax">inter_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">cache_is_for</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
|
||||
<span class="reserved-syntax">tree_inventory</span><span class="plain-syntax"> *</span><span class="function-syntax">MakeSynopticModuleStage::take_inventory_cached</span><button class="popup" onclick="togglePopup('usagePopup4')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup4">Usage of <span class="code-font"><span class="function-syntax">MakeSynopticModuleStage::take_inventory_cached</span></span>:<br/><a href="5-msms.html#SP1">§1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">cache_is_for</span><span class="plain-syntax"> == </span><span class="identifier-syntax">I</span><span class="plain-syntax">) </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">cached_inventory</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">cache_is_for</span><span class="plain-syntax"> = </span><span class="identifier-syntax">I</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">cached_inventory</span><span class="plain-syntax"> = </span><a href="5-msms.html#SP4" class="function-link"><span class="function-syntax">MakeSynopticModuleStage::take_inventory</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">cached_inventory</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP6" class="paragraph-anchor"></a><b>§6. </b>The following are used for sorting.
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">MakeSynopticModuleStage::module_order</span><button class="popup" onclick="togglePopup('usagePopup5')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup5">Usage of <span class="code-font"><span class="function-syntax">MakeSynopticModuleStage::module_order</span></span>:<br/>Rules - <a href="5-rls.html#SP1">§1</a><br/>Activities - <a href="5-act.html#SP1">§1</a><br/>Actions - <a href="5-act2.html#SP2">§2</a><br/>Instances - <a href="5-ins.html#SP1">§1</a><br/>Kinds - <a href="5-knd.html#SP1">§1</a><br/>Properties - <a href="5-prp.html#SP1">§1</a><br/>Relations - <a href="5-rlt.html#SP1">§1</a><br/>Tables - <a href="5-tbl.html#SP1">§1</a><br/>Chronology - <a href="5-chr.html#SP1">§1</a><br/>Scenes - <a href="5-scn.html#SP1">§1</a><br/>Multimedia - <a href="5-mlt.html#SP1">§1</a><br/>Use Options - <a href="5-uo.html#SP1">§1</a><br/>Tests - <a href="5-tst.html#SP1">§1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">const</span><span class="plain-syntax"> </span><span class="reserved-syntax">void</span><span class="plain-syntax"> *</span><span class="identifier-syntax">ent1</span><span class="plain-syntax">, </span><span class="reserved-syntax">const</span><span class="plain-syntax"> </span><span class="reserved-syntax">void</span><span class="plain-syntax"> *</span><span class="identifier-syntax">ent2</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">itl_entry</span><span class="plain-syntax"> *</span><span class="identifier-syntax">E1</span><span class="plain-syntax"> = (</span><span class="identifier-syntax">itl_entry</span><span class="plain-syntax"> *) </span><span class="identifier-syntax">ent1</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">itl_entry</span><span class="plain-syntax"> *</span><span class="identifier-syntax">E2</span><span class="plain-syntax"> = (</span><span class="identifier-syntax">itl_entry</span><span class="plain-syntax"> *) </span><span class="identifier-syntax">ent2</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">E1</span><span class="plain-syntax"> == </span><span class="identifier-syntax">E2</span><span class="plain-syntax">) </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="constant-syntax">0</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">P1</span><span class="plain-syntax"> = </span><span class="identifier-syntax">E1</span><span class="plain-syntax">-></span><span class="identifier-syntax">node</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">P2</span><span class="plain-syntax"> = </span><span class="identifier-syntax">E2</span><span class="plain-syntax">-></span><span class="identifier-syntax">node</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">mod1</span><span class="plain-syntax"> = </span><a href="5-msms.html#SP6" class="function-link"><span class="function-syntax">MakeSynopticModuleStage::module_containing</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">P1</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">mod2</span><span class="plain-syntax"> = </span><a href="5-msms.html#SP6" class="function-link"><span class="function-syntax">MakeSynopticModuleStage::module_containing</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">P2</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">C1</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Metadata::read_optional_numeric</span><span class="plain-syntax">(</span><span class="identifier-syntax">mod1</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^category"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">C2</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Metadata::read_optional_numeric</span><span class="plain-syntax">(</span><span class="identifier-syntax">mod2</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^category"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">d</span><span class="plain-syntax"> = ((</span><span class="reserved-syntax">int</span><span class="plain-syntax">) </span><span class="identifier-syntax">C2</span><span class="plain-syntax">) - ((</span><span class="reserved-syntax">int</span><span class="plain-syntax">) </span><span class="identifier-syntax">C1</span><span class="plain-syntax">); </span><span class="comment-syntax"> larger values sort earlier</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">d</span><span class="plain-syntax"> != </span><span class="constant-syntax">0</span><span class="plain-syntax">) </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">d</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">E1</span><span class="plain-syntax">-></span><span class="identifier-syntax">sort_key</span><span class="plain-syntax"> - </span><span class="identifier-syntax">E2</span><span class="plain-syntax">-></span><span class="identifier-syntax">sort_key</span><span class="plain-syntax">; </span><span class="comment-syntax"> smaller values sort earlier</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">MakeSynopticModuleStage::category_order</span><button class="popup" onclick="togglePopup('usagePopup6')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup6">Usage of <span class="code-font"><span class="function-syntax">MakeSynopticModuleStage::category_order</span></span>:<br/>Extensions - <a href="5-ext.html#SP1_1">§1.1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">const</span><span class="plain-syntax"> </span><span class="reserved-syntax">void</span><span class="plain-syntax"> *</span><span class="identifier-syntax">ent1</span><span class="plain-syntax">, </span><span class="reserved-syntax">const</span><span class="plain-syntax"> </span><span class="reserved-syntax">void</span><span class="plain-syntax"> *</span><span class="identifier-syntax">ent2</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">itl_entry</span><span class="plain-syntax"> *</span><span class="identifier-syntax">E1</span><span class="plain-syntax"> = (</span><span class="identifier-syntax">itl_entry</span><span class="plain-syntax"> *) </span><span class="identifier-syntax">ent1</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">itl_entry</span><span class="plain-syntax"> *</span><span class="identifier-syntax">E2</span><span class="plain-syntax"> = (</span><span class="identifier-syntax">itl_entry</span><span class="plain-syntax"> *) </span><span class="identifier-syntax">ent2</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">E1</span><span class="plain-syntax"> == </span><span class="identifier-syntax">E2</span><span class="plain-syntax">) </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="constant-syntax">0</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">P1</span><span class="plain-syntax"> = </span><span class="identifier-syntax">E1</span><span class="plain-syntax">-></span><span class="identifier-syntax">node</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">P2</span><span class="plain-syntax"> = </span><span class="identifier-syntax">E2</span><span class="plain-syntax">-></span><span class="identifier-syntax">node</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">mod1</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Packages::container</span><span class="plain-syntax">(</span><span class="identifier-syntax">P1</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">mod2</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Packages::container</span><span class="plain-syntax">(</span><span class="identifier-syntax">P2</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">C1</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Metadata::read_optional_numeric</span><span class="plain-syntax">(</span><span class="identifier-syntax">mod1</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^category"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">C2</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Metadata::read_optional_numeric</span><span class="plain-syntax">(</span><span class="identifier-syntax">mod2</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^category"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">d</span><span class="plain-syntax"> = ((</span><span class="reserved-syntax">int</span><span class="plain-syntax">) </span><span class="identifier-syntax">C2</span><span class="plain-syntax">) - ((</span><span class="reserved-syntax">int</span><span class="plain-syntax">) </span><span class="identifier-syntax">C1</span><span class="plain-syntax">); </span><span class="comment-syntax"> larger values sort earlier</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">d</span><span class="plain-syntax"> != </span><span class="constant-syntax">0</span><span class="plain-syntax">) </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">d</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">E1</span><span class="plain-syntax">-></span><span class="identifier-syntax">sort_key</span><span class="plain-syntax"> - </span><span class="identifier-syntax">E2</span><span class="plain-syntax">-></span><span class="identifier-syntax">sort_key</span><span class="plain-syntax">; </span><span class="comment-syntax"> smaller values sort earlier</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="function-syntax">MakeSynopticModuleStage::module_containing</span><button class="popup" onclick="togglePopup('usagePopup7')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup7">Usage of <span class="code-font"><span class="function-syntax">MakeSynopticModuleStage::module_containing</span></span>:<br/>Verbs - <a href="5-vrb.html#SP1">§1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">P</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Packages::container</span><span class="plain-syntax">(</span><span class="identifier-syntax">P</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Packages::tree</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">while</span><span class="plain-syntax"> (</span><span class="identifier-syntax">pack</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">ptype</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Packages::type</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">ptype</span><span class="plain-syntax"> == </span><span class="identifier-syntax">PackageTypes::get</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"_module"</span><span class="plain-syntax">)) </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">pack</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">pack</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Packages::parent</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="4-rvs.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-pm.html">1</a></li><li class="progresschapter"><a href="2-pp.html">2</a></li><li class="progresschapter"><a href="3-ps.html">3</a></li><li class="progresschapter"><a href="4-lbks.html">4</a></li><li class="progresscurrentchapter">5</li><li class="progresscurrent">msms</li><li class="progresssection"><a href="5-sh.html">sh</a></li><li class="progresssection"><a href="5-su.html">su</a></li><li class="progresssection"><a href="5-ext.html">ext</a></li><li class="progresssection"><a href="5-lt.html">lt</a></li><li class="progresssection"><a href="5-rsp.html">rsp</a></li><li class="progresssection"><a href="5-rls.html">rls</a></li><li class="progresssection"><a href="5-act.html">act</a></li><li class="progresssection"><a href="5-act2.html">act2</a></li><li class="progresssection"><a href="5-ins.html">ins</a></li><li class="progresssection"><a href="5-knd.html">knd</a></li><li class="progresssection"><a href="5-prp.html">prp</a></li><li class="progresssection"><a href="5-rlt.html">rlt</a></li><li class="progresssection"><a href="5-tbl.html">tbl</a></li><li class="progresssection"><a href="5-chr.html">chr</a></li><li class="progresssection"><a href="5-scn.html">scn</a></li><li class="progresssection"><a href="5-mlt.html">mlt</a></li><li class="progresssection"><a href="5-uo.html">uo</a></li><li class="progresssection"><a href="5-vrb.html">vrb</a></li><li class="progresssection"><a href="5-tst.html">tst</a></li><li class="progresschapter"><a href="6-erms.html">6</a></li><li class="progressnext"><a href="5-sh.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="4-tsk.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-pm.html">1</a></li><li class="progresschapter"><a href="2-pp.html">2</a></li><li class="progresschapter"><a href="3-ps.html">3</a></li><li class="progresschapter"><a href="4-lbks.html">4</a></li><li class="progresscurrentchapter">5</li><li class="progresscurrent">msms</li><li class="progresssection"><a href="5-sh.html">sh</a></li><li class="progresssection"><a href="5-su.html">su</a></li><li class="progresssection"><a href="5-ext.html">ext</a></li><li class="progresssection"><a href="5-lt.html">lt</a></li><li class="progresssection"><a href="5-rsp.html">rsp</a></li><li class="progresssection"><a href="5-rls.html">rls</a></li><li class="progresssection"><a href="5-act.html">act</a></li><li class="progresssection"><a href="5-act2.html">act2</a></li><li class="progresssection"><a href="5-ins.html">ins</a></li><li class="progresssection"><a href="5-knd.html">knd</a></li><li class="progresssection"><a href="5-prp.html">prp</a></li><li class="progresssection"><a href="5-rlt.html">rlt</a></li><li class="progresssection"><a href="5-tbl.html">tbl</a></li><li class="progresssection"><a href="5-chr.html">chr</a></li><li class="progresssection"><a href="5-scn.html">scn</a></li><li class="progresssection"><a href="5-mlt.html">mlt</a></li><li class="progresssection"><a href="5-uo.html">uo</a></li><li class="progresssection"><a href="5-vrb.html">vrb</a></li><li class="progresssection"><a href="5-tst.html">tst</a></li><li class="progresschapter"><a href="6-erms.html">6</a></li><li class="progressnext"><a href="5-sh.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -84,10 +84,10 @@ of packages of type <span class="extract"><span class="extract-syntax">_activity
|
|||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">SynopticProperties::compile</span><button class="popup" onclick="togglePopup('usagePopup1')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup1">Usage of <span class="code-font"><span class="function-syntax">SynopticProperties::compile</span></span>:<br/>Make Synoptic Module Stage - <a href="5-msms.html#SP1">§1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="reserved-syntax">pipeline_step</span><span class="plain-syntax"> *</span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="reserved-syntax">tree_inventory</span><span class="plain-syntax"> *</span><span class="identifier-syntax">inv</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">TreeLists::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">property_nodes</span><span class="plain-syntax">) > </span><span class="constant-syntax">0</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">property_nodes</span><span class="plain-syntax">, </span><a href="5-su.html#SP2" class="function-link"><span class="function-syntax">Synoptic::module_order</span></a><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">property_nodes</span><span class="plain-syntax">, </span><a href="5-msms.html#SP6" class="function-link"><span class="function-syntax">MakeSynopticModuleStage::module_order</span></a><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax">=0; </span><span class="identifier-syntax">i</span><span class="function-syntax"><TreeLists::len(inv-></span><span class="element-syntax">property_nodes</span><span class="plain-syntax">); </span><span class="identifier-syntax">i</span><span class="plain-syntax">++) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Package::defined_by_frame</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">property_nodes</span><span class="plain-syntax">-></span><span class="identifier-syntax">list</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">].</span><span class="identifier-syntax">node</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">D</span><span class="plain-syntax"> = </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::get_definition</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"property_id"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">D</span><span class="plain-syntax"> = </span><a href="5-su.html#SP1" class="function-link"><span class="function-syntax">Synoptic::get_definition</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"property_id"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">D</span><span class="plain-syntax">-></span><span class="identifier-syntax">W</span><span class="plain-syntax">.</span><span class="identifier-syntax">data</span><span class="plain-syntax">[</span><span class="identifier-syntax">DATA_CONST_IFLD</span><span class="plain-syntax">+1] = (</span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax">) </span><span class="identifier-syntax">i</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
|
|
|
@ -84,10 +84,10 @@ of packages of type <span class="extract"><span class="extract-syntax">_rulebook
|
|||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">SynopticRules::compile</span><button class="popup" onclick="togglePopup('usagePopup1')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup1">Usage of <span class="code-font"><span class="function-syntax">SynopticRules::compile</span></span>:<br/>Make Synoptic Module Stage - <a href="5-msms.html#SP1">§1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="reserved-syntax">pipeline_step</span><span class="plain-syntax"> *</span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="reserved-syntax">tree_inventory</span><span class="plain-syntax"> *</span><span class="identifier-syntax">inv</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">TreeLists::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">rulebook_nodes</span><span class="plain-syntax">) > </span><span class="constant-syntax">0</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">rulebook_nodes</span><span class="plain-syntax">, </span><a href="5-su.html#SP2" class="function-link"><span class="function-syntax">Synoptic::module_order</span></a><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">rulebook_nodes</span><span class="plain-syntax">, </span><a href="5-msms.html#SP6" class="function-link"><span class="function-syntax">MakeSynopticModuleStage::module_order</span></a><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax">=0; </span><span class="identifier-syntax">i</span><span class="function-syntax"><TreeLists::len(inv-></span><span class="element-syntax">rulebook_nodes</span><span class="plain-syntax">); </span><span class="identifier-syntax">i</span><span class="plain-syntax">++) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Package::defined_by_frame</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">rulebook_nodes</span><span class="plain-syntax">-></span><span class="identifier-syntax">list</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">].</span><span class="identifier-syntax">node</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">D</span><span class="plain-syntax"> = </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::get_definition</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"rulebook_id"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">D</span><span class="plain-syntax"> = </span><a href="5-su.html#SP1" class="function-link"><span class="function-syntax">Synoptic::get_definition</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"rulebook_id"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">D</span><span class="plain-syntax">-></span><span class="identifier-syntax">W</span><span class="plain-syntax">.</span><span class="identifier-syntax">data</span><span class="plain-syntax">[</span><span class="identifier-syntax">DATA_CONST_IFLD</span><span class="plain-syntax">+1] = (</span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax">) </span><span class="identifier-syntax">i</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
|
@ -117,18 +117,18 @@ of packages of type <span class="extract"><span class="extract-syntax">_rulebook
|
|||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">iname</span><span class="plain-syntax"> = </span><span class="identifier-syntax">HierarchyLocations::find</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="constant-syntax">RULEBOOKNAMES_HL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::begin_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP7" class="function-link"><span class="function-syntax">Synoptic::begin_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">economy</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP8" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP8" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="plain-syntax"> } </span><span class="reserved-syntax">else</span><span class="plain-syntax"> {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax">=0; </span><span class="identifier-syntax">i</span><span class="function-syntax"><TreeLists::len(inv-></span><span class="element-syntax">rulebook_nodes</span><span class="plain-syntax">); </span><span class="identifier-syntax">i</span><span class="plain-syntax">++) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Package::defined_by_frame</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">rulebook_nodes</span><span class="plain-syntax">-></span><span class="identifier-syntax">list</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">].</span><span class="identifier-syntax">node</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">name</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Metadata::read_textual</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^printed_name"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::textual_entry</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">name</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP8" class="function-link"><span class="function-syntax">Synoptic::textual_entry</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">name</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::end_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP7" class="function-link"><span class="function-syntax">Synoptic::end_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="5-rls.html#SP1">§1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_3" class="paragraph-anchor"></a><b>§1.3. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Define rulebook_var_creators array</span><span class="named-paragraph-number">1.3</span></span><span class="comment-syntax"> =</span>
|
||||
|
@ -136,14 +136,14 @@ of packages of type <span class="extract"><span class="extract-syntax">_rulebook
|
|||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">iname</span><span class="plain-syntax"> = </span><span class="identifier-syntax">HierarchyLocations::find</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="constant-syntax">RULEBOOK_VAR_CREATORS_HL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::begin_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP7" class="function-link"><span class="function-syntax">Synoptic::begin_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax">=0; </span><span class="identifier-syntax">i</span><span class="function-syntax"><TreeLists::len(inv-></span><span class="element-syntax">rulebook_nodes</span><span class="plain-syntax">); </span><span class="identifier-syntax">i</span><span class="plain-syntax">++) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Package::defined_by_frame</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">rulebook_nodes</span><span class="plain-syntax">-></span><span class="identifier-syntax">list</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">].</span><span class="identifier-syntax">node</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">vc_s</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Metadata::read_optional_symbol</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^var_creator"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">vc_s</span><span class="plain-syntax">) </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::symbol_entry</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">vc_s</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">vc_s</span><span class="plain-syntax">) </span><a href="5-su.html#SP8" class="function-link"><span class="function-syntax">Synoptic::symbol_entry</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">vc_s</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><a href="5-su.html#SP8" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::end_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP7" class="function-link"><span class="function-syntax">Synoptic::end_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="5-rls.html#SP1">§1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_4" class="paragraph-anchor"></a><b>§1.4. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Define rulebooks_array array</span><span class="named-paragraph-number">1.4</span></span><span class="comment-syntax"> =</span>
|
||||
|
@ -151,14 +151,14 @@ of packages of type <span class="extract"><span class="extract-syntax">_rulebook
|
|||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">iname</span><span class="plain-syntax"> = </span><span class="identifier-syntax">HierarchyLocations::find</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="constant-syntax">RULEBOOKS_ARRAY_HL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::begin_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP7" class="function-link"><span class="function-syntax">Synoptic::begin_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax">=0; </span><span class="identifier-syntax">i</span><span class="function-syntax"><TreeLists::len(inv-></span><span class="element-syntax">rulebook_nodes</span><span class="plain-syntax">); </span><span class="identifier-syntax">i</span><span class="plain-syntax">++) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Package::defined_by_frame</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">rulebook_nodes</span><span class="plain-syntax">-></span><span class="identifier-syntax">list</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">].</span><span class="identifier-syntax">node</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">fn_s</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Metadata::read_symbol</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^run_fn"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::symbol_entry</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">fn_s</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP8" class="function-link"><span class="function-syntax">Synoptic::symbol_entry</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">fn_s</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::end_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP8" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP7" class="function-link"><span class="function-syntax">Synoptic::end_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="5-rls.html#SP1">§1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_5" class="paragraph-anchor"></a><b>§1.5. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Define SlowLookup function</span><span class="named-paragraph-number">1.5</span></span><span class="comment-syntax"> =</span>
|
||||
|
@ -167,7 +167,7 @@ of packages of type <span class="extract"><span class="extract-syntax">_rulebook
|
|||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">iname</span><span class="plain-syntax"> = </span><span class="identifier-syntax">HierarchyLocations::find</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="constant-syntax">SLOW_LOOKUP_HL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::begin_function</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">rb_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::local</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"rb"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">rb_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP6" class="function-link"><span class="function-syntax">Synoptic::local</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"rb"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Produce::inv_primitive</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">SWITCH_BIP</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Produce::down</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">);</span>
|
||||
|
@ -206,7 +206,7 @@ of packages of type <span class="extract"><span class="extract-syntax">_rulebook
|
|||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">iname</span><span class="plain-syntax"> = </span><span class="identifier-syntax">HierarchyLocations::find</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="constant-syntax">RULEPRINTINGRULE_HL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::begin_function</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">R_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::local</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"R"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">R_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP6" class="function-link"><span class="function-syntax">Synoptic::local</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"R"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Produce::inv_primitive</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">IFELSE_BIP</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Produce::down</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">);</span>
|
||||
|
|
|
@ -84,10 +84,10 @@ of packages of type <span class="extract"><span class="extract-syntax">_relation
|
|||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">SynopticRelations::compile</span><button class="popup" onclick="togglePopup('usagePopup1')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup1">Usage of <span class="code-font"><span class="function-syntax">SynopticRelations::compile</span></span>:<br/>Make Synoptic Module Stage - <a href="5-msms.html#SP1">§1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="reserved-syntax">pipeline_step</span><span class="plain-syntax"> *</span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="reserved-syntax">tree_inventory</span><span class="plain-syntax"> *</span><span class="identifier-syntax">inv</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">TreeLists::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">relation_nodes</span><span class="plain-syntax">) > </span><span class="constant-syntax">0</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">relation_nodes</span><span class="plain-syntax">, </span><a href="5-su.html#SP2" class="function-link"><span class="function-syntax">Synoptic::module_order</span></a><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">relation_nodes</span><span class="plain-syntax">, </span><a href="5-msms.html#SP6" class="function-link"><span class="function-syntax">MakeSynopticModuleStage::module_order</span></a><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax">=0; </span><span class="identifier-syntax">i</span><span class="function-syntax"><TreeLists::len(inv-></span><span class="element-syntax">relation_nodes</span><span class="plain-syntax">); </span><span class="identifier-syntax">i</span><span class="plain-syntax">++) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Package::defined_by_frame</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">relation_nodes</span><span class="plain-syntax">-></span><span class="identifier-syntax">list</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">].</span><span class="identifier-syntax">node</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">D</span><span class="plain-syntax"> = </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::get_definition</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"relation_id"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">D</span><span class="plain-syntax"> = </span><a href="5-su.html#SP1" class="function-link"><span class="function-syntax">Synoptic::get_definition</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"relation_id"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">D</span><span class="plain-syntax">-></span><span class="identifier-syntax">W</span><span class="plain-syntax">.</span><span class="identifier-syntax">data</span><span class="plain-syntax">[</span><span class="identifier-syntax">DATA_CONST_IFLD</span><span class="plain-syntax">+1] = (</span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax">) </span><span class="identifier-syntax">i</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
|
@ -125,7 +125,7 @@ of packages of type <span class="extract"><span class="extract-syntax">_relation
|
|||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">iname</span><span class="plain-syntax"> = </span><span class="identifier-syntax">HierarchyLocations::find</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="constant-syntax">ITERATERELATIONS_HL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::begin_function</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">callback_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::local</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"callback"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">callback_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP6" class="function-link"><span class="function-syntax">Synoptic::local</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"callback"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax">=0; </span><span class="identifier-syntax">i</span><span class="function-syntax"><TreeLists::len(inv-></span><span class="element-syntax">relation_nodes</span><span class="plain-syntax">); </span><span class="identifier-syntax">i</span><span class="plain-syntax">++) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Package::defined_by_frame</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">relation_nodes</span><span class="plain-syntax">-></span><span class="identifier-syntax">list</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">].</span><span class="identifier-syntax">node</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">rel_s</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Metadata::read_optional_symbol</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^value"</span><span class="plain-syntax">);</span>
|
||||
|
@ -146,9 +146,9 @@ of packages of type <span class="extract"><span class="extract-syntax">_relation
|
|||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">iname</span><span class="plain-syntax"> = </span><span class="identifier-syntax">HierarchyLocations::find</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="constant-syntax">RPROPERTY_HL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::begin_function</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">obj_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::local</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"obj"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">cl_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::local</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"cl"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pr_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::local</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"pr"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">obj_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP6" class="function-link"><span class="function-syntax">Synoptic::local</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"obj"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">cl_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP6" class="function-link"><span class="function-syntax">Synoptic::local</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"cl"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pr_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP6" class="function-link"><span class="function-syntax">Synoptic::local</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"pr"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Produce::inv_primitive</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">IF_BIP</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Produce::down</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Produce::inv_primitive</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">OFCLASS_BIP</span><span class="plain-syntax">);</span>
|
||||
|
|
|
@ -97,7 +97,7 @@ correct ID.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">TreeLists::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">response_nodes</span><span class="plain-syntax">) > </span><span class="constant-syntax">0</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax">=0; </span><span class="identifier-syntax">i</span><span class="function-syntax"><TreeLists::len(inv-></span><span class="element-syntax">response_nodes</span><span class="plain-syntax">); </span><span class="identifier-syntax">i</span><span class="plain-syntax">++) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Package::defined_by_frame</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">response_nodes</span><span class="plain-syntax">-></span><span class="identifier-syntax">list</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">].</span><span class="identifier-syntax">node</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">D</span><span class="plain-syntax"> = </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::get_definition</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"response_id"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">D</span><span class="plain-syntax"> = </span><a href="5-su.html#SP1" class="function-link"><span class="function-syntax">Synoptic::get_definition</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"response_id"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">D</span><span class="plain-syntax">-></span><span class="identifier-syntax">W</span><span class="plain-syntax">.</span><span class="identifier-syntax">data</span><span class="plain-syntax">[</span><span class="identifier-syntax">DATA_CONST_IFLD</span><span class="plain-syntax">+1] = (</span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax">) </span><span class="identifier-syntax">i</span><span class="plain-syntax">+1;</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
|
@ -124,15 +124,15 @@ of the text of that response.
|
|||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">iname</span><span class="plain-syntax"> = </span><span class="identifier-syntax">HierarchyLocations::find</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="constant-syntax">RESPONSETEXTS_HL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::begin_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP7" class="function-link"><span class="function-syntax">Synoptic::begin_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax">=0; </span><span class="identifier-syntax">i</span><span class="function-syntax"><TreeLists::len(inv-></span><span class="element-syntax">response_nodes</span><span class="plain-syntax">); </span><span class="identifier-syntax">i</span><span class="plain-syntax">++) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Package::defined_by_frame</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">response_nodes</span><span class="plain-syntax">-></span><span class="identifier-syntax">list</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">].</span><span class="identifier-syntax">node</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">value_s</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Metadata::read_symbol</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^value"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::symbol_entry</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">value_s</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP8" class="function-link"><span class="function-syntax">Synoptic::symbol_entry</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">value_s</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::end_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP8" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP8" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP7" class="function-link"><span class="function-syntax">Synoptic::end_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="5-rsp.html#SP1">§1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_3" class="paragraph-anchor"></a><b>§1.3. </b>The following array is used only by the testing command RESPONSES, and
|
||||
|
@ -153,30 +153,30 @@ The triple <span class="extract"><span class="extract-syntax">(0, 0, 0)</span></
|
|||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">iname</span><span class="plain-syntax"> = </span><span class="identifier-syntax">HierarchyLocations::find</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="constant-syntax">RESPONSEDIVISIONS_HL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::begin_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP7" class="function-link"><span class="function-syntax">Synoptic::begin_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">current_group</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">; </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">start_pos</span><span class="plain-syntax"> = -1;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax">=0; </span><span class="identifier-syntax">i</span><span class="function-syntax"><TreeLists::len(inv-></span><span class="element-syntax">response_nodes</span><span class="plain-syntax">); </span><span class="identifier-syntax">i</span><span class="plain-syntax">++) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Package::defined_by_frame</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">response_nodes</span><span class="plain-syntax">-></span><span class="identifier-syntax">list</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">].</span><span class="identifier-syntax">node</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">group</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Metadata::read_textual</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^group"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::ne</span><span class="plain-syntax">(</span><span class="identifier-syntax">group</span><span class="plain-syntax">, </span><span class="identifier-syntax">current_group</span><span class="plain-syntax">)) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">start_pos</span><span class="plain-syntax"> >= </span><span class="constant-syntax">0</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::textual_entry</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">current_group</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">((</span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax">) </span><span class="identifier-syntax">start_pos</span><span class="plain-syntax"> + </span><span class="constant-syntax">1</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">((</span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax">) </span><span class="identifier-syntax">i</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP8" class="function-link"><span class="function-syntax">Synoptic::textual_entry</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">current_group</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP8" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">((</span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax">) </span><span class="identifier-syntax">start_pos</span><span class="plain-syntax"> + </span><span class="constant-syntax">1</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP8" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">((</span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax">) </span><span class="identifier-syntax">i</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">current_group</span><span class="plain-syntax"> = </span><span class="identifier-syntax">group</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">start_pos</span><span class="plain-syntax"> = </span><span class="identifier-syntax">i</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">start_pos</span><span class="plain-syntax"> >= </span><span class="constant-syntax">0</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::textual_entry</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">current_group</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">((</span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax">) </span><span class="identifier-syntax">start_pos</span><span class="plain-syntax"> + </span><span class="constant-syntax">1</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">((</span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax">) </span><span class="identifier-syntax">TreeLists::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">response_nodes</span><span class="plain-syntax">));</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP8" class="function-link"><span class="function-syntax">Synoptic::textual_entry</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">current_group</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP8" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">((</span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax">) </span><span class="identifier-syntax">start_pos</span><span class="plain-syntax"> + </span><span class="constant-syntax">1</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP8" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">((</span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax">) </span><span class="identifier-syntax">TreeLists::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">response_nodes</span><span class="plain-syntax">));</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::end_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP8" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP8" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP8" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP7" class="function-link"><span class="function-syntax">Synoptic::end_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="5-rsp.html#SP1">§1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_4" class="paragraph-anchor"></a><b>§1.4. </b>Finally, a function used when printing values of the <span class="extract"><span class="extract-syntax">K_response</span></span> kind;
|
||||
|
@ -201,7 +201,7 @@ code is less limited.
|
|||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">iname</span><span class="plain-syntax"> = </span><span class="identifier-syntax">HierarchyLocations::find</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="constant-syntax">PRINT_RESPONSE_HL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::begin_function</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">R_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::local</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"R"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">R_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP6" class="function-link"><span class="function-syntax">Synoptic::local</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"R"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax">=0; </span><span class="identifier-syntax">i</span><span class="function-syntax"><TreeLists::len(inv-></span><span class="element-syntax">response_nodes</span><span class="plain-syntax">); </span><span class="identifier-syntax">i</span><span class="plain-syntax">++) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Package::defined_by_frame</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">response_nodes</span><span class="plain-syntax">-></span><span class="identifier-syntax">list</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">].</span><span class="identifier-syntax">node</span><span class="plain-syntax">);</span>
|
||||
|
|
|
@ -83,7 +83,7 @@ of instances having the kind <span class="extract"><span class="extract-syntax">
|
|||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">SynopticScenes::compile</span><button class="popup" onclick="togglePopup('usagePopup1')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup1">Usage of <span class="code-font"><span class="function-syntax">SynopticScenes::compile</span></span>:<br/>Make Synoptic Module Stage - <a href="5-msms.html#SP1">§1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="reserved-syntax">pipeline_step</span><span class="plain-syntax"> *</span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="reserved-syntax">tree_inventory</span><span class="plain-syntax"> *</span><span class="identifier-syntax">inv</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">TreeLists::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">scene_nodes</span><span class="plain-syntax">) > </span><span class="constant-syntax">0</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">scene_nodes</span><span class="plain-syntax">, </span><a href="5-su.html#SP2" class="function-link"><span class="function-syntax">Synoptic::module_order</span></a><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">scene_nodes</span><span class="plain-syntax">, </span><a href="5-msms.html#SP6" class="function-link"><span class="function-syntax">MakeSynopticModuleStage::module_order</span></a><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-scn.html#SP1_1" class="named-paragraph-link"><span class="named-paragraph">Define SHOWSCENESTATUS function</span><span class="named-paragraph-number">1.1</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-scn.html#SP1_2" class="named-paragraph-link"><span class="named-paragraph">Define DETECTSCENECHANGE function</span><span class="named-paragraph-number">1.2</span></a></span><span class="plain-syntax">;</span>
|
||||
|
@ -119,7 +119,7 @@ whether any change in status has or has not occurred.
|
|||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">iname</span><span class="plain-syntax"> = </span><span class="identifier-syntax">HierarchyLocations::find</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="constant-syntax">DETECTSCENECHANGE_HL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::begin_function</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">chs_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::local</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"chs"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">chs_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP6" class="function-link"><span class="function-syntax">Synoptic::local</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"chs"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">Again_l</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Produce::reserve_label</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">".Again"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">CScene_l</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Produce::reserve_label</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">".CScene"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Produce::place_label</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">Again_l</span><span class="plain-syntax">);</span>
|
||||
|
|
|
@ -12,6 +12,14 @@
|
|||
<link href="../docs-assets/Navigation.css" rel="stylesheet" rev="stylesheet" type="text/css">
|
||||
<link href="../docs-assets/Fonts.css" rel="stylesheet" rev="stylesheet" type="text/css">
|
||||
<link href="../docs-assets/Base.css" rel="stylesheet" rev="stylesheet" type="text/css">
|
||||
<script>
|
||||
function togglePopup(material_id) {
|
||||
var popup = document.getElementById(material_id);
|
||||
popup.classList.toggle("show");
|
||||
}
|
||||
</script>
|
||||
|
||||
<link href="../docs-assets/Popups.css" rel="stylesheet" rev="stylesheet" type="text/css">
|
||||
<link href="../docs-assets/Colours.css" rel="stylesheet" rev="stylesheet" type="text/css">
|
||||
|
||||
</head>
|
||||
|
@ -65,63 +73,71 @@
|
|||
<ul class="crumbs"><li><a href="../index.html">Home</a></li><li><a href="../compiler.html">Inter Modules</a></li><li><a href="index.html">pipeline</a></li><li><a href="index.html#5">Chapter 5: Synoptic Module</a></li><li><b>Synoptic Hierarchy</b></li></ul></div>
|
||||
<p class="purpose">The layout and naming conventions for the contents of the main/synoptic module.</p>
|
||||
|
||||
<ul class="toc"><li><a href="5-sh.html#SP1_2">§1.2. Actions</a></li><li><a href="5-sh.html#SP1_3">§1.3. Activities</a></li><li><a href="5-sh.html#SP1_5">§1.5. Chronology</a></li><li><a href="5-sh.html#SP1_7">§1.7. Conjugations</a></li><li><a href="5-sh.html#SP1_9">§1.9. Extensions</a></li><li><a href="5-sh.html#SP1_11">§1.11. Instances</a></li><li><a href="5-sh.html#SP1_13">§1.13. Kinds</a></li><li><a href="5-sh.html#SP1_15">§1.15. Multimedia</a></li><li><a href="5-sh.html#SP1_17">§1.17. Properties</a></li><li><a href="5-sh.html#SP1_19">§1.19. Relations</a></li><li><a href="5-sh.html#SP1_21">§1.21. Rulebooks</a></li><li><a href="5-sh.html#SP1_23">§1.23. Rules</a></li><li><a href="5-sh.html#SP1_25">§1.25. Scenes</a></li><li><a href="5-sh.html#SP1_27">§1.27. Tables</a></li><li><a href="5-sh.html#SP1_29">§1.29. Tests</a></li><li><a href="5-sh.html#SP1_31">§1.31. Use options</a></li><li><a href="5-sh.html#SP1_33">§1.33. Kit-defined symbols</a></li></ul><hr class="tocbar">
|
||||
<ul class="toc"><li><a href="5-sh.html#SP1_2">§1.2. Actions</a></li><li><a href="5-sh.html#SP1_3">§1.3. Activities</a></li><li><a href="5-sh.html#SP1_5">§1.5. Chronology</a></li><li><a href="5-sh.html#SP1_7">§1.7. Conjugations</a></li><li><a href="5-sh.html#SP1_9">§1.9. Extensions</a></li><li><a href="5-sh.html#SP1_11">§1.11. Instances</a></li><li><a href="5-sh.html#SP1_13">§1.13. Kinds</a></li><li><a href="5-sh.html#SP1_15">§1.15. Multimedia</a></li><li><a href="5-sh.html#SP1_17">§1.17. Properties</a></li><li><a href="5-sh.html#SP1_19">§1.19. Relations</a></li><li><a href="5-sh.html#SP1_21">§1.21. Rulebooks</a></li><li><a href="5-sh.html#SP1_23">§1.23. Rules</a></li><li><a href="5-sh.html#SP1_25">§1.25. Scenes</a></li><li><a href="5-sh.html#SP1_27">§1.27. Tables</a></li><li><a href="5-sh.html#SP1_29">§1.29. Tests</a></li><li><a href="5-sh.html#SP1_31">§1.31. Use options</a></li></ul><hr class="tocbar">
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP1" class="paragraph-anchor"></a><b>§1. </b></p>
|
||||
<p class="commentary firstcommentary"><a id="SP1" class="paragraph-anchor"></a><b>§1. </b>This section gives a map of what resources will be made in the synoptic
|
||||
module. The definitions here enable code generated by <a href="../inform7/index.html" class="internal">inform7</a> or <a href="../inter/index.html" class="internal">inter</a>
|
||||
to call functions or use constants defined in the synoptic module, and also
|
||||
allow them to be referred to from kits linked in.
|
||||
</p>
|
||||
|
||||
<p class="commentary">Because the synoptic module exists only to provide resources, this section is
|
||||
in effect a specification for it.
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">SynopticHierarchy_established</span><span class="plain-syntax"> = </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">;</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">SynopticHierarchy::establish</span><span class="plain-syntax">(</span><span class="identifier-syntax">inter_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">SynopticHierarchy_established</span><span class="plain-syntax">) </span><span class="reserved-syntax">return</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">SynopticHierarchy_established</span><span class="plain-syntax"> = </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">;</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">SynopticHierarchy::establish</span><button class="popup" onclick="togglePopup('usagePopup1')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup1">Usage of <span class="code-font"><span class="function-syntax">SynopticHierarchy::establish</span></span>:<br/>Make Synoptic Module Stage - <a href="5-msms.html#SP1">§1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">I</span><span class="plain-syntax">-></span><span class="identifier-syntax">history_bits</span><span class="plain-syntax"> & </span><span class="identifier-syntax">SYNOPTIC_HIERARCHY_MADE_ITHBIT</span><span class="plain-syntax">) </span><span class="reserved-syntax">return</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">I</span><span class="plain-syntax">-></span><span class="identifier-syntax">history_bits</span><span class="plain-syntax"> |= </span><span class="identifier-syntax">SYNOPTIC_HIERARCHY_MADE_ITHBIT</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">location_requirement</span><span class="plain-syntax"> </span><span class="identifier-syntax">req</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-sh.html#SP1_2" class="named-paragraph-link"><span class="named-paragraph">Establish actions</span><span class="named-paragraph-number">1.2</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-sh.html#SP1_4" class="named-paragraph-link"><span class="named-paragraph">Establish activities</span><span class="named-paragraph-number">1.4</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-sh.html#SP1_6" class="named-paragraph-link"><span class="named-paragraph">Establish chronology</span><span class="named-paragraph-number">1.6</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-sh.html#SP1_8" class="named-paragraph-link"><span class="named-paragraph">Establish conjugations</span><span class="named-paragraph-number">1.8</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-sh.html#SP1_10" class="named-paragraph-link"><span class="named-paragraph">Establish extensions</span><span class="named-paragraph-number">1.10</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-sh.html#SP1_12" class="named-paragraph-link"><span class="named-paragraph">Establish instances</span><span class="named-paragraph-number">1.12</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-sh.html#SP1_14" class="named-paragraph-link"><span class="named-paragraph">Establish kinds</span><span class="named-paragraph-number">1.14</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-sh.html#SP1_16" class="named-paragraph-link"><span class="named-paragraph">Establish multimedia</span><span class="named-paragraph-number">1.16</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-sh.html#SP1_18" class="named-paragraph-link"><span class="named-paragraph">Establish properties</span><span class="named-paragraph-number">1.18</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-sh.html#SP1_20" class="named-paragraph-link"><span class="named-paragraph">Establish relations</span><span class="named-paragraph-number">1.20</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-sh.html#SP1_22" class="named-paragraph-link"><span class="named-paragraph">Establish rulebooks</span><span class="named-paragraph-number">1.22</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-sh.html#SP1_24" class="named-paragraph-link"><span class="named-paragraph">Establish rules</span><span class="named-paragraph-number">1.24</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-sh.html#SP1_26" class="named-paragraph-link"><span class="named-paragraph">Establish scenes</span><span class="named-paragraph-number">1.26</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-sh.html#SP1_28" class="named-paragraph-link"><span class="named-paragraph">Establish tables</span><span class="named-paragraph-number">1.28</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-sh.html#SP1_30" class="named-paragraph-link"><span class="named-paragraph">Establish tests</span><span class="named-paragraph-number">1.30</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-sh.html#SP1_32" class="named-paragraph-link"><span class="named-paragraph">Establish use options</span><span class="named-paragraph-number">1.32</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-sh.html#SP1_34" class="named-paragraph-link"><span class="named-paragraph">Establish kit-defined resources</span><span class="named-paragraph-number">1.34</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-sh.html#SP1_2" class="named-paragraph-link"><span class="named-paragraph">Resources for actions</span><span class="named-paragraph-number">1.2</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-sh.html#SP1_4" class="named-paragraph-link"><span class="named-paragraph">Resources for activities</span><span class="named-paragraph-number">1.4</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-sh.html#SP1_6" class="named-paragraph-link"><span class="named-paragraph">Resources for chronology</span><span class="named-paragraph-number">1.6</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-sh.html#SP1_8" class="named-paragraph-link"><span class="named-paragraph">Resources for conjugations</span><span class="named-paragraph-number">1.8</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-sh.html#SP1_10" class="named-paragraph-link"><span class="named-paragraph">Resources for extensions</span><span class="named-paragraph-number">1.10</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-sh.html#SP1_12" class="named-paragraph-link"><span class="named-paragraph">Resources for instances</span><span class="named-paragraph-number">1.12</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-sh.html#SP1_14" class="named-paragraph-link"><span class="named-paragraph">Resources for kinds</span><span class="named-paragraph-number">1.14</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-sh.html#SP1_16" class="named-paragraph-link"><span class="named-paragraph">Resources for multimedia</span><span class="named-paragraph-number">1.16</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-sh.html#SP1_18" class="named-paragraph-link"><span class="named-paragraph">Resources for properties</span><span class="named-paragraph-number">1.18</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-sh.html#SP1_20" class="named-paragraph-link"><span class="named-paragraph">Resources for relations</span><span class="named-paragraph-number">1.20</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-sh.html#SP1_22" class="named-paragraph-link"><span class="named-paragraph">Resources for rulebooks</span><span class="named-paragraph-number">1.22</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-sh.html#SP1_24" class="named-paragraph-link"><span class="named-paragraph">Resources for rules</span><span class="named-paragraph-number">1.24</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-sh.html#SP1_26" class="named-paragraph-link"><span class="named-paragraph">Resources for scenes</span><span class="named-paragraph-number">1.26</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-sh.html#SP1_28" class="named-paragraph-link"><span class="named-paragraph">Resources for tables</span><span class="named-paragraph-number">1.28</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-sh.html#SP1_30" class="named-paragraph-link"><span class="named-paragraph">Resources for tests</span><span class="named-paragraph-number">1.30</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-sh.html#SP1_32" class="named-paragraph-link"><span class="named-paragraph">Resources for use options</span><span class="named-paragraph-number">1.32</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP1_1" class="paragraph-anchor"></a><b>§1.1. </b></p>
|
||||
<p class="commentary firstcommentary"><a id="SP1_1" class="paragraph-anchor"></a><b>§1.1. </b>The notation here is a little cryptic, but see <a href="../runtime-module/2-hrr.html" class="internal">Hierarchy (in runtime)</a> for a
|
||||
fuller explanation.
|
||||
</p>
|
||||
|
||||
<pre class="definitions code-font"><span class="definition-keyword">define</span> <span class="identifier-syntax">SYN_SUBMD</span><span class="plain-syntax">(</span><span class="identifier-syntax">r</span><span class="plain-syntax">) </span><span class="identifier-syntax">req</span><span class="plain-syntax"> = </span><span class="identifier-syntax">HierarchyLocations::synoptic_submodule</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">Packaging::register_submodule</span><span class="plain-syntax">(</span><span class="identifier-syntax">r</span><span class="plain-syntax">));</span>
|
||||
<pre class="definitions code-font"><span class="definition-keyword">define</span> <span class="identifier-syntax">SYN_SUBMD</span><span class="plain-syntax">(</span><span class="identifier-syntax">r</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">req</span><span class="plain-syntax"> = </span><span class="identifier-syntax">HierarchyLocations::synoptic_submodule</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">Packaging::register_submodule</span><span class="plain-syntax">(</span><span class="identifier-syntax">r</span><span class="plain-syntax">));</span>
|
||||
<span class="definition-keyword">define</span> <span class="identifier-syntax">SYN_CONST</span><span class="plain-syntax">(</span><span class="identifier-syntax">id</span><span class="plain-syntax">, </span><span class="identifier-syntax">n</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HierarchyLocations::ctr</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">id</span><span class="plain-syntax">, </span><span class="identifier-syntax">n</span><span class="plain-syntax">, </span><span class="identifier-syntax">Translation::same</span><span class="plain-syntax">(), </span><span class="identifier-syntax">req</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HierarchyLocations::ctr</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">id</span><span class="plain-syntax">, </span><span class="identifier-syntax">n</span><span class="plain-syntax">, </span><span class="identifier-syntax">Translation::same</span><span class="plain-syntax">(), </span><span class="identifier-syntax">req</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">iname</span><span class="plain-syntax"> = </span><span class="identifier-syntax">HierarchyLocations::find</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">id</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">S</span><span class="plain-syntax"> = </span><span class="identifier-syntax">InterNames::to_symbol</span><span class="plain-syntax">(</span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Wiring::socket</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">InterNames::to_text</span><span class="plain-syntax">(</span><span class="identifier-syntax">iname</span><span class="plain-syntax">), </span><span class="identifier-syntax">S</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="definition-keyword">define</span> <span class="identifier-syntax">SYN_FUNCT</span><span class="plain-syntax">(</span><span class="identifier-syntax">id</span><span class="plain-syntax">, </span><span class="identifier-syntax">n</span><span class="plain-syntax">, </span><span class="identifier-syntax">t</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HierarchyLocations::fun</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">id</span><span class="plain-syntax">, </span><span class="identifier-syntax">n</span><span class="plain-syntax">, </span><span class="identifier-syntax">Translation::to</span><span class="plain-syntax">(</span><span class="identifier-syntax">t</span><span class="plain-syntax">), </span><span class="identifier-syntax">req</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HierarchyLocations::fun</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">id</span><span class="plain-syntax">, </span><span class="identifier-syntax">n</span><span class="plain-syntax">, </span><span class="identifier-syntax">Translation::to</span><span class="plain-syntax">(</span><span class="identifier-syntax">t</span><span class="plain-syntax">), </span><span class="identifier-syntax">req</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">iname</span><span class="plain-syntax"> = </span><span class="identifier-syntax">HierarchyLocations::find</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">id</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">S</span><span class="plain-syntax"> = </span><span class="identifier-syntax">InterNames::to_symbol</span><span class="plain-syntax">(</span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Wiring::socket</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">Produce::get_translation</span><span class="plain-syntax">(</span><span class="identifier-syntax">iname</span><span class="plain-syntax">), </span><span class="identifier-syntax">S</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="definition-keyword">define</span> <span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="identifier-syntax">id</span><span class="plain-syntax">, </span><span class="identifier-syntax">n</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HierarchyLocations::ctr</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">id</span><span class="plain-syntax">, </span><span class="identifier-syntax">n</span><span class="plain-syntax">, </span><span class="identifier-syntax">Translation::same</span><span class="plain-syntax">(), </span><span class="identifier-syntax">req</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP1_2" class="paragraph-anchor"></a><b>§1.2. Actions. </b></p>
|
||||
<p class="commentary firstcommentary"><a id="SP1_2" class="paragraph-anchor"></a><b>§1.2. Actions. </b>The <span class="extract"><span class="extract-syntax">/main/synoptic/actions</span></span> submodule.
|
||||
</p>
|
||||
|
||||
<pre class="definitions code-font"><span class="definition-keyword">enum</span> <span class="constant-syntax">ACTIONCODING_HL</span><span class="plain-syntax"> </span><span class="identifier-syntax">from</span><span class="plain-syntax"> </span><span class="constant-syntax">0</span>
|
||||
<pre class="definitions code-font"><span class="definition-keyword">enum</span> <span class="constant-syntax">ACTIONCODING_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">ACTIONDATA_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">ACTIONHAPPENED_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">AD_RECORDS_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">CCOUNT_ACTION_NAME_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">DB_ACTION_DETAILS_HL</span>
|
||||
</pre>
|
||||
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Establish actions</span><span class="named-paragraph-number">1.2</span></span><span class="comment-syntax"> =</span>
|
||||
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Resources for actions</span><span class="named-paragraph-number">1.2</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
|
@ -134,7 +150,8 @@
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">SYN_FUNCT</span><span class="plain-syntax">(</span><span class="constant-syntax">DB_ACTION_DETAILS_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"DB_Action_Details_fn"</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"DB_Action_Details"</span><span class="plain-syntax">)</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="5-sh.html#SP1">§1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_3" class="paragraph-anchor"></a><b>§1.3. Activities. </b></p>
|
||||
<p class="commentary firstcommentary"><a id="SP1_3" class="paragraph-anchor"></a><b>§1.3. Activities. </b>The <span class="extract"><span class="extract-syntax">/main/synoptic/activities</span></span> submodule.
|
||||
</p>
|
||||
|
||||
<pre class="definitions code-font"><span class="definition-keyword">enum</span> <span class="constant-syntax">ACTIVITY_AFTER_RULEBOOKS_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">ACTIVITY_ATB_RULEBOOKS_HL</span>
|
||||
|
@ -142,7 +159,7 @@
|
|||
<span class="definition-keyword">enum</span> <span class="constant-syntax">ACTIVITY_FOR_RULEBOOKS_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">ACTIVITY_VAR_CREATORS_HL</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP1_4" class="paragraph-anchor"></a><b>§1.4. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Establish activities</span><span class="named-paragraph-number">1.4</span></span><span class="comment-syntax"> =</span>
|
||||
<p class="commentary firstcommentary"><a id="SP1_4" class="paragraph-anchor"></a><b>§1.4. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Resources for activities</span><span class="named-paragraph-number">1.4</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
|
@ -154,7 +171,8 @@
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">SYN_CONST</span><span class="plain-syntax">(</span><span class="constant-syntax">ACTIVITY_VAR_CREATORS_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"activity_var_creators"</span><span class="plain-syntax">)</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="5-sh.html#SP1">§1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_5" class="paragraph-anchor"></a><b>§1.5. Chronology. </b></p>
|
||||
<p class="commentary firstcommentary"><a id="SP1_5" class="paragraph-anchor"></a><b>§1.5. Chronology. </b>The <span class="extract"><span class="extract-syntax">/main/synoptic/chronology</span></span> submodule.
|
||||
</p>
|
||||
|
||||
<pre class="definitions code-font"><span class="definition-keyword">enum</span> <span class="constant-syntax">TIMEDEVENTSTABLE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">TIMEDEVENTTIMESTABLE_HL</span>
|
||||
|
@ -163,7 +181,7 @@
|
|||
<span class="definition-keyword">enum</span> <span class="constant-syntax">NO_PAST_TENSE_ACTIONS_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">TESTSINGLEPASTSTATE_HL</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP1_6" class="paragraph-anchor"></a><b>§1.6. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Establish chronology</span><span class="named-paragraph-number">1.6</span></span><span class="comment-syntax"> =</span>
|
||||
<p class="commentary firstcommentary"><a id="SP1_6" class="paragraph-anchor"></a><b>§1.6. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Resources for chronology</span><span class="named-paragraph-number">1.6</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
|
@ -176,11 +194,12 @@
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">SYN_FUNCT</span><span class="plain-syntax">(</span><span class="constant-syntax">TESTSINGLEPASTSTATE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"test_fn"</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"TestSinglePastState"</span><span class="plain-syntax">)</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="5-sh.html#SP1">§1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_7" class="paragraph-anchor"></a><b>§1.7. Conjugations. </b></p>
|
||||
<p class="commentary firstcommentary"><a id="SP1_7" class="paragraph-anchor"></a><b>§1.7. Conjugations. </b>The <span class="extract"><span class="extract-syntax">/main/synoptic/conjugations</span></span> submodule.
|
||||
</p>
|
||||
|
||||
<pre class="definitions code-font"><span class="definition-keyword">enum</span> <span class="constant-syntax">TABLEOFVERBS_HL</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP1_8" class="paragraph-anchor"></a><b>§1.8. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Establish conjugations</span><span class="named-paragraph-number">1.8</span></span><span class="comment-syntax"> =</span>
|
||||
<p class="commentary firstcommentary"><a id="SP1_8" class="paragraph-anchor"></a><b>§1.8. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Resources for conjugations</span><span class="named-paragraph-number">1.8</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
|
@ -188,13 +207,14 @@
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">SYN_CONST</span><span class="plain-syntax">(</span><span class="constant-syntax">TABLEOFVERBS_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"TableOfVerbs"</span><span class="plain-syntax">)</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="5-sh.html#SP1">§1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_9" class="paragraph-anchor"></a><b>§1.9. Extensions. </b></p>
|
||||
<p class="commentary firstcommentary"><a id="SP1_9" class="paragraph-anchor"></a><b>§1.9. Extensions. </b>The <span class="extract"><span class="extract-syntax">/main/synoptic/extensions</span></span> submodule.
|
||||
</p>
|
||||
|
||||
<pre class="definitions code-font"><span class="definition-keyword">enum</span> <span class="constant-syntax">SHOWEXTENSIONVERSIONS_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">SHOWFULLEXTENSIONVERSIONS_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">SHOWONEEXTENSION_HL</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP1_10" class="paragraph-anchor"></a><b>§1.10. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Establish extensions</span><span class="named-paragraph-number">1.10</span></span><span class="comment-syntax"> =</span>
|
||||
<p class="commentary firstcommentary"><a id="SP1_10" class="paragraph-anchor"></a><b>§1.10. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Resources for extensions</span><span class="named-paragraph-number">1.10</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
|
@ -204,11 +224,12 @@
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">SYN_FUNCT</span><span class="plain-syntax">(</span><span class="constant-syntax">SHOWONEEXTENSION_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"showoneextension_fn"</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"ShowOneExtension"</span><span class="plain-syntax">)</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="5-sh.html#SP1">§1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_11" class="paragraph-anchor"></a><b>§1.11. Instances. </b></p>
|
||||
<p class="commentary firstcommentary"><a id="SP1_11" class="paragraph-anchor"></a><b>§1.11. Instances. </b>The <span class="extract"><span class="extract-syntax">/main/synoptic/instances</span></span> submodule.
|
||||
</p>
|
||||
|
||||
<pre class="definitions code-font"><span class="definition-keyword">enum</span> <span class="constant-syntax">SHOWMEINSTANCEDETAILS_HL</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP1_12" class="paragraph-anchor"></a><b>§1.12. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Establish instances</span><span class="named-paragraph-number">1.12</span></span><span class="comment-syntax"> =</span>
|
||||
<p class="commentary firstcommentary"><a id="SP1_12" class="paragraph-anchor"></a><b>§1.12. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Resources for instances</span><span class="named-paragraph-number">1.12</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
|
@ -216,7 +237,8 @@
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">SYN_FUNCT</span><span class="plain-syntax">(</span><span class="constant-syntax">SHOWMEINSTANCEDETAILS_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"showmeinstancedetails_fn"</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"ShowMeInstanceDetails"</span><span class="plain-syntax">)</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="5-sh.html#SP1">§1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_13" class="paragraph-anchor"></a><b>§1.13. Kinds. </b></p>
|
||||
<p class="commentary firstcommentary"><a id="SP1_13" class="paragraph-anchor"></a><b>§1.13. Kinds. </b>The <span class="extract"><span class="extract-syntax">/main/synoptic/kinds</span></span> submodule.
|
||||
</p>
|
||||
|
||||
<pre class="definitions code-font"><span class="definition-keyword">enum</span> <span class="constant-syntax">DEFAULTVALUEOFKOV_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">DEFAULTVALUEFINDER_HL</span>
|
||||
|
@ -231,7 +253,7 @@
|
|||
<span class="definition-keyword">enum</span> <span class="constant-syntax">RUCKSACK_CLASS_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">KINDHIERARCHY_HL</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP1_14" class="paragraph-anchor"></a><b>§1.14. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Establish kinds</span><span class="named-paragraph-number">1.14</span></span><span class="comment-syntax"> =</span>
|
||||
<p class="commentary firstcommentary"><a id="SP1_14" class="paragraph-anchor"></a><b>§1.14. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Resources for kinds</span><span class="named-paragraph-number">1.14</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
|
@ -250,14 +272,15 @@
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">SYN_CONST</span><span class="plain-syntax">(</span><span class="constant-syntax">KINDHIERARCHY_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"KindHierarchy"</span><span class="plain-syntax">)</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="5-sh.html#SP1">§1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_15" class="paragraph-anchor"></a><b>§1.15. Multimedia. </b></p>
|
||||
<p class="commentary firstcommentary"><a id="SP1_15" class="paragraph-anchor"></a><b>§1.15. Multimedia. </b>The <span class="extract"><span class="extract-syntax">/main/synoptic/multimedia</span></span> submodule.
|
||||
</p>
|
||||
|
||||
<pre class="definitions code-font"><span class="definition-keyword">enum</span> <span class="constant-syntax">RESOURCEIDSOFFIGURES_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">RESOURCEIDSOFSOUNDS_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">NO_EXTERNAL_FILES_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">TABLEOFEXTERNALFILES_HL</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP1_16" class="paragraph-anchor"></a><b>§1.16. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Establish multimedia</span><span class="named-paragraph-number">1.16</span></span><span class="comment-syntax"> =</span>
|
||||
<p class="commentary firstcommentary"><a id="SP1_16" class="paragraph-anchor"></a><b>§1.16. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Resources for multimedia</span><span class="named-paragraph-number">1.16</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
|
@ -268,11 +291,12 @@
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">SYN_CONST</span><span class="plain-syntax">(</span><span class="constant-syntax">TABLEOFEXTERNALFILES_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"TableOfExternalFiles"</span><span class="plain-syntax">)</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="5-sh.html#SP1">§1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_17" class="paragraph-anchor"></a><b>§1.17. Properties. </b></p>
|
||||
<p class="commentary firstcommentary"><a id="SP1_17" class="paragraph-anchor"></a><b>§1.17. Properties. </b>The <span class="extract"><span class="extract-syntax">/main/synoptic/properties</span></span> submodule.
|
||||
</p>
|
||||
|
||||
<pre class="definitions code-font"><span class="definition-keyword">enum</span> <span class="constant-syntax">CCOUNT_PROPERTY_HL</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP1_18" class="paragraph-anchor"></a><b>§1.18. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Establish properties</span><span class="named-paragraph-number">1.18</span></span><span class="comment-syntax"> =</span>
|
||||
<p class="commentary firstcommentary"><a id="SP1_18" class="paragraph-anchor"></a><b>§1.18. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Resources for properties</span><span class="named-paragraph-number">1.18</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
|
@ -280,14 +304,15 @@
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">SYN_CONST</span><span class="plain-syntax">(</span><span class="constant-syntax">CCOUNT_PROPERTY_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"CCOUNT_PROPERTY"</span><span class="plain-syntax">)</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="5-sh.html#SP1">§1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_19" class="paragraph-anchor"></a><b>§1.19. Relations. </b></p>
|
||||
<p class="commentary firstcommentary"><a id="SP1_19" class="paragraph-anchor"></a><b>§1.19. Relations. </b>The <span class="extract"><span class="extract-syntax">/main/synoptic/relations</span></span> submodule.
|
||||
</p>
|
||||
|
||||
<pre class="definitions code-font"><span class="definition-keyword">enum</span> <span class="constant-syntax">CREATEDYNAMICRELATIONS_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">CCOUNT_BINARY_PREDICATE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">ITERATERELATIONS_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">RPROPERTY_HL</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP1_20" class="paragraph-anchor"></a><b>§1.20. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Establish relations</span><span class="named-paragraph-number">1.20</span></span><span class="comment-syntax"> =</span>
|
||||
<p class="commentary firstcommentary"><a id="SP1_20" class="paragraph-anchor"></a><b>§1.20. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Resources for relations</span><span class="named-paragraph-number">1.20</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
|
@ -298,7 +323,8 @@
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">SYN_FUNCT</span><span class="plain-syntax">(</span><span class="constant-syntax">RPROPERTY_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"property_fn"</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"RProperty"</span><span class="plain-syntax">)</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="5-sh.html#SP1">§1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_21" class="paragraph-anchor"></a><b>§1.21. Rulebooks. </b></p>
|
||||
<p class="commentary firstcommentary"><a id="SP1_21" class="paragraph-anchor"></a><b>§1.21. Rulebooks. </b>The <span class="extract"><span class="extract-syntax">/main/synoptic/rulebooks</span></span> submodule.
|
||||
</p>
|
||||
|
||||
<pre class="definitions code-font"><span class="definition-keyword">enum</span> <span class="constant-syntax">NUMBER_RULEBOOKS_CREATED_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">RULEBOOK_VAR_CREATORS_HL</span>
|
||||
|
@ -306,7 +332,7 @@
|
|||
<span class="definition-keyword">enum</span> <span class="constant-syntax">RULEBOOKS_ARRAY_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">RULEBOOKNAMES_HL</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP1_22" class="paragraph-anchor"></a><b>§1.22. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Establish rulebooks</span><span class="named-paragraph-number">1.22</span></span><span class="comment-syntax"> =</span>
|
||||
<p class="commentary firstcommentary"><a id="SP1_22" class="paragraph-anchor"></a><b>§1.22. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Resources for rulebooks</span><span class="named-paragraph-number">1.22</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
|
@ -318,7 +344,8 @@
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">SYN_CONST</span><span class="plain-syntax">(</span><span class="constant-syntax">RULEBOOKNAMES_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"RulebookNames"</span><span class="plain-syntax">)</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="5-sh.html#SP1">§1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_23" class="paragraph-anchor"></a><b>§1.23. Rules. </b></p>
|
||||
<p class="commentary firstcommentary"><a id="SP1_23" class="paragraph-anchor"></a><b>§1.23. Rules. </b>The <span class="extract"><span class="extract-syntax">/main/synoptic/rules</span></span> and <span class="extract"><span class="extract-syntax">/main/synoptic/responses</span></span> submodule.
|
||||
</p>
|
||||
|
||||
<pre class="definitions code-font"><span class="definition-keyword">enum</span> <span class="constant-syntax">RULEPRINTINGRULE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">RESPONSETEXTS_HL</span>
|
||||
|
@ -326,7 +353,7 @@
|
|||
<span class="definition-keyword">enum</span> <span class="constant-syntax">RESPONSEDIVISIONS_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">PRINT_RESPONSE_HL</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP1_24" class="paragraph-anchor"></a><b>§1.24. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Establish rules</span><span class="named-paragraph-number">1.24</span></span><span class="comment-syntax"> =</span>
|
||||
<p class="commentary firstcommentary"><a id="SP1_24" class="paragraph-anchor"></a><b>§1.24. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Resources for rules</span><span class="named-paragraph-number">1.24</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
|
@ -340,12 +367,13 @@
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">SYN_FUNCT</span><span class="plain-syntax">(</span><span class="constant-syntax">PRINT_RESPONSE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"print_fn"</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"PrintResponse"</span><span class="plain-syntax">)</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="5-sh.html#SP1">§1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_25" class="paragraph-anchor"></a><b>§1.25. Scenes. </b></p>
|
||||
<p class="commentary firstcommentary"><a id="SP1_25" class="paragraph-anchor"></a><b>§1.25. Scenes. </b>The <span class="extract"><span class="extract-syntax">/main/synoptic/scenes</span></span> submodule.
|
||||
</p>
|
||||
|
||||
<pre class="definitions code-font"><span class="definition-keyword">enum</span> <span class="constant-syntax">SHOWSCENESTATUS_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">DETECTSCENECHANGE_HL</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP1_26" class="paragraph-anchor"></a><b>§1.26. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Establish scenes</span><span class="named-paragraph-number">1.26</span></span><span class="comment-syntax"> =</span>
|
||||
<p class="commentary firstcommentary"><a id="SP1_26" class="paragraph-anchor"></a><b>§1.26. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Resources for scenes</span><span class="named-paragraph-number">1.26</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
|
@ -354,7 +382,8 @@
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">SYN_FUNCT</span><span class="plain-syntax">(</span><span class="constant-syntax">DETECTSCENECHANGE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"detect_scene_change_fn"</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"DetectSceneChange"</span><span class="plain-syntax">)</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="5-sh.html#SP1">§1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_27" class="paragraph-anchor"></a><b>§1.27. Tables. </b></p>
|
||||
<p class="commentary firstcommentary"><a id="SP1_27" class="paragraph-anchor"></a><b>§1.27. Tables. </b>The <span class="extract"><span class="extract-syntax">/main/synoptic/tables</span></span> submodule.
|
||||
</p>
|
||||
|
||||
<pre class="definitions code-font"><span class="definition-keyword">enum</span> <span class="constant-syntax">PRINT_TABLE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">TABLEOFTABLES_HL</span>
|
||||
|
@ -362,7 +391,7 @@
|
|||
<span class="definition-keyword">enum</span> <span class="constant-syntax">RANKING_TABLE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">TC_KOV_HL</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP1_28" class="paragraph-anchor"></a><b>§1.28. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Establish tables</span><span class="named-paragraph-number">1.28</span></span><span class="comment-syntax"> =</span>
|
||||
<p class="commentary firstcommentary"><a id="SP1_28" class="paragraph-anchor"></a><b>§1.28. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Resources for tables</span><span class="named-paragraph-number">1.28</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
|
@ -376,11 +405,12 @@
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">SYN_FUNCT</span><span class="plain-syntax">(</span><span class="constant-syntax">TC_KOV_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"weak_kind_ID_of_column_entry_fn"</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"TC_KOV"</span><span class="plain-syntax">)</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="5-sh.html#SP1">§1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_29" class="paragraph-anchor"></a><b>§1.29. Tests. </b></p>
|
||||
<p class="commentary firstcommentary"><a id="SP1_29" class="paragraph-anchor"></a><b>§1.29. Tests. </b>The <span class="extract"><span class="extract-syntax">/main/synoptic/tests</span></span> submodule.
|
||||
</p>
|
||||
|
||||
<pre class="definitions code-font"><span class="definition-keyword">enum</span> <span class="constant-syntax">TESTSCRIPTSUB_HL</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP1_30" class="paragraph-anchor"></a><b>§1.30. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Establish tests</span><span class="named-paragraph-number">1.30</span></span><span class="comment-syntax"> =</span>
|
||||
<p class="commentary firstcommentary"><a id="SP1_30" class="paragraph-anchor"></a><b>§1.30. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Resources for tests</span><span class="named-paragraph-number">1.30</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
|
@ -388,13 +418,14 @@
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">SYN_FUNCT</span><span class="plain-syntax">(</span><span class="constant-syntax">TESTSCRIPTSUB_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"TestScriptSub_fn"</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"TestScriptSub"</span><span class="plain-syntax">)</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="5-sh.html#SP1">§1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_31" class="paragraph-anchor"></a><b>§1.31. Use options. </b></p>
|
||||
<p class="commentary firstcommentary"><a id="SP1_31" class="paragraph-anchor"></a><b>§1.31. Use options. </b>The <span class="extract"><span class="extract-syntax">/main/synoptic/use_options</span></span> submodule.
|
||||
</p>
|
||||
|
||||
<pre class="definitions code-font"><span class="definition-keyword">enum</span> <span class="constant-syntax">NO_USE_OPTIONS_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">TESTUSEOPTION_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">PRINT_USE_OPTION_HL</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP1_32" class="paragraph-anchor"></a><b>§1.32. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Establish use options</span><span class="named-paragraph-number">1.32</span></span><span class="comment-syntax"> =</span>
|
||||
<p class="commentary firstcommentary"><a id="SP1_32" class="paragraph-anchor"></a><b>§1.32. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Resources for use options</span><span class="named-paragraph-number">1.32</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
|
@ -404,499 +435,6 @@
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">SYN_FUNCT</span><span class="plain-syntax">(</span><span class="constant-syntax">PRINT_USE_OPTION_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"print_fn"</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"PrintUseOption"</span><span class="plain-syntax">)</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="5-sh.html#SP1">§1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_33" class="paragraph-anchor"></a><b>§1.33. Kit-defined symbols. </b>The Inform 7 compiler creates none of the constants below. (Note that some are
|
||||
the addresses of functions, but they are constants for our purposes here.)
|
||||
Instead, they are defined using Inform 6 notation in one of the kits. We don't
|
||||
need to know which kit; we simply leaves them as "plugs" to be connected to
|
||||
"sockets" in the linking stage — see <a href="../bytecode-module/2-cnn.html" class="internal">Connectors (in bytecode)</a>.
|
||||
</p>
|
||||
|
||||
<pre class="definitions code-font"><span class="definition-keyword">enum</span> <span class="constant-syntax">THESAME_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">PLURALFOUND_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">THEDARK_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">ACT_REQUESTER_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">ACTION_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">ACTIONCURRENTLYHAPPENINGFLAG_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">ACTOR_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">ACTOR_LOCATION_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">ADJUSTPARAGRAPHPOINT_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">ALLOWINSHOWME_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">ANIMATE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">ARGUMENTTYPEFAILED_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">ARTICLEDESCRIPTORS_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">AUXF_MAGIC_VALUE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">AUXF_STATUS_IS_CLOSED_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">BLKVALUECOPY_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">BLKVALUECOPYAZ_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">BLKVALUECREATE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">BLKVALUECREATEONSTACK_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">BLKVALUEERROR_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">BLKVALUEFREE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">BLKVALUEFREEONSTACK_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">BLKVALUEWRITE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">C_STYLE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">CHECKKINDRETURNED_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">CLEARPARAGRAPHING_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">COMPONENT_CHILD_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">COMPONENT_PARENT_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">COMPONENT_SIBLING_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">CONSTANT_PACKED_TEXT_STORAGE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">CONSTANT_PERISHABLE_TEXT_STORAGE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">CONSULT_FROM_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">CONSULT_WORDS_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">CONTAINER_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">CUBEROOT_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">DA_NAME_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">DB_RULE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">DEADFLAG_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">DEBUGPROPERTY_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">DEBUG_RULES_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">DEBUG_SCENES_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">DECIMALNUMBER_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">DETECTPLURALWORD_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">DIGITTOVALUE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">DIVIDEPARAGRAPHPOINT_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">DOUBLEHASHSETRELATIONHANDLER_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">DURINGSCENEMATCHING_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">ELEMENTARY_TT_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">EMPTY_RULEBOOK_INAME_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">EMPTY_TABLE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">EMPTY_TEXT_PACKED_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">EMPTY_TEXT_VALUE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">EMPTYRELATIONHANDLER_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">ENGLISH_BIT_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">ETYPE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">EXISTSTABLELOOKUPCORR_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">EXISTSTABLELOOKUPENTRY_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">EXISTSTABLEROWCORR_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">FLOAT_NAN_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">FLOATPARSE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">FOLLOWRULEBOOK_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">formal_par0_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">formal_par1_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">formal_par2_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">formal_par3_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">formal_par4_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">formal_par5_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">formal_par6_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">formal_par7_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">FORMAL_RV_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">FOUND_EVERYWHERE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">GENERATERANDOMNUMBER_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">GENERICVERBSUB_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">GETGNAOFOBJECT_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">GPR_FAIL_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">GPR_NUMBER_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">GPR_PREPOSITION_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">GPR_TT_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">GPROPERTY_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">HASHLISTRELATIONHANDLER_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">I7SFRAME_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">INDENT_BIT_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">INP1_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">INP2_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">INTEGERDIVIDE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">INTEGERREMAINDER_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">INVENTORY_STAGE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">KEEP_SILENT_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">KINDATOMIC_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">LATEST_RULE_RESULT_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">LIST_ITEM_BASE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">LIST_ITEM_KOV_F_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">LIST_OF_TY_DESC_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">LIST_OF_TY_GETITEM_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">LIST_OF_TY_GETLENGTH_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">LIST_OF_TY_INSERTITEM_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">LIST_OF_TY_SAY_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">LIST_OF_TY_SETLENGTH_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">LOCATION_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">LOCATIONOF_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">LOOPOVERSCOPE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">LOS_RV_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">MSTACK_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">MSTVO_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">MSTVON_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">NAME_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">NEWLINE_BIT_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">NEXTBEST_ETYPE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">NEXTWORDSTOPPED_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">NOARTICLE_BIT_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">NOTHING_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">NOTINCONTEXTPE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">NOUN_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">NUMBER_TY_ABS_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">NUMBER_TY_TO_REAL_NUMBER_TY_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">NUMBER_TY_TO_TIME_TY_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">OTOVRELROUTETO_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">PACKED_TEXT_STORAGE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">PARACONTENT_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">PARAMETER_VALUE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">PARSED_NUMBER_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">PARSER_ACTION_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">PARSER_ONE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">PARSER_TRACE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">PARSER_TWO_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">PARSERERROR_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">PARSETOKENSTOPPED_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">PAST_CHRONOLOGICAL_RECORD_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">PLACEINSCOPE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">PLAYER_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">PNTOVP_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">PRESENT_CHRONOLOGICAL_RECORD_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">PRINTORRUN_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">PRINTSHORTNAME_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">PRIOR_NAMED_LIST_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">PRIOR_NAMED_LIST_GENDER_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">PRIOR_NAMED_NOUN_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">PROPERTY_LOOP_SIGN_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">PROPERTY_TO_BE_TOTALLED_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">REAL_LOCATION_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">REAL_NUMBER_TY_ABS_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">REAL_NUMBER_TY_APPROXIMATE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">REAL_NUMBER_TY_COMPARE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">REAL_NUMBER_TY_CUBE_ROOT_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">REAL_NUMBER_TY_DIVIDE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">REAL_NUMBER_TY_MINUS_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">REAL_NUMBER_TY_NAN_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">REAL_NUMBER_TY_NEGATE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">REAL_NUMBER_TY_PLUS_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">REAL_NUMBER_TY_POW_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">REAL_NUMBER_TY_REMAINDER_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">REAL_NUMBER_TY_ROOT_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">REAL_NUMBER_TY_SAY_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">REAL_NUMBER_TY_TIMES_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">REAL_NUMBER_TY_TO_NUMBER_TY_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">REASON_THE_ACTION_FAILED_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">RELATION_EMPTYEQUIV_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">RELATION_EMPTYOTOO_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">RELATION_EMPTYVTOV_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">RELATION_RSHOWOTOO_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">RELATION_SHOWEQUIV_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">RELATION_SHOWOTOO_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">RELATION_SHOWVTOV_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">RELATION_TY_EQUIVALENCEADJECTIVE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">RELATION_TY_NAME_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">RELATION_TY_OTOOADJECTIVE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">RELATION_TY_OTOVADJECTIVE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">RELATION_TY_SYMMETRICADJECTIVE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">RELATION_TY_VTOOADJECTIVE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">RELATIONTEST_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">RELFOLLOWVECTOR_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">RELS_EMPTY_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">RESPONSEVIAACTIVITY_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">RLANY_CAN_GET_X_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">RLANY_CAN_GET_Y_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">RLANY_GET_X_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">RLIST_ALL_X_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">RLIST_ALL_Y_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">RLNGETF_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">ROUNDOFFVALUE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">ROUTINEFILTER_TT_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">RR_STORAGE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">RTP_RELKINDVIOLATION_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">RTP_RELMINIMAL_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">RULEBOOKFAILS_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">RULEBOOKPARBREAK_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">RULEBOOKSUCCEEDS_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">RUNTIMEPROBLEM_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">SAY__N_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">SAY__P_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">SAY__PC_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">SCENE_ENDED_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">SCENE_ENDINGS_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">SCENE_LATEST_ENDING_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">SCENE_STARTED_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">SCENE_STATUS_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">SCOPE_STAGE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">SCOPE_TT_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">SECOND_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">SHORT_NAME_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">SIGNEDCOMPARE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">SPECIAL_WORD_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">SQUAREROOT_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">STACKFRAMECREATE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">STORED_ACTION_TY_CURRENT_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">STORED_ACTION_TY_TRY_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">STORY_TENSE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">SUPPORTER_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">SUPPRESS_SCOPE_LOOPS_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">SUPPRESS_TEXT_SUBSTITUTION_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">TABLE_NOVALUE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">TABLELOOKUPCORR_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">TABLELOOKUPENTRY_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">TESTACTIONBITMAP_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">TESTACTIVITY_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">TESTREGIONALCONTAINMENT_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">TESTSCOPE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">TESTSTART_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">TEXT_TY_COMPARE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">TEXT_TY_EXPANDIFPERISHABLE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">TEXT_TY_SAY_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">THE_TIME_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">THEEMPTYTABLE_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">THEN1__WD_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">TIMESACTIONHASBEENHAPPENING_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">TIMESACTIONHASHAPPENED_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">TRYACTION_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">TRYGIVENOBJECT_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">TURNSACTIONHASBEENHAPPENING_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">UNDERSTAND_AS_MISTAKE_NUMBER_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">UNICODE_TEMP_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">VTOORELROUTETO_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">VTOVRELROUTETO_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">WHEN_SCENE_BEGINS_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">WHEN_SCENE_ENDS_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">WN_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">WORDADDRESS_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">WORDINPROPERTY_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">WORDLENGTH_HL</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP1_34" class="paragraph-anchor"></a><b>§1.34. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Establish kit-defined resources</span><span class="named-paragraph-number">1.34</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">req</span><span class="plain-syntax"> = </span><span class="identifier-syntax">HierarchyLocations::plug</span><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">THESAME_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"##TheSame"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">PLURALFOUND_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"##PluralFound"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">THEDARK_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"thedark"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">ACT_REQUESTER_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"act_requester"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">ACTION_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"action"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">ACTIONCURRENTLYHAPPENINGFLAG_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"ActionCurrentlyHappeningFlag"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">ACTOR_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"actor"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">ACTOR_LOCATION_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"actor_location"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">ADJUSTPARAGRAPHPOINT_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"AdjustParagraphPoint"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">ALLOWINSHOWME_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"AllowInShowme"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">ANIMATE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"animate"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">ARGUMENTTYPEFAILED_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"ArgumentTypeFailed"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">ARTICLEDESCRIPTORS_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"ArticleDescriptors"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">AUXF_MAGIC_VALUE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"AUXF_MAGIC_VALUE"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">AUXF_STATUS_IS_CLOSED_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"AUXF_STATUS_IS_CLOSED"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">BLKVALUECOPY_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"BlkValueCopy"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">BLKVALUECOPYAZ_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"BlkValueCopyAZ"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">BLKVALUECREATE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"BlkValueCreate"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">BLKVALUECREATEONSTACK_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"BlkValueCreateOnStack"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">BLKVALUEERROR_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"BlkValueError"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">BLKVALUEFREE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"BlkValueFree"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">BLKVALUEFREEONSTACK_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"BlkValueFreeOnStack"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">BLKVALUEWRITE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"BlkValueWrite"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">C_STYLE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"c_style"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">CHECKKINDRETURNED_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"CheckKindReturned"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">CLEARPARAGRAPHING_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"ClearParagraphing"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">COMPONENT_CHILD_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"component_child"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">COMPONENT_PARENT_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"component_parent"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">COMPONENT_SIBLING_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"component_sibling"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">CONSTANT_PACKED_TEXT_STORAGE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"CONSTANT_PACKED_TEXT_STORAGE"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">CONSTANT_PERISHABLE_TEXT_STORAGE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"CONSTANT_PERISHABLE_TEXT_STORAGE"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">CONSULT_FROM_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"consult_from"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">CONSULT_WORDS_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"consult_words"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">CONTAINER_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"container"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">CUBEROOT_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"CubeRoot"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">DA_NAME_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"DA_Name"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">DB_RULE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"DB_Rule"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">DEADFLAG_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"deadflag"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">DEBUGPROPERTY_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"DebugProperty"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">DEBUG_RULES_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"debug_rules"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">DEBUG_SCENES_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"debug_scenes"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">DECIMALNUMBER_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"DecimalNumber"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">DETECTPLURALWORD_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"DetectPluralWord"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">DIGITTOVALUE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"DigitToValue"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">DIVIDEPARAGRAPHPOINT_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"DivideParagraphPoint"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">DOUBLEHASHSETRELATIONHANDLER_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"DoubleHashSetRelationHandler"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">DURINGSCENEMATCHING_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"DuringSceneMatching"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">ELEMENTARY_TT_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"ELEMENTARY_TT"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">EMPTY_RULEBOOK_INAME_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"EMPTY_RULEBOOK"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">EMPTY_TABLE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"TheEmptyTable"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">EMPTY_TEXT_PACKED_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"EMPTY_TEXT_PACKED"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">EMPTY_TEXT_VALUE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"EMPTY_TEXT_VALUE"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">EMPTYRELATIONHANDLER_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"EmptyRelationHandler"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">ENGLISH_BIT_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"ENGLISH_BIT"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">ETYPE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"etype"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">EXISTSTABLELOOKUPCORR_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"ExistsTableLookUpCorr"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">EXISTSTABLELOOKUPENTRY_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"ExistsTableLookUpEntry"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">EXISTSTABLEROWCORR_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"ExistsTableRowCorr"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">FLOAT_NAN_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"FLOAT_NAN"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">FLOATPARSE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"FloatParse"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">FOLLOWRULEBOOK_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"FollowRulebook"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">formal_par0_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"formal_par0"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">formal_par1_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"formal_par1"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">formal_par2_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"formal_par2"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">formal_par3_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"formal_par3"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">formal_par4_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"formal_par4"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">formal_par5_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"formal_par5"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">formal_par6_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"formal_par6"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">formal_par7_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"formal_par7"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">FORMAL_RV_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"formal_rv"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">FOUND_EVERYWHERE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"FoundEverywhere"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">GENERATERANDOMNUMBER_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"GenerateRandomNumber"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">GENERICVERBSUB_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"GenericVerbSub"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">GETGNAOFOBJECT_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"GetGNAOfObject"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">GPR_FAIL_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"GPR_FAIL"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">GPR_NUMBER_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"GPR_NUMBER"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">GPR_PREPOSITION_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"GPR_PREPOSITION"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">GPR_TT_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"GPR_TT"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">GPROPERTY_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"GProperty"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">HASHLISTRELATIONHANDLER_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"HashListRelationHandler"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">I7SFRAME_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"I7SFRAME"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">INDENT_BIT_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"INDENT_BIT"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">INP1_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"inp1"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">INP2_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"inp2"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">INTEGERDIVIDE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"IntegerDivide"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">INTEGERREMAINDER_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"IntegerRemainder"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">INVENTORY_STAGE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"inventory_stage"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">KEEP_SILENT_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"keep_silent"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">KINDATOMIC_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"KindAtomic"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">LATEST_RULE_RESULT_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"latest_rule_result"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">LIST_ITEM_BASE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"LIST_ITEM_BASE"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">LIST_ITEM_KOV_F_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"LIST_ITEM_KOV_F"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">LIST_OF_TY_DESC_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"LIST_OF_TY_Desc"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">LIST_OF_TY_GETITEM_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"LIST_OF_TY_GetItem"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">LIST_OF_TY_GETLENGTH_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"LIST_OF_TY_GetLength"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">LIST_OF_TY_INSERTITEM_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"LIST_OF_TY_InsertItem"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">LIST_OF_TY_SAY_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"LIST_OF_TY_Say"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">LIST_OF_TY_SETLENGTH_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"LIST_OF_TY_SetLength"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">LOCATION_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"location"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">LOCATIONOF_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"LocationOf"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">LOOPOVERSCOPE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"LoopOverScope"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">LOS_RV_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"los_rv"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">MSTACK_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"MStack"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">MSTVO_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"MstVO"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">MSTVON_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"MstVON"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">NAME_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"name"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">NEWLINE_BIT_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"NEWLINE_BIT"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">NEXTBEST_ETYPE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"nextbest_etype"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">NEXTWORDSTOPPED_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"NextWordStopped"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">NOARTICLE_BIT_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"NOARTICLE_BIT"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">NOTINCONTEXTPE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"NOTINCONTEXT_PE"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">NOTHING_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"nothing"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">NOUN_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"noun"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">NUMBER_TY_ABS_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"NUMBER_TY_Abs"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">NUMBER_TY_TO_REAL_NUMBER_TY_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"NUMBER_TY_to_REAL_NUMBER_TY"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">NUMBER_TY_TO_TIME_TY_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"NUMBER_TY_to_TIME_TY"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">OTOVRELROUTETO_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"OtoVRelRouteTo"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">PACKED_TEXT_STORAGE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"PACKED_TEXT_STORAGE"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">PARACONTENT_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"ParaContent"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">PARAMETER_VALUE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"parameter_value"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">PARSED_NUMBER_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"parsed_number"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">PARSER_ACTION_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"parser_action"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">PARSER_ONE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"parser_one"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">PARSER_TRACE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"parser_trace"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">PARSER_TWO_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"parser_two"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">PARSERERROR_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"ParserError"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">PARSETOKENSTOPPED_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"ParseTokenStopped"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">PAST_CHRONOLOGICAL_RECORD_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"past_chronological_record"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">PLACEINSCOPE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"PlaceInScope"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">PLAYER_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"player"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">PNTOVP_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"PNToVP"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">PRESENT_CHRONOLOGICAL_RECORD_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"present_chronological_record"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">PRINTORRUN_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"PrintOrRun"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">PRINTSHORTNAME_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"PrintShortName"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">PRIOR_NAMED_LIST_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"prior_named_list"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">PRIOR_NAMED_LIST_GENDER_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"prior_named_list_gender"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">PRIOR_NAMED_NOUN_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"prior_named_noun"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">PROPERTY_LOOP_SIGN_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"property_loop_sign"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">PROPERTY_TO_BE_TOTALLED_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"property_to_be_totalled"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">REAL_LOCATION_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"real_location"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">REAL_NUMBER_TY_ABS_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"REAL_NUMBER_TY_Abs"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">REAL_NUMBER_TY_APPROXIMATE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"REAL_NUMBER_TY_Approximate"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">REAL_NUMBER_TY_COMPARE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"REAL_NUMBER_TY_Compare"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">REAL_NUMBER_TY_CUBE_ROOT_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"REAL_NUMBER_TY_Cube_Root"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">REAL_NUMBER_TY_DIVIDE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"REAL_NUMBER_TY_Divide"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">REAL_NUMBER_TY_MINUS_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"REAL_NUMBER_TY_Minus"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">REAL_NUMBER_TY_NAN_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"REAL_NUMBER_TY_Nan"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">REAL_NUMBER_TY_NEGATE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"REAL_NUMBER_TY_Negate"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">REAL_NUMBER_TY_PLUS_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"REAL_NUMBER_TY_Plus"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">REAL_NUMBER_TY_POW_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"REAL_NUMBER_TY_Pow"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">REAL_NUMBER_TY_REMAINDER_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"REAL_NUMBER_TY_Remainder"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">REAL_NUMBER_TY_ROOT_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"REAL_NUMBER_TY_Root"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">REAL_NUMBER_TY_SAY_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"REAL_NUMBER_TY_Say"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">REAL_NUMBER_TY_TIMES_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"REAL_NUMBER_TY_Times"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">REAL_NUMBER_TY_TO_NUMBER_TY_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"REAL_NUMBER_TY_to_NUMBER_TY"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">REASON_THE_ACTION_FAILED_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"reason_the_action_failed"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">RELATION_EMPTYEQUIV_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Relation_EmptyEquiv"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">RELATION_EMPTYOTOO_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Relation_EmptyOtoO"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">RELATION_EMPTYVTOV_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Relation_EmptyVtoV"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">RELATION_RSHOWOTOO_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Relation_RShowOtoO"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">RELATION_SHOWEQUIV_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Relation_ShowEquiv"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">RELATION_SHOWOTOO_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Relation_ShowOtoO"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">RELATION_SHOWVTOV_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Relation_ShowVtoV"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">RELATION_TY_EQUIVALENCEADJECTIVE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"RELATION_TY_EquivalenceAdjective"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">RELATION_TY_NAME_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"RELATION_TY_Name"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">RELATION_TY_OTOOADJECTIVE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"RELATION_TY_OToOAdjective"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">RELATION_TY_OTOVADJECTIVE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"RELATION_TY_OToVAdjective"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">RELATION_TY_SYMMETRICADJECTIVE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"RELATION_TY_SymmetricAdjective"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">RELATION_TY_VTOOADJECTIVE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"RELATION_TY_VToOAdjective"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">RELATIONTEST_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"RelationTest"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">RELFOLLOWVECTOR_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"RelFollowVector"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">RELS_EMPTY_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"RELS_EMPTY"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">RESPONSEVIAACTIVITY_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"ResponseViaActivity"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">RLANY_CAN_GET_X_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"RLANY_CAN_GET_X"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">RLANY_CAN_GET_Y_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"RLANY_CAN_GET_Y"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">RLANY_GET_X_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"RLANY_GET_X"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">RLIST_ALL_X_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"RLIST_ALL_X"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">RLIST_ALL_Y_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"RLIST_ALL_Y"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">RLNGETF_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"RlnGetF"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">ROUNDOFFVALUE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"RoundOffValue"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">ROUTINEFILTER_TT_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"ROUTINE_FILTER_TT"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">RR_STORAGE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"RR_STORAGE"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">RTP_RELKINDVIOLATION_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"RTP_RELKINDVIOLATION"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">RTP_RELMINIMAL_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"RTP_RELMINIMAL"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">RULEBOOKFAILS_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"RulebookFails"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">RULEBOOKPARBREAK_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"RulebookParBreak"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">RULEBOOKSUCCEEDS_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"RulebookSucceeds"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">RUNTIMEPROBLEM_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"RunTimeProblem"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">SAY__N_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"say__n"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">SAY__P_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"say__p"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">SAY__PC_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"say__pc"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">SCENE_ENDED_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"scene_ended"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">SCENE_ENDINGS_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"scene_endings"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">SCENE_LATEST_ENDING_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"scene_latest_ending"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">SCENE_STARTED_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"scene_started"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">SCENE_STATUS_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"scene_status"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">SCOPE_STAGE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"scope_stage"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">SCOPE_TT_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"SCOPE_TT"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">SECOND_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"second"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">SHORT_NAME_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"short_name"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">SIGNEDCOMPARE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"SignedCompare"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">SPECIAL_WORD_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"special_word"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">SQUAREROOT_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"SquareRoot"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">STACKFRAMECREATE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"StackFrameCreate"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">STORED_ACTION_TY_CURRENT_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"STORED_ACTION_TY_Current"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">STORED_ACTION_TY_TRY_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"STORED_ACTION_TY_Try"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">STORY_TENSE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"story_tense"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">SUPPORTER_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"supporter"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">SUPPRESS_SCOPE_LOOPS_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"suppress_scope_loops"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">SUPPRESS_TEXT_SUBSTITUTION_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"suppress_text_substitution"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">TABLE_NOVALUE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"TABLE_NOVALUE"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">TABLELOOKUPCORR_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"TableLookUpCorr"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">TABLELOOKUPENTRY_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"TableLookUpEntry"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">TESTACTIONBITMAP_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"TestActionBitmap"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">TESTACTIVITY_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"TestActivity"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">TESTREGIONALCONTAINMENT_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"TestRegionalContainment"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">TESTSCOPE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"TestScope"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">TESTSTART_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"TestStart"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">TEXT_TY_COMPARE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"TEXT_TY_Compare"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">TEXT_TY_EXPANDIFPERISHABLE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"TEXT_TY_ExpandIfPerishable"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">TEXT_TY_SAY_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"TEXT_TY_Say"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">THE_TIME_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"the_time"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">THEEMPTYTABLE_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"TheEmptyTable"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">THEN1__WD_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"THEN1__WD"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">TIMESACTIONHASBEENHAPPENING_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"TimesActionHasBeenHappening"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">TIMESACTIONHASHAPPENED_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"TimesActionHasHappened"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">TRYACTION_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"TryAction"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">TRYGIVENOBJECT_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"TryGivenObject"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">TURNSACTIONHASBEENHAPPENING_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"TurnsActionHasBeenHappening"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">UNDERSTAND_AS_MISTAKE_NUMBER_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"understand_as_mistake_number"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">UNICODE_TEMP_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"unicode_temp"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">VTOORELROUTETO_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"VtoORelRouteTo"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">VTOVRELROUTETO_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"VtoVRelRouteTo"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">WHEN_SCENE_BEGINS_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"WHEN_SCENE_BEGINS_RB"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">WHEN_SCENE_ENDS_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"WHEN_SCENE_ENDS_RB"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">WN_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"wn"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">WORDADDRESS_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"WordAddress"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">WORDINPROPERTY_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"WordInProperty"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KIT_PROVIDED</span><span class="plain-syntax">(</span><span class="constant-syntax">WORDLENGTH_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"WordLength"</span><span class="plain-syntax">)</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="5-sh.html#SP1">§1</a>.</li></ul>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="5-msms.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-pm.html">1</a></li><li class="progresschapter"><a href="2-pp.html">2</a></li><li class="progresschapter"><a href="3-ps.html">3</a></li><li class="progresschapter"><a href="4-lbks.html">4</a></li><li class="progresscurrentchapter">5</li><li class="progresssection"><a href="5-msms.html">msms</a></li><li class="progresscurrent">sh</li><li class="progresssection"><a href="5-su.html">su</a></li><li class="progresssection"><a href="5-ext.html">ext</a></li><li class="progresssection"><a href="5-lt.html">lt</a></li><li class="progresssection"><a href="5-rsp.html">rsp</a></li><li class="progresssection"><a href="5-rls.html">rls</a></li><li class="progresssection"><a href="5-act.html">act</a></li><li class="progresssection"><a href="5-act2.html">act2</a></li><li class="progresssection"><a href="5-ins.html">ins</a></li><li class="progresssection"><a href="5-knd.html">knd</a></li><li class="progresssection"><a href="5-prp.html">prp</a></li><li class="progresssection"><a href="5-rlt.html">rlt</a></li><li class="progresssection"><a href="5-tbl.html">tbl</a></li><li class="progresssection"><a href="5-chr.html">chr</a></li><li class="progresssection"><a href="5-scn.html">scn</a></li><li class="progresssection"><a href="5-mlt.html">mlt</a></li><li class="progresssection"><a href="5-uo.html">uo</a></li><li class="progresssection"><a href="5-vrb.html">vrb</a></li><li class="progresssection"><a href="5-tst.html">tst</a></li><li class="progresschapter"><a href="6-erms.html">6</a></li><li class="progressnext"><a href="5-su.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
|
|
@ -71,309 +71,22 @@ function togglePopup(material_id) {
|
|||
<!--Weave of 'Synoptic Utilities' generated by Inweb-->
|
||||
<div class="breadcrumbs">
|
||||
<ul class="crumbs"><li><a href="../index.html">Home</a></li><li><a href="../compiler.html">Inter Modules</a></li><li><a href="index.html">pipeline</a></li><li><a href="index.html#5">Chapter 5: Synoptic Module</a></li><li><b>Synoptic Utilities</b></li></ul></div>
|
||||
<p class="purpose">Managing the generation of code and arrays in the synoptic module, which is put together from resources all over the Inter tree.</p>
|
||||
<p class="purpose">Utility functions for generating the code in the synoptic module.</p>
|
||||
|
||||
<ul class="toc"><li><a href="5-su.html#SP1">§1. Pipeline stage</a></li><li><a href="5-su.html#SP3">§3. Redefinition</a></li></ul><hr class="tocbar">
|
||||
<ul class="toc"><li><a href="5-su.html#SP1">§1. Dealing with symbols</a></li><li><a href="5-su.html#SP4">§4. Making textual constants</a></li><li><a href="5-su.html#SP5">§5. Making functions</a></li><li><a href="5-su.html#SP7">§7. Making arrays</a></li></ul><hr class="tocbar">
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP1" class="paragraph-anchor"></a><b>§1. Pipeline stage. </b>This stage...
|
||||
<p class="commentary firstcommentary"><a id="SP1" class="paragraph-anchor"></a><b>§1. Dealing with symbols. </b>We are going to need to read and write these: for reading —
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">typedef</span><span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="reserved-syntax">tree_inventory</span><span class="plain-syntax"> {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">of_tree</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="identifier-syntax">linked_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">items</span><span class="plain-syntax">; </span><span class="comment-syntax"> of </span><span class="extract"><span class="extract-syntax">tree_inventory_item</span></span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_location_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">text_nodes</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_location_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">module_nodes</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_location_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">response_nodes</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_location_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">rulebook_nodes</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_location_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">rule_nodes</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_location_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">activity_nodes</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_location_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">action_nodes</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_location_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">property_nodes</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_location_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">extension_nodes</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_location_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">relation_nodes</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_location_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">table_nodes</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_location_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">table_column_nodes</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_location_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">table_column_usage_nodes</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_location_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">action_history_condition_nodes</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_location_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">past_tense_condition_nodes</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_location_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">instance_nodes</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_location_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">scene_nodes</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_location_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">file_nodes</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_location_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">figure_nodes</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_location_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">sound_nodes</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_location_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">use_option_nodes</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_location_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">verb_nodes</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_location_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">modal_verb_nodes</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_location_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">verb_form_nodes</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_location_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">preposition_nodes</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_location_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">adjective_nodes</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_location_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">derived_kind_nodes</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_location_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">kind_nodes</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_location_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">test_nodes</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_location_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">named_action_pattern_nodes</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_location_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">variable_nodes</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_location_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">equation_nodes</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_location_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">heading_nodes</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_location_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">multiplication_rule_nodes</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">CLASS_DEFINITION</span>
|
||||
<span class="plain-syntax">} </span><span class="reserved-syntax">tree_inventory</span><span class="plain-syntax">;</span>
|
||||
|
||||
<span class="reserved-syntax">tree_inventory</span><span class="plain-syntax"> *</span><span class="function-syntax">Synoptic::new_inventory</span><span class="plain-syntax">(</span><span class="identifier-syntax">inter_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">tree_inventory</span><span class="plain-syntax"> *</span><span class="identifier-syntax">inv</span><span class="plain-syntax"> = </span><span class="identifier-syntax">CREATE</span><span class="plain-syntax">(</span><span class="reserved-syntax">tree_inventory</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">of_tree</span><span class="plain-syntax"> = </span><span class="identifier-syntax">I</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">items</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NEW_LINKED_LIST</span><span class="plain-syntax">(</span><span class="reserved-syntax">tree_inventory_item</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">text_nodes</span><span class="plain-syntax"> = </span><span class="identifier-syntax">TreeLists::new</span><span class="plain-syntax">();</span>
|
||||
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">response_nodes</span><span class="plain-syntax"> = </span><a href="5-su.html#SP1" class="function-link"><span class="function-syntax">Synoptic::add_inventory_need</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"_response"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">rulebook_nodes</span><span class="plain-syntax"> = </span><a href="5-su.html#SP1" class="function-link"><span class="function-syntax">Synoptic::add_inventory_need</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"_rulebook"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">rule_nodes</span><span class="plain-syntax"> = </span><a href="5-su.html#SP1" class="function-link"><span class="function-syntax">Synoptic::add_inventory_need</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"_rule"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">activity_nodes</span><span class="plain-syntax"> = </span><a href="5-su.html#SP1" class="function-link"><span class="function-syntax">Synoptic::add_inventory_need</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"_activity"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">action_nodes</span><span class="plain-syntax"> = </span><a href="5-su.html#SP1" class="function-link"><span class="function-syntax">Synoptic::add_inventory_need</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"_action"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">property_nodes</span><span class="plain-syntax"> = </span><a href="5-su.html#SP1" class="function-link"><span class="function-syntax">Synoptic::add_inventory_need</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"_property"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">relation_nodes</span><span class="plain-syntax"> = </span><a href="5-su.html#SP1" class="function-link"><span class="function-syntax">Synoptic::add_inventory_need</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"_relation"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">table_nodes</span><span class="plain-syntax"> = </span><a href="5-su.html#SP1" class="function-link"><span class="function-syntax">Synoptic::add_inventory_need</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"_table"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">table_column_nodes</span><span class="plain-syntax"> = </span><a href="5-su.html#SP1" class="function-link"><span class="function-syntax">Synoptic::add_inventory_need</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"_table_column"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">table_column_usage_nodes</span><span class="plain-syntax"> = </span><a href="5-su.html#SP1" class="function-link"><span class="function-syntax">Synoptic::add_inventory_need</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"_table_column_usage"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">action_history_condition_nodes</span><span class="plain-syntax"> = </span><a href="5-su.html#SP1" class="function-link"><span class="function-syntax">Synoptic::add_inventory_need</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"_action_history_condition"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">past_tense_condition_nodes</span><span class="plain-syntax"> = </span><a href="5-su.html#SP1" class="function-link"><span class="function-syntax">Synoptic::add_inventory_need</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"_past_condition"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">use_option_nodes</span><span class="plain-syntax"> = </span><a href="5-su.html#SP1" class="function-link"><span class="function-syntax">Synoptic::add_inventory_need</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"_use_option"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">verb_nodes</span><span class="plain-syntax"> = </span><a href="5-su.html#SP1" class="function-link"><span class="function-syntax">Synoptic::add_inventory_need</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"_verb"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">modal_verb_nodes</span><span class="plain-syntax"> = </span><a href="5-su.html#SP1" class="function-link"><span class="function-syntax">Synoptic::add_inventory_need</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"_modal_verb"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">verb_form_nodes</span><span class="plain-syntax"> = </span><a href="5-su.html#SP1" class="function-link"><span class="function-syntax">Synoptic::add_inventory_need</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"_verb_form"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">preposition_nodes</span><span class="plain-syntax"> = </span><a href="5-su.html#SP1" class="function-link"><span class="function-syntax">Synoptic::add_inventory_need</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"_preposition"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">adjective_nodes</span><span class="plain-syntax"> = </span><a href="5-su.html#SP1" class="function-link"><span class="function-syntax">Synoptic::add_inventory_need</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"_adjective"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">derived_kind_nodes</span><span class="plain-syntax"> = </span><a href="5-su.html#SP1" class="function-link"><span class="function-syntax">Synoptic::add_inventory_need</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"_derived_kind"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">kind_nodes</span><span class="plain-syntax"> = </span><a href="5-su.html#SP1" class="function-link"><span class="function-syntax">Synoptic::add_inventory_need</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"_kind"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">module_nodes</span><span class="plain-syntax"> = </span><a href="5-su.html#SP1" class="function-link"><span class="function-syntax">Synoptic::add_inventory_need</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"_module"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">instance_nodes</span><span class="plain-syntax"> = </span><a href="5-su.html#SP1" class="function-link"><span class="function-syntax">Synoptic::add_inventory_need</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"_instance"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">test_nodes</span><span class="plain-syntax"> = </span><a href="5-su.html#SP1" class="function-link"><span class="function-syntax">Synoptic::add_inventory_need</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"_test"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">named_action_pattern_nodes</span><span class="plain-syntax"> = </span><a href="5-su.html#SP1" class="function-link"><span class="function-syntax">Synoptic::add_inventory_need</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"_named_action_pattern"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">variable_nodes</span><span class="plain-syntax"> = </span><a href="5-su.html#SP1" class="function-link"><span class="function-syntax">Synoptic::add_inventory_need</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"_variable"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">equation_nodes</span><span class="plain-syntax"> = </span><a href="5-su.html#SP1" class="function-link"><span class="function-syntax">Synoptic::add_inventory_need</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"_equation"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">heading_nodes</span><span class="plain-syntax"> = </span><a href="5-su.html#SP1" class="function-link"><span class="function-syntax">Synoptic::add_inventory_need</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"_heading"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">multiplication_rule_nodes</span><span class="plain-syntax"> = </span><a href="5-su.html#SP1" class="function-link"><span class="function-syntax">Synoptic::add_inventory_need</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"_multiplication_rule"</span><span class="plain-syntax">);</span>
|
||||
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">extension_nodes</span><span class="plain-syntax"> = </span><span class="identifier-syntax">TreeLists::new</span><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">scene_nodes</span><span class="plain-syntax"> = </span><span class="identifier-syntax">TreeLists::new</span><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">file_nodes</span><span class="plain-syntax"> = </span><span class="identifier-syntax">TreeLists::new</span><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">figure_nodes</span><span class="plain-syntax"> = </span><span class="identifier-syntax">TreeLists::new</span><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">sound_nodes</span><span class="plain-syntax"> = </span><span class="identifier-syntax">TreeLists::new</span><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">inv</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="reserved-syntax">typedef</span><span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="reserved-syntax">tree_inventory_item</span><span class="plain-syntax"> {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_location_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">node_list</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">required_ptype</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">CLASS_DEFINITION</span>
|
||||
<span class="plain-syntax">} </span><span class="reserved-syntax">tree_inventory_item</span><span class="plain-syntax">;</span>
|
||||
|
||||
<span class="identifier-syntax">inter_tree_location_list</span><span class="plain-syntax"> *</span><span class="function-syntax">Synoptic::add_inventory_need</span><span class="plain-syntax">(</span><span class="reserved-syntax">tree_inventory</span><span class="plain-syntax"> *</span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pt</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">tree_inventory_item</span><span class="plain-syntax"> *</span><span class="identifier-syntax">item</span><span class="plain-syntax"> = </span><span class="identifier-syntax">CREATE</span><span class="plain-syntax">(</span><span class="reserved-syntax">tree_inventory_item</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">item</span><span class="plain-syntax">-></span><span class="identifier-syntax">node_list</span><span class="plain-syntax"> = </span><span class="identifier-syntax">TreeLists::new</span><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">item</span><span class="plain-syntax">-></span><span class="identifier-syntax">required_ptype</span><span class="plain-syntax"> = </span><span class="identifier-syntax">PackageTypes::get</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">of_tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">pt</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">ADD_TO_LINKED_LIST</span><span class="plain-syntax">(</span><span class="identifier-syntax">item</span><span class="plain-syntax">, </span><span class="reserved-syntax">tree_inventory_item</span><span class="plain-syntax">, </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">items</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">item</span><span class="plain-syntax">-></span><span class="element-syntax">node_list</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Synoptic::perform_inventory</span><span class="plain-syntax">(</span><span class="reserved-syntax">tree_inventory</span><span class="plain-syntax"> *</span><span class="identifier-syntax">inv</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax"> = </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">of_tree</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">InterTree::traverse</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><a href="5-su.html#SP1" class="function-link"><span class="function-syntax">Synoptic::visitor</span></a><span class="plain-syntax">, </span><span class="identifier-syntax">inv</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="constant-syntax">0</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax">=0; </span><span class="identifier-syntax">i</span><span class="function-syntax"><TreeLists::len(inv-></span><span class="element-syntax">module_nodes</span><span class="plain-syntax">); </span><span class="identifier-syntax">i</span><span class="plain-syntax">++) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Package::defined_by_frame</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">module_nodes</span><span class="plain-syntax">-></span><span class="identifier-syntax">list</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">].</span><span class="identifier-syntax">node</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">InterSymbolsTables::symbol_from_name</span><span class="plain-syntax">(</span><span class="identifier-syntax">Inter::Packages::scope</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">), </span><span class="identifier-syntax">I</span><span class="string-syntax">"extension_id"</span><span class="plain-syntax">))</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::add</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">extension_nodes</span><span class="plain-syntax">, </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">module_nodes</span><span class="plain-syntax">-></span><span class="identifier-syntax">list</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">].</span><span class="identifier-syntax">node</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax">=0; </span><span class="identifier-syntax">i</span><span class="function-syntax"><TreeLists::len(inv-></span><span class="element-syntax">instance_nodes</span><span class="plain-syntax">); </span><span class="identifier-syntax">i</span><span class="plain-syntax">++) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Package::defined_by_frame</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">instance_nodes</span><span class="plain-syntax">-></span><span class="identifier-syntax">list</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">].</span><span class="identifier-syntax">node</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Metadata::exists</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^is_scene"</span><span class="plain-syntax">))</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::add</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">scene_nodes</span><span class="plain-syntax">, </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">instance_nodes</span><span class="plain-syntax">-></span><span class="identifier-syntax">list</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">].</span><span class="identifier-syntax">node</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Metadata::exists</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^is_file"</span><span class="plain-syntax">))</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::add</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">file_nodes</span><span class="plain-syntax">, </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">instance_nodes</span><span class="plain-syntax">-></span><span class="identifier-syntax">list</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">].</span><span class="identifier-syntax">node</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Metadata::exists</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^is_figure"</span><span class="plain-syntax">))</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::add</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">figure_nodes</span><span class="plain-syntax">, </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">instance_nodes</span><span class="plain-syntax">-></span><span class="identifier-syntax">list</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">].</span><span class="identifier-syntax">node</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Metadata::exists</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^is_sound"</span><span class="plain-syntax">))</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::add</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">sound_nodes</span><span class="plain-syntax">, </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">instance_nodes</span><span class="plain-syntax">-></span><span class="identifier-syntax">list</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">].</span><span class="identifier-syntax">node</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Synoptic::visitor</span><span class="plain-syntax">(</span><span class="identifier-syntax">inter_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">inter_tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="reserved-syntax">void</span><span class="plain-syntax"> *</span><span class="identifier-syntax">state</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">tree_inventory</span><span class="plain-syntax"> *</span><span class="identifier-syntax">inv</span><span class="plain-syntax"> = (</span><span class="reserved-syntax">tree_inventory</span><span class="plain-syntax"> *) </span><span class="identifier-syntax">state</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">P</span><span class="plain-syntax">-></span><span class="identifier-syntax">W</span><span class="plain-syntax">.</span><span class="identifier-syntax">data</span><span class="plain-syntax">[</span><span class="identifier-syntax">ID_IFLD</span><span class="plain-syntax">] == </span><span class="identifier-syntax">CONSTANT_IST</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">con_s</span><span class="plain-syntax"> =</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">InterSymbolsTables::symbol_from_frame_data</span><span class="plain-syntax">(</span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="identifier-syntax">DEFN_CONST_IFLD</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Inter::Symbols::read_annotation</span><span class="plain-syntax">(</span><span class="identifier-syntax">con_s</span><span class="plain-syntax">, </span><span class="identifier-syntax">TEXT_LITERAL_IANN</span><span class="plain-syntax">) == </span><span class="constant-syntax">1</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::add</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">text_nodes</span><span class="plain-syntax">, </span><span class="identifier-syntax">P</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">P</span><span class="plain-syntax">-></span><span class="identifier-syntax">W</span><span class="plain-syntax">.</span><span class="identifier-syntax">data</span><span class="plain-syntax">[</span><span class="identifier-syntax">ID_IFLD</span><span class="plain-syntax">] == </span><span class="identifier-syntax">PACKAGE_IST</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Package::defined_by_frame</span><span class="plain-syntax">(</span><span class="identifier-syntax">P</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">ptype</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Packages::type</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">ptype</span><span class="plain-syntax"> == </span><span class="identifier-syntax">PackageTypes::get</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"_kind"</span><span class="plain-syntax">)) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOG</span><span class="plain-syntax">(</span><span class="string-syntax">"Inside $6:\n"</span><span class="plain-syntax">, </span><span class="identifier-syntax">pack</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbols_table</span><span class="plain-syntax"> *</span><span class="identifier-syntax">ST</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Packages::scope</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax">=0; </span><span class="identifier-syntax">i</span><span class="function-syntax"><ST-></span><span class="identifier-syntax">size</span><span class="plain-syntax">; </span><span class="identifier-syntax">i</span><span class="plain-syntax">++) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">S</span><span class="plain-syntax"> = </span><span class="identifier-syntax">ST</span><span class="plain-syntax">-></span><span class="identifier-syntax">symbol_array</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">];</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> ((</span><span class="identifier-syntax">S</span><span class="plain-syntax">) && (</span><span class="identifier-syntax">S</span><span class="plain-syntax">-></span><span class="identifier-syntax">wiring</span><span class="plain-syntax">.</span><span class="identifier-syntax">no_connections</span><span class="plain-syntax"> > </span><span class="constant-syntax">0</span><span class="plain-syntax">))</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOG</span><span class="plain-syntax">(</span><span class="string-syntax">"I observe $3 (%d)\n"</span><span class="plain-syntax">, </span><span class="identifier-syntax">S</span><span class="plain-syntax">, </span><span class="identifier-syntax">S</span><span class="plain-syntax">-></span><span class="identifier-syntax">wiring</span><span class="plain-syntax">.</span><span class="identifier-syntax">no_connections</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">tree_inventory_item</span><span class="plain-syntax"> *</span><span class="identifier-syntax">item</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER_LINKED_LIST</span><span class="plain-syntax">(</span><span class="identifier-syntax">item</span><span class="plain-syntax">, </span><span class="reserved-syntax">tree_inventory_item</span><span class="plain-syntax">, </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">items</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">ptype</span><span class="plain-syntax"> == </span><span class="identifier-syntax">item</span><span class="plain-syntax">-></span><span class="element-syntax">required_ptype</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::add</span><span class="plain-syntax">(</span><span class="identifier-syntax">item</span><span class="plain-syntax">-></span><span class="element-syntax">node_list</span><span class="plain-syntax">, </span><span class="identifier-syntax">P</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="reserved-syntax">tree_inventory</span><span class="plain-syntax"> *</span><span class="identifier-syntax">cached_inventory</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
|
||||
<span class="identifier-syntax">inter_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">cache_is_for</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
|
||||
<span class="reserved-syntax">tree_inventory</span><span class="plain-syntax"> *</span><span class="function-syntax">Synoptic::inv</span><button class="popup" onclick="togglePopup('usagePopup1')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup1">Usage of <span class="code-font"><span class="function-syntax">Synoptic::inv</span></span>:<br/>Make Synoptic Module Stage - <a href="5-msms.html#SP1">§1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">cache_is_for</span><span class="plain-syntax"> == </span><span class="identifier-syntax">I</span><span class="plain-syntax">) </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">cached_inventory</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">cache_is_for</span><span class="plain-syntax"> = </span><span class="identifier-syntax">I</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">cached_inventory</span><span class="plain-syntax"> = </span><a href="5-su.html#SP1" class="function-link"><span class="function-syntax">Synoptic::new_inventory</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP1" class="function-link"><span class="function-syntax">Synoptic::perform_inventory</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">cached_inventory</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">cached_inventory</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>The structure tree_inventory is accessed in 5/ext, 5/lt, 5/rsp, 5/rls, 5/act, 5/act2, 5/ins, 5/knd, 5/prp, 5/rlt, 5/tbl, 5/chr, 5/scn, 5/mlt, 5/uo, 5/vrb, 5/tst and here.</li><li>The structure tree_inventory_item is private to this section.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP2" class="paragraph-anchor"></a><b>§2. </b></p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">Synoptic::module_order</span><button class="popup" onclick="togglePopup('usagePopup2')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup2">Usage of <span class="code-font"><span class="function-syntax">Synoptic::module_order</span></span>:<br/>Rules - <a href="5-rls.html#SP1">§1</a><br/>Activities - <a href="5-act.html#SP1">§1</a><br/>Actions - <a href="5-act2.html#SP2">§2</a><br/>Instances - <a href="5-ins.html#SP1">§1</a><br/>Kinds - <a href="5-knd.html#SP1">§1</a><br/>Properties - <a href="5-prp.html#SP1">§1</a><br/>Relations - <a href="5-rlt.html#SP1">§1</a><br/>Tables - <a href="5-tbl.html#SP1">§1</a><br/>Chronology - <a href="5-chr.html#SP1">§1</a><br/>Scenes - <a href="5-scn.html#SP1">§1</a><br/>Multimedia - <a href="5-mlt.html#SP1">§1</a><br/>Use Options - <a href="5-uo.html#SP1">§1</a><br/>Tests - <a href="5-tst.html#SP1">§1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">const</span><span class="plain-syntax"> </span><span class="reserved-syntax">void</span><span class="plain-syntax"> *</span><span class="identifier-syntax">ent1</span><span class="plain-syntax">, </span><span class="reserved-syntax">const</span><span class="plain-syntax"> </span><span class="reserved-syntax">void</span><span class="plain-syntax"> *</span><span class="identifier-syntax">ent2</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">itl_entry</span><span class="plain-syntax"> *</span><span class="identifier-syntax">E1</span><span class="plain-syntax"> = (</span><span class="identifier-syntax">itl_entry</span><span class="plain-syntax"> *) </span><span class="identifier-syntax">ent1</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">itl_entry</span><span class="plain-syntax"> *</span><span class="identifier-syntax">E2</span><span class="plain-syntax"> = (</span><span class="identifier-syntax">itl_entry</span><span class="plain-syntax"> *) </span><span class="identifier-syntax">ent2</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">E1</span><span class="plain-syntax"> == </span><span class="identifier-syntax">E2</span><span class="plain-syntax">) </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="constant-syntax">0</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">P1</span><span class="plain-syntax"> = </span><span class="identifier-syntax">E1</span><span class="plain-syntax">-></span><span class="identifier-syntax">node</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">P2</span><span class="plain-syntax"> = </span><span class="identifier-syntax">E2</span><span class="plain-syntax">-></span><span class="identifier-syntax">node</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">mod1</span><span class="plain-syntax"> = </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::module_containing</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">P1</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">mod2</span><span class="plain-syntax"> = </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::module_containing</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">P2</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">C1</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Metadata::read_optional_numeric</span><span class="plain-syntax">(</span><span class="identifier-syntax">mod1</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^category"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">C2</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Metadata::read_optional_numeric</span><span class="plain-syntax">(</span><span class="identifier-syntax">mod2</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^category"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">d</span><span class="plain-syntax"> = ((</span><span class="reserved-syntax">int</span><span class="plain-syntax">) </span><span class="identifier-syntax">C2</span><span class="plain-syntax">) - ((</span><span class="reserved-syntax">int</span><span class="plain-syntax">) </span><span class="identifier-syntax">C1</span><span class="plain-syntax">); </span><span class="comment-syntax"> larger values sort earlier</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">d</span><span class="plain-syntax"> != </span><span class="constant-syntax">0</span><span class="plain-syntax">) </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">d</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">E1</span><span class="plain-syntax">-></span><span class="identifier-syntax">sort_key</span><span class="plain-syntax"> - </span><span class="identifier-syntax">E2</span><span class="plain-syntax">-></span><span class="identifier-syntax">sort_key</span><span class="plain-syntax">; </span><span class="comment-syntax"> smaller values sort earlier</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">Synoptic::category_order</span><button class="popup" onclick="togglePopup('usagePopup3')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup3">Usage of <span class="code-font"><span class="function-syntax">Synoptic::category_order</span></span>:<br/>Extensions - <a href="5-ext.html#SP1">§1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">const</span><span class="plain-syntax"> </span><span class="reserved-syntax">void</span><span class="plain-syntax"> *</span><span class="identifier-syntax">ent1</span><span class="plain-syntax">, </span><span class="reserved-syntax">const</span><span class="plain-syntax"> </span><span class="reserved-syntax">void</span><span class="plain-syntax"> *</span><span class="identifier-syntax">ent2</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">itl_entry</span><span class="plain-syntax"> *</span><span class="identifier-syntax">E1</span><span class="plain-syntax"> = (</span><span class="identifier-syntax">itl_entry</span><span class="plain-syntax"> *) </span><span class="identifier-syntax">ent1</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">itl_entry</span><span class="plain-syntax"> *</span><span class="identifier-syntax">E2</span><span class="plain-syntax"> = (</span><span class="identifier-syntax">itl_entry</span><span class="plain-syntax"> *) </span><span class="identifier-syntax">ent2</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">E1</span><span class="plain-syntax"> == </span><span class="identifier-syntax">E2</span><span class="plain-syntax">) </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="constant-syntax">0</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">P1</span><span class="plain-syntax"> = </span><span class="identifier-syntax">E1</span><span class="plain-syntax">-></span><span class="identifier-syntax">node</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">P2</span><span class="plain-syntax"> = </span><span class="identifier-syntax">E2</span><span class="plain-syntax">-></span><span class="identifier-syntax">node</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">mod1</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Packages::container</span><span class="plain-syntax">(</span><span class="identifier-syntax">P1</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">mod2</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Packages::container</span><span class="plain-syntax">(</span><span class="identifier-syntax">P2</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">C1</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Metadata::read_optional_numeric</span><span class="plain-syntax">(</span><span class="identifier-syntax">mod1</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^category"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">C2</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Metadata::read_optional_numeric</span><span class="plain-syntax">(</span><span class="identifier-syntax">mod2</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^category"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">d</span><span class="plain-syntax"> = ((</span><span class="reserved-syntax">int</span><span class="plain-syntax">) </span><span class="identifier-syntax">C2</span><span class="plain-syntax">) - ((</span><span class="reserved-syntax">int</span><span class="plain-syntax">) </span><span class="identifier-syntax">C1</span><span class="plain-syntax">); </span><span class="comment-syntax"> larger values sort earlier</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">d</span><span class="plain-syntax"> != </span><span class="constant-syntax">0</span><span class="plain-syntax">) </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">d</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">E1</span><span class="plain-syntax">-></span><span class="identifier-syntax">sort_key</span><span class="plain-syntax"> - </span><span class="identifier-syntax">E2</span><span class="plain-syntax">-></span><span class="identifier-syntax">sort_key</span><span class="plain-syntax">; </span><span class="comment-syntax"> smaller values sort earlier</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP3" class="paragraph-anchor"></a><b>§3. Redefinition. </b></p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="function-syntax">Synoptic::new_symbol</span><button class="popup" onclick="togglePopup('usagePopup4')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup4">Usage of <span class="code-font"><span class="function-syntax">Synoptic::new_symbol</span></span>:<br/>Literal Text - <a href="5-lt.html#SP1_1">§1.1</a>, <a href="5-lt.html#SP1_2">§1.2</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">name</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">InterSymbolsTables::create_with_unique_name</span><span class="plain-syntax">(</span><span class="identifier-syntax">Inter::Packages::scope</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">), </span><span class="identifier-syntax">name</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="function-syntax">Synoptic::get_symbol</span><button class="popup" onclick="togglePopup('usagePopup5')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup5">Usage of <span class="code-font"><span class="function-syntax">Synoptic::get_symbol</span></span>:<br/>Kinds - <a href="5-knd.html#SP1_2">§1.2</a><br/>Tests - <a href="5-tst.html#SP1_1">§1.1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">name</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">loc_s</span><span class="plain-syntax"> = </span><span class="identifier-syntax">InterSymbolsTables::symbol_from_name</span><span class="plain-syntax">(</span><span class="identifier-syntax">Inter::Packages::scope</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">), </span><span class="identifier-syntax">name</span><span class="plain-syntax">);</span>
|
||||
<span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="function-syntax">Synoptic::get_symbol</span><button class="popup" onclick="togglePopup('usagePopup1')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup1">Usage of <span class="code-font"><span class="function-syntax">Synoptic::get_symbol</span></span>:<br/>Kinds - <a href="5-knd.html#SP1_2">§1.2</a><br/>Tests - <a href="5-tst.html#SP1_1">§1.1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">name</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">loc_s</span><span class="plain-syntax"> =</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">InterSymbolsTables::symbol_from_name</span><span class="plain-syntax">(</span><span class="identifier-syntax">Inter::Packages::scope</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">), </span><span class="identifier-syntax">name</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">loc_s</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) </span><span class="identifier-syntax">Metadata::err</span><span class="plain-syntax">(</span><span class="string-syntax">"package symbol not found"</span><span class="plain-syntax">, </span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">name</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">loc_s</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP4" class="paragraph-anchor"></a><b>§4. </b></p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Synoptic::def_textual_constant</span><button class="popup" onclick="togglePopup('usagePopup6')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup6">Usage of <span class="code-font"><span class="function-syntax">Synoptic::def_textual_constant</span></span>:<br/>Literal Text - <a href="5-lt.html#SP1_1">§1.1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="reserved-syntax">pipeline_step</span><span class="plain-syntax"> *</span><span class="identifier-syntax">step</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">con_s</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">S</span><span class="plain-syntax">, </span><span class="identifier-syntax">inter_bookmark</span><span class="plain-syntax"> *</span><span class="identifier-syntax">IBM</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Inter::Symbols::annotate_i</span><span class="plain-syntax">(</span><span class="identifier-syntax">con_s</span><span class="plain-syntax">, </span><span class="identifier-syntax">TEXT_LITERAL_IANN</span><span class="plain-syntax">, </span><span class="constant-syntax">1</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">ID</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Warehouse::create_text</span><span class="plain-syntax">(</span><span class="identifier-syntax">InterTree::warehouse</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">),</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Inter::Bookmarks::package</span><span class="plain-syntax">(</span><span class="identifier-syntax">IBM</span><span class="plain-syntax">));</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Str::copy</span><span class="plain-syntax">(</span><span class="identifier-syntax">Inter::Warehouse::get_text</span><span class="plain-syntax">(</span><span class="identifier-syntax">InterTree::warehouse</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">), </span><span class="identifier-syntax">ID</span><span class="plain-syntax">), </span><span class="identifier-syntax">S</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Produce::guard</span><span class="plain-syntax">(</span><span class="identifier-syntax">Inter::Constant::new_textual</span><span class="plain-syntax">(</span><span class="identifier-syntax">IBM</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">InterSymbolsTables::id_from_symbol</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">Inter::Bookmarks::package</span><span class="plain-syntax">(</span><span class="identifier-syntax">IBM</span><span class="plain-syntax">), </span><span class="identifier-syntax">con_s</span><span class="plain-syntax">),</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">InterSymbolsTables::id_from_symbol</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">Inter::Bookmarks::package</span><span class="plain-syntax">(</span><span class="identifier-syntax">IBM</span><span class="plain-syntax">),</span>
|
||||
<span class="plain-syntax"> </span><a href="2-rp.html#SP5" class="function-link"><span class="function-syntax">RunningPipelines::get_symbol</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="constant-syntax">unchecked_kind_RPSYM</span><span class="plain-syntax">)),</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">ID</span><span class="plain-syntax">, (</span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax">) </span><span class="identifier-syntax">Inter::Bookmarks::baseline</span><span class="plain-syntax">(</span><span class="identifier-syntax">IBM</span><span class="plain-syntax">) + </span><span class="constant-syntax">1</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">));</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP5" class="paragraph-anchor"></a><b>§5. </b></p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">synoptic_fn_package</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
|
||||
<span class="identifier-syntax">packaging_state</span><span class="plain-syntax"> </span><span class="identifier-syntax">synoptic_fn_ps</span><span class="plain-syntax">;</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Synoptic::begin_function</span><button class="popup" onclick="togglePopup('usagePopup7')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup7">Usage of <span class="code-font"><span class="function-syntax">Synoptic::begin_function</span></span>:<br/>Extensions - <a href="5-ext.html#SP1_1">§1.1</a>, <a href="5-ext.html#SP1_2">§1.2</a>, <a href="5-ext.html#SP1_3">§1.3</a><br/>Responses - <a href="5-rsp.html#SP1_4">§1.4</a><br/>Rules - <a href="5-rls.html#SP1_5">§1.5</a>, <a href="5-rls.html#SP1_6">§1.6</a><br/>Actions - <a href="5-act2.html#SP2_6">§2.6</a><br/>Instances - <a href="5-ins.html#SP1_1">§1.1</a><br/>Kinds - <a href="5-knd.html#SP1_2">§1.2</a>, <a href="5-knd.html#SP1_3">§1.3</a>, <a href="5-knd.html#SP1_4">§1.4</a>, <a href="5-knd.html#SP1_5">§1.5</a>, <a href="5-knd.html#SP1_6">§1.6</a>, <a href="5-knd.html#SP1_7">§1.7</a>, <a href="5-knd.html#SP1_8">§1.8</a>, <a href="5-knd.html#SP1_9">§1.9</a>, <a href="5-knd.html#SP1_10">§1.10</a><br/>Relations - <a href="5-rlt.html#SP1_2">§1.2</a>, <a href="5-rlt.html#SP1_3">§1.3</a>, <a href="5-rlt.html#SP1_4">§1.4</a><br/>Tables - <a href="5-tbl.html#SP1_2">§1.2</a>, <a href="5-tbl.html#SP1_3">§1.3</a><br/>Chronology - <a href="5-chr.html#SP1_6">§1.6</a><br/>Scenes - <a href="5-scn.html#SP1_1">§1.1</a>, <a href="5-scn.html#SP1_2">§1.2</a><br/>Use Options - <a href="5-uo.html#SP1_2">§1.2</a>, <a href="5-uo.html#SP1_3">§1.3</a><br/>Tests - <a href="5-tst.html#SP1_1">§1.1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">iname</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">synoptic_fn_package</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Produce::block</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, &</span><span class="identifier-syntax">synoptic_fn_ps</span><span class="plain-syntax">, </span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Synoptic::end_function</span><button class="popup" onclick="togglePopup('usagePopup8')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup8">Usage of <span class="code-font"><span class="function-syntax">Synoptic::end_function</span></span>:<br/>Extensions - <a href="5-ext.html#SP1_1">§1.1</a>, <a href="5-ext.html#SP1_2">§1.2</a>, <a href="5-ext.html#SP1_3">§1.3</a><br/>Responses - <a href="5-rsp.html#SP1_4">§1.4</a><br/>Rules - <a href="5-rls.html#SP1_5">§1.5</a>, <a href="5-rls.html#SP1_6">§1.6</a><br/>Actions - <a href="5-act2.html#SP2_6">§2.6</a><br/>Instances - <a href="5-ins.html#SP1_1">§1.1</a><br/>Kinds - <a href="5-knd.html#SP1_2">§1.2</a>, <a href="5-knd.html#SP1_3">§1.3</a>, <a href="5-knd.html#SP1_4">§1.4</a>, <a href="5-knd.html#SP1_5">§1.5</a>, <a href="5-knd.html#SP1_6">§1.6</a>, <a href="5-knd.html#SP1_7">§1.7</a>, <a href="5-knd.html#SP1_8">§1.8</a>, <a href="5-knd.html#SP1_9">§1.9</a>, <a href="5-knd.html#SP1_10">§1.10</a><br/>Relations - <a href="5-rlt.html#SP1_2">§1.2</a>, <a href="5-rlt.html#SP1_3">§1.3</a>, <a href="5-rlt.html#SP1_4">§1.4</a><br/>Tables - <a href="5-tbl.html#SP1_2">§1.2</a>, <a href="5-tbl.html#SP1_3">§1.3</a><br/>Chronology - <a href="5-chr.html#SP1_6">§1.6</a><br/>Scenes - <a href="5-scn.html#SP1_1">§1.1</a>, <a href="5-scn.html#SP1_2">§1.2</a><br/>Use Options - <a href="5-uo.html#SP1_2">§1.2</a>, <a href="5-uo.html#SP1_3">§1.3</a><br/>Tests - <a href="5-tst.html#SP1_1">§1.1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="reserved-syntax">pipeline_step</span><span class="plain-syntax"> *</span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">iname</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Produce::end_block</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::function</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="identifier-syntax">iname</span><span class="plain-syntax">, </span><span class="identifier-syntax">synoptic_fn_package</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Produce::end_main_block</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">synoptic_fn_ps</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Synoptic::function</span><span class="plain-syntax">(</span><span class="identifier-syntax">inter_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="reserved-syntax">pipeline_step</span><span class="plain-syntax"> *</span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">fn_iname</span><span class="plain-syntax">, </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">block</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">fn_s</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Produce::define_symbol</span><span class="plain-syntax">(</span><span class="identifier-syntax">fn_iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Produce::guard</span><span class="plain-syntax">(</span><span class="identifier-syntax">Inter::Constant::new_function</span><span class="plain-syntax">(</span><span class="identifier-syntax">Packaging::at</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">),</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">InterSymbolsTables::id_from_symbol</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">Inter::Bookmarks::package</span><span class="plain-syntax">(</span><span class="identifier-syntax">Packaging::at</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">)), </span><span class="identifier-syntax">fn_s</span><span class="plain-syntax">),</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">InterSymbolsTables::id_from_symbol</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">Inter::Bookmarks::package</span><span class="plain-syntax">(</span><span class="identifier-syntax">Packaging::at</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">)), </span><a href="2-rp.html#SP5" class="function-link"><span class="function-syntax">RunningPipelines::get_symbol</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="constant-syntax">unchecked_kind_RPSYM</span><span class="plain-syntax">)),</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">block</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Produce::baseline</span><span class="plain-syntax">(</span><span class="identifier-syntax">Packaging::at</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">)), </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">));</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
<span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="function-syntax">Synoptic::local</span><button class="popup" onclick="togglePopup('usagePopup9')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup9">Usage of <span class="code-font"><span class="function-syntax">Synoptic::local</span></span>:<br/>Extensions - <a href="5-ext.html#SP1_3">§1.3</a><br/>Responses - <a href="5-rsp.html#SP1_4">§1.4</a><br/>Rules - <a href="5-rls.html#SP1_5">§1.5</a>, <a href="5-rls.html#SP1_6">§1.6</a><br/>Actions - <a href="5-act2.html#SP2_6">§2.6</a><br/>Instances - <a href="5-ins.html#SP1_1">§1.1</a><br/>Kinds - <a href="5-knd.html#SP1_2">§1.2</a>, <a href="5-knd.html#SP1_3">§1.3</a>, <a href="5-knd.html#SP1_4">§1.4</a>, <a href="5-knd.html#SP1_5">§1.5</a>, <a href="5-knd.html#SP1_6">§1.6</a>, <a href="5-knd.html#SP1_7">§1.7</a>, <a href="5-knd.html#SP1_8">§1.8</a>, <a href="5-knd.html#SP1_9">§1.9</a>, <a href="5-knd.html#SP1_10">§1.10</a><br/>Relations - <a href="5-rlt.html#SP1_3">§1.3</a>, <a href="5-rlt.html#SP1_4">§1.4</a><br/>Tables - <a href="5-tbl.html#SP1_2">§1.2</a>, <a href="5-tbl.html#SP1_3">§1.3</a><br/>Chronology - <a href="5-chr.html#SP1_6">§1.6</a><br/>Scenes - <a href="5-scn.html#SP1_2">§1.2</a><br/>Use Options - <a href="5-uo.html#SP1_2">§1.2</a>, <a href="5-uo.html#SP1_3">§1.3</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">name</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">comment</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">Produce::local</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">K_value</span><span class="plain-syntax">, </span><span class="identifier-syntax">name</span><span class="plain-syntax">, </span><span class="constant-syntax">0</span><span class="plain-syntax">, </span><span class="identifier-syntax">comment</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="identifier-syntax">inter_tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">synoptic_array_node</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
|
||||
<span class="identifier-syntax">packaging_state</span><span class="plain-syntax"> </span><span class="identifier-syntax">synoptic_array_ps</span><span class="plain-syntax">;</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Synoptic::begin_array</span><button class="popup" onclick="togglePopup('usagePopup10')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup10">Usage of <span class="code-font"><span class="function-syntax">Synoptic::begin_array</span></span>:<br/>Responses - <a href="5-rsp.html#SP1_2">§1.2</a>, <a href="5-rsp.html#SP1_3">§1.3</a><br/>Rules - <a href="5-rls.html#SP1_2">§1.2</a>, <a href="5-rls.html#SP1_3">§1.3</a>, <a href="5-rls.html#SP1_4">§1.4</a><br/>Activities - <a href="5-act.html#SP1_1">§1.1</a>, <a href="5-act.html#SP1_2">§1.2</a>, <a href="5-act.html#SP1_3">§1.3</a>, <a href="5-act.html#SP1_4">§1.4</a>, <a href="5-act.html#SP1_5">§1.5</a><br/>Actions - <a href="5-act2.html#SP2_3">§2.3</a>, <a href="5-act2.html#SP2_4">§2.4</a>, <a href="5-act2.html#SP2_5">§2.5</a><br/>Kinds - <a href="5-knd.html#SP1_12">§1.12</a><br/>Tables - <a href="5-tbl.html#SP1_1">§1.1</a>, <a href="5-tbl.html#SP1_4">§1.4</a><br/>Chronology - <a href="5-chr.html#SP1_3">§1.3</a>, <a href="5-chr.html#SP1_4">§1.4</a>, <a href="5-chr.html#SP1_5">§1.5</a><br/>Multimedia - <a href="5-mlt.html#SP1_1">§1.1</a>, <a href="5-mlt.html#SP1_2">§1.2</a>, <a href="5-mlt.html#SP1_4">§1.4</a><br/>Verbs - <a href="5-vrb.html#SP1_1">§1.1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="reserved-syntax">pipeline_step</span><span class="plain-syntax"> *</span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">iname</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">synoptic_array_ps</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Packaging::enter_home_of</span><span class="plain-syntax">(</span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">con_s</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Produce::define_symbol</span><span class="plain-syntax">(</span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">synoptic_array_node</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inode::fill_3</span><span class="plain-syntax">(</span><span class="identifier-syntax">Packaging::at</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">), </span><span class="identifier-syntax">CONSTANT_IST</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">InterSymbolsTables::id_from_IRS_and_symbol</span><span class="plain-syntax">(</span><span class="identifier-syntax">Packaging::at</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">), </span><span class="identifier-syntax">con_s</span><span class="plain-syntax">),</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">InterSymbolsTables::id_from_IRS_and_symbol</span><span class="plain-syntax">(</span><span class="identifier-syntax">Packaging::at</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">), </span><a href="2-rp.html#SP5" class="function-link"><span class="function-syntax">RunningPipelines::get_symbol</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="constant-syntax">list_of_unchecked_kind_RPSYM</span><span class="plain-syntax">)),</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">CONSTANT_INDIRECT_LIST</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, (</span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax">) </span><span class="identifier-syntax">Inter::Bookmarks::baseline</span><span class="plain-syntax">(</span><span class="identifier-syntax">Packaging::at</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">)) + </span><span class="constant-syntax">1</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Synoptic::end_array</span><button class="popup" onclick="togglePopup('usagePopup11')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup11">Usage of <span class="code-font"><span class="function-syntax">Synoptic::end_array</span></span>:<br/>Responses - <a href="5-rsp.html#SP1_2">§1.2</a>, <a href="5-rsp.html#SP1_3">§1.3</a><br/>Rules - <a href="5-rls.html#SP1_2">§1.2</a>, <a href="5-rls.html#SP1_3">§1.3</a>, <a href="5-rls.html#SP1_4">§1.4</a><br/>Activities - <a href="5-act.html#SP1_1">§1.1</a>, <a href="5-act.html#SP1_2">§1.2</a>, <a href="5-act.html#SP1_3">§1.3</a>, <a href="5-act.html#SP1_4">§1.4</a>, <a href="5-act.html#SP1_5">§1.5</a><br/>Actions - <a href="5-act2.html#SP2_3">§2.3</a>, <a href="5-act2.html#SP2_4">§2.4</a>, <a href="5-act2.html#SP2_5">§2.5</a><br/>Kinds - <a href="5-knd.html#SP1_12">§1.12</a><br/>Tables - <a href="5-tbl.html#SP1_1">§1.1</a>, <a href="5-tbl.html#SP1_4">§1.4</a><br/>Chronology - <a href="5-chr.html#SP1_3">§1.3</a>, <a href="5-chr.html#SP1_4">§1.4</a>, <a href="5-chr.html#SP1_5">§1.5</a><br/>Multimedia - <a href="5-mlt.html#SP1_1">§1.1</a>, <a href="5-mlt.html#SP1_2">§1.2</a>, <a href="5-mlt.html#SP1_4">§1.4</a><br/>Verbs - <a href="5-vrb.html#SP1_1">§1.1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_error_message</span><span class="plain-syntax"> *</span><span class="identifier-syntax">E</span><span class="plain-syntax"> =</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Inter::Defn::verify_construct</span><span class="plain-syntax">(</span><span class="identifier-syntax">Inter::Bookmarks::package</span><span class="plain-syntax">(</span><span class="identifier-syntax">Packaging::at</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">)), </span><span class="identifier-syntax">synoptic_array_node</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">E</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Inter::Errors::issue</span><span class="plain-syntax">(</span><span class="identifier-syntax">E</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">internal_error</span><span class="plain-syntax">(</span><span class="string-syntax">"synoptic array failed verification"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Inter::Bookmarks::insert</span><span class="plain-syntax">(</span><span class="identifier-syntax">Packaging::at</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">), </span><span class="identifier-syntax">synoptic_array_node</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Packaging::exit</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">synoptic_array_ps</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Synoptic::numeric_entry</span><button class="popup" onclick="togglePopup('usagePopup12')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup12">Usage of <span class="code-font"><span class="function-syntax">Synoptic::numeric_entry</span></span>:<br/>Responses - <a href="5-rsp.html#SP1_2">§1.2</a>, <a href="5-rsp.html#SP1_3">§1.3</a><br/>Rules - <a href="5-rls.html#SP1_2">§1.2</a>, <a href="5-rls.html#SP1_3">§1.3</a>, <a href="5-rls.html#SP1_4">§1.4</a><br/>Activities - <a href="5-act.html#SP1_2">§1.2</a>, <a href="5-act.html#SP1_5">§1.5</a><br/>Actions - <a href="5-act2.html#SP2_3">§2.3</a>, <a href="5-act2.html#SP2_4">§2.4</a>, <a href="5-act2.html#SP2_5">§2.5</a><br/>Kinds - <a href="5-knd.html#SP1_12">§1.12</a><br/>Tables - <a href="5-tbl.html#SP1_1">§1.1</a>, <a href="5-tbl.html#SP1_4">§1.4</a><br/>Chronology - <a href="5-chr.html#SP1_3">§1.3</a>, <a href="5-chr.html#SP1_4">§1.4</a>, <a href="5-chr.html#SP1_5">§1.5</a><br/>Multimedia - <a href="5-mlt.html#SP1_1">§1.1</a>, <a href="5-mlt.html#SP1_2">§1.2</a>, <a href="5-mlt.html#SP1_4">§1.4</a><br/>Verbs - <a href="5-vrb.html#SP1_1">§1.1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">val2</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Inode::extend</span><span class="plain-syntax">(</span><span class="identifier-syntax">synoptic_array_node</span><span class="plain-syntax">, </span><span class="constant-syntax">2</span><span class="plain-syntax">) == </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">) </span><span class="identifier-syntax">internal_error</span><span class="plain-syntax">(</span><span class="string-syntax">"cannot extend"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">synoptic_array_node</span><span class="plain-syntax">-></span><span class="identifier-syntax">W</span><span class="plain-syntax">.</span><span class="identifier-syntax">data</span><span class="plain-syntax">[</span><span class="identifier-syntax">synoptic_array_node</span><span class="plain-syntax">-></span><span class="identifier-syntax">W</span><span class="plain-syntax">.</span><span class="identifier-syntax">extent</span><span class="plain-syntax">-2] = </span><span class="identifier-syntax">LITERAL_IVAL</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">synoptic_array_node</span><span class="plain-syntax">-></span><span class="identifier-syntax">W</span><span class="plain-syntax">.</span><span class="identifier-syntax">data</span><span class="plain-syntax">[</span><span class="identifier-syntax">synoptic_array_node</span><span class="plain-syntax">-></span><span class="identifier-syntax">W</span><span class="plain-syntax">.</span><span class="identifier-syntax">extent</span><span class="plain-syntax">-1] = </span><span class="identifier-syntax">val2</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Synoptic::symbol_entry</span><button class="popup" onclick="togglePopup('usagePopup13')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup13">Usage of <span class="code-font"><span class="function-syntax">Synoptic::symbol_entry</span></span>:<br/>Responses - <a href="5-rsp.html#SP1_2">§1.2</a><br/>Rules - <a href="5-rls.html#SP1_3">§1.3</a>, <a href="5-rls.html#SP1_4">§1.4</a><br/>Activities - <a href="5-act.html#SP1_1">§1.1</a>, <a href="5-act.html#SP1_3">§1.3</a>, <a href="5-act.html#SP1_4">§1.4</a>, <a href="5-act.html#SP1_5">§1.5</a><br/>Actions - <a href="5-act2.html#SP2_4">§2.4</a>, <a href="5-act2.html#SP2_5">§2.5</a><br/>Kinds - <a href="5-knd.html#SP1_12">§1.12</a><br/>Tables - <a href="5-tbl.html#SP1_1">§1.1</a><br/>Chronology - <a href="5-chr.html#SP1_3">§1.3</a>, <a href="5-chr.html#SP1_5">§1.5</a><br/>Multimedia - <a href="5-mlt.html#SP1_4">§1.4</a><br/>Verbs - <a href="5-vrb.html#SP1_1">§1.1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">S</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Inode::extend</span><span class="plain-syntax">(</span><span class="identifier-syntax">synoptic_array_node</span><span class="plain-syntax">, </span><span class="constant-syntax">2</span><span class="plain-syntax">) == </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">) </span><span class="identifier-syntax">internal_error</span><span class="plain-syntax">(</span><span class="string-syntax">"cannot extend"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Packages::container</span><span class="plain-syntax">(</span><span class="identifier-syntax">synoptic_array_node</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">local_S</span><span class="plain-syntax"> = </span><span class="identifier-syntax">InterSymbolsTables::create_with_unique_name</span><span class="plain-syntax">(</span><span class="identifier-syntax">Inter::Packages::scope</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">), </span><span class="identifier-syntax">S</span><span class="plain-syntax">-></span><span class="identifier-syntax">symbol_name</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Wiring::wire_to</span><span class="plain-syntax">(</span><span class="identifier-syntax">local_S</span><span class="plain-syntax">, </span><span class="identifier-syntax">S</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">val1</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">, </span><span class="identifier-syntax">val2</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Inter::Symbols::to_data</span><span class="plain-syntax">(</span><span class="identifier-syntax">Inter::Packages::tree</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">), </span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">local_S</span><span class="plain-syntax">, &</span><span class="identifier-syntax">val1</span><span class="plain-syntax">, &</span><span class="identifier-syntax">val2</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">synoptic_array_node</span><span class="plain-syntax">-></span><span class="identifier-syntax">W</span><span class="plain-syntax">.</span><span class="identifier-syntax">data</span><span class="plain-syntax">[</span><span class="identifier-syntax">synoptic_array_node</span><span class="plain-syntax">-></span><span class="identifier-syntax">W</span><span class="plain-syntax">.</span><span class="identifier-syntax">extent</span><span class="plain-syntax">-2] = </span><span class="identifier-syntax">ALIAS_IVAL</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">synoptic_array_node</span><span class="plain-syntax">-></span><span class="identifier-syntax">W</span><span class="plain-syntax">.</span><span class="identifier-syntax">data</span><span class="plain-syntax">[</span><span class="identifier-syntax">synoptic_array_node</span><span class="plain-syntax">-></span><span class="identifier-syntax">W</span><span class="plain-syntax">.</span><span class="identifier-syntax">extent</span><span class="plain-syntax">-1] = </span><span class="identifier-syntax">val2</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Synoptic::textual_entry</span><button class="popup" onclick="togglePopup('usagePopup14')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup14">Usage of <span class="code-font"><span class="function-syntax">Synoptic::textual_entry</span></span>:<br/>Responses - <a href="5-rsp.html#SP1_3">§1.3</a><br/>Rules - <a href="5-rls.html#SP1_2">§1.2</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">text</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Inode::extend</span><span class="plain-syntax">(</span><span class="identifier-syntax">synoptic_array_node</span><span class="plain-syntax">, </span><span class="constant-syntax">2</span><span class="plain-syntax">) == </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">) </span><span class="identifier-syntax">internal_error</span><span class="plain-syntax">(</span><span class="string-syntax">"cannot extend"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Packages::container</span><span class="plain-syntax">(</span><span class="identifier-syntax">synoptic_array_node</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Packages::tree</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">val2</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Warehouse::create_text</span><span class="plain-syntax">(</span><span class="identifier-syntax">InterTree::warehouse</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">), </span><span class="identifier-syntax">pack</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">glob_storage</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Warehouse::get_text</span><span class="plain-syntax">(</span><span class="identifier-syntax">InterTree::warehouse</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">), </span><span class="identifier-syntax">val2</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Str::copy</span><span class="plain-syntax">(</span><span class="identifier-syntax">glob_storage</span><span class="plain-syntax">, </span><span class="identifier-syntax">text</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">synoptic_array_node</span><span class="plain-syntax">-></span><span class="identifier-syntax">W</span><span class="plain-syntax">.</span><span class="identifier-syntax">data</span><span class="plain-syntax">[</span><span class="identifier-syntax">synoptic_array_node</span><span class="plain-syntax">-></span><span class="identifier-syntax">W</span><span class="plain-syntax">.</span><span class="identifier-syntax">extent</span><span class="plain-syntax">-2] = </span><span class="identifier-syntax">LITERAL_TEXT_IVAL</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">synoptic_array_node</span><span class="plain-syntax">-></span><span class="identifier-syntax">W</span><span class="plain-syntax">.</span><span class="identifier-syntax">data</span><span class="plain-syntax">[</span><span class="identifier-syntax">synoptic_array_node</span><span class="plain-syntax">-></span><span class="identifier-syntax">W</span><span class="plain-syntax">.</span><span class="identifier-syntax">extent</span><span class="plain-syntax">-1] = </span><span class="identifier-syntax">val2</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="identifier-syntax">inter_tree_node</span><span class="plain-syntax"> *</span><span class="function-syntax">Synoptic::get_definition</span><button class="popup" onclick="togglePopup('usagePopup15')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup15">Usage of <span class="code-font"><span class="function-syntax">Synoptic::get_definition</span></span>:<br/>Extensions - <a href="5-ext.html#SP1">§1</a><br/>Responses - <a href="5-rsp.html#SP1">§1</a><br/>Rules - <a href="5-rls.html#SP1">§1</a><br/>Activities - <a href="5-act.html#SP1">§1</a><br/>Actions - <a href="5-act2.html#SP2">§2</a><br/>Properties - <a href="5-prp.html#SP1">§1</a><br/>Relations - <a href="5-rlt.html#SP1">§1</a><br/>Tables - <a href="5-tbl.html#SP1">§1</a>, <a href="5-tbl.html#SP1_4">§1.4</a><br/>Chronology - <a href="5-chr.html#SP1">§1</a><br/>Use Options - <a href="5-uo.html#SP1">§1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">name</span><span class="plain-syntax">) {</span>
|
||||
<span class="identifier-syntax">inter_tree_node</span><span class="plain-syntax"> *</span><span class="function-syntax">Synoptic::get_definition</span><button class="popup" onclick="togglePopup('usagePopup2')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup2">Usage of <span class="code-font"><span class="function-syntax">Synoptic::get_definition</span></span>:<br/>Extensions - <a href="5-ext.html#SP1_1">§1.1</a><br/>Responses - <a href="5-rsp.html#SP1">§1</a><br/>Rules - <a href="5-rls.html#SP1">§1</a><br/>Activities - <a href="5-act.html#SP1">§1</a><br/>Actions - <a href="5-act2.html#SP2">§2</a><br/>Properties - <a href="5-prp.html#SP1">§1</a><br/>Relations - <a href="5-rlt.html#SP1">§1</a><br/>Tables - <a href="5-tbl.html#SP1">§1</a>, <a href="5-tbl.html#SP1_4">§1.4</a><br/>Chronology - <a href="5-chr.html#SP1">§1</a><br/>Use Options - <a href="5-uo.html#SP1">§1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">name</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">def_s</span><span class="plain-syntax"> = </span><span class="identifier-syntax">InterSymbolsTables::symbol_from_name</span><span class="plain-syntax">(</span><span class="identifier-syntax">Inter::Packages::scope</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">), </span><span class="identifier-syntax">name</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">def_s</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOG</span><span class="plain-syntax">(</span><span class="string-syntax">"Unable to find symbol %S in $6\n"</span><span class="plain-syntax">, </span><span class="identifier-syntax">name</span><span class="plain-syntax">, </span><span class="identifier-syntax">pack</span><span class="plain-syntax">);</span>
|
||||
|
@ -386,24 +99,129 @@ function togglePopup(material_id) {
|
|||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">D</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP2" class="paragraph-anchor"></a><b>§2. </b>To clarify: here, the symbol is optional, that is, need not exist; but if it
|
||||
does exist, it must have a definition, and we return that.
|
||||
</p>
|
||||
|
||||
<span class="identifier-syntax">inter_tree_node</span><span class="plain-syntax"> *</span><span class="function-syntax">Synoptic::get_optional_definition</span><button class="popup" onclick="togglePopup('usagePopup16')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup16">Usage of <span class="code-font"><span class="function-syntax">Synoptic::get_optional_definition</span></span>:<br/>Activities - <a href="5-act.html#SP1">§1</a><br/>Actions - <a href="5-act2.html#SP2">§2</a><br/>Tables - <a href="5-tbl.html#SP1_4">§1.4</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">name</span><span class="plain-syntax">) {</span>
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="identifier-syntax">inter_tree_node</span><span class="plain-syntax"> *</span><span class="function-syntax">Synoptic::get_optional_definition</span><button class="popup" onclick="togglePopup('usagePopup3')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup3">Usage of <span class="code-font"><span class="function-syntax">Synoptic::get_optional_definition</span></span>:<br/>Activities - <a href="5-act.html#SP1">§1</a><br/>Actions - <a href="5-act2.html#SP2">§2</a><br/>Tables - <a href="5-tbl.html#SP1_4">§1.4</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">name</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">def_s</span><span class="plain-syntax"> = </span><span class="identifier-syntax">InterSymbolsTables::symbol_from_name</span><span class="plain-syntax">(</span><span class="identifier-syntax">Inter::Packages::scope</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">), </span><span class="identifier-syntax">name</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">def_s</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">D</span><span class="plain-syntax"> = </span><span class="identifier-syntax">def_s</span><span class="plain-syntax">-></span><span class="identifier-syntax">definition</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">D</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) </span><span class="identifier-syntax">internal_error</span><span class="plain-syntax">(</span><span class="string-syntax">"undefined symbol"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">D</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP3" class="paragraph-anchor"></a><b>§3. </b>And this creates a new symbol:
|
||||
</p>
|
||||
|
||||
<span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="function-syntax">Synoptic::module_containing</span><button class="popup" onclick="togglePopup('usagePopup17')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup17">Usage of <span class="code-font"><span class="function-syntax">Synoptic::module_containing</span></span>:<br/><a href="5-su.html#SP2">§2</a><br/>Verbs - <a href="5-vrb.html#SP1">§1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">P</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Packages::container</span><span class="plain-syntax">(</span><span class="identifier-syntax">P</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Packages::tree</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">while</span><span class="plain-syntax"> (</span><span class="identifier-syntax">pack</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">ptype</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Packages::type</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">ptype</span><span class="plain-syntax"> == </span><span class="identifier-syntax">PackageTypes::get</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"_module"</span><span class="plain-syntax">)) </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">pack</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">pack</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Packages::parent</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">);</span>
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="function-syntax">Synoptic::new_symbol</span><button class="popup" onclick="togglePopup('usagePopup4')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup4">Usage of <span class="code-font"><span class="function-syntax">Synoptic::new_symbol</span></span>:<br/>Literal Text - <a href="5-lt.html#SP1_1">§1.1</a>, <a href="5-lt.html#SP1_2">§1.2</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">name</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">InterSymbolsTables::create_with_unique_name</span><span class="plain-syntax">(</span><span class="identifier-syntax">Inter::Packages::scope</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">), </span><span class="identifier-syntax">name</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP4" class="paragraph-anchor"></a><b>§4. Making textual constants. </b></p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Synoptic::textual_constant</span><button class="popup" onclick="togglePopup('usagePopup5')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup5">Usage of <span class="code-font"><span class="function-syntax">Synoptic::textual_constant</span></span>:<br/>Literal Text - <a href="5-lt.html#SP1_1">§1.1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="reserved-syntax">pipeline_step</span><span class="plain-syntax"> *</span><span class="identifier-syntax">step</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">con_s</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">S</span><span class="plain-syntax">, </span><span class="identifier-syntax">inter_bookmark</span><span class="plain-syntax"> *</span><span class="identifier-syntax">IBM</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Inter::Symbols::annotate_i</span><span class="plain-syntax">(</span><span class="identifier-syntax">con_s</span><span class="plain-syntax">, </span><span class="identifier-syntax">TEXT_LITERAL_IANN</span><span class="plain-syntax">, </span><span class="constant-syntax">1</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">ID</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Warehouse::create_text</span><span class="plain-syntax">(</span><span class="identifier-syntax">InterTree::warehouse</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">),</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Inter::Bookmarks::package</span><span class="plain-syntax">(</span><span class="identifier-syntax">IBM</span><span class="plain-syntax">));</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Str::copy</span><span class="plain-syntax">(</span><span class="identifier-syntax">Inter::Warehouse::get_text</span><span class="plain-syntax">(</span><span class="identifier-syntax">InterTree::warehouse</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">), </span><span class="identifier-syntax">ID</span><span class="plain-syntax">), </span><span class="identifier-syntax">S</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Produce::guard</span><span class="plain-syntax">(</span><span class="identifier-syntax">Inter::Constant::new_textual</span><span class="plain-syntax">(</span><span class="identifier-syntax">IBM</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">InterSymbolsTables::id_from_symbol</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">Inter::Bookmarks::package</span><span class="plain-syntax">(</span><span class="identifier-syntax">IBM</span><span class="plain-syntax">), </span><span class="identifier-syntax">con_s</span><span class="plain-syntax">),</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">InterSymbolsTables::id_from_symbol</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">Inter::Bookmarks::package</span><span class="plain-syntax">(</span><span class="identifier-syntax">IBM</span><span class="plain-syntax">),</span>
|
||||
<span class="plain-syntax"> </span><a href="2-rp.html#SP5" class="function-link"><span class="function-syntax">RunningPipelines::get_symbol</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="constant-syntax">unchecked_kind_RPSYM</span><span class="plain-syntax">)),</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">ID</span><span class="plain-syntax">, (</span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax">) </span><span class="identifier-syntax">Inter::Bookmarks::baseline</span><span class="plain-syntax">(</span><span class="identifier-syntax">IBM</span><span class="plain-syntax">) + </span><span class="constant-syntax">1</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">));</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP5" class="paragraph-anchor"></a><b>§5. Making functions. </b></p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">synoptic_fn_package</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
|
||||
<span class="identifier-syntax">packaging_state</span><span class="plain-syntax"> </span><span class="identifier-syntax">synoptic_fn_ps</span><span class="plain-syntax">;</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Synoptic::begin_function</span><button class="popup" onclick="togglePopup('usagePopup6')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup6">Usage of <span class="code-font"><span class="function-syntax">Synoptic::begin_function</span></span>:<br/>Extensions - <a href="5-ext.html#SP1_2">§1.2</a>, <a href="5-ext.html#SP1_3">§1.3</a>, <a href="5-ext.html#SP1_4">§1.4</a><br/>Responses - <a href="5-rsp.html#SP1_4">§1.4</a><br/>Rules - <a href="5-rls.html#SP1_5">§1.5</a>, <a href="5-rls.html#SP1_6">§1.6</a><br/>Actions - <a href="5-act2.html#SP2_6">§2.6</a><br/>Instances - <a href="5-ins.html#SP1_1">§1.1</a><br/>Kinds - <a href="5-knd.html#SP1_2">§1.2</a>, <a href="5-knd.html#SP1_3">§1.3</a>, <a href="5-knd.html#SP1_4">§1.4</a>, <a href="5-knd.html#SP1_5">§1.5</a>, <a href="5-knd.html#SP1_6">§1.6</a>, <a href="5-knd.html#SP1_7">§1.7</a>, <a href="5-knd.html#SP1_8">§1.8</a>, <a href="5-knd.html#SP1_9">§1.9</a>, <a href="5-knd.html#SP1_10">§1.10</a><br/>Relations - <a href="5-rlt.html#SP1_2">§1.2</a>, <a href="5-rlt.html#SP1_3">§1.3</a>, <a href="5-rlt.html#SP1_4">§1.4</a><br/>Tables - <a href="5-tbl.html#SP1_2">§1.2</a>, <a href="5-tbl.html#SP1_3">§1.3</a><br/>Chronology - <a href="5-chr.html#SP1_6">§1.6</a><br/>Scenes - <a href="5-scn.html#SP1_1">§1.1</a>, <a href="5-scn.html#SP1_2">§1.2</a><br/>Use Options - <a href="5-uo.html#SP1_2">§1.2</a>, <a href="5-uo.html#SP1_3">§1.3</a><br/>Tests - <a href="5-tst.html#SP1_1">§1.1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">iname</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">synoptic_fn_package</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Produce::block</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, &</span><span class="identifier-syntax">synoptic_fn_ps</span><span class="plain-syntax">, </span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Synoptic::end_function</span><button class="popup" onclick="togglePopup('usagePopup7')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup7">Usage of <span class="code-font"><span class="function-syntax">Synoptic::end_function</span></span>:<br/>Extensions - <a href="5-ext.html#SP1_2">§1.2</a>, <a href="5-ext.html#SP1_3">§1.3</a>, <a href="5-ext.html#SP1_4">§1.4</a><br/>Responses - <a href="5-rsp.html#SP1_4">§1.4</a><br/>Rules - <a href="5-rls.html#SP1_5">§1.5</a>, <a href="5-rls.html#SP1_6">§1.6</a><br/>Actions - <a href="5-act2.html#SP2_6">§2.6</a><br/>Instances - <a href="5-ins.html#SP1_1">§1.1</a><br/>Kinds - <a href="5-knd.html#SP1_2">§1.2</a>, <a href="5-knd.html#SP1_3">§1.3</a>, <a href="5-knd.html#SP1_4">§1.4</a>, <a href="5-knd.html#SP1_5">§1.5</a>, <a href="5-knd.html#SP1_6">§1.6</a>, <a href="5-knd.html#SP1_7">§1.7</a>, <a href="5-knd.html#SP1_8">§1.8</a>, <a href="5-knd.html#SP1_9">§1.9</a>, <a href="5-knd.html#SP1_10">§1.10</a><br/>Relations - <a href="5-rlt.html#SP1_2">§1.2</a>, <a href="5-rlt.html#SP1_3">§1.3</a>, <a href="5-rlt.html#SP1_4">§1.4</a><br/>Tables - <a href="5-tbl.html#SP1_2">§1.2</a>, <a href="5-tbl.html#SP1_3">§1.3</a><br/>Chronology - <a href="5-chr.html#SP1_6">§1.6</a><br/>Scenes - <a href="5-scn.html#SP1_1">§1.1</a>, <a href="5-scn.html#SP1_2">§1.2</a><br/>Use Options - <a href="5-uo.html#SP1_2">§1.2</a>, <a href="5-uo.html#SP1_3">§1.3</a><br/>Tests - <a href="5-tst.html#SP1_1">§1.1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="reserved-syntax">pipeline_step</span><span class="plain-syntax"> *</span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">iname</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Produce::end_block</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">fn_s</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Produce::define_symbol</span><span class="plain-syntax">(</span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Produce::guard</span><span class="plain-syntax">(</span><span class="identifier-syntax">Inter::Constant::new_function</span><span class="plain-syntax">(</span><span class="identifier-syntax">Packaging::at</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">),</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">InterSymbolsTables::id_from_symbol</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">Inter::Bookmarks::package</span><span class="plain-syntax">(</span><span class="identifier-syntax">Packaging::at</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">)), </span><span class="identifier-syntax">fn_s</span><span class="plain-syntax">),</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">InterSymbolsTables::id_from_symbol</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">Inter::Bookmarks::package</span><span class="plain-syntax">(</span><span class="identifier-syntax">Packaging::at</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">)),</span>
|
||||
<span class="plain-syntax"> </span><a href="2-rp.html#SP5" class="function-link"><span class="function-syntax">RunningPipelines::get_symbol</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="constant-syntax">unchecked_kind_RPSYM</span><span class="plain-syntax">)),</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">synoptic_fn_package</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Produce::baseline</span><span class="plain-syntax">(</span><span class="identifier-syntax">Packaging::at</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">)), </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">));</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Produce::end_main_block</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">synoptic_fn_ps</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP6" class="paragraph-anchor"></a><b>§6. </b>To give such a function a local:
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="function-syntax">Synoptic::local</span><button class="popup" onclick="togglePopup('usagePopup8')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup8">Usage of <span class="code-font"><span class="function-syntax">Synoptic::local</span></span>:<br/>Extensions - <a href="5-ext.html#SP1_4">§1.4</a><br/>Responses - <a href="5-rsp.html#SP1_4">§1.4</a><br/>Rules - <a href="5-rls.html#SP1_5">§1.5</a>, <a href="5-rls.html#SP1_6">§1.6</a><br/>Actions - <a href="5-act2.html#SP2_6">§2.6</a><br/>Instances - <a href="5-ins.html#SP1_1">§1.1</a><br/>Kinds - <a href="5-knd.html#SP1_2">§1.2</a>, <a href="5-knd.html#SP1_3">§1.3</a>, <a href="5-knd.html#SP1_4">§1.4</a>, <a href="5-knd.html#SP1_5">§1.5</a>, <a href="5-knd.html#SP1_6">§1.6</a>, <a href="5-knd.html#SP1_7">§1.7</a>, <a href="5-knd.html#SP1_8">§1.8</a>, <a href="5-knd.html#SP1_9">§1.9</a>, <a href="5-knd.html#SP1_10">§1.10</a><br/>Relations - <a href="5-rlt.html#SP1_3">§1.3</a>, <a href="5-rlt.html#SP1_4">§1.4</a><br/>Tables - <a href="5-tbl.html#SP1_2">§1.2</a>, <a href="5-tbl.html#SP1_3">§1.3</a><br/>Chronology - <a href="5-chr.html#SP1_6">§1.6</a><br/>Scenes - <a href="5-scn.html#SP1_2">§1.2</a><br/>Use Options - <a href="5-uo.html#SP1_2">§1.2</a>, <a href="5-uo.html#SP1_3">§1.3</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">name</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">comment</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">Produce::local</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">K_value</span><span class="plain-syntax">, </span><span class="identifier-syntax">name</span><span class="plain-syntax">, </span><span class="constant-syntax">0</span><span class="plain-syntax">, </span><span class="identifier-syntax">comment</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP7" class="paragraph-anchor"></a><b>§7. Making arrays. </b></p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="identifier-syntax">inter_tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">synoptic_array_node</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
|
||||
<span class="identifier-syntax">packaging_state</span><span class="plain-syntax"> </span><span class="identifier-syntax">synoptic_array_ps</span><span class="plain-syntax">;</span>
|
||||
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Synoptic::begin_array</span><button class="popup" onclick="togglePopup('usagePopup9')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup9">Usage of <span class="code-font"><span class="function-syntax">Synoptic::begin_array</span></span>:<br/>Responses - <a href="5-rsp.html#SP1_2">§1.2</a>, <a href="5-rsp.html#SP1_3">§1.3</a><br/>Rules - <a href="5-rls.html#SP1_2">§1.2</a>, <a href="5-rls.html#SP1_3">§1.3</a>, <a href="5-rls.html#SP1_4">§1.4</a><br/>Activities - <a href="5-act.html#SP1_1">§1.1</a>, <a href="5-act.html#SP1_2">§1.2</a>, <a href="5-act.html#SP1_3">§1.3</a>, <a href="5-act.html#SP1_4">§1.4</a>, <a href="5-act.html#SP1_5">§1.5</a><br/>Actions - <a href="5-act2.html#SP2_3">§2.3</a>, <a href="5-act2.html#SP2_4">§2.4</a>, <a href="5-act2.html#SP2_5">§2.5</a><br/>Kinds - <a href="5-knd.html#SP1_12">§1.12</a><br/>Tables - <a href="5-tbl.html#SP1_1">§1.1</a>, <a href="5-tbl.html#SP1_4">§1.4</a><br/>Chronology - <a href="5-chr.html#SP1_3">§1.3</a>, <a href="5-chr.html#SP1_4">§1.4</a>, <a href="5-chr.html#SP1_5">§1.5</a><br/>Multimedia - <a href="5-mlt.html#SP1_1">§1.1</a>, <a href="5-mlt.html#SP1_2">§1.2</a>, <a href="5-mlt.html#SP1_4">§1.4</a><br/>Verbs - <a href="5-vrb.html#SP1_1">§1.1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="reserved-syntax">pipeline_step</span><span class="plain-syntax"> *</span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">iname</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">synoptic_array_ps</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Packaging::enter_home_of</span><span class="plain-syntax">(</span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">con_s</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Produce::define_symbol</span><span class="plain-syntax">(</span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">synoptic_array_node</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inode::fill_3</span><span class="plain-syntax">(</span><span class="identifier-syntax">Packaging::at</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">), </span><span class="identifier-syntax">CONSTANT_IST</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">InterSymbolsTables::id_from_IRS_and_symbol</span><span class="plain-syntax">(</span><span class="identifier-syntax">Packaging::at</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">), </span><span class="identifier-syntax">con_s</span><span class="plain-syntax">),</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">InterSymbolsTables::id_from_IRS_and_symbol</span><span class="plain-syntax">(</span><span class="identifier-syntax">Packaging::at</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">),</span>
|
||||
<span class="plain-syntax"> </span><a href="2-rp.html#SP5" class="function-link"><span class="function-syntax">RunningPipelines::get_symbol</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="constant-syntax">list_of_unchecked_kind_RPSYM</span><span class="plain-syntax">)),</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">CONSTANT_INDIRECT_LIST</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> (</span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax">) </span><span class="identifier-syntax">Inter::Bookmarks::baseline</span><span class="plain-syntax">(</span><span class="identifier-syntax">Packaging::at</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">)) + </span><span class="constant-syntax">1</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Synoptic::end_array</span><button class="popup" onclick="togglePopup('usagePopup10')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup10">Usage of <span class="code-font"><span class="function-syntax">Synoptic::end_array</span></span>:<br/>Responses - <a href="5-rsp.html#SP1_2">§1.2</a>, <a href="5-rsp.html#SP1_3">§1.3</a><br/>Rules - <a href="5-rls.html#SP1_2">§1.2</a>, <a href="5-rls.html#SP1_3">§1.3</a>, <a href="5-rls.html#SP1_4">§1.4</a><br/>Activities - <a href="5-act.html#SP1_1">§1.1</a>, <a href="5-act.html#SP1_2">§1.2</a>, <a href="5-act.html#SP1_3">§1.3</a>, <a href="5-act.html#SP1_4">§1.4</a>, <a href="5-act.html#SP1_5">§1.5</a><br/>Actions - <a href="5-act2.html#SP2_3">§2.3</a>, <a href="5-act2.html#SP2_4">§2.4</a>, <a href="5-act2.html#SP2_5">§2.5</a><br/>Kinds - <a href="5-knd.html#SP1_12">§1.12</a><br/>Tables - <a href="5-tbl.html#SP1_1">§1.1</a>, <a href="5-tbl.html#SP1_4">§1.4</a><br/>Chronology - <a href="5-chr.html#SP1_3">§1.3</a>, <a href="5-chr.html#SP1_4">§1.4</a>, <a href="5-chr.html#SP1_5">§1.5</a><br/>Multimedia - <a href="5-mlt.html#SP1_1">§1.1</a>, <a href="5-mlt.html#SP1_2">§1.2</a>, <a href="5-mlt.html#SP1_4">§1.4</a><br/>Verbs - <a href="5-vrb.html#SP1_1">§1.1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_error_message</span><span class="plain-syntax"> *</span><span class="identifier-syntax">E</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Defn::verify_construct</span><span class="plain-syntax">(</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Inter::Bookmarks::package</span><span class="plain-syntax">(</span><span class="identifier-syntax">Packaging::at</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">)), </span><span class="identifier-syntax">synoptic_array_node</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">E</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Inter::Errors::issue</span><span class="plain-syntax">(</span><span class="identifier-syntax">E</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">internal_error</span><span class="plain-syntax">(</span><span class="string-syntax">"synoptic array failed verification"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Inter::Bookmarks::insert</span><span class="plain-syntax">(</span><span class="identifier-syntax">Packaging::at</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">), </span><span class="identifier-syntax">synoptic_array_node</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Packaging::exit</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">synoptic_array_ps</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP8" class="paragraph-anchor"></a><b>§8. </b>Three ways to define an entry:
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Synoptic::numeric_entry</span><button class="popup" onclick="togglePopup('usagePopup11')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup11">Usage of <span class="code-font"><span class="function-syntax">Synoptic::numeric_entry</span></span>:<br/>Responses - <a href="5-rsp.html#SP1_2">§1.2</a>, <a href="5-rsp.html#SP1_3">§1.3</a><br/>Rules - <a href="5-rls.html#SP1_2">§1.2</a>, <a href="5-rls.html#SP1_3">§1.3</a>, <a href="5-rls.html#SP1_4">§1.4</a><br/>Activities - <a href="5-act.html#SP1_2">§1.2</a>, <a href="5-act.html#SP1_5">§1.5</a><br/>Actions - <a href="5-act2.html#SP2_3">§2.3</a>, <a href="5-act2.html#SP2_4">§2.4</a>, <a href="5-act2.html#SP2_5">§2.5</a><br/>Kinds - <a href="5-knd.html#SP1_12">§1.12</a><br/>Tables - <a href="5-tbl.html#SP1_1">§1.1</a>, <a href="5-tbl.html#SP1_4">§1.4</a><br/>Chronology - <a href="5-chr.html#SP1_3">§1.3</a>, <a href="5-chr.html#SP1_4">§1.4</a>, <a href="5-chr.html#SP1_5">§1.5</a><br/>Multimedia - <a href="5-mlt.html#SP1_1">§1.1</a>, <a href="5-mlt.html#SP1_2">§1.2</a>, <a href="5-mlt.html#SP1_4">§1.4</a><br/>Verbs - <a href="5-vrb.html#SP1_1">§1.1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">val2</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Inode::extend</span><span class="plain-syntax">(</span><span class="identifier-syntax">synoptic_array_node</span><span class="plain-syntax">, </span><span class="constant-syntax">2</span><span class="plain-syntax">) == </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">) </span><span class="identifier-syntax">internal_error</span><span class="plain-syntax">(</span><span class="string-syntax">"cannot extend"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">synoptic_array_node</span><span class="plain-syntax">-></span><span class="identifier-syntax">W</span><span class="plain-syntax">.</span><span class="identifier-syntax">data</span><span class="plain-syntax">[</span><span class="identifier-syntax">synoptic_array_node</span><span class="plain-syntax">-></span><span class="identifier-syntax">W</span><span class="plain-syntax">.</span><span class="identifier-syntax">extent</span><span class="plain-syntax">-2] = </span><span class="identifier-syntax">LITERAL_IVAL</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">synoptic_array_node</span><span class="plain-syntax">-></span><span class="identifier-syntax">W</span><span class="plain-syntax">.</span><span class="identifier-syntax">data</span><span class="plain-syntax">[</span><span class="identifier-syntax">synoptic_array_node</span><span class="plain-syntax">-></span><span class="identifier-syntax">W</span><span class="plain-syntax">.</span><span class="identifier-syntax">extent</span><span class="plain-syntax">-1] = </span><span class="identifier-syntax">val2</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Synoptic::symbol_entry</span><button class="popup" onclick="togglePopup('usagePopup12')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup12">Usage of <span class="code-font"><span class="function-syntax">Synoptic::symbol_entry</span></span>:<br/>Responses - <a href="5-rsp.html#SP1_2">§1.2</a><br/>Rules - <a href="5-rls.html#SP1_3">§1.3</a>, <a href="5-rls.html#SP1_4">§1.4</a><br/>Activities - <a href="5-act.html#SP1_1">§1.1</a>, <a href="5-act.html#SP1_3">§1.3</a>, <a href="5-act.html#SP1_4">§1.4</a>, <a href="5-act.html#SP1_5">§1.5</a><br/>Actions - <a href="5-act2.html#SP2_4">§2.4</a>, <a href="5-act2.html#SP2_5">§2.5</a><br/>Kinds - <a href="5-knd.html#SP1_12">§1.12</a><br/>Tables - <a href="5-tbl.html#SP1_1">§1.1</a><br/>Chronology - <a href="5-chr.html#SP1_3">§1.3</a>, <a href="5-chr.html#SP1_5">§1.5</a><br/>Multimedia - <a href="5-mlt.html#SP1_4">§1.4</a><br/>Verbs - <a href="5-vrb.html#SP1_1">§1.1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">S</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Inode::extend</span><span class="plain-syntax">(</span><span class="identifier-syntax">synoptic_array_node</span><span class="plain-syntax">, </span><span class="constant-syntax">2</span><span class="plain-syntax">) == </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">) </span><span class="identifier-syntax">internal_error</span><span class="plain-syntax">(</span><span class="string-syntax">"cannot extend"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Packages::container</span><span class="plain-syntax">(</span><span class="identifier-syntax">synoptic_array_node</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">local_S</span><span class="plain-syntax"> =</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">InterSymbolsTables::create_with_unique_name</span><span class="plain-syntax">(</span><span class="identifier-syntax">Inter::Packages::scope</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">), </span><span class="identifier-syntax">S</span><span class="plain-syntax">-></span><span class="identifier-syntax">symbol_name</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Wiring::wire_to</span><span class="plain-syntax">(</span><span class="identifier-syntax">local_S</span><span class="plain-syntax">, </span><span class="identifier-syntax">S</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">val1</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">, </span><span class="identifier-syntax">val2</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Inter::Symbols::to_data</span><span class="plain-syntax">(</span><span class="identifier-syntax">Inter::Packages::tree</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">), </span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">local_S</span><span class="plain-syntax">, &</span><span class="identifier-syntax">val1</span><span class="plain-syntax">, &</span><span class="identifier-syntax">val2</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">synoptic_array_node</span><span class="plain-syntax">-></span><span class="identifier-syntax">W</span><span class="plain-syntax">.</span><span class="identifier-syntax">data</span><span class="plain-syntax">[</span><span class="identifier-syntax">synoptic_array_node</span><span class="plain-syntax">-></span><span class="identifier-syntax">W</span><span class="plain-syntax">.</span><span class="identifier-syntax">extent</span><span class="plain-syntax">-2] = </span><span class="identifier-syntax">ALIAS_IVAL</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">synoptic_array_node</span><span class="plain-syntax">-></span><span class="identifier-syntax">W</span><span class="plain-syntax">.</span><span class="identifier-syntax">data</span><span class="plain-syntax">[</span><span class="identifier-syntax">synoptic_array_node</span><span class="plain-syntax">-></span><span class="identifier-syntax">W</span><span class="plain-syntax">.</span><span class="identifier-syntax">extent</span><span class="plain-syntax">-1] = </span><span class="identifier-syntax">val2</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Synoptic::textual_entry</span><button class="popup" onclick="togglePopup('usagePopup13')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup13">Usage of <span class="code-font"><span class="function-syntax">Synoptic::textual_entry</span></span>:<br/>Responses - <a href="5-rsp.html#SP1_3">§1.3</a><br/>Rules - <a href="5-rls.html#SP1_2">§1.2</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">text</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Inode::extend</span><span class="plain-syntax">(</span><span class="identifier-syntax">synoptic_array_node</span><span class="plain-syntax">, </span><span class="constant-syntax">2</span><span class="plain-syntax">) == </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">) </span><span class="identifier-syntax">internal_error</span><span class="plain-syntax">(</span><span class="string-syntax">"cannot extend"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Packages::container</span><span class="plain-syntax">(</span><span class="identifier-syntax">synoptic_array_node</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Packages::tree</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">val2</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Warehouse::create_text</span><span class="plain-syntax">(</span><span class="identifier-syntax">InterTree::warehouse</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">), </span><span class="identifier-syntax">pack</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">glob_storage</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Warehouse::get_text</span><span class="plain-syntax">(</span><span class="identifier-syntax">InterTree::warehouse</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">), </span><span class="identifier-syntax">val2</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Str::copy</span><span class="plain-syntax">(</span><span class="identifier-syntax">glob_storage</span><span class="plain-syntax">, </span><span class="identifier-syntax">text</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">synoptic_array_node</span><span class="plain-syntax">-></span><span class="identifier-syntax">W</span><span class="plain-syntax">.</span><span class="identifier-syntax">data</span><span class="plain-syntax">[</span><span class="identifier-syntax">synoptic_array_node</span><span class="plain-syntax">-></span><span class="identifier-syntax">W</span><span class="plain-syntax">.</span><span class="identifier-syntax">extent</span><span class="plain-syntax">-2] = </span><span class="identifier-syntax">LITERAL_TEXT_IVAL</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">synoptic_array_node</span><span class="plain-syntax">-></span><span class="identifier-syntax">W</span><span class="plain-syntax">.</span><span class="identifier-syntax">data</span><span class="plain-syntax">[</span><span class="identifier-syntax">synoptic_array_node</span><span class="plain-syntax">-></span><span class="identifier-syntax">W</span><span class="plain-syntax">.</span><span class="identifier-syntax">extent</span><span class="plain-syntax">-1] = </span><span class="identifier-syntax">val2</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
|
|
|
@ -91,32 +91,32 @@ by index within the current table: see <a href="../assertions-module/7-tbl.html"
|
|||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">SynopticTables::compile</span><button class="popup" onclick="togglePopup('usagePopup1')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup1">Usage of <span class="code-font"><span class="function-syntax">SynopticTables::compile</span></span>:<br/>Make Synoptic Module Stage - <a href="5-msms.html#SP1">§1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="reserved-syntax">pipeline_step</span><span class="plain-syntax"> *</span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="reserved-syntax">tree_inventory</span><span class="plain-syntax"> *</span><span class="identifier-syntax">inv</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">TreeLists::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">table_nodes</span><span class="plain-syntax">) > </span><span class="constant-syntax">0</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">table_nodes</span><span class="plain-syntax">, </span><a href="5-su.html#SP2" class="function-link"><span class="function-syntax">Synoptic::module_order</span></a><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">table_nodes</span><span class="plain-syntax">, </span><a href="5-msms.html#SP6" class="function-link"><span class="function-syntax">MakeSynopticModuleStage::module_order</span></a><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax">=0; </span><span class="identifier-syntax">i</span><span class="function-syntax"><TreeLists::len(inv-></span><span class="element-syntax">table_nodes</span><span class="plain-syntax">); </span><span class="identifier-syntax">i</span><span class="plain-syntax">++) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Package::defined_by_frame</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">table_nodes</span><span class="plain-syntax">-></span><span class="identifier-syntax">list</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">].</span><span class="identifier-syntax">node</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">D</span><span class="plain-syntax"> = </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::get_definition</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"table_id"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">D</span><span class="plain-syntax"> = </span><a href="5-su.html#SP1" class="function-link"><span class="function-syntax">Synoptic::get_definition</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"table_id"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">D</span><span class="plain-syntax">-></span><span class="identifier-syntax">W</span><span class="plain-syntax">.</span><span class="identifier-syntax">data</span><span class="plain-syntax">[</span><span class="identifier-syntax">DATA_CONST_IFLD</span><span class="plain-syntax">+1] = (</span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax">) (</span><span class="identifier-syntax">i</span><span class="plain-syntax"> + </span><span class="constant-syntax">1</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">TreeLists::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">table_column_nodes</span><span class="plain-syntax">) > </span><span class="constant-syntax">0</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">table_column_nodes</span><span class="plain-syntax">, </span><a href="5-su.html#SP2" class="function-link"><span class="function-syntax">Synoptic::module_order</span></a><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">table_column_nodes</span><span class="plain-syntax">, </span><a href="5-msms.html#SP6" class="function-link"><span class="function-syntax">MakeSynopticModuleStage::module_order</span></a><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax">=0; </span><span class="identifier-syntax">i</span><span class="function-syntax"><TreeLists::len(inv-></span><span class="element-syntax">table_column_nodes</span><span class="plain-syntax">); </span><span class="identifier-syntax">i</span><span class="plain-syntax">++) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Package::defined_by_frame</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">table_column_nodes</span><span class="plain-syntax">-></span><span class="identifier-syntax">list</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">].</span><span class="identifier-syntax">node</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">D</span><span class="plain-syntax"> = </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::get_definition</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"table_column_id"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">D</span><span class="plain-syntax"> = </span><a href="5-su.html#SP1" class="function-link"><span class="function-syntax">Synoptic::get_definition</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"table_column_id"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">D</span><span class="plain-syntax">-></span><span class="identifier-syntax">W</span><span class="plain-syntax">.</span><span class="identifier-syntax">data</span><span class="plain-syntax">[</span><span class="identifier-syntax">DATA_CONST_IFLD</span><span class="plain-syntax">+1] = (</span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax">) (</span><span class="identifier-syntax">i</span><span class="plain-syntax"> + </span><span class="constant-syntax">100</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">TreeLists::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">table_column_usage_nodes</span><span class="plain-syntax">) > </span><span class="constant-syntax">0</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">table_column_usage_nodes</span><span class="plain-syntax">, </span><a href="5-su.html#SP2" class="function-link"><span class="function-syntax">Synoptic::module_order</span></a><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">table_column_usage_nodes</span><span class="plain-syntax">, </span><a href="5-msms.html#SP6" class="function-link"><span class="function-syntax">MakeSynopticModuleStage::module_order</span></a><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax">=0; </span><span class="identifier-syntax">i</span><span class="function-syntax"><TreeLists::len(inv-></span><span class="element-syntax">table_column_usage_nodes</span><span class="plain-syntax">); </span><span class="identifier-syntax">i</span><span class="plain-syntax">++) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Package::defined_by_frame</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">table_column_usage_nodes</span><span class="plain-syntax">-></span><span class="identifier-syntax">list</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">].</span><span class="identifier-syntax">node</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">ID</span><span class="plain-syntax"> = </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::get_definition</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"column_identity"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">ID</span><span class="plain-syntax"> = </span><a href="5-su.html#SP1" class="function-link"><span class="function-syntax">Synoptic::get_definition</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"column_identity"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">id_s</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">ID</span><span class="plain-syntax">-></span><span class="identifier-syntax">W</span><span class="plain-syntax">.</span><span class="identifier-syntax">data</span><span class="plain-syntax">[</span><span class="identifier-syntax">DATA_CONST_IFLD</span><span class="plain-syntax">] == </span><span class="identifier-syntax">ALIAS_IVAL</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">id_s</span><span class="plain-syntax"> = </span><span class="identifier-syntax">InterSymbolsTables::symbol_from_id</span><span class="plain-syntax">(</span><span class="identifier-syntax">Inter::Packages::scope</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">), </span><span class="identifier-syntax">ID</span><span class="plain-syntax">-></span><span class="identifier-syntax">W</span><span class="plain-syntax">.</span><span class="identifier-syntax">data</span><span class="plain-syntax">[</span><span class="identifier-syntax">DATA_CONST_IFLD</span><span class="plain-syntax">+1]);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">id_s</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) </span><span class="identifier-syntax">internal_error</span><span class="plain-syntax">(</span><span class="string-syntax">"column_identity not an ALIAS_IVAL"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">ID</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Symbols::definition</span><span class="plain-syntax">(</span><span class="identifier-syntax">id_s</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">D</span><span class="plain-syntax"> = </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::get_definition</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"column_bits"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">D</span><span class="plain-syntax"> = </span><a href="5-su.html#SP1" class="function-link"><span class="function-syntax">Synoptic::get_definition</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"column_bits"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">D</span><span class="plain-syntax">-></span><span class="identifier-syntax">W</span><span class="plain-syntax">.</span><span class="identifier-syntax">data</span><span class="plain-syntax">[</span><span class="identifier-syntax">DATA_CONST_IFLD</span><span class="plain-syntax">+1] += </span><span class="identifier-syntax">ID</span><span class="plain-syntax">-></span><span class="identifier-syntax">W</span><span class="plain-syntax">.</span><span class="identifier-syntax">data</span><span class="plain-syntax">[</span><span class="identifier-syntax">DATA_CONST_IFLD</span><span class="plain-syntax">+1];</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
|
@ -132,16 +132,16 @@ by index within the current table: see <a href="../assertions-module/7-tbl.html"
|
|||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">iname</span><span class="plain-syntax"> = </span><span class="identifier-syntax">HierarchyLocations::find</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="constant-syntax">TABLEOFTABLES_HL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::begin_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::symbol_entry</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">InterNames::to_symbol</span><span class="plain-syntax">(</span><span class="identifier-syntax">HierarchyLocations::find</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="constant-syntax">THEEMPTYTABLE_HL</span><span class="plain-syntax">)));</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP7" class="function-link"><span class="function-syntax">Synoptic::begin_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP8" class="function-link"><span class="function-syntax">Synoptic::symbol_entry</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">InterNames::to_symbol</span><span class="plain-syntax">(</span><span class="identifier-syntax">HierarchyLocations::find</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="constant-syntax">THEEMPTYTABLE_HL</span><span class="plain-syntax">)));</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax">=0; </span><span class="identifier-syntax">i</span><span class="function-syntax"><TreeLists::len(inv-></span><span class="element-syntax">table_nodes</span><span class="plain-syntax">); </span><span class="identifier-syntax">i</span><span class="plain-syntax">++) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Package::defined_by_frame</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">table_nodes</span><span class="plain-syntax">-></span><span class="identifier-syntax">list</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">].</span><span class="identifier-syntax">node</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">value_s</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Metadata::read_symbol</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^value"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::symbol_entry</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">value_s</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP8" class="function-link"><span class="function-syntax">Synoptic::symbol_entry</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">value_s</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::end_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP8" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP8" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP7" class="function-link"><span class="function-syntax">Synoptic::end_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="5-tbl.html#SP1">§1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_2" class="paragraph-anchor"></a><b>§1.2. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Define PRINT_TABLE function</span><span class="named-paragraph-number">1.2</span></span><span class="comment-syntax"> =</span>
|
||||
|
@ -150,7 +150,7 @@ by index within the current table: see <a href="../assertions-module/7-tbl.html"
|
|||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">iname</span><span class="plain-syntax"> = </span><span class="identifier-syntax">HierarchyLocations::find</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="constant-syntax">PRINT_TABLE_HL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::begin_function</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">T_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::local</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"T"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">T_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP6" class="function-link"><span class="function-syntax">Synoptic::local</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"T"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Produce::inv_primitive</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">SWITCH_BIP</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Produce::down</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Produce::val_symbol</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">K_value</span><span class="plain-syntax">, </span><span class="identifier-syntax">T_s</span><span class="plain-syntax">);</span>
|
||||
|
@ -209,8 +209,8 @@ by index within the current table: see <a href="../assertions-module/7-tbl.html"
|
|||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">iname</span><span class="plain-syntax"> = </span><span class="identifier-syntax">HierarchyLocations::find</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="constant-syntax">TC_KOV_HL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::begin_function</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tc_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::local</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"tc"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">unk_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::local</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"unk"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tc_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP6" class="function-link"><span class="function-syntax">Synoptic::local</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"tc"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">unk_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP6" class="function-link"><span class="function-syntax">Synoptic::local</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"unk"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Produce::inv_primitive</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">SWITCH_BIP</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Produce::down</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Produce::val_symbol</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">K_value</span><span class="plain-syntax">, </span><span class="identifier-syntax">tc_s</span><span class="plain-syntax">);</span>
|
||||
|
@ -248,23 +248,23 @@ by index within the current table: see <a href="../assertions-module/7-tbl.html"
|
|||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">iname</span><span class="plain-syntax"> = </span><span class="identifier-syntax">HierarchyLocations::find</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="constant-syntax">TB_BLANKS_HL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Produce::annotate_iname_i</span><span class="plain-syntax">(</span><span class="identifier-syntax">iname</span><span class="plain-syntax">, </span><span class="identifier-syntax">BYTEARRAY_IANN</span><span class="plain-syntax">, </span><span class="constant-syntax">1</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::begin_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP7" class="function-link"><span class="function-syntax">Synoptic::begin_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">hwm</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax">=0; </span><span class="identifier-syntax">i</span><span class="function-syntax"><TreeLists::len(inv-></span><span class="element-syntax">table_column_usage_nodes</span><span class="plain-syntax">); </span><span class="identifier-syntax">i</span><span class="plain-syntax">++) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Package::defined_by_frame</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">table_column_usage_nodes</span><span class="plain-syntax">-></span><span class="identifier-syntax">list</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">].</span><span class="identifier-syntax">node</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">D</span><span class="plain-syntax"> = </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::get_optional_definition</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"column_blanks"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">D</span><span class="plain-syntax"> = </span><a href="5-su.html#SP2" class="function-link"><span class="function-syntax">Synoptic::get_optional_definition</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"column_blanks"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">D</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">D</span><span class="plain-syntax">-></span><span class="identifier-syntax">W</span><span class="plain-syntax">.</span><span class="identifier-syntax">data</span><span class="plain-syntax">[</span><span class="identifier-syntax">DATA_CONST_IFLD</span><span class="plain-syntax">+1] = </span><span class="identifier-syntax">hwm</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">B</span><span class="plain-syntax"> = </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::get_definition</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^column_blank_data"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">B</span><span class="plain-syntax"> = </span><a href="5-su.html#SP1" class="function-link"><span class="function-syntax">Synoptic::get_definition</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^column_blank_data"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax">=</span><span class="identifier-syntax">DATA_CONST_IFLD</span><span class="plain-syntax">; </span><span class="identifier-syntax">i</span><span class="function-syntax"><B-></span><span class="identifier-syntax">W</span><span class="plain-syntax">.</span><span class="identifier-syntax">extent</span><span class="plain-syntax">; </span><span class="identifier-syntax">i</span><span class="plain-syntax">=</span><span class="identifier-syntax">i</span><span class="plain-syntax">+2) {</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">B</span><span class="plain-syntax">-></span><span class="identifier-syntax">W</span><span class="plain-syntax">.</span><span class="identifier-syntax">data</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">+1]);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP8" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">B</span><span class="plain-syntax">-></span><span class="identifier-syntax">W</span><span class="plain-syntax">.</span><span class="identifier-syntax">data</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">+1]);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">hwm</span><span class="plain-syntax">++;</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::end_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP8" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP8" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP7" class="function-link"><span class="function-syntax">Synoptic::end_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="5-tbl.html#SP1">§1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_5" class="paragraph-anchor"></a><b>§1.5. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Define RANKING_TABLE constant</span><span class="named-paragraph-number">1.5</span></span><span class="comment-syntax"> =</span>
|
||||
|
|
|
@ -80,7 +80,7 @@ of type <span class="extract"><span class="extract-syntax">_test</span></span>.
|
|||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">SynopticTests::compile</span><button class="popup" onclick="togglePopup('usagePopup1')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup1">Usage of <span class="code-font"><span class="function-syntax">SynopticTests::compile</span></span>:<br/>Make Synoptic Module Stage - <a href="5-msms.html#SP1">§1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="reserved-syntax">pipeline_step</span><span class="plain-syntax"> *</span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="reserved-syntax">tree_inventory</span><span class="plain-syntax"> *</span><span class="identifier-syntax">inv</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">TreeLists::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">test_nodes</span><span class="plain-syntax">) > </span><span class="constant-syntax">0</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">test_nodes</span><span class="plain-syntax">, </span><a href="5-su.html#SP2" class="function-link"><span class="function-syntax">Synoptic::module_order</span></a><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">test_nodes</span><span class="plain-syntax">, </span><a href="5-msms.html#SP6" class="function-link"><span class="function-syntax">MakeSynopticModuleStage::module_order</span></a><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-tst.html#SP1_1" class="named-paragraph-link"><span class="named-paragraph">Define TESTSCRIPTSUB function</span><span class="named-paragraph-number">1.1</span></a></span><span class="plain-syntax">;</span>
|
||||
|
@ -107,8 +107,8 @@ of type <span class="extract"><span class="extract-syntax">_test</span></span>.
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Package::defined_by_frame</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">test_nodes</span><span class="plain-syntax">-></span><span class="identifier-syntax">list</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">].</span><span class="identifier-syntax">node</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">name</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Metadata::read_textual</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^name"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">len</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Metadata::read_numeric</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^length"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">text_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP3" class="function-link"><span class="function-syntax">Synoptic::get_symbol</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"script"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">req_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP3" class="function-link"><span class="function-syntax">Synoptic::get_symbol</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"requirements"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">text_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP1" class="function-link"><span class="function-syntax">Synoptic::get_symbol</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"script"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">req_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP1" class="function-link"><span class="function-syntax">Synoptic::get_symbol</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"requirements"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Produce::inv_primitive</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">CASE_BIP</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Produce::down</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Produce::val_dword</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">name</span><span class="plain-syntax">);</span>
|
||||
|
|
|
@ -80,10 +80,10 @@ of packages of type <span class="extract"><span class="extract-syntax">_use_opti
|
|||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">SynopticUseOptions::compile</span><button class="popup" onclick="togglePopup('usagePopup1')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup1">Usage of <span class="code-font"><span class="function-syntax">SynopticUseOptions::compile</span></span>:<br/>Make Synoptic Module Stage - <a href="5-msms.html#SP1">§1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="reserved-syntax">pipeline_step</span><span class="plain-syntax"> *</span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="reserved-syntax">tree_inventory</span><span class="plain-syntax"> *</span><span class="identifier-syntax">inv</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">TreeLists::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">use_option_nodes</span><span class="plain-syntax">) > </span><span class="constant-syntax">0</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">use_option_nodes</span><span class="plain-syntax">, </span><a href="5-su.html#SP2" class="function-link"><span class="function-syntax">Synoptic::module_order</span></a><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">use_option_nodes</span><span class="plain-syntax">, </span><a href="5-msms.html#SP6" class="function-link"><span class="function-syntax">MakeSynopticModuleStage::module_order</span></a><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax">=0; </span><span class="identifier-syntax">i</span><span class="function-syntax"><TreeLists::len(inv-></span><span class="element-syntax">use_option_nodes</span><span class="plain-syntax">); </span><span class="identifier-syntax">i</span><span class="plain-syntax">++) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Package::defined_by_frame</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">use_option_nodes</span><span class="plain-syntax">-></span><span class="identifier-syntax">list</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">].</span><span class="identifier-syntax">node</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">D</span><span class="plain-syntax"> = </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::get_definition</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"use_option_id"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">D</span><span class="plain-syntax"> = </span><a href="5-su.html#SP1" class="function-link"><span class="function-syntax">Synoptic::get_definition</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"use_option_id"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">D</span><span class="plain-syntax">-></span><span class="identifier-syntax">W</span><span class="plain-syntax">.</span><span class="identifier-syntax">data</span><span class="plain-syntax">[</span><span class="identifier-syntax">DATA_CONST_IFLD</span><span class="plain-syntax">+1] = (</span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax">) </span><span class="identifier-syntax">i</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
|
@ -113,7 +113,7 @@ name of a given use option.
|
|||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">iname</span><span class="plain-syntax"> = </span><span class="identifier-syntax">HierarchyLocations::find</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="constant-syntax">TESTUSEOPTION_HL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::begin_function</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">UO_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::local</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"UO"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">UO_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP6" class="function-link"><span class="function-syntax">Synoptic::local</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"UO"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax">=0; </span><span class="identifier-syntax">i</span><span class="function-syntax"><TreeLists::len(inv-></span><span class="element-syntax">use_option_nodes</span><span class="plain-syntax">); </span><span class="identifier-syntax">i</span><span class="plain-syntax">++) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Package::defined_by_frame</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">use_option_nodes</span><span class="plain-syntax">-></span><span class="identifier-syntax">list</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">].</span><span class="identifier-syntax">node</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">set</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Metadata::read_numeric</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^active"</span><span class="plain-syntax">);</span>
|
||||
|
@ -142,7 +142,7 @@ name of a given use option.
|
|||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">iname</span><span class="plain-syntax"> = </span><span class="identifier-syntax">HierarchyLocations::find</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="constant-syntax">PRINT_USE_OPTION_HL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::begin_function</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">UO_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::local</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"UO"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">UO_s</span><span class="plain-syntax"> = </span><a href="5-su.html#SP6" class="function-link"><span class="function-syntax">Synoptic::local</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"UO"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Produce::inv_primitive</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">SWITCH_BIP</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Produce::down</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Produce::val_symbol</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">K_value</span><span class="plain-syntax">, </span><span class="identifier-syntax">UO_s</span><span class="plain-syntax">);</span>
|
||||
|
|
|
@ -95,8 +95,8 @@ of instances having the kind <span class="extract"><span class="extract-syntax">
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">E1</span><span class="plain-syntax"> == </span><span class="identifier-syntax">E2</span><span class="plain-syntax">) </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="constant-syntax">0</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">P1</span><span class="plain-syntax"> = </span><span class="identifier-syntax">E1</span><span class="plain-syntax">-></span><span class="identifier-syntax">node</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">P2</span><span class="plain-syntax"> = </span><span class="identifier-syntax">E2</span><span class="plain-syntax">-></span><span class="identifier-syntax">node</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">mod1</span><span class="plain-syntax"> = </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::module_containing</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">P1</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">mod2</span><span class="plain-syntax"> = </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::module_containing</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">P2</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">mod1</span><span class="plain-syntax"> = </span><a href="5-msms.html#SP6" class="function-link"><span class="function-syntax">MakeSynopticModuleStage::module_containing</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">P1</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">mod2</span><span class="plain-syntax"> = </span><a href="5-msms.html#SP6" class="function-link"><span class="function-syntax">MakeSynopticModuleStage::module_containing</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">P2</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">C1</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Metadata::read_optional_numeric</span><span class="plain-syntax">(</span><span class="identifier-syntax">mod1</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^category"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">C2</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Metadata::read_optional_numeric</span><span class="plain-syntax">(</span><span class="identifier-syntax">mod2</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^category"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">d</span><span class="plain-syntax"> = ((</span><span class="reserved-syntax">int</span><span class="plain-syntax">) </span><span class="identifier-syntax">C2</span><span class="plain-syntax">) - ((</span><span class="reserved-syntax">int</span><span class="plain-syntax">) </span><span class="identifier-syntax">C1</span><span class="plain-syntax">); </span><span class="comment-syntax"> larger values sort earlier</span>
|
||||
|
@ -115,14 +115,14 @@ of instances having the kind <span class="extract"><span class="extract-syntax">
|
|||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">iname</span><span class="plain-syntax"> = </span><span class="identifier-syntax">HierarchyLocations::find</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="constant-syntax">TABLEOFVERBS_HL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::begin_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP7" class="function-link"><span class="function-syntax">Synoptic::begin_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax">=0; </span><span class="identifier-syntax">i</span><span class="function-syntax"><TreeLists::len(inv-></span><span class="element-syntax">verb_form_nodes</span><span class="plain-syntax">); </span><span class="identifier-syntax">i</span><span class="plain-syntax">++) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Package::defined_by_frame</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="element-syntax">verb_form_nodes</span><span class="plain-syntax">-></span><span class="identifier-syntax">list</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">].</span><span class="identifier-syntax">node</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">vc_s</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Metadata::read_symbol</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^verb_value"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::symbol_entry</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">vc_s</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP8" class="function-link"><span class="function-syntax">Synoptic::symbol_entry</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">vc_s</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::end_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP8" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-su.html#SP7" class="function-link"><span class="function-syntax">Synoptic::end_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="5-vrb.html#SP1">§1</a>.</li></ul>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
|
|
|
@ -70,7 +70,7 @@ function togglePopup(material_id) {
|
|||
<main role="main">
|
||||
<!--Weave of 'Eliminate Redundant Labels Stage' generated by Inweb-->
|
||||
<div class="breadcrumbs">
|
||||
<ul class="crumbs"><li><a href="../index.html">Home</a></li><li><a href="../compiler.html">Inter Modules</a></li><li><a href="index.html">pipeline</a></li><li><a href="index.html#6">Chapter 6: Optimisation Stages</a></li><li><b>Eliminate Redundant Labels Stage</b></li></ul></div>
|
||||
<ul class="crumbs"><li><a href="../index.html">Home</a></li><li><a href="../compiler.html">Inter Modules</a></li><li><a href="index.html">pipeline</a></li><li><a href="index.html#6">Chapter 6: Optimisation</a></li><li><b>Eliminate Redundant Labels Stage</b></li></ul></div>
|
||||
<p class="purpose">To remove labels which are defined but never jumped to.</p>
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP1" class="paragraph-anchor"></a><b>§1. </b><a href="../inform7/index.html" class="internal">inform7</a> tends to produce a lot of labels when compiling complicated text
|
||||
|
|
|
@ -70,7 +70,7 @@ function togglePopup(material_id) {
|
|||
<main role="main">
|
||||
<!--Weave of 'Eliminate Redundant Matter Stage' generated by Inweb-->
|
||||
<div class="breadcrumbs">
|
||||
<ul class="crumbs"><li><a href="../index.html">Home</a></li><li><a href="../compiler.html">Inter Modules</a></li><li><a href="index.html">pipeline</a></li><li><a href="index.html#6">Chapter 6: Optimisation Stages</a></li><li><b>Eliminate Redundant Matter Stage</b></li></ul></div>
|
||||
<ul class="crumbs"><li><a href="../index.html">Home</a></li><li><a href="../compiler.html">Inter Modules</a></li><li><a href="index.html">pipeline</a></li><li><a href="index.html#6">Chapter 6: Optimisation</a></li><li><b>Eliminate Redundant Matter Stage</b></li></ul></div>
|
||||
<p class="purpose">To remove definitions which are never used: for example, functions which are never called or referred to.</p>
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP1" class="paragraph-anchor"></a><b>§1. </b>Experience shows that around 20 per cent of the code generated by <a href="../inform7/index.html" class="internal">inform7</a>
|
||||
|
|
|
@ -70,7 +70,7 @@ function togglePopup(material_id) {
|
|||
<main role="main">
|
||||
<!--Weave of 'Eliminate Redundant Operations Stage' generated by Inweb-->
|
||||
<div class="breadcrumbs">
|
||||
<ul class="crumbs"><li><a href="../index.html">Home</a></li><li><a href="../compiler.html">Inter Modules</a></li><li><a href="index.html">pipeline</a></li><li><a href="index.html#6">Chapter 6: Optimisation Stages</a></li><li><b>Eliminate Redundant Operations Stage</b></li></ul></div>
|
||||
<ul class="crumbs"><li><a href="../index.html">Home</a></li><li><a href="../compiler.html">Inter Modules</a></li><li><a href="index.html">pipeline</a></li><li><a href="index.html#6">Chapter 6: Optimisation</a></li><li><b>Eliminate Redundant Operations Stage</b></li></ul></div>
|
||||
<p class="purpose">To remove logical or arithmetic operations which neither do anything, nor have side-effects.</p>
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP1" class="paragraph-anchor"></a><b>§1. </b>This stage removes redundant operations, replacing each of the following
|
||||
|
|
|
@ -118,7 +118,7 @@
|
|||
</li>
|
||||
<li>
|
||||
<p class="chapterentry"><a name="3"></a>
|
||||
<span class="chaptertitle">Chapter 3: Assimilation Stages</span></p>
|
||||
<span class="chaptertitle">Chapter 3: Assimilation</span></p>
|
||||
<ul class="sectionlist">
|
||||
<li>
|
||||
<p class="sectionentry"><a href="3-ps.html">
|
||||
|
@ -139,7 +139,7 @@
|
|||
</li>
|
||||
<li>
|
||||
<p class="chapterentry"><a name="4"></a>
|
||||
<span class="chaptertitle">Chapter 4: Linking Stages</span></p>
|
||||
<span class="chaptertitle">Chapter 4: Linking</span></p>
|
||||
<ul class="sectionlist">
|
||||
<li>
|
||||
<p class="sectionentry"><a href="4-lbks.html">
|
||||
|
@ -166,6 +166,11 @@
|
|||
<spon class="sectiontitle">Reconcile Verbs Stage</span></a> -
|
||||
<span class="sectionpurpose">To reconcile clashes between assimilated and originally generated verbs.</span></p>
|
||||
</li>
|
||||
<li>
|
||||
<p class="sectionentry"><a href="4-tsk.html">
|
||||
<spon class="sectiontitle">The Standard Kits</span></a> -
|
||||
<span class="sectionpurpose">The layout and naming conventions for functions and other resources provided by the standard kits, and which are called or accessed from code generated by Inter or by the Inform 7 compiler.</span></p>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
|
@ -185,7 +190,7 @@
|
|||
<li>
|
||||
<p class="sectionentry"><a href="5-su.html">
|
||||
<spon class="sectiontitle">Synoptic Utilities</span></a> -
|
||||
<span class="sectionpurpose">Managing the generation of code and arrays in the synoptic module, which is put together from resources all over the Inter tree.</span></p>
|
||||
<span class="sectionpurpose">Utility functions for generating the code in the synoptic module.</span></p>
|
||||
</li>
|
||||
<li>
|
||||
<p class="sectionentry"><a href="5-ext.html">
|
||||
|
@ -276,7 +281,7 @@
|
|||
</li>
|
||||
<li>
|
||||
<p class="chapterentry"><a name="6"></a>
|
||||
<span class="chaptertitle">Chapter 6: Optimisation Stages</span></p>
|
||||
<span class="chaptertitle">Chapter 6: Optimisation</span></p>
|
||||
<ul class="sectionlist">
|
||||
<li>
|
||||
<p class="sectionentry"><a href="6-erms.html">
|
||||
|
|
|
@ -247,16 +247,14 @@ definitions, and also
|
|||
</li><li>(2) material added later in linking, for example from kits like <a href="../WorldModelKit/index.html" class="internal">WorldModelKit</a>.
|
||||
</li></ul>
|
||||
<p class="commentary">The following catalogue contains location and naming conventions for everything
|
||||
in category (1), and for some of the names in category (2) which the main
|
||||
compiler needs to refer to. For example, the Inform compiler generates calls
|
||||
to an Inter function called <span class="extract"><span class="extract-syntax">BlkValueCopy</span></span>. This is a function in the kit
|
||||
<a href="../BasicInformKit/index.html" class="internal">BasicInformKit</a>, but it has a hierarchy location ID, <span class="extract"><span class="extract-syntax">BLKVALUECOPY_HL</span></span>, so
|
||||
that the compiler can refer to it.
|
||||
in category (1). Names in category (2) are set up in <a href="../pipeline-module/5-sh.html" class="internal">Synoptic Hierarchy (in pipeline)</a>
|
||||
and <a href="../pipeline-module/4-tsk.html" class="internal">The Standard Kits (in pipeline)</a>, but by very similar methods.
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Hierarchy::establish</span><span class="plain-syntax">(</span><span class="reserved-syntax">void</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">SynopticHierarchy::establish</span><span class="plain-syntax">(</span><a href="2-emt.html#SP1" class="function-link"><span class="function-syntax">Emit::tree</span></a><span class="plain-syntax">());</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">KitHierarchy::establish</span><span class="plain-syntax">(</span><a href="2-emt.html#SP1" class="function-link"><span class="function-syntax">Emit::tree</span></a><span class="plain-syntax">());</span>
|
||||
<span class="plain-syntax"> </span><span class="constant-syntax">H_BEGIN_DECLARATIONS</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="2-hrr.html#SP8_1" class="named-paragraph-link"><span class="named-paragraph">Establish locations for material created by the compiler</span><span class="named-paragraph-number">8.1</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="2-hrr.html#SP8_2" class="named-paragraph-link"><span class="named-paragraph">Establish locations for material expected to be added by linking</span><span class="named-paragraph-number">8.2</span></a></span><span class="plain-syntax">;</span>
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
Total memory consumption was 403231K = 394 MB
|
||||
Total memory consumption was 404027K = 395 MB
|
||||
|
||||
61.3% was used for 2026336 objects, in 380039 frames in 309 x 800K = 247200K = 241 MB:
|
||||
61.3% was used for 2026237 objects, in 380039 frames in 310 x 800K = 248000K = 242 MB:
|
||||
|
||||
10.1% inter_tree_node_array 58 x 8192 = 475136 objects, 41813824 bytes
|
||||
7.2% text_stream_array 5299 x 100 = 529900 objects, 29843968 bytes
|
||||
7.2% text_stream_array 5298 x 100 = 529800 objects, 29838336 bytes
|
||||
4.7% linked_list 34785 objects, 19479600 bytes
|
||||
4.1% inter_symbol_array 140 x 1024 = 143360 objects, 17207680 bytes
|
||||
2.5% parse_node 129462 objects, 10356960 bytes
|
||||
|
@ -18,7 +18,7 @@ Total memory consumption was 403231K = 394 MB
|
|||
0.4% package_request 21139 objects, 1860232 bytes
|
||||
0.4% vocabulary_entry_array 161 x 100 = 16100 objects, 1808352 bytes
|
||||
0.4% inter_symbols_table 26570 objects, 1700480 bytes
|
||||
0.3% dictionary 33309 objects, 1598832 bytes
|
||||
0.3% dictionary 33310 objects, 1598880 bytes
|
||||
0.3% match_trie_array 11 x 1000 = 11000 objects, 1496352 bytes
|
||||
0.3% i6_schema_array 23 x 100 = 2300 objects, 1380736 bytes
|
||||
0.3% dict_entry_array 423 x 100 = 42300 objects, 1367136 bytes
|
||||
|
@ -237,8 +237,8 @@ Total memory consumption was 403231K = 394 MB
|
|||
|
||||
38.6% was used for memory not allocated for objects:
|
||||
|
||||
20.2% text stream storage 83536636 bytes in 547918 claims
|
||||
4.4% dictionary storage 18457600 bytes in 33309 claims
|
||||
20.1% text stream storage 83531016 bytes in 547826 claims
|
||||
4.4% dictionary storage 18458624 bytes in 33310 claims
|
||||
---- sorting 736 bytes in 3 claims
|
||||
1.7% source text 7200000 bytes in 3 claims
|
||||
2.6% source text details 10800000 bytes in 2 claims
|
||||
|
@ -255,5 +255,5 @@ Total memory consumption was 403231K = 394 MB
|
|||
---- code generation workspace for objects 1336 bytes in 4 claims
|
||||
---- emitter array storage 161792 bytes in 2062 claims
|
||||
|
||||
18.9% was overhead - 78312888 bytes = 76477K = 74 MB
|
||||
19.1% was overhead - 79137672 bytes = 77282K = 75 MB
|
||||
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
100.0% in inform7 run
|
||||
56.8% in compilation to Inter
|
||||
41.1% in //Sequence::undertake_queued_tasks//
|
||||
3.6% in //MajorNodes::pre_pass//
|
||||
57.1% in compilation to Inter
|
||||
41.5% in //Sequence::undertake_queued_tasks//
|
||||
3.5% in //MajorNodes::pre_pass//
|
||||
2.6% in //MajorNodes::pass_1//
|
||||
2.2% in //RTPhrasebook::compile_entries//
|
||||
1.4% in //ImperativeDefinitions::assess_all//
|
||||
1.1% in //RTKindConstructors::compile//
|
||||
2.1% in //RTPhrasebook::compile_entries//
|
||||
1.3% in //ImperativeDefinitions::assess_all//
|
||||
1.2% in //RTKindConstructors::compile//
|
||||
0.4% in //MajorNodes::pass_2//
|
||||
0.4% in //Sequence::undertake_queued_tasks//
|
||||
0.4% in //World::stage_V//
|
||||
|
@ -16,11 +16,11 @@
|
|||
0.1% in //RTKindConstructors::compile_permissions//
|
||||
0.1% in //Task::make_built_in_kind_constructors//
|
||||
2.0% not specifically accounted for
|
||||
41.1% in running Inter pipeline
|
||||
11.0% in step preparation
|
||||
10.3% in inter step 6/14: make-synoptic-module
|
||||
8.1% in inter step 5/14: load-binary-kits
|
||||
7.0% in inter step 14/14: generate inform6 -> auto.inf
|
||||
40.8% in running Inter pipeline
|
||||
10.8% in step preparation
|
||||
10.2% in inter step 6/14: make-synoptic-module
|
||||
8.0% in inter step 5/14: load-binary-kits
|
||||
7.1% in inter step 14/14: generate inform6 -> auto.inf
|
||||
1.5% in inter step 10/14: make-identifiers-unique
|
||||
0.3% in inter step 13/14: eliminate-redundant-operations
|
||||
0.3% in inter step 4/14: compile-splats
|
||||
|
@ -28,6 +28,6 @@
|
|||
0.1% in inter step 11/14: reconcile-verbs
|
||||
0.1% in inter step 12/14: eliminate-redundant-labels
|
||||
0.1% in inter step 9/14: detect-indirect-calls
|
||||
1.5% not specifically accounted for
|
||||
1.7% not specifically accounted for
|
||||
1.7% in supervisor
|
||||
0.4% not specifically accounted for
|
||||
|
|
|
@ -391,42 +391,6 @@ Constant REPORT_RB = 33;
|
|||
Constant DOES_THE_PLAYER_MEAN_RB = 34;
|
||||
Constant MULTIPLE_ACTION_PROCESSING_RB = 35;
|
||||
|
||||
@h Kind IDs.
|
||||
These are filled in automatically by Inform, and have the same names as are used
|
||||
in the Inform source (and in the Load-.i6t sections): for instance |NUMBER_TY|.
|
||||
|
||||
@h Parser Error Numbers.
|
||||
The traditional ways in which the I6 library's parser, which we adopt here
|
||||
more or less intact, can give up on a player's command. See the {\it Inform
|
||||
Designer's Manual}, 4th edition, for details.
|
||||
|
||||
=
|
||||
Constant STUCK_PE = 1;
|
||||
Constant UPTO_PE = 2;
|
||||
Constant NUMBER_PE = 3;
|
||||
Constant ANIMA_PE = 4;
|
||||
Constant CANTSEE_PE = 5;
|
||||
Constant TOOLIT_PE = 6;
|
||||
Constant NOTHELD_PE = 7;
|
||||
Constant MULTI_PE = 8;
|
||||
Constant MMULTI_PE = 9;
|
||||
Constant VAGUE_PE = 10;
|
||||
Constant EXCEPT_PE = 11;
|
||||
Constant VERB_PE = 12;
|
||||
Constant SCENERY_PE = 13;
|
||||
Constant ITGONE_PE = 14;
|
||||
Constant JUNKAFTER_PE = 15;
|
||||
Constant TOOFEW_PE = 16;
|
||||
Constant NOTHING_PE = 17;
|
||||
Constant ASKSCOPE_PE = 18;
|
||||
Constant NOTINCONTEXT_PE = 19;
|
||||
Constant BLANKLINE_PE = 20; ! Not formally a parser error, but used by I7 as if
|
||||
Constant ANIMAAGAIN_PE = 21;
|
||||
Constant COMMABEGIN_PE = 22;
|
||||
Constant MISSINGPERSON_PE = 23;
|
||||
Constant ANIMALISTEN_PE = 24;
|
||||
Constant TOTALK_PE = 25;
|
||||
|
||||
@h Scope Searching Reasons.
|
||||
The parser makes use of a mechanism for searching through the objects currently
|
||||
"in scope", which basically means visible to the actor who would perform the
|
||||
|
@ -683,28 +647,6 @@ Property grammar; ! not used by I7, but an interesting hook in the parser
|
|||
Property inside_description; ! not used by I7, but an interesting hook in the locale code
|
||||
Property short_name_indef 0; ! not used by I7, but an interesting hook in the listmaker
|
||||
|
||||
@h Fake Actions.
|
||||
Though sometimes useful for I6 coding tricks, fake actions -- action numbers
|
||||
not corresponding to any action, but different from those of valid actions,
|
||||
and useable with a number of action syntaxes -- are not conceptually present
|
||||
in I7 source text. They can only really exist at the I6 level because I6 is
|
||||
typeless; in I7 terms, there is no convenient kind of value which could
|
||||
represent both actions and fake actions while protecting each from confusion
|
||||
with the other.
|
||||
|
||||
See the {\it Inform Designer's Manual}, 4th edition, for what these are
|
||||
used for.
|
||||
|
||||
The following fake actions from the I6 library have been dropped here:
|
||||
|##LetGo|, |##Receive|, |##ThrownAt|, |##Prompt|, |##Places|, |##Objects|,
|
||||
|##Order|, |##NotUnderstood|.
|
||||
|
||||
=
|
||||
Fake_Action ListMiscellany;
|
||||
Fake_Action Miscellany;
|
||||
Fake_Action PluralFound;
|
||||
Fake_Action TheSame;
|
||||
|
||||
@h Formal Parameters.
|
||||
These are needed for efficient run-time ambiguity resolution.
|
||||
|
||||
|
|
|
@ -3,6 +3,37 @@ Parser Template.
|
|||
The parser for turning the text of the typed command into a proposed
|
||||
action by the player.
|
||||
|
||||
@h Parser Error Numbers.
|
||||
The traditional ways in which the I6 library's parser, which we adopt here
|
||||
more or less intact, can give up on a player's command.
|
||||
|
||||
=
|
||||
Constant STUCK_PE = 1;
|
||||
Constant UPTO_PE = 2;
|
||||
Constant NUMBER_PE = 3;
|
||||
Constant ANIMA_PE = 4;
|
||||
Constant CANTSEE_PE = 5;
|
||||
Constant TOOLIT_PE = 6;
|
||||
Constant NOTHELD_PE = 7;
|
||||
Constant MULTI_PE = 8;
|
||||
Constant MMULTI_PE = 9;
|
||||
Constant VAGUE_PE = 10;
|
||||
Constant EXCEPT_PE = 11;
|
||||
Constant VERB_PE = 12;
|
||||
Constant SCENERY_PE = 13;
|
||||
Constant ITGONE_PE = 14;
|
||||
Constant JUNKAFTER_PE = 15;
|
||||
Constant TOOFEW_PE = 16;
|
||||
Constant NOTHING_PE = 17;
|
||||
Constant ASKSCOPE_PE = 18;
|
||||
Constant NOTINCONTEXT_PE = 19;
|
||||
Constant BLANKLINE_PE = 20; ! Not formally a parser error, but used by I7 as if
|
||||
Constant ANIMAAGAIN_PE = 21;
|
||||
Constant COMMABEGIN_PE = 22;
|
||||
Constant MISSINGPERSON_PE = 23;
|
||||
Constant ANIMALISTEN_PE = 24;
|
||||
Constant TOTALK_PE = 25;
|
||||
|
||||
@h Grammar Line Variables.
|
||||
This is the I6 library parser in mostly untouched form: reformatted for template
|
||||
file use, and with paragraph divisions, but otherwise hardly changed at all.
|
||||
|
@ -24,6 +55,7 @@ in "Output.i6t" are for general access, while the ones below should only
|
|||
be read or written by the parser.
|
||||
|
||||
=
|
||||
Global etype; ! parser error number if command not recognised
|
||||
Global best_etype; ! Preferred error number so far
|
||||
Global nextbest_etype; ! Preferred one, if ASKSCOPE_PE disallowed
|
||||
|
||||
|
|
|
@ -46,6 +46,25 @@ This segment of the template is divided into two: first, the I6 code needed
|
|||
for (i) to (vii), the alternative ways for actions to begin; and secondly
|
||||
the common machinery into which all actions eventually pass.
|
||||
|
||||
@h Fake Actions.
|
||||
Though sometimes useful for I6 coding tricks, fake actions -- action numbers
|
||||
not corresponding to any action, but different from those of valid actions,
|
||||
and useable with a number of action syntaxes -- are not conceptually present
|
||||
in I7 source text. They can only really exist at the I6 level because I6 is
|
||||
typeless; in I7 terms, there is no convenient kind of value which could
|
||||
represent both actions and fake actions while protecting each from confusion
|
||||
with the other.
|
||||
|
||||
The following fake actions from the I6 library have been dropped here:
|
||||
|##LetGo|, |##Receive|, |##ThrownAt|, |##Prompt|, |##Places|, |##Objects|,
|
||||
|##Order|, |##NotUnderstood|.
|
||||
|
||||
=
|
||||
Fake_Action ListMiscellany;
|
||||
Fake_Action Miscellany;
|
||||
Fake_Action PluralFound;
|
||||
Fake_Action TheSame;
|
||||
|
||||
@h Action Data.
|
||||
This is perhaps a good place to document the |ActionData| array, a convenient
|
||||
table of metadata about the actions. Since this is compiled by Inform, the
|
||||
|
|
|
@ -145,7 +145,6 @@ Global multiple_object_item; ! item currently being processed in multiple-object
|
|||
Global noun; ! = I7 "noun"
|
||||
Global second; ! = I7 "second noun"
|
||||
Global keep_silent; ! true if current action is being tried silently
|
||||
Global etype; ! parser error number if command not recognised
|
||||
Global trace_actions = 0;
|
||||
|
||||
Global untouchable_object;
|
||||
|
|
|
@ -155,15 +155,13 @@ definitions, and also
|
|||
(2) material added later in linking, for example from kits like //WorldModelKit//.
|
||||
|
||||
The following catalogue contains location and naming conventions for everything
|
||||
in category (1), and for some of the names in category (2) which the main
|
||||
compiler needs to refer to. For example, the Inform compiler generates calls
|
||||
to an Inter function called |BlkValueCopy|. This is a function in the kit
|
||||
//BasicInformKit//, but it has a hierarchy location ID, |BLKVALUECOPY_HL|, so
|
||||
that the compiler can refer to it.
|
||||
in category (1). Names in category (2) are set up in //pipeline: Synoptic Hierarchy//
|
||||
and //pipeline: The Standard Kits//, but by very similar methods.
|
||||
|
||||
=
|
||||
void Hierarchy::establish(void) {
|
||||
SynopticHierarchy::establish(Emit::tree());
|
||||
KitHierarchy::establish(Emit::tree());
|
||||
H_BEGIN_DECLARATIONS
|
||||
@<Establish locations for material created by the compiler@>;
|
||||
@<Establish locations for material expected to be added by linking@>;
|
||||
|
|
|
@ -5,12 +5,16 @@ within these trees.
|
|||
|
||||
@
|
||||
|
||||
@d SYNOPTIC_HIERARCHY_MADE_ITHBIT 1
|
||||
@d KIT_HIERARCHY_MADE_ITHBIT 2
|
||||
|
||||
=
|
||||
typedef struct inter_tree {
|
||||
struct inter_warehouse *housed;
|
||||
struct inter_tree_node *root_node;
|
||||
struct inter_package *root_package;
|
||||
struct building_site site;
|
||||
int history_bits;
|
||||
CLASS_DEFINITION
|
||||
} inter_tree;
|
||||
|
||||
|
@ -29,6 +33,7 @@ inter_tree *InterTree::new(void) {
|
|||
I->root_node->package = I->root_package;
|
||||
Inter::Warehouse::attribute_resource(I->housed, N, I->root_package);
|
||||
Site::clear(I);
|
||||
I->history_bits = 0;
|
||||
return I;
|
||||
}
|
||||
|
||||
|
|
|
@ -118,7 +118,7 @@ index_session *Indexing::new_session(inter_tree *I) {
|
|||
if (I == NULL) internal_error("no tree to index");
|
||||
index_session *session = CREATE(index_session);
|
||||
session->tree = I;
|
||||
session->inv = Synoptic::inv(I);
|
||||
session->inv = MakeSynopticModuleStage::take_inventory(I);
|
||||
session->lexicon = NULL;
|
||||
session->set_of_instances = NULL;
|
||||
session->list_of_scenes = NULL;
|
||||
|
|
|
@ -181,7 +181,7 @@ void FauxInstances::make_faux(index_session *session) {
|
|||
session->set_of_instances = faux_set;
|
||||
|
||||
tree_inventory *inv = Indexing::get_inventory(session);
|
||||
TreeLists::sort(inv->instance_nodes, Synoptic::module_order);
|
||||
TreeLists::sort(inv->instance_nodes, MakeSynopticModuleStage::module_order);
|
||||
inter_package *pack;
|
||||
LOOP_OVER_INVENTORY_PACKAGES(pack, i, inv->instance_nodes)
|
||||
if (Metadata::read_optional_numeric(pack, I"^is_object"))
|
||||
|
|
|
@ -41,7 +41,7 @@ void FauxScenes::list_of_faux_scenes(index_session *session) {
|
|||
inter_tree *I = Indexing::get_tree(session);
|
||||
tree_inventory *inv = Indexing::get_inventory(session);
|
||||
TreeLists::sort(inv->scene_nodes, FauxScenes::scene_order);
|
||||
TreeLists::sort(inv->rulebook_nodes, Synoptic::module_order);
|
||||
TreeLists::sort(inv->rulebook_nodes, MakeSynopticModuleStage::module_order);
|
||||
|
||||
inter_package *scene_pack;
|
||||
LOOP_OVER_INVENTORY_PACKAGES(scene_pack, i, inv->scene_nodes)
|
||||
|
|
|
@ -59,7 +59,7 @@ inter_lexicon *IndexLexicon::stock(inter_tree *I, tree_inventory *inv) {
|
|||
}
|
||||
|
||||
@<Add verb entries@> =
|
||||
TreeLists::sort(inv->verb_nodes, Synoptic::module_order);
|
||||
TreeLists::sort(inv->verb_nodes, MakeSynopticModuleStage::module_order);
|
||||
inter_package *pack;
|
||||
LOOP_OVER_INVENTORY_PACKAGES(pack, i, inv->verb_nodes) {
|
||||
index_lexicon_entry *lex;
|
||||
|
|
|
@ -9,8 +9,8 @@ so we do little more than tabulate that data here.
|
|||
void ArithmeticElement::render(OUTPUT_STREAM, index_session *session) {
|
||||
localisation_dictionary *LD = Indexing::get_localisation(session);
|
||||
tree_inventory *inv = Indexing::get_inventory(session);
|
||||
TreeLists::sort(inv->kind_nodes, Synoptic::module_order);
|
||||
TreeLists::sort(inv->multiplication_rule_nodes, Synoptic::module_order);
|
||||
TreeLists::sort(inv->kind_nodes, MakeSynopticModuleStage::module_order);
|
||||
TreeLists::sort(inv->multiplication_rule_nodes, MakeSynopticModuleStage::module_order);
|
||||
HTML_TAG("hr");
|
||||
@<Index the rubric about quasinumerical kinds@>;
|
||||
@<Index the table of quasinumerical kinds@>;
|
||||
|
|
|
@ -17,7 +17,7 @@ void BehaviourElement::render(OUTPUT_STREAM, index_session *session) {
|
|||
Localisation::roman(OUT, LD, I"Index.Elements.Bh.None");
|
||||
HTML_CLOSE("p");
|
||||
} else {
|
||||
TreeLists::sort(inv->named_action_pattern_nodes, Synoptic::module_order);
|
||||
TreeLists::sort(inv->named_action_pattern_nodes, MakeSynopticModuleStage::module_order);
|
||||
inter_package *pack;
|
||||
LOOP_OVER_INVENTORY_PACKAGES(pack, i, inv->named_action_pattern_nodes) {
|
||||
text_stream *name = Metadata::read_optional_textual(pack, I"^name");
|
||||
|
|
|
@ -9,8 +9,8 @@ and it is quite dense with information.
|
|||
void ChartElement::render(OUTPUT_STREAM, index_session *session) {
|
||||
localisation_dictionary *D = Indexing::get_localisation(session);
|
||||
tree_inventory *inv = Indexing::get_inventory(session);
|
||||
TreeLists::sort(inv->kind_nodes, Synoptic::module_order);
|
||||
TreeLists::sort(inv->instance_nodes, Synoptic::module_order);
|
||||
TreeLists::sort(inv->kind_nodes, MakeSynopticModuleStage::module_order);
|
||||
TreeLists::sort(inv->instance_nodes, MakeSynopticModuleStage::module_order);
|
||||
HTML::begin_wide_html_table(OUT);
|
||||
int pass = 1;
|
||||
@<Add a dotty row to the chart of kinds@>;
|
||||
|
|
|
@ -9,8 +9,8 @@ void ContentsElement::render(OUTPUT_STREAM, index_session *session) {
|
|||
localisation_dictionary *LD = Indexing::get_localisation(session);
|
||||
inter_tree *I = Indexing::get_tree(session);
|
||||
tree_inventory *inv = Indexing::get_inventory(session);
|
||||
TreeLists::sort(inv->extension_nodes, Synoptic::category_order);
|
||||
TreeLists::sort(inv->heading_nodes, Synoptic::module_order);
|
||||
TreeLists::sort(inv->extension_nodes, MakeSynopticModuleStage::category_order);
|
||||
TreeLists::sort(inv->heading_nodes, MakeSynopticModuleStage::module_order);
|
||||
|
||||
@<Write a sort of half-title page@>;
|
||||
@<Index the headings@>;
|
||||
|
|
|
@ -8,7 +8,7 @@ To write the Events element (Ev) in the index.
|
|||
void EventsElement::render(OUTPUT_STREAM, index_session *session) {
|
||||
localisation_dictionary *LD = Indexing::get_localisation(session);
|
||||
tree_inventory *inv = Indexing::get_inventory(session);
|
||||
TreeLists::sort(inv->rule_nodes, Synoptic::module_order);
|
||||
TreeLists::sort(inv->rule_nodes, MakeSynopticModuleStage::module_order);
|
||||
|
||||
int when_count = 0, tt_count = 0;
|
||||
@<Index events with no specific time@>;
|
||||
|
|
|
@ -10,8 +10,8 @@ void ExtrasElement::render(OUTPUT_STREAM, index_session *session) {
|
|||
localisation_dictionary *LD = Indexing::get_localisation(session);
|
||||
inter_tree *I = Indexing::get_tree(session);
|
||||
tree_inventory *inv = Indexing::get_inventory(session);
|
||||
TreeLists::sort(inv->rulebook_nodes, Synoptic::module_order);
|
||||
TreeLists::sort(inv->activity_nodes, Synoptic::module_order);
|
||||
TreeLists::sort(inv->rulebook_nodes, MakeSynopticModuleStage::module_order);
|
||||
TreeLists::sort(inv->activity_nodes, MakeSynopticModuleStage::module_order);
|
||||
|
||||
inter_package *E;
|
||||
LOOP_OVER_INVENTORY_PACKAGES(E, i, inv->module_nodes)
|
||||
|
@ -26,7 +26,7 @@ void ExtrasElement::render(OUTPUT_STREAM, index_session *session) {
|
|||
int c = 0;
|
||||
inter_package *rb_pack;
|
||||
LOOP_OVER_INVENTORY_PACKAGES(rb_pack, i, inv->rulebook_nodes)
|
||||
if (Synoptic::module_containing(rb_pack->package_head) == E) {
|
||||
if (MakeSynopticModuleStage::module_containing(rb_pack->package_head) == E) {
|
||||
if (Metadata::read_optional_numeric(rb_pack, I"^automatically_generated"))
|
||||
continue;
|
||||
if (c++ == 0) @<Heading for these@>;
|
||||
|
@ -36,7 +36,7 @@ void ExtrasElement::render(OUTPUT_STREAM, index_session *session) {
|
|||
}
|
||||
inter_package *av_pack;
|
||||
LOOP_OVER_INVENTORY_PACKAGES(av_pack, i, inv->activity_nodes)
|
||||
if (Synoptic::module_containing(av_pack->package_head) == E) {
|
||||
if (MakeSynopticModuleStage::module_containing(av_pack->package_head) == E) {
|
||||
if (c++ == 0) @<Heading for these@>;
|
||||
IndexRules::activity_box(OUT, I, av_pack, 1, session);
|
||||
}
|
||||
|
|
|
@ -9,9 +9,9 @@ void FiguresElement::render(OUTPUT_STREAM, index_session *session) {
|
|||
localisation_dictionary *LD = Indexing::get_localisation(session);
|
||||
inter_tree *I = Indexing::get_tree(session);
|
||||
tree_inventory *inv = Indexing::get_inventory(session);
|
||||
TreeLists::sort(inv->figure_nodes, Synoptic::module_order);
|
||||
TreeLists::sort(inv->sound_nodes, Synoptic::module_order);
|
||||
TreeLists::sort(inv->file_nodes, Synoptic::module_order);
|
||||
TreeLists::sort(inv->figure_nodes, MakeSynopticModuleStage::module_order);
|
||||
TreeLists::sort(inv->sound_nodes, MakeSynopticModuleStage::module_order);
|
||||
TreeLists::sort(inv->file_nodes, MakeSynopticModuleStage::module_order);
|
||||
@<Index the figures@>;
|
||||
@<Index the sounds@>;
|
||||
@<Index the files@>;
|
||||
|
|
|
@ -8,7 +8,7 @@ per-action pages linked from it.
|
|||
=
|
||||
void GroupedElement::render(OUTPUT_STREAM, index_session *session) {
|
||||
tree_inventory *inv = Indexing::get_inventory(session);
|
||||
TreeLists::sort(inv->action_nodes, Synoptic::module_order);
|
||||
TreeLists::sort(inv->action_nodes, MakeSynopticModuleStage::module_order);
|
||||
|
||||
int f = FALSE;
|
||||
text_stream *current_area = I"___no_area___";
|
||||
|
@ -57,7 +57,7 @@ void GroupedElement::detail_pages(index_session *session) {
|
|||
localisation_dictionary *LD = Indexing::get_localisation(session);
|
||||
inter_tree *I = Indexing::get_tree(session);
|
||||
tree_inventory *inv = Indexing::get_inventory(session);
|
||||
TreeLists::sort(inv->action_nodes, Synoptic::module_order);
|
||||
TreeLists::sort(inv->action_nodes, MakeSynopticModuleStage::module_order);
|
||||
|
||||
inter_package *an_pack;
|
||||
LOOP_OVER_INVENTORY_PACKAGES(an_pack, i, inv->action_nodes) {
|
||||
|
|
|
@ -10,7 +10,7 @@ void InnardsElement::render(OUTPUT_STREAM, index_session *session) {
|
|||
localisation_dictionary *LD = Indexing::get_localisation(session);
|
||||
inter_tree *I = Indexing::get_tree(session);
|
||||
tree_inventory *inv = Indexing::get_inventory(session);
|
||||
TreeLists::sort(inv->use_option_nodes, Synoptic::module_order);
|
||||
TreeLists::sort(inv->use_option_nodes, MakeSynopticModuleStage::module_order);
|
||||
|
||||
@<Show the virtual machine compiled for@>;
|
||||
@<Show the use options@>;
|
||||
|
|
|
@ -8,7 +8,7 @@ To write the Relations element (Rl) in the index.
|
|||
void RelationsElement::render(OUTPUT_STREAM, index_session *session) {
|
||||
localisation_dictionary *LD = Indexing::get_localisation(session);
|
||||
tree_inventory *inv = Indexing::get_inventory(session);
|
||||
TreeLists::sort(inv->relation_nodes, Synoptic::module_order);
|
||||
TreeLists::sort(inv->relation_nodes, MakeSynopticModuleStage::module_order);
|
||||
|
||||
HTML_OPEN("p");
|
||||
HTML::begin_plain_html_table(OUT);
|
||||
|
|
|
@ -8,7 +8,7 @@ To write the Rules for Scenes element (RS) in the index.
|
|||
void RulesForScenesElement::render(OUTPUT_STREAM, index_session *session) {
|
||||
localisation_dictionary *LD = Indexing::get_localisation(session);
|
||||
tree_inventory *inv = Indexing::get_inventory(session);
|
||||
TreeLists::sort(inv->rulebook_nodes, Synoptic::module_order);
|
||||
TreeLists::sort(inv->rulebook_nodes, MakeSynopticModuleStage::module_order);
|
||||
|
||||
HTML_OPEN("p");
|
||||
Localisation::bold(OUT, LD, I"Index.Elements.RS.Machinery");
|
||||
|
|
|
@ -9,8 +9,8 @@ their contents in logical order.
|
|||
void StandardsElement::render(OUTPUT_STREAM, index_session *session) {
|
||||
localisation_dictionary *LD = Indexing::get_localisation(session);
|
||||
tree_inventory *inv = Indexing::get_inventory(session);
|
||||
TreeLists::sort(inv->rulebook_nodes, Synoptic::module_order);
|
||||
TreeLists::sort(inv->activity_nodes, Synoptic::module_order);
|
||||
TreeLists::sort(inv->rulebook_nodes, MakeSynopticModuleStage::module_order);
|
||||
TreeLists::sort(inv->activity_nodes, MakeSynopticModuleStage::module_order);
|
||||
|
||||
@<Index the segment for the main action rulebooks@>;
|
||||
@<Index the segment for the sequence of play rulebooks@>;
|
||||
|
|
|
@ -10,14 +10,14 @@ main source text, all the tables in the Standard Rules, and so on.
|
|||
void TablesElement::render(OUTPUT_STREAM, index_session *session) {
|
||||
localisation_dictionary *LD = Indexing::get_localisation(session);
|
||||
tree_inventory *inv = Indexing::get_inventory(session);
|
||||
TreeLists::sort(inv->table_nodes, Synoptic::category_order);
|
||||
TreeLists::sort(inv->table_nodes, MakeSynopticModuleStage::category_order);
|
||||
|
||||
inter_package *current_mod = NULL; int mc = 0, first_ext = TRUE;
|
||||
inter_ti cat = 1, open_cat = 0;
|
||||
for (inter_ti with_cat = 1; with_cat <= 3; with_cat++) {
|
||||
inter_package *table_pack;
|
||||
LOOP_OVER_INVENTORY_PACKAGES(table_pack, i, inv->table_nodes) {
|
||||
inter_package *mod = Synoptic::module_containing(table_pack->package_head);
|
||||
inter_package *mod = MakeSynopticModuleStage::module_containing(table_pack->package_head);
|
||||
if (mod) {
|
||||
cat = Metadata::read_optional_numeric(mod, I"^category");
|
||||
if (cat == with_cat) {
|
||||
|
|
|
@ -9,9 +9,9 @@ quite different.
|
|||
void ValuesElement::render(OUTPUT_STREAM, index_session *session) {
|
||||
localisation_dictionary *LD = Indexing::get_localisation(session);
|
||||
tree_inventory *inv = Indexing::get_inventory(session);
|
||||
TreeLists::sort(inv->variable_nodes, Synoptic::module_order);
|
||||
TreeLists::sort(inv->variable_nodes, MakeSynopticModuleStage::module_order);
|
||||
@<Index the variables@>;
|
||||
TreeLists::sort(inv->equation_nodes, Synoptic::module_order);
|
||||
TreeLists::sort(inv->equation_nodes, MakeSynopticModuleStage::module_order);
|
||||
@<Index the equations@>;
|
||||
}
|
||||
|
||||
|
|
|
@ -23,6 +23,13 @@ typedef struct plug_inspection_state {
|
|||
|
||||
int ShortenWiringStage::run(pipeline_step *step) {
|
||||
inter_tree *I = step->ephemera.repository;
|
||||
@<Shorten the wiring and report loose plugs@>;
|
||||
inter_package *connectors = Site::connectors_package(I);
|
||||
if (connectors) @<Remove the now unnecessary plugs and sockets@>;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@<Shorten the wiring and report loose plugs@> =
|
||||
plug_inspection_state state;
|
||||
state.bad_plugs = Dictionaries::new(16, FALSE);
|
||||
state.bad_plug_names = NEW_LINKED_LIST(text_stream);
|
||||
|
@ -39,31 +46,6 @@ int ShortenWiringStage::run(pipeline_step *step) {
|
|||
DISCARD_TEXT(NS)
|
||||
return FALSE;
|
||||
}
|
||||
inter_package *connectors = Site::connectors_package(I);
|
||||
if (connectors) {
|
||||
inter_symbols_table *ST = Inter::Packages::scope(connectors);
|
||||
for (int i=0; i<ST->size; i++) {
|
||||
inter_symbol *S = ST->symbol_array[i];
|
||||
if ((Wiring::is_plug(S)) && (Wiring::has_no_incoming_connections(S)))
|
||||
Inter::Symbols::remove_from_table(S);
|
||||
}
|
||||
for (int i=0; i<ST->size; i++) {
|
||||
inter_symbol *S = ST->symbol_array[i];
|
||||
if ((Wiring::is_socket(S)) && (Wiring::has_no_incoming_connections(S)))
|
||||
Inter::Symbols::remove_from_table(S);
|
||||
}
|
||||
int errors = 0;
|
||||
for (int i=0; i<ST->size; i++) {
|
||||
inter_symbol *S = ST->symbol_array[i];
|
||||
if (S) {
|
||||
LOG("Connector not deleted: %3\n", S);
|
||||
errors++;
|
||||
}
|
||||
}
|
||||
if (errors > 0) internal_error("plugs and sockets mismanaged");
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@ Note that it is not necessarily an error to have a loose plug, that is, a plug
|
||||
which does not connect to any socket. It is only an error if a symbol is trying
|
||||
|
@ -95,3 +77,42 @@ void ShortenWiringStage::visitor(inter_tree *I, inter_tree_node *P, void *v_stat
|
|||
Dictionaries::create(state->bad_plugs, N);
|
||||
ADD_TO_LINKED_LIST(N, text_stream, state->bad_plug_names);
|
||||
}
|
||||
|
||||
@ At this point there will be plugs with no incoming connections, but which
|
||||
are each wired to sockets. Removing the plugs first then leaves the sockets
|
||||
with no incoming connections either, and so the sockets can go too.
|
||||
|
||||
The result should be a completely empty |connectors| module.
|
||||
|
||||
@<Remove the now unnecessary plugs and sockets@> =
|
||||
inter_symbols_table *ST = Inter::Packages::scope(connectors);
|
||||
@<Remove plugs with no incoming connections@>;
|
||||
@<Remove sockets with no incoming connections@>;
|
||||
@<Report any remaining symbols in this table as errors@>;
|
||||
|
||||
@<Remove plugs with no incoming connections@> =
|
||||
for (int i=0; i<ST->size; i++) {
|
||||
inter_symbol *S = ST->symbol_array[i];
|
||||
if ((Wiring::is_plug(S)) && (Wiring::has_no_incoming_connections(S)))
|
||||
Inter::Symbols::remove_from_table(S);
|
||||
}
|
||||
|
||||
@<Remove sockets with no incoming connections@> =
|
||||
for (int i=0; i<ST->size; i++) {
|
||||
inter_symbol *S = ST->symbol_array[i];
|
||||
if ((Wiring::is_socket(S)) && (Wiring::has_no_incoming_connections(S)))
|
||||
Inter::Symbols::remove_from_table(S);
|
||||
}
|
||||
|
||||
@ This should never happen:
|
||||
|
||||
@<Report any remaining symbols in this table as errors@> =
|
||||
int errors = 0;
|
||||
for (int i=0; i<ST->size; i++) {
|
||||
inter_symbol *S = ST->symbol_array[i];
|
||||
if (S) {
|
||||
LOG("Connector not deleted: %3\n", S);
|
||||
errors++;
|
||||
}
|
||||
}
|
||||
if (errors > 0) internal_error("plugs and sockets mismanaged");
|
||||
|
|
543
inter/pipeline-module/Chapter 4/The Standard Kits.w
Normal file
543
inter/pipeline-module/Chapter 4/The Standard Kits.w
Normal file
|
@ -0,0 +1,543 @@
|
|||
[KitHierarchy::] The Standard Kits.
|
||||
|
||||
The layout and naming conventions for functions and other resources provided
|
||||
by the standard kits, and which are called or accessed from code generated
|
||||
by Inter or by the Inform 7 compiler.
|
||||
|
||||
@ Suppose you are a tool like //inform7// or //inter// and you are generating
|
||||
a function, and in that function you want to access the variable |location| --
|
||||
which is defined in //WorldModelKit// -- or call the function |BlkValueCreate| --
|
||||
which is in //BasicInformKit//. These have not yet been linked in to the Inter
|
||||
tree you're trying to build: so how do you describe them?
|
||||
|
||||
The answer is that you call |HierarchyLocations::find(I, BLKVALUECREATE_HL)|,
|
||||
say, and it will return an |inter_name| which is exactly what you need. This is
|
||||
all done with plugs and sockets, but you don't care about that.
|
||||
|
||||
The one thing you do need to do is to ensure that the following initialisation
|
||||
function has been called: if not, |HierarchyLocations::find| won't find these
|
||||
resources.
|
||||
|
||||
=
|
||||
void KitHierarchy::establish(inter_tree *I) {
|
||||
if (I->history_bits & KIT_HIERARCHY_MADE_ITHBIT) return;
|
||||
I->history_bits |= KIT_HIERARCHY_MADE_ITHBIT;
|
||||
@<Establish kit-defined resources@>;
|
||||
}
|
||||
|
||||
@ The following, then, is an itemised list of what symbol names in the kits
|
||||
the //inform7// and //inter// tools need to refer to. (It's not any kind of
|
||||
comprehensive list of what is there.)
|
||||
|
||||
@d KIT_PROVIDED(id, n) HierarchyLocations::ctr(I, id, n, Translation::same(), req);
|
||||
|
||||
@<Establish kit-defined resources@> =
|
||||
location_requirement req = HierarchyLocations::plug();
|
||||
@<Establish resources offered by BasicInformKit@>;
|
||||
@<Establish resources offered by WorldModelKit@>;
|
||||
@<Establish resources offered by CommandParserKit@>;
|
||||
@<Establish resources offered by either WorldModelKit or BasicInformExtrasKit@>;
|
||||
@<Establish resources offered by either EnglishLanguageKit@>;
|
||||
|
||||
@h Offered by BasicInformKit.
|
||||
|
||||
@e ADJUSTPARAGRAPHPOINT_HL from 0
|
||||
@e ARGUMENTTYPEFAILED_HL
|
||||
@e AUXF_MAGIC_VALUE_HL
|
||||
@e AUXF_STATUS_IS_CLOSED_HL
|
||||
@e BLKVALUECOPY_HL
|
||||
@e BLKVALUECOPYAZ_HL
|
||||
@e BLKVALUECREATE_HL
|
||||
@e BLKVALUECREATEONSTACK_HL
|
||||
@e BLKVALUEERROR_HL
|
||||
@e BLKVALUEFREE_HL
|
||||
@e BLKVALUEFREEONSTACK_HL
|
||||
@e BLKVALUEWRITE_HL
|
||||
@e CHECKKINDRETURNED_HL
|
||||
@e CLEARPARAGRAPHING_HL
|
||||
@e CONSTANT_PACKED_TEXT_STORAGE_HL
|
||||
@e CONSTANT_PERISHABLE_TEXT_STORAGE_HL
|
||||
@e CUBEROOT_HL
|
||||
@e DB_RULE_HL
|
||||
@e DEBUG_RULES_HL
|
||||
@e DEBUGPROPERTY_HL
|
||||
@e DECIMALNUMBER_HL
|
||||
@e DIGITTOVALUE_HL
|
||||
@e DIVIDEPARAGRAPHPOINT_HL
|
||||
@e DOUBLEHASHSETRELATIONHANDLER_HL
|
||||
@e EMPTY_RULEBOOK_INAME_HL
|
||||
@e EMPTY_TABLE_HL
|
||||
@e EMPTY_TEXT_PACKED_HL
|
||||
@e EMPTY_TEXT_VALUE_HL
|
||||
@e EMPTYRELATIONHANDLER_HL
|
||||
@e EXISTSTABLELOOKUPCORR_HL
|
||||
@e EXISTSTABLELOOKUPENTRY_HL
|
||||
@e EXISTSTABLEROWCORR_HL
|
||||
@e FLOAT_NAN_HL
|
||||
@e FLOATPARSE_HL
|
||||
@e FOLLOWRULEBOOK_HL
|
||||
@e formal_par0_HL
|
||||
@e formal_par1_HL
|
||||
@e formal_par2_HL
|
||||
@e formal_par3_HL
|
||||
@e formal_par4_HL
|
||||
@e formal_par5_HL
|
||||
@e formal_par6_HL
|
||||
@e formal_par7_HL
|
||||
@e FORMAL_RV_HL
|
||||
@e GENERATERANDOMNUMBER_HL
|
||||
@e GPROPERTY_HL
|
||||
@e HASHLISTRELATIONHANDLER_HL
|
||||
@e I7SFRAME_HL
|
||||
@e INTEGERDIVIDE_HL
|
||||
@e INTEGERREMAINDER_HL
|
||||
@e KINDATOMIC_HL
|
||||
@e LATEST_RULE_RESULT_HL
|
||||
@e LIST_ITEM_BASE_HL
|
||||
@e LIST_ITEM_KOV_F_HL
|
||||
@e LIST_OF_TY_DESC_HL
|
||||
@e LIST_OF_TY_GETITEM_HL
|
||||
@e LIST_OF_TY_GETLENGTH_HL
|
||||
@e LIST_OF_TY_INSERTITEM_HL
|
||||
@e LIST_OF_TY_SAY_HL
|
||||
@e LIST_OF_TY_SETLENGTH_HL
|
||||
@e MSTACK_HL
|
||||
@e MSTVO_HL
|
||||
@e MSTVON_HL
|
||||
@e NAME_HL
|
||||
@e NOTHING_HL
|
||||
@e NUMBER_TY_ABS_HL
|
||||
@e NUMBER_TY_TO_REAL_NUMBER_TY_HL
|
||||
@e OTOVRELROUTETO_HL
|
||||
@e PACKED_TEXT_STORAGE_HL
|
||||
@e PARACONTENT_HL
|
||||
@e PARAMETER_VALUE_HL
|
||||
@e PRINTORRUN_HL
|
||||
@e PRIOR_NAMED_LIST_GENDER_HL
|
||||
@e PRIOR_NAMED_LIST_HL
|
||||
@e PRIOR_NAMED_NOUN_HL
|
||||
@e PROPERTY_LOOP_SIGN_HL
|
||||
@e PROPERTY_TO_BE_TOTALLED_HL
|
||||
@e REAL_NUMBER_TY_ABS_HL
|
||||
@e REAL_NUMBER_TY_APPROXIMATE_HL
|
||||
@e REAL_NUMBER_TY_COMPARE_HL
|
||||
@e REAL_NUMBER_TY_CUBE_ROOT_HL
|
||||
@e REAL_NUMBER_TY_DIVIDE_HL
|
||||
@e REAL_NUMBER_TY_MINUS_HL
|
||||
@e REAL_NUMBER_TY_NAN_HL
|
||||
@e REAL_NUMBER_TY_NEGATE_HL
|
||||
@e REAL_NUMBER_TY_PLUS_HL
|
||||
@e REAL_NUMBER_TY_POW_HL
|
||||
@e REAL_NUMBER_TY_REMAINDER_HL
|
||||
@e REAL_NUMBER_TY_ROOT_HL
|
||||
@e REAL_NUMBER_TY_SAY_HL
|
||||
@e REAL_NUMBER_TY_TIMES_HL
|
||||
@e REAL_NUMBER_TY_TO_NUMBER_TY_HL
|
||||
@e RELATION_EMPTYEQUIV_HL
|
||||
@e RELATION_EMPTYOTOO_HL
|
||||
@e RELATION_EMPTYVTOV_HL
|
||||
@e RELATION_RSHOWOTOO_HL
|
||||
@e RELATION_SHOWEQUIV_HL
|
||||
@e RELATION_SHOWOTOO_HL
|
||||
@e RELATION_SHOWVTOV_HL
|
||||
@e RELATION_TY_EQUIVALENCEADJECTIVE_HL
|
||||
@e RELATION_TY_NAME_HL
|
||||
@e RELATION_TY_OTOOADJECTIVE_HL
|
||||
@e RELATION_TY_OTOVADJECTIVE_HL
|
||||
@e RELATION_TY_SYMMETRICADJECTIVE_HL
|
||||
@e RELATION_TY_VTOOADJECTIVE_HL
|
||||
@e RELATIONTEST_HL
|
||||
@e RELFOLLOWVECTOR_HL
|
||||
@e RELS_EMPTY_HL
|
||||
@e RLANY_CAN_GET_X_HL
|
||||
@e RLANY_CAN_GET_Y_HL
|
||||
@e RLANY_GET_X_HL
|
||||
@e RLIST_ALL_X_HL
|
||||
@e RLIST_ALL_Y_HL
|
||||
@e RLNGETF_HL
|
||||
@e ROUNDOFFVALUE_HL
|
||||
@e RR_STORAGE_HL
|
||||
@e RTP_RELKINDVIOLATION_HL
|
||||
@e RTP_RELMINIMAL_HL
|
||||
@e RULEBOOKFAILS_HL
|
||||
@e RULEBOOKPARBREAK_HL
|
||||
@e RULEBOOKSUCCEEDS_HL
|
||||
@e RUNTIMEPROBLEM_HL
|
||||
@e SAY__N_HL
|
||||
@e SAY__P_HL
|
||||
@e SAY__PC_HL
|
||||
@e SIGNEDCOMPARE_HL
|
||||
@e SQUAREROOT_HL
|
||||
@e STACKFRAMECREATE_HL
|
||||
@e SUPPRESS_TEXT_SUBSTITUTION_HL
|
||||
@e TABLE_NOVALUE_HL
|
||||
@e TABLELOOKUPCORR_HL
|
||||
@e TABLELOOKUPENTRY_HL
|
||||
@e TEXT_TY_COMPARE_HL
|
||||
@e TEXT_TY_EXPANDIFPERISHABLE_HL
|
||||
@e TEXT_TY_SAY_HL
|
||||
@e THEEMPTYTABLE_HL
|
||||
@e UNICODE_TEMP_HL
|
||||
@e VTOORELROUTETO_HL
|
||||
@e VTOVRELROUTETO_HL
|
||||
|
||||
@<Establish resources offered by BasicInformKit@> =
|
||||
KIT_PROVIDED(ADJUSTPARAGRAPHPOINT_HL, I"AdjustParagraphPoint")
|
||||
KIT_PROVIDED(ARGUMENTTYPEFAILED_HL, I"ArgumentTypeFailed")
|
||||
KIT_PROVIDED(AUXF_MAGIC_VALUE_HL, I"AUXF_MAGIC_VALUE")
|
||||
KIT_PROVIDED(AUXF_STATUS_IS_CLOSED_HL, I"AUXF_STATUS_IS_CLOSED")
|
||||
KIT_PROVIDED(BLKVALUECOPY_HL, I"BlkValueCopy")
|
||||
KIT_PROVIDED(BLKVALUECOPYAZ_HL, I"BlkValueCopyAZ")
|
||||
KIT_PROVIDED(BLKVALUECREATE_HL, I"BlkValueCreate")
|
||||
KIT_PROVIDED(BLKVALUECREATEONSTACK_HL, I"BlkValueCreateOnStack")
|
||||
KIT_PROVIDED(BLKVALUEERROR_HL, I"BlkValueError")
|
||||
KIT_PROVIDED(BLKVALUEFREE_HL, I"BlkValueFree")
|
||||
KIT_PROVIDED(BLKVALUEFREEONSTACK_HL, I"BlkValueFreeOnStack")
|
||||
KIT_PROVIDED(BLKVALUEWRITE_HL, I"BlkValueWrite")
|
||||
KIT_PROVIDED(CHECKKINDRETURNED_HL, I"CheckKindReturned")
|
||||
KIT_PROVIDED(CLEARPARAGRAPHING_HL, I"ClearParagraphing")
|
||||
KIT_PROVIDED(CONSTANT_PACKED_TEXT_STORAGE_HL, I"CONSTANT_PACKED_TEXT_STORAGE")
|
||||
KIT_PROVIDED(CONSTANT_PERISHABLE_TEXT_STORAGE_HL, I"CONSTANT_PERISHABLE_TEXT_STORAGE")
|
||||
KIT_PROVIDED(CUBEROOT_HL, I"CubeRoot")
|
||||
KIT_PROVIDED(DB_RULE_HL, I"DB_Rule")
|
||||
KIT_PROVIDED(DEBUG_RULES_HL, I"debug_rules")
|
||||
KIT_PROVIDED(DEBUGPROPERTY_HL, I"DebugProperty")
|
||||
KIT_PROVIDED(DECIMALNUMBER_HL, I"DecimalNumber")
|
||||
KIT_PROVIDED(DIGITTOVALUE_HL, I"DigitToValue")
|
||||
KIT_PROVIDED(DIVIDEPARAGRAPHPOINT_HL, I"DivideParagraphPoint")
|
||||
KIT_PROVIDED(DOUBLEHASHSETRELATIONHANDLER_HL, I"DoubleHashSetRelationHandler")
|
||||
KIT_PROVIDED(EMPTY_RULEBOOK_INAME_HL, I"EMPTY_RULEBOOK")
|
||||
KIT_PROVIDED(EMPTY_TABLE_HL, I"TheEmptyTable")
|
||||
KIT_PROVIDED(EMPTY_TEXT_PACKED_HL, I"EMPTY_TEXT_PACKED")
|
||||
KIT_PROVIDED(EMPTY_TEXT_VALUE_HL, I"EMPTY_TEXT_VALUE")
|
||||
KIT_PROVIDED(EMPTYRELATIONHANDLER_HL, I"EmptyRelationHandler")
|
||||
KIT_PROVIDED(EXISTSTABLELOOKUPCORR_HL, I"ExistsTableLookUpCorr")
|
||||
KIT_PROVIDED(EXISTSTABLELOOKUPENTRY_HL, I"ExistsTableLookUpEntry")
|
||||
KIT_PROVIDED(EXISTSTABLEROWCORR_HL, I"ExistsTableRowCorr")
|
||||
KIT_PROVIDED(FLOAT_NAN_HL, I"FLOAT_NAN")
|
||||
KIT_PROVIDED(FLOATPARSE_HL, I"FloatParse")
|
||||
KIT_PROVIDED(FOLLOWRULEBOOK_HL, I"FollowRulebook")
|
||||
KIT_PROVIDED(formal_par0_HL, I"formal_par0")
|
||||
KIT_PROVIDED(formal_par1_HL, I"formal_par1")
|
||||
KIT_PROVIDED(formal_par2_HL, I"formal_par2")
|
||||
KIT_PROVIDED(formal_par3_HL, I"formal_par3")
|
||||
KIT_PROVIDED(formal_par4_HL, I"formal_par4")
|
||||
KIT_PROVIDED(formal_par5_HL, I"formal_par5")
|
||||
KIT_PROVIDED(formal_par6_HL, I"formal_par6")
|
||||
KIT_PROVIDED(formal_par7_HL, I"formal_par7")
|
||||
KIT_PROVIDED(FORMAL_RV_HL, I"formal_rv")
|
||||
KIT_PROVIDED(GENERATERANDOMNUMBER_HL, I"GenerateRandomNumber")
|
||||
KIT_PROVIDED(GPROPERTY_HL, I"GProperty")
|
||||
KIT_PROVIDED(HASHLISTRELATIONHANDLER_HL, I"HashListRelationHandler")
|
||||
KIT_PROVIDED(I7SFRAME_HL, I"I7SFRAME")
|
||||
KIT_PROVIDED(INTEGERDIVIDE_HL, I"IntegerDivide")
|
||||
KIT_PROVIDED(INTEGERREMAINDER_HL, I"IntegerRemainder")
|
||||
KIT_PROVIDED(KINDATOMIC_HL, I"KindAtomic")
|
||||
KIT_PROVIDED(LATEST_RULE_RESULT_HL, I"latest_rule_result")
|
||||
KIT_PROVIDED(LIST_ITEM_BASE_HL, I"LIST_ITEM_BASE")
|
||||
KIT_PROVIDED(LIST_ITEM_KOV_F_HL, I"LIST_ITEM_KOV_F")
|
||||
KIT_PROVIDED(LIST_OF_TY_DESC_HL, I"LIST_OF_TY_Desc")
|
||||
KIT_PROVIDED(LIST_OF_TY_GETITEM_HL, I"LIST_OF_TY_GetItem")
|
||||
KIT_PROVIDED(LIST_OF_TY_GETLENGTH_HL, I"LIST_OF_TY_GetLength")
|
||||
KIT_PROVIDED(LIST_OF_TY_INSERTITEM_HL, I"LIST_OF_TY_InsertItem")
|
||||
KIT_PROVIDED(LIST_OF_TY_SAY_HL, I"LIST_OF_TY_Say")
|
||||
KIT_PROVIDED(LIST_OF_TY_SETLENGTH_HL, I"LIST_OF_TY_SetLength")
|
||||
KIT_PROVIDED(MSTACK_HL, I"MStack")
|
||||
KIT_PROVIDED(MSTVO_HL, I"MstVO")
|
||||
KIT_PROVIDED(MSTVON_HL, I"MstVON")
|
||||
KIT_PROVIDED(NAME_HL, I"name")
|
||||
KIT_PROVIDED(NOTHING_HL, I"nothing")
|
||||
KIT_PROVIDED(NUMBER_TY_ABS_HL, I"NUMBER_TY_Abs")
|
||||
KIT_PROVIDED(NUMBER_TY_TO_REAL_NUMBER_TY_HL, I"NUMBER_TY_to_REAL_NUMBER_TY")
|
||||
KIT_PROVIDED(OTOVRELROUTETO_HL, I"OtoVRelRouteTo")
|
||||
KIT_PROVIDED(PACKED_TEXT_STORAGE_HL, I"PACKED_TEXT_STORAGE")
|
||||
KIT_PROVIDED(PARACONTENT_HL, I"ParaContent")
|
||||
KIT_PROVIDED(PARAMETER_VALUE_HL, I"parameter_value")
|
||||
KIT_PROVIDED(PRINTORRUN_HL, I"PrintOrRun")
|
||||
KIT_PROVIDED(PRIOR_NAMED_LIST_GENDER_HL, I"prior_named_list_gender")
|
||||
KIT_PROVIDED(PRIOR_NAMED_LIST_HL, I"prior_named_list")
|
||||
KIT_PROVIDED(PRIOR_NAMED_NOUN_HL, I"prior_named_noun")
|
||||
KIT_PROVIDED(PROPERTY_LOOP_SIGN_HL, I"property_loop_sign")
|
||||
KIT_PROVIDED(PROPERTY_TO_BE_TOTALLED_HL, I"property_to_be_totalled")
|
||||
KIT_PROVIDED(REAL_NUMBER_TY_ABS_HL, I"REAL_NUMBER_TY_Abs")
|
||||
KIT_PROVIDED(REAL_NUMBER_TY_APPROXIMATE_HL, I"REAL_NUMBER_TY_Approximate")
|
||||
KIT_PROVIDED(REAL_NUMBER_TY_COMPARE_HL, I"REAL_NUMBER_TY_Compare")
|
||||
KIT_PROVIDED(REAL_NUMBER_TY_CUBE_ROOT_HL, I"REAL_NUMBER_TY_Cube_Root")
|
||||
KIT_PROVIDED(REAL_NUMBER_TY_DIVIDE_HL, I"REAL_NUMBER_TY_Divide")
|
||||
KIT_PROVIDED(REAL_NUMBER_TY_MINUS_HL, I"REAL_NUMBER_TY_Minus")
|
||||
KIT_PROVIDED(REAL_NUMBER_TY_NAN_HL, I"REAL_NUMBER_TY_Nan")
|
||||
KIT_PROVIDED(REAL_NUMBER_TY_NEGATE_HL, I"REAL_NUMBER_TY_Negate")
|
||||
KIT_PROVIDED(REAL_NUMBER_TY_PLUS_HL, I"REAL_NUMBER_TY_Plus")
|
||||
KIT_PROVIDED(REAL_NUMBER_TY_POW_HL, I"REAL_NUMBER_TY_Pow")
|
||||
KIT_PROVIDED(REAL_NUMBER_TY_REMAINDER_HL, I"REAL_NUMBER_TY_Remainder")
|
||||
KIT_PROVIDED(REAL_NUMBER_TY_ROOT_HL, I"REAL_NUMBER_TY_Root")
|
||||
KIT_PROVIDED(REAL_NUMBER_TY_SAY_HL, I"REAL_NUMBER_TY_Say")
|
||||
KIT_PROVIDED(REAL_NUMBER_TY_TIMES_HL, I"REAL_NUMBER_TY_Times")
|
||||
KIT_PROVIDED(REAL_NUMBER_TY_TO_NUMBER_TY_HL, I"REAL_NUMBER_TY_to_NUMBER_TY")
|
||||
KIT_PROVIDED(RELATION_EMPTYEQUIV_HL, I"Relation_EmptyEquiv")
|
||||
KIT_PROVIDED(RELATION_EMPTYOTOO_HL, I"Relation_EmptyOtoO")
|
||||
KIT_PROVIDED(RELATION_EMPTYVTOV_HL, I"Relation_EmptyVtoV")
|
||||
KIT_PROVIDED(RELATION_RSHOWOTOO_HL, I"Relation_RShowOtoO")
|
||||
KIT_PROVIDED(RELATION_SHOWEQUIV_HL, I"Relation_ShowEquiv")
|
||||
KIT_PROVIDED(RELATION_SHOWOTOO_HL, I"Relation_ShowOtoO")
|
||||
KIT_PROVIDED(RELATION_SHOWVTOV_HL, I"Relation_ShowVtoV")
|
||||
KIT_PROVIDED(RELATION_TY_EQUIVALENCEADJECTIVE_HL, I"RELATION_TY_EquivalenceAdjective")
|
||||
KIT_PROVIDED(RELATION_TY_NAME_HL, I"RELATION_TY_Name")
|
||||
KIT_PROVIDED(RELATION_TY_OTOOADJECTIVE_HL, I"RELATION_TY_OToOAdjective")
|
||||
KIT_PROVIDED(RELATION_TY_OTOVADJECTIVE_HL, I"RELATION_TY_OToVAdjective")
|
||||
KIT_PROVIDED(RELATION_TY_SYMMETRICADJECTIVE_HL, I"RELATION_TY_SymmetricAdjective")
|
||||
KIT_PROVIDED(RELATION_TY_VTOOADJECTIVE_HL, I"RELATION_TY_VToOAdjective")
|
||||
KIT_PROVIDED(RELATIONTEST_HL, I"RelationTest")
|
||||
KIT_PROVIDED(RELFOLLOWVECTOR_HL, I"RelFollowVector")
|
||||
KIT_PROVIDED(RELS_EMPTY_HL, I"RELS_EMPTY")
|
||||
KIT_PROVIDED(RLANY_CAN_GET_X_HL, I"RLANY_CAN_GET_X")
|
||||
KIT_PROVIDED(RLANY_CAN_GET_Y_HL, I"RLANY_CAN_GET_Y")
|
||||
KIT_PROVIDED(RLANY_GET_X_HL, I"RLANY_GET_X")
|
||||
KIT_PROVIDED(RLIST_ALL_X_HL, I"RLIST_ALL_X")
|
||||
KIT_PROVIDED(RLIST_ALL_Y_HL, I"RLIST_ALL_Y")
|
||||
KIT_PROVIDED(RLNGETF_HL, I"RlnGetF")
|
||||
KIT_PROVIDED(ROUNDOFFVALUE_HL, I"RoundOffValue")
|
||||
KIT_PROVIDED(RR_STORAGE_HL, I"RR_STORAGE")
|
||||
KIT_PROVIDED(RTP_RELKINDVIOLATION_HL, I"RTP_RELKINDVIOLATION")
|
||||
KIT_PROVIDED(RTP_RELMINIMAL_HL, I"RTP_RELMINIMAL")
|
||||
KIT_PROVIDED(RULEBOOKFAILS_HL, I"RulebookFails")
|
||||
KIT_PROVIDED(RULEBOOKPARBREAK_HL, I"RulebookParBreak")
|
||||
KIT_PROVIDED(RULEBOOKSUCCEEDS_HL, I"RulebookSucceeds")
|
||||
KIT_PROVIDED(RUNTIMEPROBLEM_HL, I"RunTimeProblem")
|
||||
KIT_PROVIDED(SAY__N_HL, I"say__n")
|
||||
KIT_PROVIDED(SAY__P_HL, I"say__p")
|
||||
KIT_PROVIDED(SAY__PC_HL, I"say__pc")
|
||||
KIT_PROVIDED(SIGNEDCOMPARE_HL, I"SignedCompare")
|
||||
KIT_PROVIDED(SQUAREROOT_HL, I"SquareRoot")
|
||||
KIT_PROVIDED(STACKFRAMECREATE_HL, I"StackFrameCreate")
|
||||
KIT_PROVIDED(SUPPRESS_TEXT_SUBSTITUTION_HL, I"suppress_text_substitution")
|
||||
KIT_PROVIDED(TABLE_NOVALUE_HL, I"TABLE_NOVALUE")
|
||||
KIT_PROVIDED(TABLELOOKUPCORR_HL, I"TableLookUpCorr")
|
||||
KIT_PROVIDED(TABLELOOKUPENTRY_HL, I"TableLookUpEntry")
|
||||
KIT_PROVIDED(TEXT_TY_COMPARE_HL, I"TEXT_TY_Compare")
|
||||
KIT_PROVIDED(TEXT_TY_EXPANDIFPERISHABLE_HL, I"TEXT_TY_ExpandIfPerishable")
|
||||
KIT_PROVIDED(TEXT_TY_SAY_HL, I"TEXT_TY_Say")
|
||||
KIT_PROVIDED(THEEMPTYTABLE_HL, I"TheEmptyTable")
|
||||
KIT_PROVIDED(UNICODE_TEMP_HL, I"unicode_temp")
|
||||
KIT_PROVIDED(VTOORELROUTETO_HL, I"VtoORelRouteTo")
|
||||
KIT_PROVIDED(VTOVRELROUTETO_HL, I"VtoVRelRouteTo")
|
||||
|
||||
@h Offered by CommandParserKit.
|
||||
|
||||
@e ARTICLEDESCRIPTORS_HL
|
||||
@e ETYPE_HL
|
||||
@e NEXTBEST_ETYPE_HL
|
||||
@e NEXTWORDSTOPPED_HL
|
||||
@e NOTINCONTEXTPE_HL
|
||||
@e PARSETOKENSTOPPED_HL
|
||||
@e TRYGIVENOBJECT_HL
|
||||
@e WORDADDRESS_HL
|
||||
@e WORDINPROPERTY_HL
|
||||
@e WORDLENGTH_HL
|
||||
|
||||
@<Establish resources offered by CommandParserKit@> =
|
||||
KIT_PROVIDED(ARTICLEDESCRIPTORS_HL, I"ArticleDescriptors")
|
||||
KIT_PROVIDED(ETYPE_HL, I"etype")
|
||||
KIT_PROVIDED(NEXTBEST_ETYPE_HL, I"nextbest_etype")
|
||||
KIT_PROVIDED(NEXTWORDSTOPPED_HL, I"NextWordStopped")
|
||||
KIT_PROVIDED(NOTINCONTEXTPE_HL, I"NOTINCONTEXT_PE")
|
||||
KIT_PROVIDED(PARSETOKENSTOPPED_HL, I"ParseTokenStopped")
|
||||
KIT_PROVIDED(TRYGIVENOBJECT_HL, I"TryGivenObject")
|
||||
KIT_PROVIDED(WORDADDRESS_HL, I"WordAddress")
|
||||
KIT_PROVIDED(WORDINPROPERTY_HL, I"WordInProperty")
|
||||
KIT_PROVIDED(WORDLENGTH_HL, I"WordLength")
|
||||
|
||||
@h Offered by WorldModelKit.
|
||||
|
||||
@e ACT_REQUESTER_HL
|
||||
@e ACTION_HL
|
||||
@e ACTIONCURRENTLYHAPPENINGFLAG_HL
|
||||
@e ACTOR_HL
|
||||
@e ACTOR_LOCATION_HL
|
||||
@e ALLOWINSHOWME_HL
|
||||
@e ANIMATE_HL
|
||||
@e C_STYLE_HL
|
||||
@e COMPONENT_CHILD_HL
|
||||
@e COMPONENT_PARENT_HL
|
||||
@e COMPONENT_SIBLING_HL
|
||||
@e CONSULT_FROM_HL
|
||||
@e CONSULT_WORDS_HL
|
||||
@e CONTAINER_HL
|
||||
@e DA_NAME_HL
|
||||
@e DEADFLAG_HL
|
||||
@e DEBUG_SCENES_HL
|
||||
@e DETECTPLURALWORD_HL
|
||||
@e DURINGSCENEMATCHING_HL
|
||||
@e ELEMENTARY_TT_HL
|
||||
@e ENGLISH_BIT_HL
|
||||
@e FOUND_EVERYWHERE_HL
|
||||
@e GENERICVERBSUB_HL
|
||||
@e GETGNAOFOBJECT_HL
|
||||
@e GPR_FAIL_HL
|
||||
@e GPR_NUMBER_HL
|
||||
@e GPR_PREPOSITION_HL
|
||||
@e GPR_TT_HL
|
||||
@e INDENT_BIT_HL
|
||||
@e INP1_HL
|
||||
@e INP2_HL
|
||||
@e INVENTORY_STAGE_HL
|
||||
@e KEEP_SILENT_HL
|
||||
@e LOCATION_HL
|
||||
@e LOCATIONOF_HL
|
||||
@e LOOPOVERSCOPE_HL
|
||||
@e LOS_RV_HL
|
||||
@e NEWLINE_BIT_HL
|
||||
@e NOARTICLE_BIT_HL
|
||||
@e NOUN_HL
|
||||
@e NUMBER_TY_TO_TIME_TY_HL
|
||||
@e PARSED_NUMBER_HL
|
||||
@e PARSER_ACTION_HL
|
||||
@e PARSER_ONE_HL
|
||||
@e PARSER_TRACE_HL
|
||||
@e PARSER_TWO_HL
|
||||
@e PARSERERROR_HL
|
||||
@e PAST_CHRONOLOGICAL_RECORD_HL
|
||||
@e PLACEINSCOPE_HL
|
||||
@e PLAYER_HL
|
||||
@e PLURALFOUND_HL
|
||||
@e PRESENT_CHRONOLOGICAL_RECORD_HL
|
||||
@e REAL_LOCATION_HL
|
||||
@e REASON_THE_ACTION_FAILED_HL
|
||||
@e RESPONSEVIAACTIVITY_HL
|
||||
@e ROUTINEFILTER_TT_HL
|
||||
@e SCENE_ENDED_HL
|
||||
@e SCENE_ENDINGS_HL
|
||||
@e SCENE_LATEST_ENDING_HL
|
||||
@e SCENE_STARTED_HL
|
||||
@e SCENE_STATUS_HL
|
||||
@e SCOPE_STAGE_HL
|
||||
@e SCOPE_TT_HL
|
||||
@e SECOND_HL
|
||||
@e SHORT_NAME_HL
|
||||
@e SPECIAL_WORD_HL
|
||||
@e STORED_ACTION_TY_CURRENT_HL
|
||||
@e STORED_ACTION_TY_TRY_HL
|
||||
@e STORY_TENSE_HL
|
||||
@e SUPPORTER_HL
|
||||
@e SUPPRESS_SCOPE_LOOPS_HL
|
||||
@e TESTACTIONBITMAP_HL
|
||||
@e TESTACTIVITY_HL
|
||||
@e TESTREGIONALCONTAINMENT_HL
|
||||
@e TESTSCOPE_HL
|
||||
@e TESTSTART_HL
|
||||
@e THE_TIME_HL
|
||||
@e THEDARK_HL
|
||||
@e THESAME_HL
|
||||
@e TIMESACTIONHASBEENHAPPENING_HL
|
||||
@e TIMESACTIONHASHAPPENED_HL
|
||||
@e TRYACTION_HL
|
||||
@e TURNSACTIONHASBEENHAPPENING_HL
|
||||
@e UNDERSTAND_AS_MISTAKE_NUMBER_HL
|
||||
@e WHEN_SCENE_BEGINS_HL
|
||||
@e WHEN_SCENE_ENDS_HL
|
||||
@e WN_HL
|
||||
|
||||
@<Establish resources offered by WorldModelKit@> =
|
||||
KIT_PROVIDED(ACT_REQUESTER_HL, I"act_requester")
|
||||
KIT_PROVIDED(ACTION_HL, I"action")
|
||||
KIT_PROVIDED(ACTIONCURRENTLYHAPPENINGFLAG_HL, I"ActionCurrentlyHappeningFlag")
|
||||
KIT_PROVIDED(ACTOR_HL, I"actor")
|
||||
KIT_PROVIDED(ACTOR_LOCATION_HL, I"actor_location")
|
||||
KIT_PROVIDED(ALLOWINSHOWME_HL, I"AllowInShowme")
|
||||
KIT_PROVIDED(ANIMATE_HL, I"animate")
|
||||
KIT_PROVIDED(C_STYLE_HL, I"c_style")
|
||||
KIT_PROVIDED(COMPONENT_CHILD_HL, I"component_child")
|
||||
KIT_PROVIDED(COMPONENT_PARENT_HL, I"component_parent")
|
||||
KIT_PROVIDED(COMPONENT_SIBLING_HL, I"component_sibling")
|
||||
KIT_PROVIDED(CONSULT_FROM_HL, I"consult_from")
|
||||
KIT_PROVIDED(CONSULT_WORDS_HL, I"consult_words")
|
||||
KIT_PROVIDED(CONTAINER_HL, I"container")
|
||||
KIT_PROVIDED(DA_NAME_HL, I"DA_Name")
|
||||
KIT_PROVIDED(DEADFLAG_HL, I"deadflag")
|
||||
KIT_PROVIDED(DEBUG_SCENES_HL, I"debug_scenes")
|
||||
KIT_PROVIDED(DETECTPLURALWORD_HL, I"DetectPluralWord")
|
||||
KIT_PROVIDED(DURINGSCENEMATCHING_HL, I"DuringSceneMatching")
|
||||
KIT_PROVIDED(ELEMENTARY_TT_HL, I"ELEMENTARY_TT")
|
||||
KIT_PROVIDED(ENGLISH_BIT_HL, I"ENGLISH_BIT")
|
||||
KIT_PROVIDED(FOUND_EVERYWHERE_HL, I"FoundEverywhere")
|
||||
KIT_PROVIDED(GENERICVERBSUB_HL, I"GenericVerbSub")
|
||||
KIT_PROVIDED(GETGNAOFOBJECT_HL, I"GetGNAOfObject")
|
||||
KIT_PROVIDED(GPR_FAIL_HL, I"GPR_FAIL")
|
||||
KIT_PROVIDED(GPR_NUMBER_HL, I"GPR_NUMBER")
|
||||
KIT_PROVIDED(GPR_PREPOSITION_HL, I"GPR_PREPOSITION")
|
||||
KIT_PROVIDED(GPR_TT_HL, I"GPR_TT")
|
||||
KIT_PROVIDED(INDENT_BIT_HL, I"INDENT_BIT")
|
||||
KIT_PROVIDED(INP1_HL, I"inp1")
|
||||
KIT_PROVIDED(INP2_HL, I"inp2")
|
||||
KIT_PROVIDED(INVENTORY_STAGE_HL, I"inventory_stage")
|
||||
KIT_PROVIDED(KEEP_SILENT_HL, I"keep_silent")
|
||||
KIT_PROVIDED(LOCATION_HL, I"location")
|
||||
KIT_PROVIDED(LOCATIONOF_HL, I"LocationOf")
|
||||
KIT_PROVIDED(LOOPOVERSCOPE_HL, I"LoopOverScope")
|
||||
KIT_PROVIDED(LOS_RV_HL, I"los_rv")
|
||||
KIT_PROVIDED(NEWLINE_BIT_HL, I"NEWLINE_BIT")
|
||||
KIT_PROVIDED(NOARTICLE_BIT_HL, I"NOARTICLE_BIT")
|
||||
KIT_PROVIDED(NOUN_HL, I"noun")
|
||||
KIT_PROVIDED(NUMBER_TY_TO_TIME_TY_HL, I"NUMBER_TY_to_TIME_TY")
|
||||
KIT_PROVIDED(PARSED_NUMBER_HL, I"parsed_number")
|
||||
KIT_PROVIDED(PARSER_ACTION_HL, I"parser_action")
|
||||
KIT_PROVIDED(PARSER_ONE_HL, I"parser_one")
|
||||
KIT_PROVIDED(PARSER_TRACE_HL, I"parser_trace")
|
||||
KIT_PROVIDED(PARSER_TWO_HL, I"parser_two")
|
||||
KIT_PROVIDED(PARSERERROR_HL, I"ParserError")
|
||||
KIT_PROVIDED(PAST_CHRONOLOGICAL_RECORD_HL, I"past_chronological_record")
|
||||
KIT_PROVIDED(PLACEINSCOPE_HL, I"PlaceInScope")
|
||||
KIT_PROVIDED(PLAYER_HL, I"player")
|
||||
KIT_PROVIDED(PLURALFOUND_HL, I"##PluralFound")
|
||||
KIT_PROVIDED(PRESENT_CHRONOLOGICAL_RECORD_HL, I"present_chronological_record")
|
||||
KIT_PROVIDED(REAL_LOCATION_HL, I"real_location")
|
||||
KIT_PROVIDED(REASON_THE_ACTION_FAILED_HL, I"reason_the_action_failed")
|
||||
KIT_PROVIDED(RESPONSEVIAACTIVITY_HL, I"ResponseViaActivity")
|
||||
KIT_PROVIDED(ROUTINEFILTER_TT_HL, I"ROUTINE_FILTER_TT")
|
||||
KIT_PROVIDED(SCENE_ENDED_HL, I"scene_ended")
|
||||
KIT_PROVIDED(SCENE_ENDINGS_HL, I"scene_endings")
|
||||
KIT_PROVIDED(SCENE_LATEST_ENDING_HL, I"scene_latest_ending")
|
||||
KIT_PROVIDED(SCENE_STARTED_HL, I"scene_started")
|
||||
KIT_PROVIDED(SCENE_STATUS_HL, I"scene_status")
|
||||
KIT_PROVIDED(SCOPE_STAGE_HL, I"scope_stage")
|
||||
KIT_PROVIDED(SCOPE_TT_HL, I"SCOPE_TT")
|
||||
KIT_PROVIDED(SECOND_HL, I"second")
|
||||
KIT_PROVIDED(SHORT_NAME_HL, I"short_name")
|
||||
KIT_PROVIDED(SPECIAL_WORD_HL, I"special_word")
|
||||
KIT_PROVIDED(STORED_ACTION_TY_CURRENT_HL, I"STORED_ACTION_TY_Current")
|
||||
KIT_PROVIDED(STORED_ACTION_TY_TRY_HL, I"STORED_ACTION_TY_Try")
|
||||
KIT_PROVIDED(STORY_TENSE_HL, I"story_tense")
|
||||
KIT_PROVIDED(SUPPORTER_HL, I"supporter")
|
||||
KIT_PROVIDED(SUPPRESS_SCOPE_LOOPS_HL, I"suppress_scope_loops")
|
||||
KIT_PROVIDED(TESTACTIONBITMAP_HL, I"TestActionBitmap")
|
||||
KIT_PROVIDED(TESTACTIVITY_HL, I"TestActivity")
|
||||
KIT_PROVIDED(TESTREGIONALCONTAINMENT_HL, I"TestRegionalContainment")
|
||||
KIT_PROVIDED(TESTSCOPE_HL, I"TestScope")
|
||||
KIT_PROVIDED(TESTSTART_HL, I"TestStart")
|
||||
KIT_PROVIDED(THE_TIME_HL, I"the_time")
|
||||
KIT_PROVIDED(THEDARK_HL, I"thedark")
|
||||
KIT_PROVIDED(THESAME_HL, I"##TheSame")
|
||||
KIT_PROVIDED(TIMESACTIONHASBEENHAPPENING_HL, I"TimesActionHasBeenHappening")
|
||||
KIT_PROVIDED(TIMESACTIONHASHAPPENED_HL, I"TimesActionHasHappened")
|
||||
KIT_PROVIDED(TRYACTION_HL, I"TryAction")
|
||||
KIT_PROVIDED(TURNSACTIONHASBEENHAPPENING_HL, I"TurnsActionHasBeenHappening")
|
||||
KIT_PROVIDED(UNDERSTAND_AS_MISTAKE_NUMBER_HL, I"understand_as_mistake_number")
|
||||
KIT_PROVIDED(WHEN_SCENE_BEGINS_HL, I"WHEN_SCENE_BEGINS_RB")
|
||||
KIT_PROVIDED(WHEN_SCENE_ENDS_HL, I"WHEN_SCENE_ENDS_RB")
|
||||
KIT_PROVIDED(WN_HL, I"wn")
|
||||
|
||||
@
|
||||
|
||||
@e PNTOVP_HL
|
||||
@e PRINTSHORTNAME_HL
|
||||
|
||||
@<Establish resources offered by either WorldModelKit or BasicInformExtrasKit@> =
|
||||
KIT_PROVIDED(PNTOVP_HL, I"PNToVP")
|
||||
KIT_PROVIDED(PRINTSHORTNAME_HL, I"PrintShortName")
|
||||
|
||||
@
|
||||
|
||||
@e THEN1__WD_HL
|
||||
|
||||
@<Establish resources offered by either EnglishLanguageKit@> =
|
||||
KIT_PROVIDED(THEN1__WD_HL, I"THEN1__WD")
|
|
@ -18,7 +18,7 @@ of packages of type |_action|.
|
|||
=
|
||||
void SynopticActions::compile(inter_tree *I, pipeline_step *step, tree_inventory *inv) {
|
||||
if (TreeLists::len(inv->action_nodes) > 0) {
|
||||
TreeLists::sort(inv->action_nodes, Synoptic::module_order);
|
||||
TreeLists::sort(inv->action_nodes, MakeSynopticModuleStage::module_order);
|
||||
for (int i=0; i<TreeLists::len(inv->action_nodes); i++) {
|
||||
inter_package *pack = Inter::Package::defined_by_frame(inv->action_nodes->list[i].node);
|
||||
inter_tree_node *D = Synoptic::get_definition(pack, I"action_id");
|
||||
|
|
|
@ -11,7 +11,7 @@ of packages of type |_activity|.
|
|||
=
|
||||
void SynopticActivities::compile(inter_tree *I, pipeline_step *step, tree_inventory *inv) {
|
||||
if (TreeLists::len(inv->activity_nodes) > 0) {
|
||||
TreeLists::sort(inv->activity_nodes, Synoptic::module_order);
|
||||
TreeLists::sort(inv->activity_nodes, MakeSynopticModuleStage::module_order);
|
||||
for (int i=0; i<TreeLists::len(inv->activity_nodes); i++) {
|
||||
inter_package *pack = Inter::Package::defined_by_frame(inv->activity_nodes->list[i].node);
|
||||
inter_tree_node *D = Synoptic::get_definition(pack, I"activity_id");
|
||||
|
|
|
@ -11,7 +11,7 @@ over the Inter tree. Each needs its own set of unique IDs.
|
|||
=
|
||||
void SynopticChronology::compile(inter_tree *I, pipeline_step *step, tree_inventory *inv) {
|
||||
if (TreeLists::len(inv->action_history_condition_nodes) > 0) {
|
||||
TreeLists::sort(inv->action_history_condition_nodes, Synoptic::module_order);
|
||||
TreeLists::sort(inv->action_history_condition_nodes, MakeSynopticModuleStage::module_order);
|
||||
for (int i=0; i<TreeLists::len(inv->action_history_condition_nodes); i++) {
|
||||
inter_package *pack = Inter::Package::defined_by_frame(inv->action_history_condition_nodes->list[i].node);
|
||||
inter_tree_node *D = Synoptic::get_definition(pack, I"ahc_id");
|
||||
|
@ -19,7 +19,7 @@ void SynopticChronology::compile(inter_tree *I, pipeline_step *step, tree_invent
|
|||
}
|
||||
}
|
||||
if (TreeLists::len(inv->past_tense_condition_nodes) > 0) {
|
||||
TreeLists::sort(inv->past_tense_condition_nodes, Synoptic::module_order);
|
||||
TreeLists::sort(inv->past_tense_condition_nodes, MakeSynopticModuleStage::module_order);
|
||||
for (int i=0; i<TreeLists::len(inv->past_tense_condition_nodes); i++) {
|
||||
inter_package *pack = Inter::Package::defined_by_frame(inv->past_tense_condition_nodes->list[i].node);
|
||||
inter_tree_node *D = Synoptic::get_definition(pack, I"ptc_id");
|
||||
|
|
|
@ -5,27 +5,31 @@ To renumber the extensions and construct suitable functions and arrays.
|
|||
@ Before this runs, there are one or more modules in the Inter tree which
|
||||
contain the material compiled from extensions. We must allocate each one a unique ID.
|
||||
|
||||
As this is called, //Synoptic Utilities// has already formed a list |extension_nodes|
|
||||
of packages of type |_module| which derive from extensions.
|
||||
Our inventory |inv| already contains a list |inv->extension_nodes| of packages
|
||||
with the type |_module| which derive from extensions.
|
||||
|
||||
=
|
||||
void SynopticExtensions::compile(inter_tree *I, pipeline_step *step, tree_inventory *inv) {
|
||||
if (TreeLists::len(inv->extension_nodes) > 0) {
|
||||
TreeLists::sort(inv->extension_nodes, Synoptic::category_order);
|
||||
for (int i=0; i<TreeLists::len(inv->extension_nodes); i++) {
|
||||
inter_package *pack = Inter::Package::defined_by_frame(inv->extension_nodes->list[i].node);
|
||||
inter_tree_node *D = Synoptic::get_definition(pack, I"extension_id");
|
||||
D->W.data[DATA_CONST_IFLD+1] = (inter_ti) (i + 1);
|
||||
}
|
||||
}
|
||||
if (TreeLists::len(inv->extension_nodes) > 0) @<Assign unique extension ID numbers@>;
|
||||
@<Define SHOWEXTENSIONVERSIONS function@>;
|
||||
@<Define SHOWFULLEXTENSIONVERSIONS function@>;
|
||||
@<Define SHOWONEEXTENSION function@>;
|
||||
}
|
||||
|
||||
@ Extensions have an obvious effect at runtime -- they include extra material.
|
||||
But there are also just three functions which deal with extensions as if
|
||||
they were values; all of them simply print credits out.
|
||||
@ Each extension module contains a numeric constant with the symbol name |extension_id|.
|
||||
We want to ensure that these ID numbers are contiguous from 1 and never duplicated,
|
||||
so we change the values of these constants accordingly.
|
||||
|
||||
@<Assign unique extension ID numbers@> =
|
||||
TreeLists::sort(inv->extension_nodes, MakeSynopticModuleStage::category_order);
|
||||
for (int i=0; i<TreeLists::len(inv->extension_nodes); i++) {
|
||||
inter_package *pack =
|
||||
Inter::Package::defined_by_frame(inv->extension_nodes->list[i].node);
|
||||
inter_tree_node *D = Synoptic::get_definition(pack, I"extension_id");
|
||||
D->W.data[DATA_CONST_IFLD+1] = (inter_ti) (i + 1);
|
||||
}
|
||||
|
||||
@ Now we compile three functions, each of which simply prints credits out.
|
||||
|
||||
This is more important than it may sound because many extensions are published
|
||||
under a Creative Commons attribution license which requires users to give credit
|
||||
|
@ -45,7 +49,8 @@ would violate the CC license.
|
|||
inter_name *iname = HierarchyLocations::find(I, SHOWEXTENSIONVERSIONS_HL);
|
||||
Synoptic::begin_function(I, iname);
|
||||
for (int i=0; i<TreeLists::len(inv->extension_nodes); i++) {
|
||||
inter_package *pack = Inter::Package::defined_by_frame(inv->extension_nodes->list[i].node);
|
||||
inter_package *pack =
|
||||
Inter::Package::defined_by_frame(inv->extension_nodes->list[i].node);
|
||||
inter_ti modesty = Metadata::read_numeric(pack, I"^modesty");
|
||||
if (modesty == 0) {
|
||||
text_stream *credit = Str::duplicate(Metadata::read_textual(pack, I"^credit"));
|
||||
|
@ -75,7 +80,8 @@ would violate the CC license.
|
|||
Synoptic::end_function(I, step, iname);
|
||||
|
||||
@ This prints the name of a single extension, identified by a value which
|
||||
is its extension ID.
|
||||
is its extension ID. Speed of execution here is quite unimportant, so it's
|
||||
just a run of |if (id == 1) ...|, then |if (id == 2) ...|, and so on.
|
||||
|
||||
@<Define SHOWONEEXTENSION function@> =
|
||||
inter_name *iname = HierarchyLocations::find(I, SHOWONEEXTENSION_HL);
|
||||
|
|
|
@ -12,7 +12,7 @@ This section is a placeholder for now.
|
|||
=
|
||||
void SynopticInstances::compile(inter_tree *I, pipeline_step *step, tree_inventory *inv) {
|
||||
if (TreeLists::len(inv->instance_nodes) > 0) {
|
||||
TreeLists::sort(inv->instance_nodes, Synoptic::module_order);
|
||||
TreeLists::sort(inv->instance_nodes, MakeSynopticModuleStage::module_order);
|
||||
}
|
||||
@<Define SHOWMEINSTANCEDETAILS function@>
|
||||
}
|
||||
|
|
|
@ -11,7 +11,7 @@ of packages of type |_kind|, and similarly for |derived_kind_nodes|.
|
|||
=
|
||||
void SynopticKinds::compile(inter_tree *I, pipeline_step *step, tree_inventory *inv) {
|
||||
if (TreeLists::len(inv->kind_nodes) > 0) {
|
||||
TreeLists::sort(inv->kind_nodes, Synoptic::module_order);
|
||||
TreeLists::sort(inv->kind_nodes, MakeSynopticModuleStage::module_order);
|
||||
for (int i=0; i<TreeLists::len(inv->kind_nodes); i++) {
|
||||
inter_package *pack = Inter::Package::defined_by_frame(inv->kind_nodes->list[i].node);
|
||||
inter_symbol *id_s = Metadata::read_optional_symbol(pack, I"^strong_id");
|
||||
|
@ -19,7 +19,7 @@ void SynopticKinds::compile(inter_tree *I, pipeline_step *step, tree_inventory *
|
|||
}
|
||||
}
|
||||
if (TreeLists::len(inv->derived_kind_nodes) > 0) {
|
||||
TreeLists::sort(inv->derived_kind_nodes, Synoptic::module_order);
|
||||
TreeLists::sort(inv->derived_kind_nodes, MakeSynopticModuleStage::module_order);
|
||||
}
|
||||
@<Define BASE_KIND_HWM@>;
|
||||
@<Define DEFAULTVALUEFINDER function@>;
|
||||
|
|
|
@ -57,7 +57,7 @@ this will be executed on the first |"apple"|, on |"banana"| and the first
|
|||
WRITE_TO(A, "alphabetised_text_%d", j++);
|
||||
inter_symbol *alpha_s = Synoptic::new_symbol(texts_pack, A);
|
||||
DISCARD_TEXT(A)
|
||||
Synoptic::def_textual_constant(I, step, alpha_s, S, &IBM);
|
||||
Synoptic::textual_constant(I, step, alpha_s, S, &IBM);
|
||||
latest_s = alpha_s;
|
||||
latest_text = S;
|
||||
|
||||
|
|
|
@ -2,7 +2,12 @@
|
|||
|
||||
Creating a top-level module of synoptic resources.
|
||||
|
||||
@
|
||||
@ At this point the tree contains one module for each compilation unit included
|
||||
in the link: which is a fancy way of saying, it contains one module for the
|
||||
main source text, ohe for each extension, and one each for each kit included.
|
||||
|
||||
We now add one final module, |/main/synoptic|, which contains resources compiled
|
||||
together from all of the others.
|
||||
|
||||
=
|
||||
void MakeSynopticModuleStage::create_pipeline_stage(void) {
|
||||
|
@ -12,7 +17,10 @@ void MakeSynopticModuleStage::create_pipeline_stage(void) {
|
|||
|
||||
int MakeSynopticModuleStage::run(pipeline_step *step) {
|
||||
inter_tree *I = step->ephemera.repository;
|
||||
tree_inventory *inv = Synoptic::inv(I);
|
||||
tree_inventory *inv = MakeSynopticModuleStage::take_inventory_cached(I);
|
||||
|
||||
SynopticHierarchy::establish(I); /* in case this has not already been done */
|
||||
KitHierarchy::establish(I); /* likewise */
|
||||
|
||||
SynopticText::compile(I, step, inv);
|
||||
SynopticActions::compile(I, step, inv);
|
||||
|
@ -35,3 +43,220 @@ int MakeSynopticModuleStage::run(pipeline_step *step) {
|
|||
Wiring::connect_plugs_to_sockets(I);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@ The inventory for an Inter tree is an itemisation of packages with particular
|
||||
types: for example, we can ask it to hold a list of |_activity| packages.
|
||||
|
||||
=
|
||||
typedef struct tree_inventory {
|
||||
struct inter_tree *of_tree;
|
||||
struct linked_list *items; /* of |tree_inventory_item| */
|
||||
inter_tree_location_list *text_nodes;
|
||||
inter_tree_location_list *module_nodes;
|
||||
inter_tree_location_list *response_nodes;
|
||||
inter_tree_location_list *rulebook_nodes;
|
||||
inter_tree_location_list *rule_nodes;
|
||||
inter_tree_location_list *activity_nodes;
|
||||
inter_tree_location_list *action_nodes;
|
||||
inter_tree_location_list *property_nodes;
|
||||
inter_tree_location_list *extension_nodes;
|
||||
inter_tree_location_list *relation_nodes;
|
||||
inter_tree_location_list *table_nodes;
|
||||
inter_tree_location_list *table_column_nodes;
|
||||
inter_tree_location_list *table_column_usage_nodes;
|
||||
inter_tree_location_list *action_history_condition_nodes;
|
||||
inter_tree_location_list *past_tense_condition_nodes;
|
||||
inter_tree_location_list *instance_nodes;
|
||||
inter_tree_location_list *scene_nodes;
|
||||
inter_tree_location_list *file_nodes;
|
||||
inter_tree_location_list *figure_nodes;
|
||||
inter_tree_location_list *sound_nodes;
|
||||
inter_tree_location_list *use_option_nodes;
|
||||
inter_tree_location_list *verb_nodes;
|
||||
inter_tree_location_list *modal_verb_nodes;
|
||||
inter_tree_location_list *verb_form_nodes;
|
||||
inter_tree_location_list *preposition_nodes;
|
||||
inter_tree_location_list *adjective_nodes;
|
||||
inter_tree_location_list *derived_kind_nodes;
|
||||
inter_tree_location_list *kind_nodes;
|
||||
inter_tree_location_list *test_nodes;
|
||||
inter_tree_location_list *named_action_pattern_nodes;
|
||||
inter_tree_location_list *variable_nodes;
|
||||
inter_tree_location_list *equation_nodes;
|
||||
inter_tree_location_list *heading_nodes;
|
||||
inter_tree_location_list *multiplication_rule_nodes;
|
||||
CLASS_DEFINITION
|
||||
} tree_inventory;
|
||||
|
||||
typedef struct tree_inventory_item {
|
||||
struct inter_tree_location_list *node_list;
|
||||
struct inter_symbol *required_ptype;
|
||||
CLASS_DEFINITION
|
||||
} tree_inventory_item;
|
||||
|
||||
@ Creating one of these is quick enough: when created, it's just a list of
|
||||
requirements.
|
||||
|
||||
=
|
||||
tree_inventory *MakeSynopticModuleStage::new_inventory(inter_tree *I) {
|
||||
tree_inventory *inv = CREATE(tree_inventory);
|
||||
inv->of_tree = I;
|
||||
inv->items = NEW_LINKED_LIST(tree_inventory_item);
|
||||
inv->text_nodes = TreeLists::new();
|
||||
|
||||
inv->response_nodes = MakeSynopticModuleStage::needs(inv, I"_response");
|
||||
inv->rulebook_nodes = MakeSynopticModuleStage::needs(inv, I"_rulebook");
|
||||
inv->rule_nodes = MakeSynopticModuleStage::needs(inv, I"_rule");
|
||||
inv->activity_nodes = MakeSynopticModuleStage::needs(inv, I"_activity");
|
||||
inv->action_nodes = MakeSynopticModuleStage::needs(inv, I"_action");
|
||||
inv->property_nodes = MakeSynopticModuleStage::needs(inv, I"_property");
|
||||
inv->relation_nodes = MakeSynopticModuleStage::needs(inv, I"_relation");
|
||||
inv->table_nodes = MakeSynopticModuleStage::needs(inv, I"_table");
|
||||
inv->table_column_nodes = MakeSynopticModuleStage::needs(inv, I"_table_column");
|
||||
inv->table_column_usage_nodes = MakeSynopticModuleStage::needs(inv, I"_table_column_usage");
|
||||
inv->action_history_condition_nodes = MakeSynopticModuleStage::needs(inv, I"_action_history_condition");
|
||||
inv->past_tense_condition_nodes = MakeSynopticModuleStage::needs(inv, I"_past_condition");
|
||||
inv->use_option_nodes = MakeSynopticModuleStage::needs(inv, I"_use_option");
|
||||
inv->verb_nodes = MakeSynopticModuleStage::needs(inv, I"_verb");
|
||||
inv->modal_verb_nodes = MakeSynopticModuleStage::needs(inv, I"_modal_verb");
|
||||
inv->verb_form_nodes = MakeSynopticModuleStage::needs(inv, I"_verb_form");
|
||||
inv->preposition_nodes = MakeSynopticModuleStage::needs(inv, I"_preposition");
|
||||
inv->adjective_nodes = MakeSynopticModuleStage::needs(inv, I"_adjective");
|
||||
inv->derived_kind_nodes = MakeSynopticModuleStage::needs(inv, I"_derived_kind");
|
||||
inv->kind_nodes = MakeSynopticModuleStage::needs(inv, I"_kind");
|
||||
inv->module_nodes = MakeSynopticModuleStage::needs(inv, I"_module");
|
||||
inv->instance_nodes = MakeSynopticModuleStage::needs(inv, I"_instance");
|
||||
inv->test_nodes = MakeSynopticModuleStage::needs(inv, I"_test");
|
||||
inv->named_action_pattern_nodes = MakeSynopticModuleStage::needs(inv, I"_named_action_pattern");
|
||||
inv->variable_nodes = MakeSynopticModuleStage::needs(inv, I"_variable");
|
||||
inv->equation_nodes = MakeSynopticModuleStage::needs(inv, I"_equation");
|
||||
inv->heading_nodes = MakeSynopticModuleStage::needs(inv, I"_heading");
|
||||
inv->multiplication_rule_nodes = MakeSynopticModuleStage::needs(inv, I"_multiplication_rule");
|
||||
|
||||
inv->extension_nodes = TreeLists::new();
|
||||
inv->scene_nodes = TreeLists::new();
|
||||
inv->file_nodes = TreeLists::new();
|
||||
inv->figure_nodes = TreeLists::new();
|
||||
inv->sound_nodes = TreeLists::new();
|
||||
return inv;
|
||||
}
|
||||
|
||||
inter_tree_location_list *MakeSynopticModuleStage::needs(tree_inventory *inv, text_stream *pt) {
|
||||
tree_inventory_item *item = CREATE(tree_inventory_item);
|
||||
item->node_list = TreeLists::new();
|
||||
item->required_ptype = PackageTypes::get(inv->of_tree, pt);
|
||||
ADD_TO_LINKED_LIST(item, tree_inventory_item, inv->items);
|
||||
return item->node_list;
|
||||
}
|
||||
|
||||
@ The expensive part comes later, when we traverse the Inter tree and add
|
||||
interesting packages to one of the lists.
|
||||
|
||||
=
|
||||
tree_inventory *MakeSynopticModuleStage::take_inventory(inter_tree *I) {
|
||||
tree_inventory *inv = MakeSynopticModuleStage::new_inventory(I);
|
||||
InterTree::traverse(I, MakeSynopticModuleStage::visitor, inv, NULL, 0);
|
||||
for (int i=0; i<TreeLists::len(inv->module_nodes); i++) {
|
||||
inter_package *pack = Inter::Package::defined_by_frame(inv->module_nodes->list[i].node);
|
||||
if (InterSymbolsTables::symbol_from_name(Inter::Packages::scope(pack), I"extension_id"))
|
||||
TreeLists::add(inv->extension_nodes, inv->module_nodes->list[i].node);
|
||||
}
|
||||
for (int i=0; i<TreeLists::len(inv->instance_nodes); i++) {
|
||||
inter_package *pack = Inter::Package::defined_by_frame(inv->instance_nodes->list[i].node);
|
||||
if (Metadata::exists(pack, I"^is_scene"))
|
||||
TreeLists::add(inv->scene_nodes, inv->instance_nodes->list[i].node);
|
||||
if (Metadata::exists(pack, I"^is_file"))
|
||||
TreeLists::add(inv->file_nodes, inv->instance_nodes->list[i].node);
|
||||
if (Metadata::exists(pack, I"^is_figure"))
|
||||
TreeLists::add(inv->figure_nodes, inv->instance_nodes->list[i].node);
|
||||
if (Metadata::exists(pack, I"^is_sound"))
|
||||
TreeLists::add(inv->sound_nodes, inv->instance_nodes->list[i].node);
|
||||
}
|
||||
return inv;
|
||||
}
|
||||
|
||||
void MakeSynopticModuleStage::visitor(inter_tree *I, inter_tree_node *P, void *state) {
|
||||
tree_inventory *inv = (tree_inventory *) state;
|
||||
if (P->W.data[ID_IFLD] == CONSTANT_IST) {
|
||||
inter_symbol *con_s =
|
||||
InterSymbolsTables::symbol_from_frame_data(P, DEFN_CONST_IFLD);
|
||||
if (Inter::Symbols::read_annotation(con_s, TEXT_LITERAL_IANN) == 1)
|
||||
TreeLists::add(inv->text_nodes, P);
|
||||
}
|
||||
if (P->W.data[ID_IFLD] == PACKAGE_IST) {
|
||||
inter_package *pack = Inter::Package::defined_by_frame(P);
|
||||
inter_symbol *ptype = Inter::Packages::type(pack);
|
||||
if (ptype == PackageTypes::get(I, I"_kind")) {
|
||||
LOG("Inside $6:\n", pack);
|
||||
inter_symbols_table *ST = Inter::Packages::scope(pack);
|
||||
for (int i=0; i<ST->size; i++) {
|
||||
inter_symbol *S = ST->symbol_array[i];
|
||||
if ((S) && (S->wiring.no_connections > 0))
|
||||
LOG("I observe $3 (%d)\n", S, S->wiring.no_connections);
|
||||
}
|
||||
}
|
||||
tree_inventory_item *item;
|
||||
LOOP_OVER_LINKED_LIST(item, tree_inventory_item, inv->items)
|
||||
if (ptype == item->required_ptype) {
|
||||
TreeLists::add(item->node_list, P);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ Calling //MakeSynopticModuleStage::take_inventory// is potentially slow, so
|
||||
we also offer a version which caches the results:
|
||||
|
||||
=
|
||||
tree_inventory *cached_inventory = NULL;
|
||||
inter_tree *cache_is_for = NULL;
|
||||
tree_inventory *MakeSynopticModuleStage::take_inventory_cached(inter_tree *I) {
|
||||
if (cache_is_for == I) return cached_inventory;
|
||||
cache_is_for = I;
|
||||
cached_inventory = MakeSynopticModuleStage::take_inventory(I);
|
||||
return cached_inventory;
|
||||
}
|
||||
|
||||
@ The following are used for sorting.
|
||||
|
||||
=
|
||||
int MakeSynopticModuleStage::module_order(const void *ent1, const void *ent2) {
|
||||
itl_entry *E1 = (itl_entry *) ent1;
|
||||
itl_entry *E2 = (itl_entry *) ent2;
|
||||
if (E1 == E2) return 0;
|
||||
inter_tree_node *P1 = E1->node;
|
||||
inter_tree_node *P2 = E2->node;
|
||||
inter_package *mod1 = MakeSynopticModuleStage::module_containing(P1);
|
||||
inter_package *mod2 = MakeSynopticModuleStage::module_containing(P2);
|
||||
inter_ti C1 = Metadata::read_optional_numeric(mod1, I"^category");
|
||||
inter_ti C2 = Metadata::read_optional_numeric(mod2, I"^category");
|
||||
int d = ((int) C2) - ((int) C1); /* larger values sort earlier */
|
||||
if (d != 0) return d;
|
||||
return E1->sort_key - E2->sort_key; /* smaller values sort earlier */
|
||||
}
|
||||
|
||||
int MakeSynopticModuleStage::category_order(const void *ent1, const void *ent2) {
|
||||
itl_entry *E1 = (itl_entry *) ent1;
|
||||
itl_entry *E2 = (itl_entry *) ent2;
|
||||
if (E1 == E2) return 0;
|
||||
inter_tree_node *P1 = E1->node;
|
||||
inter_tree_node *P2 = E2->node;
|
||||
inter_package *mod1 = Inter::Packages::container(P1);
|
||||
inter_package *mod2 = Inter::Packages::container(P2);
|
||||
inter_ti C1 = Metadata::read_optional_numeric(mod1, I"^category");
|
||||
inter_ti C2 = Metadata::read_optional_numeric(mod2, I"^category");
|
||||
int d = ((int) C2) - ((int) C1); /* larger values sort earlier */
|
||||
if (d != 0) return d;
|
||||
return E1->sort_key - E2->sort_key; /* smaller values sort earlier */
|
||||
}
|
||||
|
||||
inter_package *MakeSynopticModuleStage::module_containing(inter_tree_node *P) {
|
||||
inter_package *pack = Inter::Packages::container(P);
|
||||
inter_tree *I = Inter::Packages::tree(pack);
|
||||
while (pack) {
|
||||
inter_symbol *ptype = Inter::Packages::type(pack);
|
||||
if (ptype == PackageTypes::get(I, I"_module")) return pack;
|
||||
pack = Inter::Packages::parent(pack);
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
|
|
@ -11,13 +11,13 @@ of instances having the kind |K_sound_name|, and so on.
|
|||
=
|
||||
void SynopticMultimedia::compile(inter_tree *I, pipeline_step *step, tree_inventory *inv) {
|
||||
if (TreeLists::len(inv->figure_nodes) > 0) {
|
||||
TreeLists::sort(inv->figure_nodes, Synoptic::module_order);
|
||||
TreeLists::sort(inv->figure_nodes, MakeSynopticModuleStage::module_order);
|
||||
}
|
||||
if (TreeLists::len(inv->sound_nodes) > 0) {
|
||||
TreeLists::sort(inv->sound_nodes, Synoptic::module_order);
|
||||
TreeLists::sort(inv->sound_nodes, MakeSynopticModuleStage::module_order);
|
||||
}
|
||||
if (TreeLists::len(inv->file_nodes) > 0) {
|
||||
TreeLists::sort(inv->file_nodes, Synoptic::module_order);
|
||||
TreeLists::sort(inv->file_nodes, MakeSynopticModuleStage::module_order);
|
||||
}
|
||||
@<Define RESOURCEIDSOFFIGURES array@>;
|
||||
@<Define RESOURCEIDSOFSOUNDS array@>;
|
||||
|
|
|
@ -11,7 +11,7 @@ of packages of type |_activity|.
|
|||
=
|
||||
void SynopticProperties::compile(inter_tree *I, pipeline_step *step, tree_inventory *inv) {
|
||||
if (TreeLists::len(inv->property_nodes) > 0) {
|
||||
TreeLists::sort(inv->property_nodes, Synoptic::module_order);
|
||||
TreeLists::sort(inv->property_nodes, MakeSynopticModuleStage::module_order);
|
||||
for (int i=0; i<TreeLists::len(inv->property_nodes); i++) {
|
||||
inter_package *pack = Inter::Package::defined_by_frame(inv->property_nodes->list[i].node);
|
||||
inter_tree_node *D = Synoptic::get_definition(pack, I"property_id");
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue