mirror of
https://github.com/ganelson/inform.git
synced 2024-06-29 05:24:57 +03:00
Completed simplification of annotations
This commit is contained in:
parent
9fa4d0e196
commit
fb2687b873
|
@ -1,6 +1,6 @@
|
|||
# Inform 7
|
||||
|
||||
v10.1.0-alpha.1+6U62 'Krypton' (20 March 2022)
|
||||
v10.1.0-alpha.1+6U63 'Krypton' (21 March 2022)
|
||||
|
||||
## About Inform 7
|
||||
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
Prerelease: alpha.1
|
||||
Build Date: 20 March 2022
|
||||
Build Number: 6U62
|
||||
Build Date: 21 March 2022
|
||||
Build Number: 6U63
|
||||
|
|
|
@ -261,11 +261,6 @@ it's for the code-generator to define them as it would like, on a platform
|
|||
by platform basis.
|
||||
</p>
|
||||
|
||||
<p class="commentary">Such symbols are the only ones given the <span class="extract"><span class="extract-syntax">VENEER_IANN</span></span> annotation; the term
|
||||
veneer alludes to Inform 6's practice of creating a few built-in definitions
|
||||
which form the "veneer" of the story file it is generating.
|
||||
</p>
|
||||
|
||||
<p class="commentary">For speed, the names of the permitted veneer symbols are stored in a dictionary.
|
||||
(This may not in fact be worth the overhead any longer: at one time there were
|
||||
many more of these.)
|
||||
|
@ -279,6 +274,30 @@ many more of these.)
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbols_table</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tab</span><span class="plain-syntax"> = </span><span class="identifier-syntax">InterPackage::scope</span><span class="plain-syntax">(</span><span class="identifier-syntax">arch</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">InterSymbolsTable::symbol_from_name</span><span class="plain-syntax">(</span><span class="identifier-syntax">tab</span><span class="plain-syntax">, </span><span class="identifier-syntax">N</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">NULL</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="1-ls.html#SP8_1" class="named-paragraph-link"><span class="named-paragraph">Ensure the on-demand dictionary exists</span><span class="named-paragraph-number">8.1</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">Dictionaries::find</span><span class="plain-syntax">(</span><span class="identifier-syntax">create_these_architectural_symbols_on_demand</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">S</span><span class="plain-syntax"> = </span><a href="1-ls.html#SP10" class="function-link"><span class="function-syntax">LargeScale::arch_constant_dec</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">N</span><span class="plain-syntax">, </span><span class="identifier-syntax">InterTypes::unchecked</span><span class="plain-syntax">(), </span><span class="constant-syntax">0</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">return</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">int</span><span class="plain-syntax"> </span><span class="function-syntax">LargeScale::is_veneer_symbol</span><span class="plain-syntax">(</span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">con_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">con_name</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">FALSE</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">con_name</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="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="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Inode::get_package</span><span class="plain-syntax">(</span><span class="identifier-syntax">D</span><span class="plain-syntax">) == </span><a href="1-ls.html#SP7" class="function-link"><span class="function-syntax">LargeScale::architecture_package</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">Inode::tree</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">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">N</span><span class="plain-syntax"> = </span><span class="identifier-syntax">InterSymbol::identifier</span><span class="plain-syntax">(</span><span class="identifier-syntax">con_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">Dictionaries::find</span><span class="plain-syntax">(</span><span class="identifier-syntax">create_these_architectural_symbols_on_demand</span><span class="plain-syntax">, </span><span class="identifier-syntax">N</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>
|
||||
<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>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP8_1" class="paragraph-anchor"></a><b>§8.1. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Ensure the on-demand dictionary exists</span><span class="named-paragraph-number">8.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">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">create_these_architectural_symbols_on_demand</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">create_these_architectural_symbols_on_demand</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Dictionaries::new</span><span class="plain-syntax">(16, </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Dictionaries::create</span><span class="plain-syntax">(</span><span class="identifier-syntax">create_these_architectural_symbols_on_demand</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"#dictionary_table"</span><span class="plain-syntax">);</span>
|
||||
|
@ -290,14 +309,8 @@ many more of these.)
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">Dictionaries::create</span><span class="plain-syntax">(</span><span class="identifier-syntax">create_these_architectural_symbols_on_demand</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Class"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Dictionaries::create</span><span class="plain-syntax">(</span><span class="identifier-syntax">create_these_architectural_symbols_on_demand</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Object"</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">Dictionaries::find</span><span class="plain-syntax">(</span><span class="identifier-syntax">create_these_architectural_symbols_on_demand</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">S</span><span class="plain-syntax"> = </span><a href="1-ls.html#SP10" class="function-link"><span class="function-syntax">LargeScale::arch_constant_dec</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">N</span><span class="plain-syntax">, </span><span class="identifier-syntax">InterTypes::unchecked</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">SymbolAnnotation::set_b</span><span class="plain-syntax">(</span><span class="identifier-syntax">S</span><span class="plain-syntax">, </span><span class="identifier-syntax">VENEER_IANN</span><span class="plain-syntax">, </span><span class="identifier-syntax">TRUE</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">return</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="1-ls.html#SP8">§8</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP9" class="paragraph-anchor"></a><b>§9. </b>The other architectural constants are the ones depending on the architecture
|
||||
being compiled to. These always exist, and their values are known at compile time.
|
||||
</p>
|
||||
|
@ -359,7 +372,6 @@ compilation when building kits.
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">arch</span><span class="plain-syntax"> = </span><a href="1-ls.html#SP7" class="function-link"><span class="function-syntax">LargeScale::architecture_package</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">inter_symbols_table</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tab</span><span class="plain-syntax"> = </span><span class="identifier-syntax">InterPackage::scope</span><span class="plain-syntax">(</span><span class="identifier-syntax">arch</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">InterSymbolsTable::symbol_from_name_creating</span><span class="plain-syntax">(</span><span class="identifier-syntax">tab</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">SymbolAnnotation::set_b</span><span class="plain-syntax">(</span><span class="identifier-syntax">S</span><span class="plain-syntax">, </span><span class="identifier-syntax">ARCHITECTURAL_IANN</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_bookmark</span><span class="plain-syntax"> *</span><span class="identifier-syntax">IBM</span><span class="plain-syntax"> = &(</span><span class="identifier-syntax">I</span><span class="plain-syntax">-></span><span class="identifier-syntax">site</span><span class="plain-syntax">.</span><span class="element-syntax">strdata</span><span class="plain-syntax">.</span><span class="element-syntax">architecture_bookmark</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="3-prd.html#SP17" class="function-link"><span class="function-syntax">Produce::guard</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">ConstantInstruction::new</span><span class="plain-syntax">(</span><span class="identifier-syntax">IBM</span><span class="plain-syntax">, </span><span class="identifier-syntax">S</span><span class="plain-syntax">, </span><span class="identifier-syntax">type</span><span class="plain-syntax">, </span><span class="identifier-syntax">val</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">InterBookmark::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>
|
||||
|
|
|
@ -179,7 +179,7 @@ which use this module:
|
|||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="1-bm.html#SP3">§3</a>.</li></ul>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="P-wtmd.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresscurrentchapter">1</li><li class="progresscurrent">bm</li><li class="progresssection"><a href="1-tiv.html">tiv</a></li><li class="progresschapter"><a href="2-it.html">2</a></li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresschapter"><a href="4-tac.html">4</a></li><li class="progresschapter"><a href="5-tac.html">5</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="1-tiv.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="P-wtmd.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresscurrentchapter">1</li><li class="progresscurrent">bm</li><li class="progresssection"><a href="1-tiv.html">tiv</a></li><li class="progresschapter"><a href="2-it.html">2</a></li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresschapter"><a href="4-tcc.html">4</a></li><li class="progresschapter"><a href="5-tac.html">5</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="1-tiv.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -151,7 +151,7 @@ consecutive unsigned integers in the file header: see <a href="3-iibf.html" clas
|
|||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="1-bm.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresscurrentchapter">1</li><li class="progresssection"><a href="1-bm.html">bm</a></li><li class="progresscurrent">tiv</li><li class="progresschapter"><a href="2-it.html">2</a></li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresschapter"><a href="4-tac.html">4</a></li><li class="progresschapter"><a href="5-tac.html">5</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="2-it.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="1-bm.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresscurrentchapter">1</li><li class="progresssection"><a href="1-bm.html">bm</a></li><li class="progresscurrent">tiv</li><li class="progresschapter"><a href="2-it.html">2</a></li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresschapter"><a href="4-tcc.html">4</a></li><li class="progresschapter"><a href="5-tac.html">5</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="2-it.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -137,12 +137,9 @@ read in which had used an inconsistent set of annotations.
|
|||
</p>
|
||||
|
||||
<pre class="definitions code-font"><span class="definition-keyword">enum</span> <span class="constant-syntax">INVALID_IANN</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">ARCHITECTURAL_IANN</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">ASSIMILATED_IANN</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">FAKE_ACTION_IANN</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">INLINE_ARRAY_IANN</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">OBJECT_IANN</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">VENEER_IANN</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">C_ARRAY_ADDRESS_IANN</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">I6_GLOBAL_OFFSET_IANN</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">OBJECT_KIND_COUNTER_IANN</span>
|
||||
|
@ -158,12 +155,9 @@ any symbol: it's used to mean "do not make an annotation".
|
|||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">SymbolAnnotation::declare_canonical_annotations</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">SymbolAnnotation::declare_canonical_annotations</span></span>:<br/>Inter Constructs - <a href="3-ic.html#SP15">§15</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">void</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><a href="2-ann.html#SP2" class="function-link"><span class="function-syntax">SymbolAnnotation::declare</span></a><span class="plain-syntax">(</span><span class="constant-syntax">INVALID_IANN</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"__invalid"</span><span class="plain-syntax">, </span><span class="constant-syntax">INTEGER_IATYPE</span><span class="plain-syntax">);</span>
|
||||
|
||||
<span class="plain-syntax"> </span><a href="2-ann.html#SP2" class="function-link"><span class="function-syntax">SymbolAnnotation::declare</span></a><span class="plain-syntax">(</span><span class="constant-syntax">ARCHITECTURAL_IANN</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"__architectural"</span><span class="plain-syntax">, </span><span class="constant-syntax">BOOLEAN_IATYPE</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-ann.html#SP2" class="function-link"><span class="function-syntax">SymbolAnnotation::declare</span></a><span class="plain-syntax">(</span><span class="constant-syntax">ASSIMILATED_IANN</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"__assimilated"</span><span class="plain-syntax">, </span><span class="constant-syntax">BOOLEAN_IATYPE</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-ann.html#SP2" class="function-link"><span class="function-syntax">SymbolAnnotation::declare</span></a><span class="plain-syntax">(</span><span class="constant-syntax">FAKE_ACTION_IANN</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"__fake_action"</span><span class="plain-syntax">, </span><span class="constant-syntax">BOOLEAN_IATYPE</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-ann.html#SP2" class="function-link"><span class="function-syntax">SymbolAnnotation::declare</span></a><span class="plain-syntax">(</span><span class="constant-syntax">INLINE_ARRAY_IANN</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"__inline_array"</span><span class="plain-syntax">, </span><span class="constant-syntax">BOOLEAN_IATYPE</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-ann.html#SP2" class="function-link"><span class="function-syntax">SymbolAnnotation::declare</span></a><span class="plain-syntax">(</span><span class="constant-syntax">OBJECT_IANN</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"__object"</span><span class="plain-syntax">, </span><span class="constant-syntax">BOOLEAN_IATYPE</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-ann.html#SP2" class="function-link"><span class="function-syntax">SymbolAnnotation::declare</span></a><span class="plain-syntax">(</span><span class="constant-syntax">VENEER_IANN</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"__veneer"</span><span class="plain-syntax">, </span><span class="constant-syntax">BOOLEAN_IATYPE</span><span class="plain-syntax">);</span>
|
||||
|
||||
<span class="plain-syntax"> </span><a href="2-ann.html#SP2" class="function-link"><span class="function-syntax">SymbolAnnotation::declare</span></a><span class="plain-syntax">(</span><span class="constant-syntax">APPEND_IANN</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"__append"</span><span class="plain-syntax">, </span><span class="constant-syntax">TEXTUAL_IATYPE</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-ann.html#SP2" class="function-link"><span class="function-syntax">SymbolAnnotation::declare</span></a><span class="plain-syntax">(</span><span class="constant-syntax">INNER_PROPERTY_NAME_IANN</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"__inner_property_name"</span><span class="plain-syntax">, </span><span class="constant-syntax">TEXTUAL_IATYPE</span><span class="plain-syntax">);</span>
|
||||
|
@ -209,7 +203,7 @@ any symbol: it's used to mean "do not make an annotation".
|
|||
<span class="plain-syntax"> </span><a href="2-ann.html#SP6" class="function-link"><span class="function-syntax">SymbolAnnotation::set</span></a><span class="plain-syntax">(</span><span class="constant-syntax">INTEGER_IATYPE</span><span class="plain-syntax">, </span><span class="identifier-syntax">S</span><span class="plain-syntax">, </span><span class="identifier-syntax">IA</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">SymbolAnnotation::set_t</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">SymbolAnnotation::set_t</span></span>:<br/>Symbols - <a href="2-sym.html#SP20">§20</a><br/>The Append Construct - <a href="4-tac.html#SP3">§3</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inter_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="reserved-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">owner</span><span class="plain-syntax">, </span><span class="reserved-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">S</span><span class="plain-syntax">,</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">SymbolAnnotation::set_t</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">SymbolAnnotation::set_t</span></span>:<br/>Symbols - <a href="2-sym.html#SP20">§20</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inter_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="reserved-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">owner</span><span class="plain-syntax">, </span><span class="reserved-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="constant-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">annot_ID</span><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="constant-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">n</span><span class="plain-syntax"> = </span><a href="2-tw.html#SP7" class="function-link"><span class="function-syntax">InterWarehouse::create_text</span></a><span class="plain-syntax">(</span><a href="2-it.html#SP3" class="function-link"><span class="function-syntax">InterTree::warehouse</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">), </span><span class="identifier-syntax">owner</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Str::copy</span><span class="plain-syntax">(</span><a href="2-tw.html#SP7" class="function-link"><span class="function-syntax">InterWarehouse::get_text</span></a><span class="plain-syntax">(</span><a href="2-it.html#SP3" class="function-link"><span class="function-syntax">InterTree::warehouse</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">), </span><span class="identifier-syntax">n</span><span class="plain-syntax">), </span><span class="identifier-syntax">text</span><span class="plain-syntax">);</span>
|
||||
|
@ -228,7 +222,7 @@ is <span class="extract"><span class="extract-syntax">FALSE</span></span>, where
|
|||
</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">SymbolAnnotation::get_b</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">SymbolAnnotation::get_b</span></span>:<br/>Transmigration - <a href="2-trn.html#SP4_2_2">§4.2.2</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">const</span><span class="plain-syntax"> </span><span class="reserved-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">S</span><span class="plain-syntax">, </span><span class="constant-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">ID</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">SymbolAnnotation::get_b</span><span class="plain-syntax">(</span><span class="reserved-syntax">const</span><span class="plain-syntax"> </span><span class="reserved-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">S</span><span class="plain-syntax">, </span><span class="constant-syntax">inter_ti</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">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">found</span><span class="plain-syntax"> = </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="constant-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">val</span><span class="plain-syntax"> = </span><a href="2-ann.html#SP12" class="function-link"><span class="function-syntax">SymbolAnnotation::read_from_set</span></a><span class="plain-syntax">(</span><span class="constant-syntax">BOOLEAN_IATYPE</span><span class="plain-syntax">, &(</span><span class="identifier-syntax">S</span><span class="plain-syntax">-></span><span class="element-syntax">annotations</span><span class="plain-syntax">), </span><span class="identifier-syntax">ID</span><span class="plain-syntax">, &</span><span class="identifier-syntax">found</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">found</span><span class="plain-syntax">) </span><span class="reserved-syntax">return</span><span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax">) </span><span class="identifier-syntax">val</span><span class="plain-syntax">;</span>
|
||||
|
@ -242,7 +236,7 @@ is <span class="extract"><span class="extract-syntax">FALSE</span></span>, where
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> -1;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="function-syntax">SymbolAnnotation::get_t</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">SymbolAnnotation::get_t</span></span>:<br/>Symbols - <a href="2-sym.html#SP20">§20</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">S</span><span class="plain-syntax">, </span><span class="reserved-syntax">inter_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="constant-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">ID</span><span class="plain-syntax">) {</span>
|
||||
<span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="function-syntax">SymbolAnnotation::get_t</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">SymbolAnnotation::get_t</span></span>:<br/>Symbols - <a href="2-sym.html#SP20">§20</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">S</span><span class="plain-syntax">, </span><span class="reserved-syntax">inter_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="constant-syntax">inter_ti</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">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">found</span><span class="plain-syntax"> = </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="constant-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">val</span><span class="plain-syntax"> = </span><a href="2-ann.html#SP12" class="function-link"><span class="function-syntax">SymbolAnnotation::read_from_set</span></a><span class="plain-syntax">(</span><span class="constant-syntax">TEXTUAL_IATYPE</span><span class="plain-syntax">, &(</span><span class="identifier-syntax">S</span><span class="plain-syntax">-></span><span class="element-syntax">annotations</span><span class="plain-syntax">), </span><span class="identifier-syntax">ID</span><span class="plain-syntax">, &</span><span class="identifier-syntax">found</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">found</span><span class="plain-syntax">) </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><a href="2-tw.html#SP7" class="function-link"><span class="function-syntax">InterWarehouse::get_text</span></a><span class="plain-syntax">(</span><a href="2-it.html#SP3" class="function-link"><span class="function-syntax">InterTree::warehouse</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">), </span><span class="identifier-syntax">val</span><span class="plain-syntax">);</span>
|
||||
|
@ -266,14 +260,14 @@ with a pair of <span class="extract"><span class="extract-syntax">inter_ti</span
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">IA</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="reserved-syntax">inter_annotation</span><span class="plain-syntax"> </span><span class="function-syntax">SymbolAnnotation::invalid_annotation</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">SymbolAnnotation::invalid_annotation</span></span>:<br/><a href="2-ann.html#SP9">§9</a>, <a href="2-ann.html#SP15">§15</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">void</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">inter_annotation</span><span class="plain-syntax"> </span><span class="function-syntax">SymbolAnnotation::invalid_annotation</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">SymbolAnnotation::invalid_annotation</span></span>:<br/><a href="2-ann.html#SP9">§9</a>, <a href="2-ann.html#SP15">§15</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">void</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">inter_annotation</span><span class="plain-syntax"> </span><span class="identifier-syntax">IA</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">IA</span><span class="plain-syntax">.</span><span class="element-syntax">annot</span><span class="plain-syntax"> = </span><span class="identifier-syntax">invalid_IAF</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">IA</span><span class="plain-syntax">.</span><span class="element-syntax">annot_value</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">IA</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">SymbolAnnotation::is_invalid</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">SymbolAnnotation::is_invalid</span></span>:<br/>Inter in Binary Files - <a href="3-iibf.html#SP9_1_3_2_2_1">§9.1.3.2.2.1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inter_annotation</span><span class="plain-syntax"> </span><span class="identifier-syntax">IA</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">SymbolAnnotation::is_invalid</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">SymbolAnnotation::is_invalid</span></span>:<br/>Inter in Binary Files - <a href="3-iibf.html#SP9_1_3_2_2_1">§9.1.3.2.2.1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inter_annotation</span><span class="plain-syntax"> </span><span class="identifier-syntax">IA</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">IA</span><span class="plain-syntax">.</span><span class="element-syntax">annot</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) || (</span><span class="identifier-syntax">IA</span><span class="plain-syntax">.</span><span class="element-syntax">annot</span><span class="plain-syntax">-></span><span class="element-syntax">annotation_ID</span><span class="plain-syntax"> == </span><span class="constant-syntax">INVALID_IANN</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><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>
|
||||
|
@ -283,7 +277,7 @@ with a pair of <span class="extract"><span class="extract-syntax">inter_ti</span
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">inter_annotation</span><span class="plain-syntax"> </span><span class="function-syntax">SymbolAnnotation::from_pair</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">SymbolAnnotation::from_pair</span></span>:<br/><a href="2-ann.html#SP6">§6</a>, <a href="2-ann.html#SP14">§14</a><br/>Inter in Binary Files - <a href="3-iibf.html#SP9_1_3_2_2_1">§9.1.3.2.2.1</a></span></button><span class="plain-syntax">(</span><span class="constant-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">c1</span><span class="plain-syntax">, </span><span class="constant-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">c2</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">inter_annotation</span><span class="plain-syntax"> </span><span class="function-syntax">SymbolAnnotation::from_pair</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">SymbolAnnotation::from_pair</span></span>:<br/><a href="2-ann.html#SP6">§6</a>, <a href="2-ann.html#SP14">§14</a><br/>Inter in Binary Files - <a href="3-iibf.html#SP9_1_3_2_2_1">§9.1.3.2.2.1</a></span></button><span class="plain-syntax">(</span><span class="constant-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">c1</span><span class="plain-syntax">, </span><span class="constant-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">c2</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">iafs_registered_initialised</span><span class="plain-syntax">) && (</span><span class="identifier-syntax">c1</span><span class="plain-syntax"> < </span><span class="constant-syntax">MAX_IAFS</span><span class="plain-syntax">) && (</span><span class="identifier-syntax">iafs_registered</span><span class="plain-syntax">[</span><span class="identifier-syntax">c1</span><span class="plain-syntax">])) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">inter_annotation</span><span class="plain-syntax"> </span><span class="identifier-syntax">IA</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">IA</span><span class="plain-syntax">.</span><span class="identifier-syntax">annot</span><span class="plain-syntax"> = </span><span class="identifier-syntax">iafs_registered</span><span class="plain-syntax">[</span><span class="identifier-syntax">c1</span><span class="plain-syntax">];</span>
|
||||
|
@ -293,7 +287,7 @@ with a pair of <span class="extract"><span class="extract-syntax">inter_ti</span
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><a href="2-ann.html#SP8" class="function-link"><span class="function-syntax">SymbolAnnotation::invalid_annotation</span></a><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">SymbolAnnotation::to_pair</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">SymbolAnnotation::to_pair</span></span>:<br/>Inter in Binary Files - <a href="3-iibf.html#SP9_2_3_2_2_1">§9.2.3.2.2.1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inter_annotation</span><span class="plain-syntax"> </span><span class="identifier-syntax">IA</span><span class="plain-syntax">, </span><span class="constant-syntax">inter_ti</span><span class="plain-syntax"> *</span><span class="identifier-syntax">c1</span><span class="plain-syntax">, </span><span class="constant-syntax">inter_ti</span><span class="plain-syntax"> *</span><span class="identifier-syntax">c2</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">SymbolAnnotation::to_pair</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">SymbolAnnotation::to_pair</span></span>:<br/>Inter in Binary Files - <a href="3-iibf.html#SP9_2_3_2_2_1">§9.2.3.2.2.1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inter_annotation</span><span class="plain-syntax"> </span><span class="identifier-syntax">IA</span><span class="plain-syntax">, </span><span class="constant-syntax">inter_ti</span><span class="plain-syntax"> *</span><span class="identifier-syntax">c1</span><span class="plain-syntax">, </span><span class="constant-syntax">inter_ti</span><span class="plain-syntax"> *</span><span class="identifier-syntax">c2</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> *</span><span class="identifier-syntax">c1</span><span class="plain-syntax"> = </span><span class="identifier-syntax">IA</span><span class="plain-syntax">.</span><span class="element-syntax">annot</span><span class="plain-syntax">-></span><span class="element-syntax">annotation_ID</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> *</span><span class="identifier-syntax">c2</span><span class="plain-syntax"> = </span><span class="identifier-syntax">IA</span><span class="plain-syntax">.</span><span class="element-syntax">annot_value</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
@ -315,14 +309,14 @@ others in a linked list whose ordering has no meaning.
|
|||
<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">other_annotations</span><span class="plain-syntax">; </span><span class="comment-syntax"> of </span><span class="extract"><span class="extract-syntax">inter_annotation</span></span>
|
||||
<span class="plain-syntax">} </span><span class="reserved-syntax">inter_annotation_set</span><span class="plain-syntax">;</span>
|
||||
|
||||
<span class="reserved-syntax">inter_annotation_set</span><span class="plain-syntax"> </span><span class="function-syntax">SymbolAnnotation::new_annotation_set</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">SymbolAnnotation::new_annotation_set</span></span>:<br/>Symbols - <a href="2-sym.html#SP2">§2</a><br/>Inter in Text Files - <a href="3-iitf.html#SP3">§3</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">void</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">inter_annotation_set</span><span class="plain-syntax"> </span><span class="function-syntax">SymbolAnnotation::new_annotation_set</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">SymbolAnnotation::new_annotation_set</span></span>:<br/>Symbols - <a href="2-sym.html#SP2">§2</a><br/>Inter in Text Files - <a href="3-iitf.html#SP3">§3</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">void</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">inter_annotation_set</span><span class="plain-syntax"> </span><span class="identifier-syntax">set</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">set</span><span class="plain-syntax">.</span><span class="element-syntax">boolean_annotations</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">set</span><span class="plain-syntax">.</span><span class="element-syntax">other_annotations</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">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">set</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">SymbolAnnotation::nonempty</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">SymbolAnnotation::nonempty</span></span>:<br/>Inter Constructs - <a href="3-ic.html#SP20">§20</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inter_annotation_set</span><span class="plain-syntax"> *</span><span class="identifier-syntax">set</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">SymbolAnnotation::nonempty</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">SymbolAnnotation::nonempty</span></span>:<br/>Inter Constructs - <a href="3-ic.html#SP20">§20</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inter_annotation_set</span><span class="plain-syntax"> *</span><span class="identifier-syntax">set</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">set</span><span class="plain-syntax">) &&</span>
|
||||
<span class="plain-syntax"> ((</span><span class="identifier-syntax">set</span><span class="plain-syntax">-></span><span class="element-syntax">boolean_annotations</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">LinkedLists::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">set</span><span class="plain-syntax">-></span><span class="element-syntax">other_annotations</span><span class="plain-syntax">))))</span>
|
||||
|
@ -337,7 +331,7 @@ So writing <span class="extract"><span class="extract-syntax">__arrow_count=12</
|
|||
</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">SymbolAnnotation::write_to_set</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">SymbolAnnotation::write_to_set</span></span>:<br/><a href="2-ann.html#SP6">§6</a><br/>Inter in Text Files - <a href="3-iitf.html#SP3_3">§3.3</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">iatype</span><span class="plain-syntax">, </span><span class="reserved-syntax">inter_annotation_set</span><span class="plain-syntax"> *</span><span class="identifier-syntax">set</span><span class="plain-syntax">, </span><span class="reserved-syntax">inter_annotation</span><span class="plain-syntax"> </span><span class="identifier-syntax">A</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">SymbolAnnotation::write_to_set</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">SymbolAnnotation::write_to_set</span></span>:<br/><a href="2-ann.html#SP6">§6</a><br/>Inter in Text Files - <a href="3-iitf.html#SP3_3">§3.3</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">iatype</span><span class="plain-syntax">, </span><span class="reserved-syntax">inter_annotation_set</span><span class="plain-syntax"> *</span><span class="identifier-syntax">set</span><span class="plain-syntax">, </span><span class="reserved-syntax">inter_annotation</span><span class="plain-syntax"> </span><span class="identifier-syntax">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">A</span><span class="plain-syntax">.</span><span class="identifier-syntax">annot</span><span class="plain-syntax">-></span><span class="element-syntax">annotation_ID</span><span class="plain-syntax"> == </span><span class="constant-syntax">INVALID_IANN</span><span class="plain-syntax">) </span><span class="identifier-syntax">internal_error</span><span class="plain-syntax">(</span><span class="string-syntax">"added invalid annotation"</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">iatype</span><span class="plain-syntax"> != </span><span class="identifier-syntax">A</span><span class="plain-syntax">.</span><span class="element-syntax">annot</span><span class="plain-syntax">-></span><span class="element-syntax">iatype</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">STDERR</span><span class="plain-syntax">, </span><span class="string-syntax">"Annotation %S (%d) should have type %d but used %d\n"</span><span class="plain-syntax">,</span>
|
||||
|
@ -371,7 +365,7 @@ annotations, since they are stored in a bitmap which is always present.
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="constant-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="function-syntax">SymbolAnnotation::read_from_set</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">SymbolAnnotation::read_from_set</span></span>:<br/><a href="2-ann.html#SP7">§7</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">iatype</span><span class="plain-syntax">, </span><span class="reserved-syntax">const</span><span class="plain-syntax"> </span><span class="reserved-syntax">inter_annotation_set</span><span class="plain-syntax"> *</span><span class="identifier-syntax">set</span><span class="plain-syntax">,</span>
|
||||
<span class="constant-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="function-syntax">SymbolAnnotation::read_from_set</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">SymbolAnnotation::read_from_set</span></span>:<br/><a href="2-ann.html#SP7">§7</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">iatype</span><span class="plain-syntax">, </span><span class="reserved-syntax">const</span><span class="plain-syntax"> </span><span class="reserved-syntax">inter_annotation_set</span><span class="plain-syntax"> *</span><span class="identifier-syntax">set</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="constant-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">ID</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> *</span><span class="identifier-syntax">found</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">iafs_registered_initialised</span><span class="plain-syntax"> == </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">) || (</span><span class="identifier-syntax">ID</span><span class="plain-syntax"> >= </span><span class="constant-syntax">MAX_IAFS</span><span class="plain-syntax">)) {</span>
|
||||
<span class="plain-syntax"> *</span><span class="identifier-syntax">found</span><span class="plain-syntax"> = </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">;</span>
|
||||
|
@ -407,7 +401,7 @@ we then want to impose these on some new symbol:
|
|||
</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">SymbolAnnotation::copy_set_to_symbol</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">SymbolAnnotation::copy_set_to_symbol</span></span>:<br/>The Constant Construct - <a href="4-tcc2.html#SP6">§6</a><br/>The Property Construct - <a href="4-tpc6.html#SP4">§4</a><br/>The Variable Construct - <a href="4-tvc.html#SP4">§4</a><br/>The Local Construct - <a href="5-tlc3.html#SP4">§4</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inter_annotation_set</span><span class="plain-syntax"> *</span><span class="identifier-syntax">set</span><span class="plain-syntax">, </span><span class="reserved-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">S</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">SymbolAnnotation::copy_set_to_symbol</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">SymbolAnnotation::copy_set_to_symbol</span></span>:<br/>The Constant Construct - <a href="4-tcc2.html#SP6">§6</a><br/>The Property Construct - <a href="4-tpc6.html#SP4">§4</a><br/>The Variable Construct - <a href="4-tvc.html#SP4">§4</a><br/>The Local Construct - <a href="5-tlc3.html#SP4">§4</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inter_annotation_set</span><span class="plain-syntax"> *</span><span class="identifier-syntax">set</span><span class="plain-syntax">, </span><span class="reserved-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">set</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">S</span><span class="plain-syntax">-></span><span class="identifier-syntax">annotations</span><span class="plain-syntax">.</span><span class="element-syntax">boolean_annotations</span><span class="plain-syntax"> |= </span><span class="identifier-syntax">set</span><span class="plain-syntax">-></span><span class="element-syntax">boolean_annotations</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">set</span><span class="plain-syntax">-></span><span class="element-syntax">other_annotations</span><span class="plain-syntax">) {</span>
|
||||
|
@ -423,7 +417,7 @@ if true, because if false then they are indistinguishable from not being there a
|
|||
</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">SymbolAnnotation::write_annotations</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">SymbolAnnotation::write_annotations</span></span>:<br/>Inter Constructs - <a href="3-ic.html#SP18">§18</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">inter_tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">F</span><span class="plain-syntax">, </span><span class="reserved-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">S</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">SymbolAnnotation::write_annotations</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">SymbolAnnotation::write_annotations</span></span>:<br/>Inter Constructs - <a href="3-ic.html#SP18">§18</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">inter_tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">F</span><span class="plain-syntax">, </span><span class="reserved-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">S</span><span class="plain-syntax">) </span><a href="2-ann.html#SP14" class="function-link"><span class="function-syntax">SymbolAnnotation::write_set</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, &(</span><span class="identifier-syntax">S</span><span class="plain-syntax">-></span><span class="element-syntax">annotations</span><span class="plain-syntax">), </span><span class="identifier-syntax">F</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
|
@ -459,7 +453,7 @@ if true, because if false then they are indistinguishable from not being there a
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">inter_annotation</span><span class="plain-syntax"> </span><span class="function-syntax">SymbolAnnotation::read_annotation</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">SymbolAnnotation::read_annotation</span></span>:<br/>Inter in Text Files - <a href="3-iitf.html#SP3_3">§3.3</a></span></button><span class="plain-syntax">(</span><span class="reserved-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">text</span><span class="plain-syntax">,</span>
|
||||
<span class="reserved-syntax">inter_annotation</span><span class="plain-syntax"> </span><span class="function-syntax">SymbolAnnotation::read_annotation</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">SymbolAnnotation::read_annotation</span></span>:<br/>Inter in Text Files - <a href="3-iitf.html#SP3_3">§3.3</a></span></button><span class="plain-syntax">(</span><span class="reserved-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">text</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">inter_error_location</span><span class="plain-syntax"> *</span><span class="identifier-syntax">eloc</span><span class="plain-syntax">, </span><span class="reserved-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="constant-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">val</span><span class="plain-syntax"> = </span><span class="identifier-syntax">TRUE</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">iatype</span><span class="plain-syntax"> = </span><span class="constant-syntax">BOOLEAN_IATYPE</span><span class="plain-syntax">;</span>
|
||||
|
@ -499,7 +493,7 @@ if true, because if false then they are indistinguishable from not being there a
|
|||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="2-sym.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-it.html">it</a></li><li class="progresssection"><a href="2-in.html">in</a></li><li class="progresssection"><a href="2-bkm.html">bkm</a></li><li class="progresssection"><a href="2-np.html">np</a></li><li class="progresssection"><a href="2-tw.html">tw</a></li><li class="progresssection"><a href="2-pck.html">pck</a></li><li class="progresssection"><a href="2-inl.html">inl</a></li><li class="progresssection"><a href="2-st.html">st</a></li><li class="progresssection"><a href="2-sym.html">sym</a></li><li class="progresscurrent">ann</li><li class="progresssection"><a href="2-tw2.html">tw2</a></li><li class="progresssection"><a href="2-trn.html">trn</a></li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresschapter"><a href="4-tac.html">4</a></li><li class="progresschapter"><a href="5-tac.html">5</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="2-tw2.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="2-sym.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-it.html">it</a></li><li class="progresssection"><a href="2-in.html">in</a></li><li class="progresssection"><a href="2-bkm.html">bkm</a></li><li class="progresssection"><a href="2-np.html">np</a></li><li class="progresssection"><a href="2-tw.html">tw</a></li><li class="progresssection"><a href="2-pck.html">pck</a></li><li class="progresssection"><a href="2-inl.html">inl</a></li><li class="progresssection"><a href="2-st.html">st</a></li><li class="progresssection"><a href="2-sym.html">sym</a></li><li class="progresscurrent">ann</li><li class="progresssection"><a href="2-tw2.html">tw2</a></li><li class="progresssection"><a href="2-trn.html">trn</a></li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresschapter"><a href="4-tcc.html">4</a></li><li class="progresschapter"><a href="5-tac.html">5</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="2-tw2.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -200,7 +200,7 @@ equal to <span class="extract"><span class="extract-syntax">P</span></span>.
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="function-syntax">InterBookmark::package</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">InterBookmark::package</span></span>:<br/><a href="2-bkm.html#SP7">§7</a><br/>Inter Nodes - <a href="2-in.html#SP5">§5</a><br/>The Warehouse - <a href="2-tw.html#SP7">§7</a><br/>Symbols Tables - <a href="2-st.html#SP16">§16</a><br/>Transmigration - <a href="2-trn.html#SP4_1_1">§4.1.1</a>, <a href="2-trn.html#SP4_2_1_1">§4.2.1.1</a><br/>Inter Constructs - <a href="3-ic.html#SP6">§6</a><br/>Inter in Text Files - <a href="3-iitf.html#SP3_2">§3.2</a><br/>Inter Value Pairs - <a href="3-ivp.html#SP6">§6</a>, <a href="3-ivp.html#SP8">§8</a>, <a href="3-ivp.html#SP9">§9</a>, <a href="3-ivp.html#SP11">§11</a>, <a href="3-ivp.html#SP13">§13</a>, <a href="3-ivp.html#SP15">§15</a><br/>The Append Construct - <a href="4-tac.html#SP2">§2</a><br/>The Comment Construct - <a href="4-tcc.html#SP2">§2</a><br/>The Constant Construct - <a href="4-tcc2.html#SP2">§2</a>, <a href="4-tcc2.html#SP4">§4</a><br/>The Insert Construct - <a href="4-tic.html#SP2">§2</a><br/>The Instance Construct - <a href="4-tic2.html#SP2">§2</a><br/>The Nop Construct - <a href="4-tnc.html#SP2">§2</a><br/>The Package Construct - <a href="4-tpc.html#SP3">§3</a>, <a href="4-tpc.html#SP4">§4</a><br/>The PackageType Construct - <a href="4-tpc2.html#SP2">§2</a><br/>The Permission Construct - <a href="4-tpc3.html#SP2">§2</a><br/>The Pragma Construct - <a href="4-tpc4.html#SP2">§2</a><br/>The Primitive Construct - <a href="4-tpc5.html#SP2">§2</a><br/>The Property Construct - <a href="4-tpc6.html#SP2">§2</a><br/>The PropertyValue Construct - <a href="4-tpc7.html#SP2">§2</a><br/>The Typename Construct - <a href="4-ttc.html#SP2">§2</a><br/>The Variable Construct - <a href="4-tvc.html#SP2">§2</a><br/>The Assembly Construct - <a href="5-tac.html#SP2">§2</a><br/>The Cast Construct - <a href="5-tcc.html#SP2">§2</a><br/>The Code Construct - <a href="5-tcc2.html#SP2">§2</a><br/>The Evaluation Construct - <a href="5-tec.html#SP2">§2</a><br/>The Inv Construct - <a href="5-tic.html#SP3">§3</a><br/>The Lab Construct - <a href="5-tlc.html#SP2">§2</a><br/>The Label Construct - <a href="5-tlc2.html#SP2">§2</a><br/>The Local Construct - <a href="5-tlc3.html#SP2">§2</a><br/>The Ref Construct - <a href="5-trc.html#SP2">§2</a><br/>The Reference Construct - <a href="5-trc2.html#SP2">§2</a><br/>The Splat Construct - <a href="5-tsc.html#SP2">§2</a><br/>The Val Construct - <a href="5-tvc.html#SP2">§2</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inter_bookmark</span><span class="plain-syntax"> *</span><span class="identifier-syntax">IBM</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="function-syntax">InterBookmark::package</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">InterBookmark::package</span></span>:<br/><a href="2-bkm.html#SP7">§7</a><br/>Inter Nodes - <a href="2-in.html#SP5">§5</a><br/>The Warehouse - <a href="2-tw.html#SP7">§7</a><br/>Symbols Tables - <a href="2-st.html#SP16">§16</a><br/>Transmigration - <a href="2-trn.html#SP4_1_1">§4.1.1</a>, <a href="2-trn.html#SP4_2_1_1">§4.2.1.1</a><br/>Inter Constructs - <a href="3-ic.html#SP6">§6</a><br/>Inter in Text Files - <a href="3-iitf.html#SP3_2">§3.2</a><br/>Inter Value Pairs - <a href="3-ivp.html#SP6">§6</a>, <a href="3-ivp.html#SP8">§8</a>, <a href="3-ivp.html#SP9">§9</a>, <a href="3-ivp.html#SP11">§11</a>, <a href="3-ivp.html#SP13">§13</a>, <a href="3-ivp.html#SP15">§15</a><br/>The Comment Construct - <a href="4-tcc.html#SP2">§2</a><br/>The Constant Construct - <a href="4-tcc2.html#SP2">§2</a>, <a href="4-tcc2.html#SP4">§4</a><br/>The Insert Construct - <a href="4-tic.html#SP2">§2</a><br/>The Instance Construct - <a href="4-tic2.html#SP2">§2</a><br/>The Nop Construct - <a href="4-tnc.html#SP2">§2</a><br/>The Package Construct - <a href="4-tpc.html#SP3">§3</a>, <a href="4-tpc.html#SP4">§4</a><br/>The PackageType Construct - <a href="4-tpc2.html#SP2">§2</a><br/>The Permission Construct - <a href="4-tpc3.html#SP2">§2</a><br/>The Pragma Construct - <a href="4-tpc4.html#SP2">§2</a><br/>The Primitive Construct - <a href="4-tpc5.html#SP2">§2</a><br/>The Property Construct - <a href="4-tpc6.html#SP2">§2</a><br/>The PropertyValue Construct - <a href="4-tpc7.html#SP2">§2</a><br/>The Typename Construct - <a href="4-ttc.html#SP2">§2</a><br/>The Variable Construct - <a href="4-tvc.html#SP2">§2</a><br/>The Assembly Construct - <a href="5-tac.html#SP2">§2</a><br/>The Cast Construct - <a href="5-tcc.html#SP2">§2</a><br/>The Code Construct - <a href="5-tcc2.html#SP2">§2</a><br/>The Evaluation Construct - <a href="5-tec.html#SP2">§2</a><br/>The Inv Construct - <a href="5-tic.html#SP3">§3</a><br/>The Lab Construct - <a href="5-tlc.html#SP2">§2</a><br/>The Label Construct - <a href="5-tlc2.html#SP2">§2</a><br/>The Local Construct - <a href="5-tlc3.html#SP2">§2</a><br/>The Ref Construct - <a href="5-trc.html#SP2">§2</a><br/>The Reference Construct - <a href="5-trc2.html#SP2">§2</a><br/>The Splat Construct - <a href="5-tsc.html#SP2">§2</a><br/>The Val Construct - <a href="5-tvc.html#SP2">§2</a></span></button><span class="plain-syntax">(</span><span class="reserved-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="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">IBM</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="reserved-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax"> = </span><span class="identifier-syntax">IBM</span><span class="plain-syntax">-></span><span class="element-syntax">R</span><span class="plain-syntax">-></span><span class="element-syntax">package</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">IBM</span><span class="plain-syntax">-></span><span class="element-syntax">placement_wrt_R</span><span class="plain-syntax"> == </span><span class="constant-syntax">AS_FIRST_CHILD_OF_NODEPLACEMENT</span><span class="plain-syntax">) ||</span>
|
||||
|
@ -230,7 +230,7 @@ equal to <span class="extract"><span class="extract-syntax">P</span></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="reserved-syntax">inter_symbols_table</span><span class="plain-syntax"> *</span><span class="function-syntax">InterBookmark::scope</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">InterBookmark::scope</span></span>:<br/>Inter in Text Files - <a href="3-iitf.html#SP5">§5</a>, <a href="3-iitf.html#SP12">§12</a>, <a href="3-iitf.html#SP12_14">§12.14</a><br/>The Append Construct - <a href="4-tac.html#SP4">§4</a><br/>The Constant Construct - <a href="4-tcc2.html#SP6_1">§6.1</a><br/>The Instance Construct - <a href="4-tic2.html#SP4_1">§4.1</a>, <a href="4-tic2.html#SP4_2">§4.2</a><br/>The Package Construct - <a href="4-tpc.html#SP4">§4</a>, <a href="4-tpc.html#SP6">§6</a><br/>The PackageType Construct - <a href="4-tpc2.html#SP3">§3</a><br/>The Permission Construct - <a href="4-tpc3.html#SP4">§4</a><br/>The Primitive Construct - <a href="4-tpc5.html#SP4">§4</a><br/>The Property Construct - <a href="4-tpc6.html#SP4">§4</a><br/>The PropertyValue Construct - <a href="4-tpc7.html#SP4">§4</a><br/>The Typename Construct - <a href="4-ttc.html#SP4">§4</a><br/>The Variable Construct - <a href="4-tvc.html#SP4">§4</a><br/>The Cast Construct - <a href="5-tcc.html#SP4">§4</a><br/>The Lab Construct - <a href="5-tlc.html#SP4">§4</a><br/>The Label Construct - <a href="5-tlc2.html#SP4">§4</a><br/>The Local Construct - <a href="5-tlc3.html#SP4">§4</a><br/>The Ref Construct - <a href="5-trc.html#SP4">§4</a><br/>The Val Construct - <a href="5-tvc.html#SP4">§4</a><br/>The Plug Construct - <a href="6-tpc.html#SP2">§2</a><br/>The Socket Construct - <a href="6-tsc.html#SP2">§2</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inter_bookmark</span><span class="plain-syntax"> *</span><span class="identifier-syntax">IBM</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">inter_symbols_table</span><span class="plain-syntax"> *</span><span class="function-syntax">InterBookmark::scope</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">InterBookmark::scope</span></span>:<br/>Inter in Text Files - <a href="3-iitf.html#SP5">§5</a>, <a href="3-iitf.html#SP12">§12</a>, <a href="3-iitf.html#SP12_14">§12.14</a><br/>The Constant Construct - <a href="4-tcc2.html#SP6_1">§6.1</a><br/>The Instance Construct - <a href="4-tic2.html#SP4_1">§4.1</a>, <a href="4-tic2.html#SP4_2">§4.2</a><br/>The Package Construct - <a href="4-tpc.html#SP4">§4</a>, <a href="4-tpc.html#SP6">§6</a><br/>The PackageType Construct - <a href="4-tpc2.html#SP3">§3</a><br/>The Permission Construct - <a href="4-tpc3.html#SP4">§4</a><br/>The Primitive Construct - <a href="4-tpc5.html#SP4">§4</a><br/>The Property Construct - <a href="4-tpc6.html#SP4">§4</a><br/>The PropertyValue Construct - <a href="4-tpc7.html#SP4">§4</a><br/>The Typename Construct - <a href="4-ttc.html#SP4">§4</a><br/>The Variable Construct - <a href="4-tvc.html#SP4">§4</a><br/>The Cast Construct - <a href="5-tcc.html#SP4">§4</a><br/>The Lab Construct - <a href="5-tlc.html#SP4">§4</a><br/>The Label Construct - <a href="5-tlc2.html#SP4">§4</a><br/>The Local Construct - <a href="5-tlc3.html#SP4">§4</a><br/>The Ref Construct - <a href="5-trc.html#SP4">§4</a><br/>The Val Construct - <a href="5-tvc.html#SP4">§4</a><br/>The Plug Construct - <a href="6-tpc.html#SP2">§2</a><br/>The Socket Construct - <a href="6-tsc.html#SP2">§2</a></span></button><span class="plain-syntax">(</span><span class="reserved-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="reserved-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax"> = </span><a href="2-bkm.html#SP6" class="function-link"><span class="function-syntax">InterBookmark::package</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">IBM</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">pack</span><span class="plain-syntax">) </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><a href="2-pck.html#SP10" class="function-link"><span class="function-syntax">InterPackage::scope</span></a><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">return</span><span class="plain-syntax"> </span><a href="2-it.html#SP3" class="function-link"><span class="function-syntax">InterTree::global_scope</span></a><span class="plain-syntax">(</span><a href="2-bkm.html#SP7" class="function-link"><span class="function-syntax">InterBookmark::tree</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">IBM</span><span class="plain-syntax">));</span>
|
||||
|
@ -259,7 +259,7 @@ equal to <span class="extract"><span class="extract-syntax">P</span></span>.
|
|||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="2-in.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-it.html">it</a></li><li class="progresssection"><a href="2-in.html">in</a></li><li class="progresscurrent">bkm</li><li class="progresssection"><a href="2-np.html">np</a></li><li class="progresssection"><a href="2-tw.html">tw</a></li><li class="progresssection"><a href="2-pck.html">pck</a></li><li class="progresssection"><a href="2-inl.html">inl</a></li><li class="progresssection"><a href="2-st.html">st</a></li><li class="progresssection"><a href="2-sym.html">sym</a></li><li class="progresssection"><a href="2-ann.html">ann</a></li><li class="progresssection"><a href="2-tw2.html">tw2</a></li><li class="progresssection"><a href="2-trn.html">trn</a></li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresschapter"><a href="4-tac.html">4</a></li><li class="progresschapter"><a href="5-tac.html">5</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="2-np.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="2-in.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-it.html">it</a></li><li class="progresssection"><a href="2-in.html">in</a></li><li class="progresscurrent">bkm</li><li class="progresssection"><a href="2-np.html">np</a></li><li class="progresssection"><a href="2-tw.html">tw</a></li><li class="progresssection"><a href="2-pck.html">pck</a></li><li class="progresssection"><a href="2-inl.html">inl</a></li><li class="progresssection"><a href="2-st.html">st</a></li><li class="progresssection"><a href="2-sym.html">sym</a></li><li class="progresssection"><a href="2-ann.html">ann</a></li><li class="progresssection"><a href="2-tw2.html">tw2</a></li><li class="progresssection"><a href="2-trn.html">trn</a></li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresschapter"><a href="4-tcc.html">4</a></li><li class="progresschapter"><a href="5-tac.html">5</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="2-np.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -119,7 +119,7 @@ of access matters more.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="reserved-syntax">warehouse_floor_space</span><span class="plain-syntax"> </span><span class="identifier-syntax">W</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">} </span><span class="reserved-syntax">inter_tree_node</span><span class="plain-syntax">;</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>The structure inter_tree_node is accessed in 2/it, 2/bkm, 2/np, 2/pck, 2/st, 2/trn, 3/ic, 3/iibf, 3/iitf, 3/vi, 3/ivp, 3/idt, 4/tac, 4/tcc, 4/tcc2, 4/tic, 4/tic2, 4/tpc, 4/tpc3, 4/tpc4, 4/tpc5, 4/tpc6, 4/ttc, 5/tac, 5/tcc, 5/tcc2, 5/tec, 5/tic, 5/trc2, 5/tsc and here.</li></ul>
|
||||
<ul class="endnotetexts"><li>The structure inter_tree_node is accessed in 2/it, 2/bkm, 2/np, 2/pck, 2/st, 2/trn, 3/ic, 3/iibf, 3/iitf, 3/vi, 3/ivp, 3/idt, 4/tcc, 4/tcc2, 4/tic, 4/tic2, 4/tpc, 4/tpc3, 4/tpc4, 4/tpc5, 4/tpc6, 4/ttc, 5/tac, 5/tcc, 5/tcc2, 5/tec, 5/tic, 5/trc2, 5/tsc and here.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP2" class="paragraph-anchor"></a><b>§2. </b>Do not call this directly in order to create a node.
|
||||
</p>
|
||||
|
||||
|
@ -204,7 +204,7 @@ call those creator functions, not these.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</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">inter_tree_node</span><span class="plain-syntax"> *</span><span class="function-syntax">Inode::new_with_2_data_fields</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">Inode::new_with_2_data_fields</span></span>:<br/>Transmigration - <a href="2-trn.html#SP4_1_1">§4.1.1</a><br/>The Append Construct - <a href="4-tac.html#SP2">§2</a><br/>The Pragma Construct - <a href="4-tpc4.html#SP2">§2</a><br/>The Primitive Construct - <a href="4-tpc5.html#SP2">§2</a><br/>The Cast Construct - <a href="5-tcc.html#SP2">§2</a><br/>The Inv Construct - <a href="5-tic.html#SP3">§3</a><br/>The Local Construct - <a href="5-tlc3.html#SP2">§2</a><br/>The Splat Construct - <a href="5-tsc.html#SP2">§2</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inter_bookmark</span><span class="plain-syntax"> *</span><span class="identifier-syntax">IBM</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">S</span><span class="plain-syntax">,</span>
|
||||
<span class="reserved-syntax">inter_tree_node</span><span class="plain-syntax"> *</span><span class="function-syntax">Inode::new_with_2_data_fields</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">Inode::new_with_2_data_fields</span></span>:<br/>Transmigration - <a href="2-trn.html#SP4_1_1">§4.1.1</a><br/>The Pragma Construct - <a href="4-tpc4.html#SP2">§2</a><br/>The Primitive Construct - <a href="4-tpc5.html#SP2">§2</a><br/>The Cast Construct - <a href="5-tcc.html#SP2">§2</a><br/>The Inv Construct - <a href="5-tic.html#SP3">§3</a><br/>The Local Construct - <a href="5-tlc3.html#SP2">§2</a><br/>The Splat Construct - <a href="5-tsc.html#SP2">§2</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inter_bookmark</span><span class="plain-syntax"> *</span><span class="identifier-syntax">IBM</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">S</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="constant-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">V1</span><span class="plain-syntax">, </span><span class="constant-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">V2</span><span class="plain-syntax">, </span><span class="reserved-syntax">inter_error_location</span><span class="plain-syntax"> *</span><span class="identifier-syntax">eloc</span><span class="plain-syntax">, </span><span class="constant-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">level</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">inter_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax"> = </span><a href="2-bkm.html#SP7" class="function-link"><span class="function-syntax">InterBookmark::tree</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">IBM</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">inter_tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">P</span><span class="plain-syntax"> = </span><a href="2-in.html#SP2" class="function-link"><span class="function-syntax">Inode::new_node</span></a><span class="plain-syntax">(</span><a href="2-it.html#SP3" class="function-link"><span class="function-syntax">InterTree::warehouse</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="plain-syntax">, </span><span class="constant-syntax">4</span><span class="plain-syntax">,</span>
|
||||
|
@ -495,7 +495,7 @@ we are in, which in turn depends on the node).
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><a href="2-tw.html#SP8" class="function-link"><span class="function-syntax">InterWarehouse::get_symbols_table</span></a><span class="plain-syntax">(</span><a href="2-in.html#SP6" class="function-link"><span class="function-syntax">Inode::warehouse</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">F</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">text_stream</span><span class="plain-syntax"> *</span><span class="function-syntax">Inode::ID_to_text</span><button class="popup" onclick="togglePopup('usagePopup26')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup26">Usage of <span class="code-font"><span class="function-syntax">Inode::ID_to_text</span></span>:<br/>Annotations - <a href="2-ann.html#SP14">§14</a><br/>The Append Construct - <a href="4-tac.html#SP3">§3</a>, <a href="4-tac.html#SP5">§5</a><br/>The Comment Construct - <a href="4-tcc.html#SP5">§5</a><br/>The Insert Construct - <a href="4-tic.html#SP6">§6</a><br/>The Pragma Construct - <a href="4-tpc4.html#SP6">§6</a><br/>The Inv Construct - <a href="5-tic.html#SP8">§8</a>, <a href="5-tic.html#SP9">§9</a><br/>The Splat Construct - <a href="5-tsc.html#SP6">§6</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inter_tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">F</span><span class="plain-syntax">, </span><span class="constant-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">ID</span><span class="plain-syntax">) {</span>
|
||||
<span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="function-syntax">Inode::ID_to_text</span><button class="popup" onclick="togglePopup('usagePopup26')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup26">Usage of <span class="code-font"><span class="function-syntax">Inode::ID_to_text</span></span>:<br/>Annotations - <a href="2-ann.html#SP14">§14</a><br/>The Comment Construct - <a href="4-tcc.html#SP5">§5</a><br/>The Insert Construct - <a href="4-tic.html#SP6">§6</a><br/>The Pragma Construct - <a href="4-tpc4.html#SP6">§6</a><br/>The Inv Construct - <a href="5-tic.html#SP8">§8</a>, <a href="5-tic.html#SP9">§9</a><br/>The Splat Construct - <a href="5-tsc.html#SP6">§6</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inter_tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">F</span><span class="plain-syntax">, </span><span class="constant-syntax">inter_ti</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">return</span><span class="plain-syntax"> </span><a href="2-tw.html#SP7" class="function-link"><span class="function-syntax">InterWarehouse::get_text</span></a><span class="plain-syntax">(</span><a href="2-in.html#SP6" class="function-link"><span class="function-syntax">Inode::warehouse</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">F</span><span class="plain-syntax">), </span><span class="identifier-syntax">ID</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
|
@ -526,7 +526,7 @@ to identify it as occurring at a particular node. We can get one thus:
|
|||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="2-it.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-it.html">it</a></li><li class="progresscurrent">in</li><li class="progresssection"><a href="2-bkm.html">bkm</a></li><li class="progresssection"><a href="2-np.html">np</a></li><li class="progresssection"><a href="2-tw.html">tw</a></li><li class="progresssection"><a href="2-pck.html">pck</a></li><li class="progresssection"><a href="2-inl.html">inl</a></li><li class="progresssection"><a href="2-st.html">st</a></li><li class="progresssection"><a href="2-sym.html">sym</a></li><li class="progresssection"><a href="2-ann.html">ann</a></li><li class="progresssection"><a href="2-tw2.html">tw2</a></li><li class="progresssection"><a href="2-trn.html">trn</a></li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresschapter"><a href="4-tac.html">4</a></li><li class="progresschapter"><a href="5-tac.html">5</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="2-bkm.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="2-it.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-it.html">it</a></li><li class="progresscurrent">in</li><li class="progresssection"><a href="2-bkm.html">bkm</a></li><li class="progresssection"><a href="2-np.html">np</a></li><li class="progresssection"><a href="2-tw.html">tw</a></li><li class="progresssection"><a href="2-pck.html">pck</a></li><li class="progresssection"><a href="2-inl.html">inl</a></li><li class="progresssection"><a href="2-st.html">st</a></li><li class="progresssection"><a href="2-sym.html">sym</a></li><li class="progresssection"><a href="2-ann.html">ann</a></li><li class="progresssection"><a href="2-tw2.html">tw2</a></li><li class="progresssection"><a href="2-trn.html">trn</a></li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresschapter"><a href="4-tcc.html">4</a></li><li class="progresschapter"><a href="5-tac.html">5</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="2-bkm.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -190,7 +190,7 @@ of <span class="extract"><span class="extract-syntax">qsort</span></span> in the
|
|||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="2-pck.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-it.html">it</a></li><li class="progresssection"><a href="2-in.html">in</a></li><li class="progresssection"><a href="2-bkm.html">bkm</a></li><li class="progresssection"><a href="2-np.html">np</a></li><li class="progresssection"><a href="2-tw.html">tw</a></li><li class="progresssection"><a href="2-pck.html">pck</a></li><li class="progresscurrent">inl</li><li class="progresssection"><a href="2-st.html">st</a></li><li class="progresssection"><a href="2-sym.html">sym</a></li><li class="progresssection"><a href="2-ann.html">ann</a></li><li class="progresssection"><a href="2-tw2.html">tw2</a></li><li class="progresssection"><a href="2-trn.html">trn</a></li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresschapter"><a href="4-tac.html">4</a></li><li class="progresschapter"><a href="5-tac.html">5</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="2-st.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="2-pck.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-it.html">it</a></li><li class="progresssection"><a href="2-in.html">in</a></li><li class="progresssection"><a href="2-bkm.html">bkm</a></li><li class="progresssection"><a href="2-np.html">np</a></li><li class="progresssection"><a href="2-tw.html">tw</a></li><li class="progresssection"><a href="2-pck.html">pck</a></li><li class="progresscurrent">inl</li><li class="progresssection"><a href="2-st.html">st</a></li><li class="progresssection"><a href="2-sym.html">sym</a></li><li class="progresssection"><a href="2-ann.html">ann</a></li><li class="progresssection"><a href="2-tw2.html">tw2</a></li><li class="progresssection"><a href="2-trn.html">trn</a></li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresschapter"><a href="4-tcc.html">4</a></li><li class="progresschapter"><a href="5-tac.html">5</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="2-st.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -446,7 +446,7 @@ data, not the position data itself. So:
|
|||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="1-tiv.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresscurrent">it</li><li class="progresssection"><a href="2-in.html">in</a></li><li class="progresssection"><a href="2-bkm.html">bkm</a></li><li class="progresssection"><a href="2-np.html">np</a></li><li class="progresssection"><a href="2-tw.html">tw</a></li><li class="progresssection"><a href="2-pck.html">pck</a></li><li class="progresssection"><a href="2-inl.html">inl</a></li><li class="progresssection"><a href="2-st.html">st</a></li><li class="progresssection"><a href="2-sym.html">sym</a></li><li class="progresssection"><a href="2-ann.html">ann</a></li><li class="progresssection"><a href="2-tw2.html">tw2</a></li><li class="progresssection"><a href="2-trn.html">trn</a></li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresschapter"><a href="4-tac.html">4</a></li><li class="progresschapter"><a href="5-tac.html">5</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="2-in.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="1-tiv.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresscurrent">it</li><li class="progresssection"><a href="2-in.html">in</a></li><li class="progresssection"><a href="2-bkm.html">bkm</a></li><li class="progresssection"><a href="2-np.html">np</a></li><li class="progresssection"><a href="2-tw.html">tw</a></li><li class="progresssection"><a href="2-pck.html">pck</a></li><li class="progresssection"><a href="2-inl.html">inl</a></li><li class="progresssection"><a href="2-st.html">st</a></li><li class="progresssection"><a href="2-sym.html">sym</a></li><li class="progresssection"><a href="2-ann.html">ann</a></li><li class="progresssection"><a href="2-tw2.html">tw2</a></li><li class="progresssection"><a href="2-trn.html">trn</a></li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresschapter"><a href="4-tcc.html">4</a></li><li class="progresschapter"><a href="5-tac.html">5</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="2-in.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -307,7 +307,7 @@ way to reach as low as that from <span class="extract"><span class="extract-synt
|
|||
</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">NodePlacement::move_to_moving_bookmark</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">NodePlacement::move_to_moving_bookmark</span></span>:<br/>Transmigration - <a href="2-trn.html#SP3_4">§3.4</a>, <a href="2-trn.html#SP4_1_1">§4.1.1</a>, <a href="2-trn.html#SP4_2_1_1">§4.2.1.1</a><br/>Inter in Binary Files - <a href="3-iibf.html#SP9_1_5">§9.1.5</a><br/>The Append Construct - <a href="4-tac.html#SP2">§2</a><br/>The Comment Construct - <a href="4-tcc.html#SP2">§2</a><br/>The Constant Construct - <a href="4-tcc2.html#SP2">§2</a>, <a href="4-tcc2.html#SP4">§4</a><br/>The Insert Construct - <a href="4-tic.html#SP2">§2</a><br/>The Instance Construct - <a href="4-tic2.html#SP2">§2</a><br/>The Nop Construct - <a href="4-tnc.html#SP2">§2</a><br/>The Package Construct - <a href="4-tpc.html#SP4">§4</a><br/>The PackageType Construct - <a href="4-tpc2.html#SP2">§2</a><br/>The Permission Construct - <a href="4-tpc3.html#SP2">§2</a><br/>The Pragma Construct - <a href="4-tpc4.html#SP2">§2</a><br/>The Primitive Construct - <a href="4-tpc5.html#SP2">§2</a><br/>The Property Construct - <a href="4-tpc6.html#SP2">§2</a><br/>The PropertyValue Construct - <a href="4-tpc7.html#SP2">§2</a><br/>The Typename Construct - <a href="4-ttc.html#SP2">§2</a><br/>The Variable Construct - <a href="4-tvc.html#SP2">§2</a><br/>The Assembly Construct - <a href="5-tac.html#SP2">§2</a><br/>The Cast Construct - <a href="5-tcc.html#SP2">§2</a><br/>The Code Construct - <a href="5-tcc2.html#SP2">§2</a><br/>The Evaluation Construct - <a href="5-tec.html#SP2">§2</a><br/>The Inv Construct - <a href="5-tic.html#SP3">§3</a><br/>The Lab Construct - <a href="5-tlc.html#SP2">§2</a><br/>The Label Construct - <a href="5-tlc2.html#SP2">§2</a><br/>The Local Construct - <a href="5-tlc3.html#SP2">§2</a><br/>The Ref Construct - <a href="5-trc.html#SP2">§2</a><br/>The Reference Construct - <a href="5-trc2.html#SP2">§2</a><br/>The Splat Construct - <a href="5-tsc.html#SP2">§2</a><br/>The Val Construct - <a href="5-tvc.html#SP2">§2</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inter_tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">C</span><span class="plain-syntax">, </span><span class="reserved-syntax">inter_bookmark</span><span class="plain-syntax"> *</span><span class="identifier-syntax">IBM</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">NodePlacement::move_to_moving_bookmark</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">NodePlacement::move_to_moving_bookmark</span></span>:<br/>Transmigration - <a href="2-trn.html#SP3_4">§3.4</a>, <a href="2-trn.html#SP4_1_1">§4.1.1</a>, <a href="2-trn.html#SP4_2_1_1">§4.2.1.1</a><br/>Inter in Binary Files - <a href="3-iibf.html#SP9_1_5">§9.1.5</a><br/>The Comment Construct - <a href="4-tcc.html#SP2">§2</a><br/>The Constant Construct - <a href="4-tcc2.html#SP2">§2</a>, <a href="4-tcc2.html#SP4">§4</a><br/>The Insert Construct - <a href="4-tic.html#SP2">§2</a><br/>The Instance Construct - <a href="4-tic2.html#SP2">§2</a><br/>The Nop Construct - <a href="4-tnc.html#SP2">§2</a><br/>The Package Construct - <a href="4-tpc.html#SP4">§4</a><br/>The PackageType Construct - <a href="4-tpc2.html#SP2">§2</a><br/>The Permission Construct - <a href="4-tpc3.html#SP2">§2</a><br/>The Pragma Construct - <a href="4-tpc4.html#SP2">§2</a><br/>The Primitive Construct - <a href="4-tpc5.html#SP2">§2</a><br/>The Property Construct - <a href="4-tpc6.html#SP2">§2</a><br/>The PropertyValue Construct - <a href="4-tpc7.html#SP2">§2</a><br/>The Typename Construct - <a href="4-ttc.html#SP2">§2</a><br/>The Variable Construct - <a href="4-tvc.html#SP2">§2</a><br/>The Assembly Construct - <a href="5-tac.html#SP2">§2</a><br/>The Cast Construct - <a href="5-tcc.html#SP2">§2</a><br/>The Code Construct - <a href="5-tcc2.html#SP2">§2</a><br/>The Evaluation Construct - <a href="5-tec.html#SP2">§2</a><br/>The Inv Construct - <a href="5-tic.html#SP3">§3</a><br/>The Lab Construct - <a href="5-tlc.html#SP2">§2</a><br/>The Label Construct - <a href="5-tlc2.html#SP2">§2</a><br/>The Local Construct - <a href="5-tlc3.html#SP2">§2</a><br/>The Ref Construct - <a href="5-trc.html#SP2">§2</a><br/>The Reference Construct - <a href="5-trc2.html#SP2">§2</a><br/>The Splat Construct - <a href="5-tsc.html#SP2">§2</a><br/>The Val Construct - <a href="5-tvc.html#SP2">§2</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inter_tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">C</span><span class="plain-syntax">, </span><span class="reserved-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="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">C</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 node to insert"</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">IBM</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">"nowhere to insert"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-np.html#SP1" class="function-link"><span class="function-syntax">NodePlacement::move_to</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">, </span><a href="2-np.html#SP3" class="function-link"><span class="function-syntax">NodePlacement::to_position</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">, </span><a href="2-bkm.html#SP2" class="function-link"><span class="function-syntax">InterBookmark::snapshot</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">IBM</span><span class="plain-syntax">)));</span>
|
||||
|
@ -353,7 +353,7 @@ way to reach as low as that from <span class="extract"><span class="extract-synt
|
|||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="2-np.html#SP3">§3</a>.</li></ul>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="2-bkm.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-it.html">it</a></li><li class="progresssection"><a href="2-in.html">in</a></li><li class="progresssection"><a href="2-bkm.html">bkm</a></li><li class="progresscurrent">np</li><li class="progresssection"><a href="2-tw.html">tw</a></li><li class="progresssection"><a href="2-pck.html">pck</a></li><li class="progresssection"><a href="2-inl.html">inl</a></li><li class="progresssection"><a href="2-st.html">st</a></li><li class="progresssection"><a href="2-sym.html">sym</a></li><li class="progresssection"><a href="2-ann.html">ann</a></li><li class="progresssection"><a href="2-tw2.html">tw2</a></li><li class="progresssection"><a href="2-trn.html">trn</a></li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresschapter"><a href="4-tac.html">4</a></li><li class="progresschapter"><a href="5-tac.html">5</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="2-tw.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="2-bkm.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-it.html">it</a></li><li class="progresssection"><a href="2-in.html">in</a></li><li class="progresssection"><a href="2-bkm.html">bkm</a></li><li class="progresscurrent">np</li><li class="progresssection"><a href="2-tw.html">tw</a></li><li class="progresssection"><a href="2-pck.html">pck</a></li><li class="progresssection"><a href="2-inl.html">inl</a></li><li class="progresssection"><a href="2-st.html">st</a></li><li class="progresssection"><a href="2-sym.html">sym</a></li><li class="progresssection"><a href="2-ann.html">ann</a></li><li class="progresssection"><a href="2-tw2.html">tw2</a></li><li class="progresssection"><a href="2-trn.html">trn</a></li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresschapter"><a href="4-tcc.html">4</a></li><li class="progresschapter"><a href="5-tac.html">5</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="2-tw.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -463,7 +463,7 @@ of a single package, and slashes can't be part of package names.)
|
|||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="2-tw.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-it.html">it</a></li><li class="progresssection"><a href="2-in.html">in</a></li><li class="progresssection"><a href="2-bkm.html">bkm</a></li><li class="progresssection"><a href="2-np.html">np</a></li><li class="progresssection"><a href="2-tw.html">tw</a></li><li class="progresscurrent">pck</li><li class="progresssection"><a href="2-inl.html">inl</a></li><li class="progresssection"><a href="2-st.html">st</a></li><li class="progresssection"><a href="2-sym.html">sym</a></li><li class="progresssection"><a href="2-ann.html">ann</a></li><li class="progresssection"><a href="2-tw2.html">tw2</a></li><li class="progresssection"><a href="2-trn.html">trn</a></li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresschapter"><a href="4-tac.html">4</a></li><li class="progresschapter"><a href="5-tac.html">5</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="2-inl.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="2-tw.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-it.html">it</a></li><li class="progresssection"><a href="2-in.html">in</a></li><li class="progresssection"><a href="2-bkm.html">bkm</a></li><li class="progresssection"><a href="2-np.html">np</a></li><li class="progresssection"><a href="2-tw.html">tw</a></li><li class="progresscurrent">pck</li><li class="progresssection"><a href="2-inl.html">inl</a></li><li class="progresssection"><a href="2-st.html">st</a></li><li class="progresssection"><a href="2-sym.html">sym</a></li><li class="progresssection"><a href="2-ann.html">ann</a></li><li class="progresssection"><a href="2-tw2.html">tw2</a></li><li class="progresssection"><a href="2-trn.html">trn</a></li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresschapter"><a href="4-tcc.html">4</a></li><li class="progresschapter"><a href="5-tac.html">5</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="2-inl.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -291,7 +291,7 @@ elsewhere in the tree, then we return that other symbol.
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="function-syntax">InterSymbolsTable::symbol_from_name</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">InterSymbolsTable::symbol_from_name</span></span>:<br/><a href="2-st.html#SP11">§11</a>, <a href="2-st.html#SP18">§18</a><br/>Packages - <a href="2-pck.html#SP11">§11</a><br/>Transmigration - <a href="2-trn.html#SP4_1">§4.1</a>, <a href="2-trn.html#SP4_2_1">§4.2.1</a><br/>Inter in Text Files - <a href="3-iitf.html#SP4">§4</a>, <a href="3-iitf.html#SP5">§5</a>, <a href="3-iitf.html#SP5_1">§5.1</a>, <a href="3-iitf.html#SP6">§6</a>, <a href="3-iitf.html#SP7_1">§7.1</a>, <a href="3-iitf.html#SP12_14">§12.14</a><br/>Metadata - <a href="3-mtd.html#SP3">§3</a><br/>The Append Construct - <a href="4-tac.html#SP4">§4</a><br/>The PropertyValue Construct - <a href="4-tpc7.html#SP4">§4</a><br/>The Inv Construct - <a href="5-tic.html#SP7_1">§7.1</a><br/>The Lab Construct - <a href="5-tlc.html#SP4">§4</a><br/>The Label Construct - <a href="5-tlc2.html#SP4">§4</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inter_symbols_table</span><span class="plain-syntax"> *</span><span class="identifier-syntax">T</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="reserved-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="function-syntax">InterSymbolsTable::symbol_from_name</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">InterSymbolsTable::symbol_from_name</span></span>:<br/><a href="2-st.html#SP11">§11</a>, <a href="2-st.html#SP18">§18</a><br/>Packages - <a href="2-pck.html#SP11">§11</a><br/>Transmigration - <a href="2-trn.html#SP4_1">§4.1</a>, <a href="2-trn.html#SP4_2_1">§4.2.1</a><br/>Inter in Text Files - <a href="3-iitf.html#SP4">§4</a>, <a href="3-iitf.html#SP5">§5</a>, <a href="3-iitf.html#SP5_1">§5.1</a>, <a href="3-iitf.html#SP6">§6</a>, <a href="3-iitf.html#SP7_1">§7.1</a>, <a href="3-iitf.html#SP12_14">§12.14</a><br/>Metadata - <a href="3-mtd.html#SP3">§3</a><br/>The PropertyValue Construct - <a href="4-tpc7.html#SP4">§4</a><br/>The Inv Construct - <a href="5-tic.html#SP7_1">§7.1</a><br/>The Lab Construct - <a href="5-tlc.html#SP4">§4</a><br/>The Label Construct - <a href="5-tlc2.html#SP4">§4</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inter_symbols_table</span><span class="plain-syntax"> *</span><span class="identifier-syntax">T</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><a href="2-st.html#SP5" class="function-link"><span class="function-syntax">InterSymbolsTable::search_inner</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">T</span><span class="plain-syntax">, </span><span class="identifier-syntax">name</span><span class="plain-syntax">, </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">, </span><span class="constant-syntax">0</span><span class="plain-syntax">, </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
|
@ -387,7 +387,7 @@ to access this: one following equations, the other not.
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="function-syntax">InterSymbolsTable::symbol_from_ID_at_node</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">InterSymbolsTable::symbol_from_ID_at_node</span></span>:<br/>Inter Constructs - <a href="3-ic.html#SP18">§18</a><br/>The Append Construct - <a href="4-tac.html#SP3">§3</a>, <a href="4-tac.html#SP5">§5</a><br/>The Constant Construct - <a href="4-tcc2.html#SP7">§7</a><br/>The Instance Construct - <a href="4-tic2.html#SP3">§3</a>, <a href="4-tic2.html#SP5">§5</a>, <a href="4-tic2.html#SP6">§6</a><br/>The Package Construct - <a href="4-tpc.html#SP9">§9</a><br/>The PackageType Construct - <a href="4-tpc2.html#SP4">§4</a><br/>The Permission Construct - <a href="4-tpc3.html#SP3">§3</a>, <a href="4-tpc3.html#SP4">§4</a>, <a href="4-tpc3.html#SP6">§6</a><br/>The Primitive Construct - <a href="4-tpc5.html#SP5">§5</a>, <a href="4-tpc5.html#SP8">§8</a><br/>The Property Construct - <a href="4-tpc6.html#SP5">§5</a>, <a href="4-tpc6.html#SP6">§6</a><br/>The PropertyValue Construct - <a href="4-tpc7.html#SP6">§6</a><br/>The Typename Construct - <a href="4-ttc.html#SP6">§6</a><br/>The Variable Construct - <a href="4-tvc.html#SP6">§6</a><br/>The Inv Construct - <a href="5-tic.html#SP9">§9</a><br/>The Lab Construct - <a href="5-tlc.html#SP6">§6</a><br/>The Label Construct - <a href="5-tlc2.html#SP6">§6</a><br/>The Local Construct - <a href="5-tlc3.html#SP6">§6</a></span></button><span class="plain-syntax">(</span><span class="reserved-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">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">x</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="function-syntax">InterSymbolsTable::symbol_from_ID_at_node</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">InterSymbolsTable::symbol_from_ID_at_node</span></span>:<br/>Inter Constructs - <a href="3-ic.html#SP18">§18</a><br/>The Constant Construct - <a href="4-tcc2.html#SP7">§7</a><br/>The Instance Construct - <a href="4-tic2.html#SP3">§3</a>, <a href="4-tic2.html#SP5">§5</a>, <a href="4-tic2.html#SP6">§6</a><br/>The Package Construct - <a href="4-tpc.html#SP9">§9</a><br/>The PackageType Construct - <a href="4-tpc2.html#SP4">§4</a><br/>The Permission Construct - <a href="4-tpc3.html#SP3">§3</a>, <a href="4-tpc3.html#SP4">§4</a>, <a href="4-tpc3.html#SP6">§6</a><br/>The Primitive Construct - <a href="4-tpc5.html#SP5">§5</a>, <a href="4-tpc5.html#SP8">§8</a><br/>The Property Construct - <a href="4-tpc6.html#SP5">§5</a>, <a href="4-tpc6.html#SP6">§6</a><br/>The PropertyValue Construct - <a href="4-tpc7.html#SP6">§6</a><br/>The Typename Construct - <a href="4-ttc.html#SP6">§6</a><br/>The Variable Construct - <a href="4-tvc.html#SP6">§6</a><br/>The Inv Construct - <a href="5-tic.html#SP9">§9</a><br/>The Lab Construct - <a href="5-tlc.html#SP6">§6</a><br/>The Label Construct - <a href="5-tlc2.html#SP6">§6</a><br/>The Local Construct - <a href="5-tlc3.html#SP6">§6</a></span></button><span class="plain-syntax">(</span><span class="reserved-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">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">x</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><a href="2-st.html#SP12" class="function-link"><span class="function-syntax">InterSymbolsTable::symbol_from_ID</span></a><span class="plain-syntax">(</span><a href="2-pck.html#SP12" class="function-link"><span class="function-syntax">InterPackage::scope_of</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">P</span><span class="plain-syntax">), </span><span class="identifier-syntax">P</span><span class="plain-syntax">-></span><span class="element-syntax">W</span><span class="plain-syntax">.</span><span class="element-syntax">instruction</span><span class="plain-syntax">[</span><span class="identifier-syntax">x</span><span class="plain-syntax">]);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
|
@ -566,7 +566,7 @@ them on a package-by-package basis, so it is an error to call this function if
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="constant-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="function-syntax">InterSymbolsTable::id_at_bookmark</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">InterSymbolsTable::id_at_bookmark</span></span>:<br/>Inter Data Types - <a href="3-idt.html#SP15">§15</a><br/>The Append Construct - <a href="4-tac.html#SP2">§2</a><br/>The Constant Construct - <a href="4-tcc2.html#SP2">§2</a>, <a href="4-tcc2.html#SP4">§4</a><br/>The Instance Construct - <a href="4-tic2.html#SP2">§2</a><br/>The Package Construct - <a href="4-tpc.html#SP4">§4</a><br/>The PackageType Construct - <a href="4-tpc2.html#SP2">§2</a><br/>The Permission Construct - <a href="4-tpc3.html#SP2">§2</a><br/>The Primitive Construct - <a href="4-tpc5.html#SP2">§2</a><br/>The Property Construct - <a href="4-tpc6.html#SP2">§2</a><br/>The PropertyValue Construct - <a href="4-tpc7.html#SP2">§2</a><br/>The Typename Construct - <a href="4-ttc.html#SP2">§2</a><br/>The Variable Construct - <a href="4-tvc.html#SP2">§2</a><br/>The Inv Construct - <a href="5-tic.html#SP3">§3</a><br/>The Lab Construct - <a href="5-tlc.html#SP2">§2</a><br/>The Label Construct - <a href="5-tlc2.html#SP2">§2</a><br/>The Local Construct - <a href="5-tlc3.html#SP2">§2</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inter_bookmark</span><span class="plain-syntax"> *</span><span class="identifier-syntax">IBM</span><span class="plain-syntax">,</span>
|
||||
<span class="constant-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="function-syntax">InterSymbolsTable::id_at_bookmark</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">InterSymbolsTable::id_at_bookmark</span></span>:<br/>Inter Data Types - <a href="3-idt.html#SP15">§15</a><br/>The Constant Construct - <a href="4-tcc2.html#SP2">§2</a>, <a href="4-tcc2.html#SP4">§4</a><br/>The Instance Construct - <a href="4-tic2.html#SP2">§2</a><br/>The Package Construct - <a href="4-tpc.html#SP4">§4</a><br/>The PackageType Construct - <a href="4-tpc2.html#SP2">§2</a><br/>The Permission Construct - <a href="4-tpc3.html#SP2">§2</a><br/>The Primitive Construct - <a href="4-tpc5.html#SP2">§2</a><br/>The Property Construct - <a href="4-tpc6.html#SP2">§2</a><br/>The PropertyValue Construct - <a href="4-tpc7.html#SP2">§2</a><br/>The Typename Construct - <a href="4-ttc.html#SP2">§2</a><br/>The Variable Construct - <a href="4-tvc.html#SP2">§2</a><br/>The Inv Construct - <a href="5-tic.html#SP3">§3</a><br/>The Lab Construct - <a href="5-tlc.html#SP2">§2</a><br/>The Label Construct - <a href="5-tlc2.html#SP2">§2</a><br/>The Local Construct - <a href="5-tlc3.html#SP2">§2</a></span></button><span class="plain-syntax">(</span><span class="reserved-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="reserved-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">return</span><span class="plain-syntax"> </span><a href="2-st.html#SP15" class="function-link"><span class="function-syntax">InterSymbolsTable::id_from_symbol</span></a><span class="plain-syntax">(</span><a href="2-bkm.html#SP7" class="function-link"><span class="function-syntax">InterBookmark::tree</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">IBM</span><span class="plain-syntax">),</span>
|
||||
<span class="plain-syntax"> </span><a href="2-bkm.html#SP6" class="function-link"><span class="function-syntax">InterBookmark::package</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">IBM</span><span class="plain-syntax">), </span><span class="identifier-syntax">S</span><span class="plain-syntax">);</span>
|
||||
|
@ -668,7 +668,7 @@ not use the function if that is able to cause problems.
|
|||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="2-inl.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-it.html">it</a></li><li class="progresssection"><a href="2-in.html">in</a></li><li class="progresssection"><a href="2-bkm.html">bkm</a></li><li class="progresssection"><a href="2-np.html">np</a></li><li class="progresssection"><a href="2-tw.html">tw</a></li><li class="progresssection"><a href="2-pck.html">pck</a></li><li class="progresssection"><a href="2-inl.html">inl</a></li><li class="progresscurrent">st</li><li class="progresssection"><a href="2-sym.html">sym</a></li><li class="progresssection"><a href="2-ann.html">ann</a></li><li class="progresssection"><a href="2-tw2.html">tw2</a></li><li class="progresssection"><a href="2-trn.html">trn</a></li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresschapter"><a href="4-tac.html">4</a></li><li class="progresschapter"><a href="5-tac.html">5</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="2-sym.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="2-inl.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-it.html">it</a></li><li class="progresssection"><a href="2-in.html">in</a></li><li class="progresssection"><a href="2-bkm.html">bkm</a></li><li class="progresssection"><a href="2-np.html">np</a></li><li class="progresssection"><a href="2-tw.html">tw</a></li><li class="progresssection"><a href="2-pck.html">pck</a></li><li class="progresssection"><a href="2-inl.html">inl</a></li><li class="progresscurrent">st</li><li class="progresssection"><a href="2-sym.html">sym</a></li><li class="progresssection"><a href="2-ann.html">ann</a></li><li class="progresssection"><a href="2-tw2.html">tw2</a></li><li class="progresssection"><a href="2-trn.html">trn</a></li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresschapter"><a href="4-tcc.html">4</a></li><li class="progresschapter"><a href="5-tac.html">5</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="2-sym.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -466,7 +466,7 @@ in the current package. So:
|
|||
<p class="commentary firstcommentary"><a id="SP19" class="paragraph-anchor"></a><b>§19. Identifier name. </b></p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="function-syntax">InterSymbol::identifier</span><button class="popup" onclick="togglePopup('usagePopup28')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup28">Usage of <span class="code-font"><span class="function-syntax">InterSymbol::identifier</span></span>:<br/><a href="2-sym.html#SP11">§11</a>, <a href="2-sym.html#SP20">§20</a><br/>Packages - <a href="2-pck.html#SP7">§7</a><br/>Symbols Tables - <a href="2-st.html#SP5_2">§5.2</a>, <a href="2-st.html#SP5_3_3">§5.3.3</a>, <a href="2-st.html#SP15_1_2">§15.1.2</a>, <a href="2-st.html#SP17">§17</a><br/>The Wiring - <a href="2-tw2.html#SP5">§5</a>, <a href="2-tw2.html#SP5_1">§5.1</a><br/>Transmigration - <a href="2-trn.html#SP3_6_1">§3.6.1</a>, <a href="2-trn.html#SP4_1">§4.1</a>, <a href="2-trn.html#SP4_1_1">§4.1.1</a>, <a href="2-trn.html#SP4_2_1">§4.2.1</a>, <a href="2-trn.html#SP4_2_1_1">§4.2.1.1</a>, <a href="2-trn.html#SP4_2_2_1">§4.2.2.1</a>, <a href="2-trn.html#SP4_2_2_3">§4.2.2.3</a>, <a href="2-trn.html#SP5_1">§5.1</a><br/>Inter Constructs - <a href="3-ic.html#SP7">§7</a><br/>Inter in Binary Files - <a href="3-iibf.html#SP9_2_3_2_2">§9.2.3.2.2</a><br/>Inter in Text Files - <a href="3-iitf.html#SP10">§10</a><br/>Verifying Inter - <a href="3-vi.html#SP1_2_1">§1.2.1</a>, <a href="3-vi.html#SP1_2_2">§1.2.2</a>, <a href="3-vi.html#SP2">§2</a>, <a href="3-vi.html#SP3">§3</a>, <a href="3-vi.html#SP4">§4</a><br/>Inter Value Pairs - <a href="3-ivp.html#SP22_2">§22.2</a><br/>The Append Construct - <a href="4-tac.html#SP5">§5</a><br/>The Constant Construct - <a href="4-tcc2.html#SP7">§7</a>, <a href="4-tcc2.html#SP9">§9</a><br/>The Instance Construct - <a href="4-tic2.html#SP5">§5</a><br/>The Package Construct - <a href="4-tpc.html#SP4">§4</a>, <a href="4-tpc.html#SP7">§7</a><br/>The PackageType Construct - <a href="4-tpc2.html#SP4">§4</a><br/>The Permission Construct - <a href="4-tpc3.html#SP3">§3</a>, <a href="4-tpc3.html#SP5">§5</a><br/>The Primitive Construct - <a href="4-tpc5.html#SP3">§3</a>, <a href="4-tpc5.html#SP5">§5</a><br/>The Property Construct - <a href="4-tpc6.html#SP5">§5</a><br/>The PropertyValue Construct - <a href="4-tpc7.html#SP3">§3</a>, <a href="4-tpc7.html#SP5">§5</a><br/>The Typename Construct - <a href="4-ttc.html#SP5">§5</a><br/>The Variable Construct - <a href="4-tvc.html#SP5">§5</a><br/>The Inv Construct - <a href="5-tic.html#SP5_2">§5.2</a>, <a href="5-tic.html#SP5_3">§5.3</a>, <a href="5-tic.html#SP8">§8</a><br/>The Lab Construct - <a href="5-tlc.html#SP5">§5</a><br/>The Label Construct - <a href="5-tlc2.html#SP3">§3</a>, <a href="5-tlc2.html#SP5">§5</a><br/>The Local Construct - <a href="5-tlc3.html#SP5">§5</a><br/>The Plug Construct - <a href="6-tpc.html#SP3">§3</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">S</span><span class="plain-syntax">) {</span>
|
||||
<span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="function-syntax">InterSymbol::identifier</span><button class="popup" onclick="togglePopup('usagePopup28')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup28">Usage of <span class="code-font"><span class="function-syntax">InterSymbol::identifier</span></span>:<br/><a href="2-sym.html#SP11">§11</a>, <a href="2-sym.html#SP20">§20</a><br/>Packages - <a href="2-pck.html#SP7">§7</a><br/>Symbols Tables - <a href="2-st.html#SP5_2">§5.2</a>, <a href="2-st.html#SP5_3_3">§5.3.3</a>, <a href="2-st.html#SP15_1_2">§15.1.2</a>, <a href="2-st.html#SP17">§17</a><br/>The Wiring - <a href="2-tw2.html#SP5">§5</a>, <a href="2-tw2.html#SP5_1">§5.1</a><br/>Transmigration - <a href="2-trn.html#SP3_6_1">§3.6.1</a>, <a href="2-trn.html#SP4_1">§4.1</a>, <a href="2-trn.html#SP4_1_1">§4.1.1</a>, <a href="2-trn.html#SP4_2_1">§4.2.1</a>, <a href="2-trn.html#SP4_2_1_1">§4.2.1.1</a>, <a href="2-trn.html#SP4_2_2_1">§4.2.2.1</a>, <a href="2-trn.html#SP4_2_2_3">§4.2.2.3</a>, <a href="2-trn.html#SP5_1">§5.1</a><br/>Inter Constructs - <a href="3-ic.html#SP7">§7</a><br/>Inter in Binary Files - <a href="3-iibf.html#SP9_2_3_2_2">§9.2.3.2.2</a><br/>Inter in Text Files - <a href="3-iitf.html#SP10">§10</a><br/>Verifying Inter - <a href="3-vi.html#SP1_2_1">§1.2.1</a>, <a href="3-vi.html#SP1_2_2">§1.2.2</a>, <a href="3-vi.html#SP2">§2</a>, <a href="3-vi.html#SP3">§3</a>, <a href="3-vi.html#SP4">§4</a><br/>Inter Value Pairs - <a href="3-ivp.html#SP22_2">§22.2</a><br/>The Constant Construct - <a href="4-tcc2.html#SP7">§7</a>, <a href="4-tcc2.html#SP9">§9</a><br/>The Instance Construct - <a href="4-tic2.html#SP5">§5</a><br/>The Package Construct - <a href="4-tpc.html#SP4">§4</a>, <a href="4-tpc.html#SP7">§7</a><br/>The PackageType Construct - <a href="4-tpc2.html#SP4">§4</a><br/>The Permission Construct - <a href="4-tpc3.html#SP3">§3</a>, <a href="4-tpc3.html#SP5">§5</a><br/>The Primitive Construct - <a href="4-tpc5.html#SP3">§3</a>, <a href="4-tpc5.html#SP5">§5</a><br/>The Property Construct - <a href="4-tpc6.html#SP5">§5</a><br/>The PropertyValue Construct - <a href="4-tpc7.html#SP3">§3</a>, <a href="4-tpc7.html#SP5">§5</a><br/>The Typename Construct - <a href="4-ttc.html#SP5">§5</a><br/>The Variable Construct - <a href="4-tvc.html#SP5">§5</a><br/>The Inv Construct - <a href="5-tic.html#SP5_2">§5.2</a>, <a href="5-tic.html#SP5_3">§5.3</a>, <a href="5-tic.html#SP8">§8</a><br/>The Lab Construct - <a href="5-tlc.html#SP5">§5</a><br/>The Label Construct - <a href="5-tlc2.html#SP3">§3</a>, <a href="5-tlc2.html#SP5">§5</a><br/>The Local Construct - <a href="5-tlc3.html#SP5">§5</a><br/>The Plug Construct - <a href="6-tpc.html#SP3">§3</a></span></button><span class="plain-syntax">(</span><span class="reserved-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">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="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">S</span><span class="plain-syntax">-></span><span class="element-syntax">identifier</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
@ -554,7 +554,7 @@ annotation <span class="extract"><span class="extract-syntax">_translation</span
|
|||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="2-st.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-it.html">it</a></li><li class="progresssection"><a href="2-in.html">in</a></li><li class="progresssection"><a href="2-bkm.html">bkm</a></li><li class="progresssection"><a href="2-np.html">np</a></li><li class="progresssection"><a href="2-tw.html">tw</a></li><li class="progresssection"><a href="2-pck.html">pck</a></li><li class="progresssection"><a href="2-inl.html">inl</a></li><li class="progresssection"><a href="2-st.html">st</a></li><li class="progresscurrent">sym</li><li class="progresssection"><a href="2-ann.html">ann</a></li><li class="progresssection"><a href="2-tw2.html">tw2</a></li><li class="progresssection"><a href="2-trn.html">trn</a></li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresschapter"><a href="4-tac.html">4</a></li><li class="progresschapter"><a href="5-tac.html">5</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="2-ann.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="2-st.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-it.html">it</a></li><li class="progresssection"><a href="2-in.html">in</a></li><li class="progresssection"><a href="2-bkm.html">bkm</a></li><li class="progresssection"><a href="2-np.html">np</a></li><li class="progresssection"><a href="2-tw.html">tw</a></li><li class="progresssection"><a href="2-pck.html">pck</a></li><li class="progresssection"><a href="2-inl.html">inl</a></li><li class="progresssection"><a href="2-st.html">st</a></li><li class="progresscurrent">sym</li><li class="progresssection"><a href="2-ann.html">ann</a></li><li class="progresssection"><a href="2-tw2.html">tw2</a></li><li class="progresssection"><a href="2-trn.html">trn</a></li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresschapter"><a href="4-tcc.html">4</a></li><li class="progresschapter"><a href="5-tac.html">5</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="2-ann.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -467,7 +467,7 @@ there are three bad possibilities:
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER_SYMBOLS_TABLE</span><span class="plain-syntax">(</span><span class="identifier-syntax">S</span><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">if</span><span class="plain-syntax"> (</span><a href="2-tw2.html#SP2" class="function-link"><span class="function-syntax">Wiring::is_wired</span></a><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">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">target</span><span class="plain-syntax"> = </span><a href="2-tw2.html#SP3" class="function-link"><span class="function-syntax">Wiring::cable_end</span></a><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><a href="2-ann.html#SP7" class="function-link"><span class="function-syntax">SymbolAnnotation::get_b</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">target</span><span class="plain-syntax">, </span><span class="constant-syntax">ARCHITECTURAL_IANN</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">pack</span><span class="plain-syntax"> == </span><span class="identifier-syntax">LargeScale::architecture_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="named-paragraph-container code-font"><a href="2-trn.html#SP4_2_2_1" class="named-paragraph-link"><span class="named-paragraph">S is wired to an architectural symbol in the origin tree</span><span class="named-paragraph-number">4.2.2.1</span></a></span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="2-sym.html#SP13" class="function-link"><span class="function-syntax">InterSymbol::is_plug</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">target</span><span class="plain-syntax">))</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="2-trn.html#SP4_2_2_2" class="named-paragraph-link"><span class="named-paragraph">S is wired to a loose plug in the origin tree</span><span class="named-paragraph-number">4.2.2.2</span></a></span>
|
||||
|
@ -631,7 +631,7 @@ symbols resetting the <span class="extract"><span class="extract-syntax">cached_
|
|||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="2-tw2.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-it.html">it</a></li><li class="progresssection"><a href="2-in.html">in</a></li><li class="progresssection"><a href="2-bkm.html">bkm</a></li><li class="progresssection"><a href="2-np.html">np</a></li><li class="progresssection"><a href="2-tw.html">tw</a></li><li class="progresssection"><a href="2-pck.html">pck</a></li><li class="progresssection"><a href="2-inl.html">inl</a></li><li class="progresssection"><a href="2-st.html">st</a></li><li class="progresssection"><a href="2-sym.html">sym</a></li><li class="progresssection"><a href="2-ann.html">ann</a></li><li class="progresssection"><a href="2-tw2.html">tw2</a></li><li class="progresscurrent">trn</li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresschapter"><a href="4-tac.html">4</a></li><li class="progresschapter"><a href="5-tac.html">5</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="3-ic.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="2-tw2.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-it.html">it</a></li><li class="progresssection"><a href="2-in.html">in</a></li><li class="progresssection"><a href="2-bkm.html">bkm</a></li><li class="progresssection"><a href="2-np.html">np</a></li><li class="progresssection"><a href="2-tw.html">tw</a></li><li class="progresssection"><a href="2-pck.html">pck</a></li><li class="progresssection"><a href="2-inl.html">inl</a></li><li class="progresssection"><a href="2-st.html">st</a></li><li class="progresssection"><a href="2-sym.html">sym</a></li><li class="progresssection"><a href="2-ann.html">ann</a></li><li class="progresssection"><a href="2-tw2.html">tw2</a></li><li class="progresscurrent">trn</li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresschapter"><a href="4-tcc.html">4</a></li><li class="progresschapter"><a href="5-tac.html">5</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="3-ic.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -245,7 +245,7 @@ saves redundantly storing a type field in <a href="2-tw.html#SP3" class="interna
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><a href="2-tw.html#SP11" class="function-link"><span class="function-syntax">InterWarehouse::create_ref</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">warehouse</span><span class="plain-syntax">, </span><span class="identifier-syntax">STORE_POINTER_text_stream</span><span class="plain-syntax">(</span><span class="identifier-syntax">Str::new</span><span class="plain-syntax">()), </span><span class="identifier-syntax">owner</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="constant-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="function-syntax">InterWarehouse::create_text_at</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">InterWarehouse::create_text_at</span></span>:<br/>The Append Construct - <a href="4-tac.html#SP2">§2</a><br/>The Comment Construct - <a href="4-tcc.html#SP2">§2</a><br/>The Pragma Construct - <a href="4-tpc4.html#SP2">§2</a><br/>The Inv Construct - <a href="5-tic.html#SP3">§3</a><br/>The Splat Construct - <a href="5-tsc.html#SP2">§2</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inter_bookmark</span><span class="plain-syntax"> *</span><span class="identifier-syntax">IBM</span><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="constant-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="function-syntax">InterWarehouse::create_text_at</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">InterWarehouse::create_text_at</span></span>:<br/>The Comment Construct - <a href="4-tcc.html#SP2">§2</a><br/>The Pragma Construct - <a href="4-tpc4.html#SP2">§2</a><br/>The Inv Construct - <a href="5-tic.html#SP3">§3</a><br/>The Splat Construct - <a href="5-tsc.html#SP2">§2</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inter_bookmark</span><span class="plain-syntax"> *</span><span class="identifier-syntax">IBM</span><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">inter_warehouse</span><span class="plain-syntax"> *</span><span class="identifier-syntax">warehouse</span><span class="plain-syntax"> = </span><a href="2-bkm.html#SP7" class="function-link"><span class="function-syntax">InterBookmark::warehouse</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">IBM</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="constant-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">text_ID</span><span class="plain-syntax"> = </span><a href="2-tw.html#SP7" class="function-link"><span class="function-syntax">InterWarehouse::create_text</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">warehouse</span><span class="plain-syntax">, </span><a href="2-bkm.html#SP6" class="function-link"><span class="function-syntax">InterBookmark::package</span></a><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">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">to</span><span class="plain-syntax"> = </span><a href="2-tw.html#SP7" class="function-link"><span class="function-syntax">InterWarehouse::get_text</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">warehouse</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_ID</span><span class="plain-syntax">);</span>
|
||||
|
@ -424,7 +424,7 @@ in order to cache the results of those two calculations.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">extent</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">} </span><span class="reserved-syntax">warehouse_floor_space</span><span class="plain-syntax">;</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>The structure warehouse_floor_space is accessed in 2/in, 2/bkm, 2/st, 2/ann, 2/trn, 3/ic, 3/iibf, 3/iitf, 3/vi, 3/ivp, 3/idt, 4/tac, 4/tcc, 4/tcc2, 4/tic, 4/tic2, 4/tpc, 4/tpc3, 4/tpc4, 4/tpc5, 4/tpc6, 4/ttc, 5/tac, 5/tcc, 5/tcc2, 5/tec, 5/tic, 5/trc2, 5/tsc and here.</li></ul>
|
||||
<ul class="endnotetexts"><li>The structure warehouse_floor_space is accessed in 2/in, 2/bkm, 2/st, 2/ann, 2/trn, 3/ic, 3/iibf, 3/iitf, 3/vi, 3/ivp, 3/idt, 4/tcc, 4/tcc2, 4/tic, 4/tic2, 4/tpc, 4/tpc3, 4/tpc4, 4/tpc5, 4/tpc6, 4/ttc, 5/tac, 5/tcc, 5/tcc2, 5/tec, 5/tic, 5/trc2, 5/tsc and here.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP15" class="paragraph-anchor"></a><b>§15. </b>We provide an API of just two functions to handle all this. Firstly,
|
||||
<a href="2-tw.html#SP15" class="internal">InterWarehouse::make_floor_space</a> makes room for an instruction of <span class="extract"><span class="extract-syntax">n</span></span> words.
|
||||
(This is the frame extent, and does not include the <span class="extract"><span class="extract-syntax">PREFRAME_SIZE</span></span>.)
|
||||
|
@ -553,7 +553,7 @@ if the system is out of memory.
|
|||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="2-tw.html#SP16_2">§16.2</a>.</li></ul>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="2-np.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-it.html">it</a></li><li class="progresssection"><a href="2-in.html">in</a></li><li class="progresssection"><a href="2-bkm.html">bkm</a></li><li class="progresssection"><a href="2-np.html">np</a></li><li class="progresscurrent">tw</li><li class="progresssection"><a href="2-pck.html">pck</a></li><li class="progresssection"><a href="2-inl.html">inl</a></li><li class="progresssection"><a href="2-st.html">st</a></li><li class="progresssection"><a href="2-sym.html">sym</a></li><li class="progresssection"><a href="2-ann.html">ann</a></li><li class="progresssection"><a href="2-tw2.html">tw2</a></li><li class="progresssection"><a href="2-trn.html">trn</a></li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresschapter"><a href="4-tac.html">4</a></li><li class="progresschapter"><a href="5-tac.html">5</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="2-pck.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="2-np.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-it.html">it</a></li><li class="progresssection"><a href="2-in.html">in</a></li><li class="progresssection"><a href="2-bkm.html">bkm</a></li><li class="progresssection"><a href="2-np.html">np</a></li><li class="progresscurrent">tw</li><li class="progresssection"><a href="2-pck.html">pck</a></li><li class="progresssection"><a href="2-inl.html">inl</a></li><li class="progresssection"><a href="2-st.html">st</a></li><li class="progresssection"><a href="2-sym.html">sym</a></li><li class="progresssection"><a href="2-ann.html">ann</a></li><li class="progresssection"><a href="2-tw2.html">tw2</a></li><li class="progresssection"><a href="2-trn.html">trn</a></li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresschapter"><a href="4-tcc.html">4</a></li><li class="progresschapter"><a href="5-tac.html">5</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="2-pck.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -555,7 +555,7 @@ said to be "loose".
|
|||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="2-ann.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-it.html">it</a></li><li class="progresssection"><a href="2-in.html">in</a></li><li class="progresssection"><a href="2-bkm.html">bkm</a></li><li class="progresssection"><a href="2-np.html">np</a></li><li class="progresssection"><a href="2-tw.html">tw</a></li><li class="progresssection"><a href="2-pck.html">pck</a></li><li class="progresssection"><a href="2-inl.html">inl</a></li><li class="progresssection"><a href="2-st.html">st</a></li><li class="progresssection"><a href="2-sym.html">sym</a></li><li class="progresssection"><a href="2-ann.html">ann</a></li><li class="progresscurrent">tw2</li><li class="progresssection"><a href="2-trn.html">trn</a></li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresschapter"><a href="4-tac.html">4</a></li><li class="progresschapter"><a href="5-tac.html">5</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="2-trn.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="2-ann.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-it.html">it</a></li><li class="progresssection"><a href="2-in.html">in</a></li><li class="progresssection"><a href="2-bkm.html">bkm</a></li><li class="progresssection"><a href="2-np.html">np</a></li><li class="progresssection"><a href="2-tw.html">tw</a></li><li class="progresssection"><a href="2-pck.html">pck</a></li><li class="progresssection"><a href="2-inl.html">inl</a></li><li class="progresssection"><a href="2-st.html">st</a></li><li class="progresssection"><a href="2-sym.html">sym</a></li><li class="progresssection"><a href="2-ann.html">ann</a></li><li class="progresscurrent">tw2</li><li class="progresssection"><a href="2-trn.html">trn</a></li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresschapter"><a href="4-tcc.html">4</a></li><li class="progresschapter"><a href="5-tac.html">5</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="2-trn.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -98,7 +98,7 @@ function togglePopup(material_id) {
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">CLASS_DEFINITION</span>
|
||||
<span class="plain-syntax">} </span><span class="reserved-syntax">inter_construct</span><span class="plain-syntax">;</span>
|
||||
|
||||
<span class="reserved-syntax">inter_construct</span><span class="plain-syntax"> *</span><span class="function-syntax">InterInstruction::create_construct</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">InterInstruction::create_construct</span></span>:<br/><a href="3-ic.html#SP9">§9</a><br/>The Append Construct - <a href="4-tac.html#SP1">§1</a><br/>The Comment Construct - <a href="4-tcc.html#SP1">§1</a><br/>The Constant Construct - <a href="4-tcc2.html#SP1">§1</a><br/>The Insert Construct - <a href="4-tic.html#SP1">§1</a><br/>The Instance Construct - <a href="4-tic2.html#SP1">§1</a><br/>The Nop Construct - <a href="4-tnc.html#SP1">§1</a><br/>The Package Construct - <a href="4-tpc.html#SP1">§1</a><br/>The PackageType Construct - <a href="4-tpc2.html#SP1">§1</a><br/>The Permission Construct - <a href="4-tpc3.html#SP1">§1</a><br/>The Pragma Construct - <a href="4-tpc4.html#SP1">§1</a><br/>The Primitive Construct - <a href="4-tpc5.html#SP1">§1</a><br/>The Property Construct - <a href="4-tpc6.html#SP1">§1</a><br/>The PropertyValue Construct - <a href="4-tpc7.html#SP1">§1</a><br/>The Typename Construct - <a href="4-ttc.html#SP1">§1</a><br/>The Variable Construct - <a href="4-tvc.html#SP1">§1</a><br/>The Assembly Construct - <a href="5-tac.html#SP1">§1</a><br/>The Cast Construct - <a href="5-tcc.html#SP1">§1</a><br/>The Code Construct - <a href="5-tcc2.html#SP1">§1</a><br/>The Evaluation Construct - <a href="5-tec.html#SP1">§1</a><br/>The Inv Construct - <a href="5-tic.html#SP1">§1</a><br/>The Lab Construct - <a href="5-tlc.html#SP1">§1</a><br/>The Label Construct - <a href="5-tlc2.html#SP1">§1</a><br/>The Local Construct - <a href="5-tlc3.html#SP1">§1</a><br/>The Ref Construct - <a href="5-trc.html#SP1">§1</a><br/>The Reference Construct - <a href="5-trc2.html#SP1">§1</a><br/>The Splat Construct - <a href="5-tsc.html#SP1">§1</a><br/>The Val Construct - <a href="5-tvc.html#SP1">§1</a><br/>The Plug Construct - <a href="6-tpc.html#SP1">§1</a><br/>The Socket Construct - <a href="6-tsc.html#SP1">§1</a><br/>The Version Construct - <a href="6-tvc.html#SP1">§1</a></span></button><span class="plain-syntax">(</span><span class="constant-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">ID</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="reserved-syntax">inter_construct</span><span class="plain-syntax"> *</span><span class="function-syntax">InterInstruction::create_construct</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">InterInstruction::create_construct</span></span>:<br/><a href="3-ic.html#SP9">§9</a><br/>The Comment Construct - <a href="4-tcc.html#SP1">§1</a><br/>The Constant Construct - <a href="4-tcc2.html#SP1">§1</a><br/>The Insert Construct - <a href="4-tic.html#SP1">§1</a><br/>The Instance Construct - <a href="4-tic2.html#SP1">§1</a><br/>The Nop Construct - <a href="4-tnc.html#SP1">§1</a><br/>The Package Construct - <a href="4-tpc.html#SP1">§1</a><br/>The PackageType Construct - <a href="4-tpc2.html#SP1">§1</a><br/>The Permission Construct - <a href="4-tpc3.html#SP1">§1</a><br/>The Pragma Construct - <a href="4-tpc4.html#SP1">§1</a><br/>The Primitive Construct - <a href="4-tpc5.html#SP1">§1</a><br/>The Property Construct - <a href="4-tpc6.html#SP1">§1</a><br/>The PropertyValue Construct - <a href="4-tpc7.html#SP1">§1</a><br/>The Typename Construct - <a href="4-ttc.html#SP1">§1</a><br/>The Variable Construct - <a href="4-tvc.html#SP1">§1</a><br/>The Assembly Construct - <a href="5-tac.html#SP1">§1</a><br/>The Cast Construct - <a href="5-tcc.html#SP1">§1</a><br/>The Code Construct - <a href="5-tcc2.html#SP1">§1</a><br/>The Evaluation Construct - <a href="5-tec.html#SP1">§1</a><br/>The Inv Construct - <a href="5-tic.html#SP1">§1</a><br/>The Lab Construct - <a href="5-tlc.html#SP1">§1</a><br/>The Label Construct - <a href="5-tlc2.html#SP1">§1</a><br/>The Local Construct - <a href="5-tlc3.html#SP1">§1</a><br/>The Ref Construct - <a href="5-trc.html#SP1">§1</a><br/>The Reference Construct - <a href="5-trc2.html#SP1">§1</a><br/>The Splat Construct - <a href="5-tsc.html#SP1">§1</a><br/>The Val Construct - <a href="5-tvc.html#SP1">§1</a><br/>The Plug Construct - <a href="6-tpc.html#SP1">§1</a><br/>The Socket Construct - <a href="6-tsc.html#SP1">§1</a><br/>The Version Construct - <a href="6-tvc.html#SP1">§1</a></span></button><span class="plain-syntax">(</span><span class="constant-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">ID</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">inter_construct</span><span class="plain-syntax"> *</span><span class="identifier-syntax">IC</span><span class="plain-syntax"> = </span><span class="identifier-syntax">CREATE</span><span class="plain-syntax">(</span><span class="reserved-syntax">inter_construct</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">IC</span><span class="plain-syntax">-></span><span class="element-syntax">construct_ID</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">IC</span><span class="plain-syntax">-></span><span class="element-syntax">construct_name</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Str::duplicate</span><span class="plain-syntax">(</span><span class="identifier-syntax">name</span><span class="plain-syntax">);</span>
|
||||
|
@ -150,7 +150,7 @@ Those must be explicitly granted when a new construct is created.
|
|||
<span class="definition-keyword">define</span> <span class="constant-syntax">CAN_HAVE_CHILDREN_ICUP</span><span class="plain-syntax"> </span><span class="constant-syntax">8</span>
|
||||
</pre>
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">InterInstruction::permit</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">InterInstruction::permit</span></span>:<br/>The Append Construct - <a href="4-tac.html#SP1">§1</a><br/>The Comment Construct - <a href="4-tcc.html#SP1">§1</a><br/>The Constant Construct - <a href="4-tcc2.html#SP1">§1</a><br/>The Insert Construct - <a href="4-tic.html#SP1">§1</a><br/>The Instance Construct - <a href="4-tic2.html#SP1">§1</a><br/>The Nop Construct - <a href="4-tnc.html#SP1">§1</a><br/>The Package Construct - <a href="4-tpc.html#SP1">§1</a><br/>The PackageType Construct - <a href="4-tpc2.html#SP1">§1</a><br/>The Permission Construct - <a href="4-tpc3.html#SP1">§1</a><br/>The Pragma Construct - <a href="4-tpc4.html#SP1">§1</a><br/>The Primitive Construct - <a href="4-tpc5.html#SP1">§1</a><br/>The Property Construct - <a href="4-tpc6.html#SP1">§1</a><br/>The PropertyValue Construct - <a href="4-tpc7.html#SP1">§1</a><br/>The Typename Construct - <a href="4-ttc.html#SP1">§1</a><br/>The Variable Construct - <a href="4-tvc.html#SP1">§1</a><br/>The Assembly Construct - <a href="5-tac.html#SP1">§1</a><br/>The Cast Construct - <a href="5-tcc.html#SP1">§1</a><br/>The Code Construct - <a href="5-tcc2.html#SP1">§1</a><br/>The Evaluation Construct - <a href="5-tec.html#SP1">§1</a><br/>The Inv Construct - <a href="5-tic.html#SP1">§1</a><br/>The Lab Construct - <a href="5-tlc.html#SP1">§1</a><br/>The Label Construct - <a href="5-tlc2.html#SP1">§1</a><br/>The Local Construct - <a href="5-tlc3.html#SP1">§1</a><br/>The Ref Construct - <a href="5-trc.html#SP1">§1</a><br/>The Reference Construct - <a href="5-trc2.html#SP1">§1</a><br/>The Splat Construct - <a href="5-tsc.html#SP1">§1</a><br/>The Val Construct - <a href="5-tvc.html#SP1">§1</a><br/>The Plug Construct - <a href="6-tpc.html#SP1">§1</a><br/>The Socket Construct - <a href="6-tsc.html#SP1">§1</a><br/>The Version Construct - <a href="6-tvc.html#SP1">§1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inter_construct</span><span class="plain-syntax"> *</span><span class="identifier-syntax">IC</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">usage</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">InterInstruction::permit</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">InterInstruction::permit</span></span>:<br/>The Comment Construct - <a href="4-tcc.html#SP1">§1</a><br/>The Constant Construct - <a href="4-tcc2.html#SP1">§1</a><br/>The Insert Construct - <a href="4-tic.html#SP1">§1</a><br/>The Instance Construct - <a href="4-tic2.html#SP1">§1</a><br/>The Nop Construct - <a href="4-tnc.html#SP1">§1</a><br/>The Package Construct - <a href="4-tpc.html#SP1">§1</a><br/>The PackageType Construct - <a href="4-tpc2.html#SP1">§1</a><br/>The Permission Construct - <a href="4-tpc3.html#SP1">§1</a><br/>The Pragma Construct - <a href="4-tpc4.html#SP1">§1</a><br/>The Primitive Construct - <a href="4-tpc5.html#SP1">§1</a><br/>The Property Construct - <a href="4-tpc6.html#SP1">§1</a><br/>The PropertyValue Construct - <a href="4-tpc7.html#SP1">§1</a><br/>The Typename Construct - <a href="4-ttc.html#SP1">§1</a><br/>The Variable Construct - <a href="4-tvc.html#SP1">§1</a><br/>The Assembly Construct - <a href="5-tac.html#SP1">§1</a><br/>The Cast Construct - <a href="5-tcc.html#SP1">§1</a><br/>The Code Construct - <a href="5-tcc2.html#SP1">§1</a><br/>The Evaluation Construct - <a href="5-tec.html#SP1">§1</a><br/>The Inv Construct - <a href="5-tic.html#SP1">§1</a><br/>The Lab Construct - <a href="5-tlc.html#SP1">§1</a><br/>The Label Construct - <a href="5-tlc2.html#SP1">§1</a><br/>The Local Construct - <a href="5-tlc3.html#SP1">§1</a><br/>The Ref Construct - <a href="5-trc.html#SP1">§1</a><br/>The Reference Construct - <a href="5-trc2.html#SP1">§1</a><br/>The Splat Construct - <a href="5-tsc.html#SP1">§1</a><br/>The Val Construct - <a href="5-tvc.html#SP1">§1</a><br/>The Plug Construct - <a href="6-tpc.html#SP1">§1</a><br/>The Socket Construct - <a href="6-tsc.html#SP1">§1</a><br/>The Version Construct - <a href="6-tvc.html#SP1">§1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inter_construct</span><span class="plain-syntax"> *</span><span class="identifier-syntax">IC</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">usage</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">IC</span><span class="plain-syntax">-></span><span class="element-syntax">usage_permissions</span><span class="plain-syntax"> |= </span><span class="identifier-syntax">usage</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
|
@ -164,7 +164,7 @@ number of words of bytecode it occupies:
|
|||
</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">InterInstruction::data_extent_always</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">InterInstruction::data_extent_always</span></span>:<br/>The Append Construct - <a href="4-tac.html#SP1">§1</a><br/>The Comment Construct - <a href="4-tcc.html#SP1">§1</a><br/>The Insert Construct - <a href="4-tic.html#SP1">§1</a><br/>The Instance Construct - <a href="4-tic2.html#SP1">§1</a><br/>The Nop Construct - <a href="4-tnc.html#SP1">§1</a><br/>The Package Construct - <a href="4-tpc.html#SP1">§1</a><br/>The PackageType Construct - <a href="4-tpc2.html#SP1">§1</a><br/>The Permission Construct - <a href="4-tpc3.html#SP1">§1</a><br/>The Pragma Construct - <a href="4-tpc4.html#SP1">§1</a><br/>The Property Construct - <a href="4-tpc6.html#SP1">§1</a><br/>The PropertyValue Construct - <a href="4-tpc7.html#SP1">§1</a><br/>The Variable Construct - <a href="4-tvc.html#SP1">§1</a><br/>The Assembly Construct - <a href="5-tac.html#SP1">§1</a><br/>The Cast Construct - <a href="5-tcc.html#SP1">§1</a><br/>The Code Construct - <a href="5-tcc2.html#SP1">§1</a><br/>The Evaluation Construct - <a href="5-tec.html#SP1">§1</a><br/>The Inv Construct - <a href="5-tic.html#SP1">§1</a><br/>The Lab Construct - <a href="5-tlc.html#SP1">§1</a><br/>The Label Construct - <a href="5-tlc2.html#SP1">§1</a><br/>The Local Construct - <a href="5-tlc3.html#SP1">§1</a><br/>The Ref Construct - <a href="5-trc.html#SP1">§1</a><br/>The Reference Construct - <a href="5-trc2.html#SP1">§1</a><br/>The Splat Construct - <a href="5-tsc.html#SP1">§1</a><br/>The Val Construct - <a href="5-tvc.html#SP1">§1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inter_construct</span><span class="plain-syntax"> *</span><span class="identifier-syntax">IC</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">l</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">InterInstruction::data_extent_always</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">InterInstruction::data_extent_always</span></span>:<br/>The Comment Construct - <a href="4-tcc.html#SP1">§1</a><br/>The Insert Construct - <a href="4-tic.html#SP1">§1</a><br/>The Instance Construct - <a href="4-tic2.html#SP1">§1</a><br/>The Nop Construct - <a href="4-tnc.html#SP1">§1</a><br/>The Package Construct - <a href="4-tpc.html#SP1">§1</a><br/>The PackageType Construct - <a href="4-tpc2.html#SP1">§1</a><br/>The Permission Construct - <a href="4-tpc3.html#SP1">§1</a><br/>The Pragma Construct - <a href="4-tpc4.html#SP1">§1</a><br/>The Property Construct - <a href="4-tpc6.html#SP1">§1</a><br/>The PropertyValue Construct - <a href="4-tpc7.html#SP1">§1</a><br/>The Variable Construct - <a href="4-tvc.html#SP1">§1</a><br/>The Assembly Construct - <a href="5-tac.html#SP1">§1</a><br/>The Cast Construct - <a href="5-tcc.html#SP1">§1</a><br/>The Code Construct - <a href="5-tcc2.html#SP1">§1</a><br/>The Evaluation Construct - <a href="5-tec.html#SP1">§1</a><br/>The Inv Construct - <a href="5-tic.html#SP1">§1</a><br/>The Lab Construct - <a href="5-tlc.html#SP1">§1</a><br/>The Label Construct - <a href="5-tlc2.html#SP1">§1</a><br/>The Local Construct - <a href="5-tlc3.html#SP1">§1</a><br/>The Ref Construct - <a href="5-trc.html#SP1">§1</a><br/>The Reference Construct - <a href="5-trc2.html#SP1">§1</a><br/>The Splat Construct - <a href="5-tsc.html#SP1">§1</a><br/>The Val Construct - <a href="5-tvc.html#SP1">§1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inter_construct</span><span class="plain-syntax"> *</span><span class="identifier-syntax">IC</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">l</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">IC</span><span class="plain-syntax">-></span><span class="element-syntax">min_extent</span><span class="plain-syntax"> = </span><span class="identifier-syntax">l</span><span class="plain-syntax"> + </span><span class="constant-syntax">DATA_IFLD</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">IC</span><span class="plain-syntax">-></span><span class="element-syntax">max_extent</span><span class="plain-syntax"> = </span><span class="identifier-syntax">l</span><span class="plain-syntax"> + </span><span class="constant-syntax">DATA_IFLD</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
@ -292,7 +292,7 @@ that every construct is legally used:
|
|||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>The structure tree_lint_state is accessed in 2/it, 2/in, 2/bkm, 2/trn, 4/tac and here.</li></ul>
|
||||
<ul class="endnotetexts"><li>The structure tree_lint_state is accessed in 2/it, 2/in, 2/bkm, 2/trn and here.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP8" class="paragraph-anchor"></a><b>§8. </b>So much for a construct's invariants. Now we turn to the textual syntax for it,
|
||||
which of course applies only to the textual form of Inter. Moreover, the syntax
|
||||
fields of an <a href="3-ic.html#SP1" class="internal">inter_construct</a> are used only for parsing, and not for printing
|
||||
|
@ -316,7 +316,7 @@ but give it no syntax. If so, it will be inexpressible in textual Inter code.
|
|||
<pre class="definitions code-font"><span class="definition-keyword">define</span> <span class="constant-syntax">MAX_RECOGNITION_REGEXP_LENGTH</span><span class="plain-syntax"> </span><span class="constant-syntax">64</span>
|
||||
</pre>
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">InterInstruction::specify_syntax</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">InterInstruction::specify_syntax</span></span>:<br/>The Append Construct - <a href="4-tac.html#SP1">§1</a><br/>The Comment Construct - <a href="4-tcc.html#SP1">§1</a><br/>The Constant Construct - <a href="4-tcc2.html#SP1">§1</a><br/>The Insert Construct - <a href="4-tic.html#SP1">§1</a><br/>The Instance Construct - <a href="4-tic2.html#SP1">§1</a><br/>The Package Construct - <a href="4-tpc.html#SP1">§1</a><br/>The PackageType Construct - <a href="4-tpc2.html#SP1">§1</a><br/>The Permission Construct - <a href="4-tpc3.html#SP1">§1</a><br/>The Pragma Construct - <a href="4-tpc4.html#SP1">§1</a><br/>The Primitive Construct - <a href="4-tpc5.html#SP1">§1</a><br/>The Property Construct - <a href="4-tpc6.html#SP1">§1</a><br/>The PropertyValue Construct - <a href="4-tpc7.html#SP1">§1</a><br/>The Typename Construct - <a href="4-ttc.html#SP1">§1</a><br/>The Variable Construct - <a href="4-tvc.html#SP1">§1</a><br/>The Assembly Construct - <a href="5-tac.html#SP1">§1</a><br/>The Cast Construct - <a href="5-tcc.html#SP1">§1</a><br/>The Code Construct - <a href="5-tcc2.html#SP1">§1</a><br/>The Evaluation Construct - <a href="5-tec.html#SP1">§1</a><br/>The Inv Construct - <a href="5-tic.html#SP1">§1</a><br/>The Lab Construct - <a href="5-tlc.html#SP1">§1</a><br/>The Label Construct - <a href="5-tlc2.html#SP1">§1</a><br/>The Local Construct - <a href="5-tlc3.html#SP1">§1</a><br/>The Ref Construct - <a href="5-trc.html#SP1">§1</a><br/>The Reference Construct - <a href="5-trc2.html#SP1">§1</a><br/>The Splat Construct - <a href="5-tsc.html#SP1">§1</a><br/>The Val Construct - <a href="5-tvc.html#SP1">§1</a><br/>The Plug Construct - <a href="6-tpc.html#SP1">§1</a><br/>The Socket Construct - <a href="6-tsc.html#SP1">§1</a><br/>The Version Construct - <a href="6-tvc.html#SP1">§1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inter_construct</span><span class="plain-syntax"> *</span><span class="identifier-syntax">IC</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">syntax</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">InterInstruction::specify_syntax</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">InterInstruction::specify_syntax</span></span>:<br/>The Comment Construct - <a href="4-tcc.html#SP1">§1</a><br/>The Constant Construct - <a href="4-tcc2.html#SP1">§1</a><br/>The Insert Construct - <a href="4-tic.html#SP1">§1</a><br/>The Instance Construct - <a href="4-tic2.html#SP1">§1</a><br/>The Package Construct - <a href="4-tpc.html#SP1">§1</a><br/>The PackageType Construct - <a href="4-tpc2.html#SP1">§1</a><br/>The Permission Construct - <a href="4-tpc3.html#SP1">§1</a><br/>The Pragma Construct - <a href="4-tpc4.html#SP1">§1</a><br/>The Primitive Construct - <a href="4-tpc5.html#SP1">§1</a><br/>The Property Construct - <a href="4-tpc6.html#SP1">§1</a><br/>The PropertyValue Construct - <a href="4-tpc7.html#SP1">§1</a><br/>The Typename Construct - <a href="4-ttc.html#SP1">§1</a><br/>The Variable Construct - <a href="4-tvc.html#SP1">§1</a><br/>The Assembly Construct - <a href="5-tac.html#SP1">§1</a><br/>The Cast Construct - <a href="5-tcc.html#SP1">§1</a><br/>The Code Construct - <a href="5-tcc2.html#SP1">§1</a><br/>The Evaluation Construct - <a href="5-tec.html#SP1">§1</a><br/>The Inv Construct - <a href="5-tic.html#SP1">§1</a><br/>The Lab Construct - <a href="5-tlc.html#SP1">§1</a><br/>The Label Construct - <a href="5-tlc2.html#SP1">§1</a><br/>The Local Construct - <a href="5-tlc3.html#SP1">§1</a><br/>The Ref Construct - <a href="5-trc.html#SP1">§1</a><br/>The Reference Construct - <a href="5-trc2.html#SP1">§1</a><br/>The Splat Construct - <a href="5-tsc.html#SP1">§1</a><br/>The Val Construct - <a href="5-tvc.html#SP1">§1</a><br/>The Plug Construct - <a href="6-tpc.html#SP1">§1</a><br/>The Socket Construct - <a href="6-tsc.html#SP1">§1</a><br/>The Version Construct - <a href="6-tvc.html#SP1">§1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inter_construct</span><span class="plain-syntax"> *</span><span class="identifier-syntax">IC</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">syntax</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">IC</span><span class="plain-syntax">-></span><span class="element-syntax">syntax</span><span class="plain-syntax"> = </span><span class="identifier-syntax">syntax</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">regexp</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="constant-syntax">0</span><span class="plain-syntax">; </span><span class="identifier-syntax">i</span><span class="plain-syntax"> < </span><span class="identifier-syntax">Str::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">syntax</span><span class="plain-syntax">); </span><span class="identifier-syntax">i</span><span class="plain-syntax">++) {</span>
|
||||
|
@ -380,8 +380,7 @@ bump of <a href="1-tiv.html" class="internal">The Inter Version</a>.
|
|||
<p class="commentary">These are constructs used for instructions outside function bodies:
|
||||
</p>
|
||||
|
||||
<pre class="definitions code-font"><span class="definition-keyword">enum</span> <span class="constant-syntax">APPEND_IST</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">COMMENT_IST</span>
|
||||
<pre class="definitions code-font"><span class="definition-keyword">enum</span> <span class="constant-syntax">COMMENT_IST</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">CONSTANT_IST</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">INSTANCE_IST</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">INSERT_IST</span>
|
||||
|
@ -474,7 +473,6 @@ the creation of the constructs: so we poll those sections in turn.
|
|||
<span class="plain-syntax"> </span><a href="6-tvc.html#SP1" class="function-link"><span class="function-syntax">VersionInstruction::define_construct</span></a><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax"> </span><a href="4-tpc4.html#SP1" class="function-link"><span class="function-syntax">PragmaInstruction::define_construct</span></a><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax"> </span><a href="4-tic.html#SP1" class="function-link"><span class="function-syntax">InsertInstruction::define_construct</span></a><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax"> </span><a href="4-tac.html#SP1" class="function-link"><span class="function-syntax">AppendInstruction::define_construct</span></a><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax"> </span><a href="4-ttc.html#SP1" class="function-link"><span class="function-syntax">TypenameInstruction::define_construct</span></a><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax"> </span><a href="4-tcc2.html#SP1" class="function-link"><span class="function-syntax">ConstantInstruction::define_construct</span></a><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax"> </span><a href="4-tic2.html#SP1" class="function-link"><span class="function-syntax">InstanceInstruction::define_construct</span></a><span class="plain-syntax">();</span>
|
||||
|
@ -654,7 +652,7 @@ not the place to explain it. See <a href="3-iibf.html" class="internal">Inter in
|
|||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="2-trn.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresschapter"><a href="2-it.html">2</a></li><li class="progresscurrentchapter">3</li><li class="progresscurrent">ic</li><li class="progresssection"><a href="3-iibf.html">iibf</a></li><li class="progresssection"><a href="3-iitf.html">iitf</a></li><li class="progresssection"><a href="3-vi.html">vi</a></li><li class="progresssection"><a href="3-ivp.html">ivp</a></li><li class="progresssection"><a href="3-idt.html">idt</a></li><li class="progresssection"><a href="3-mtd.html">mtd</a></li><li class="progresssection"><a href="3-ie.html">ie</a></li><li class="progresschapter"><a href="4-tac.html">4</a></li><li class="progresschapter"><a href="5-tac.html">5</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="3-iibf.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="2-trn.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresschapter"><a href="2-it.html">2</a></li><li class="progresscurrentchapter">3</li><li class="progresscurrent">ic</li><li class="progresssection"><a href="3-iibf.html">iibf</a></li><li class="progresssection"><a href="3-iitf.html">iitf</a></li><li class="progresssection"><a href="3-vi.html">vi</a></li><li class="progresssection"><a href="3-ivp.html">ivp</a></li><li class="progresssection"><a href="3-idt.html">idt</a></li><li class="progresssection"><a href="3-mtd.html">mtd</a></li><li class="progresssection"><a href="3-ie.html">ie</a></li><li class="progresschapter"><a href="4-tcc.html">4</a></li><li class="progresschapter"><a href="5-tac.html">5</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="3-iibf.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -939,7 +939,7 @@ function arguments are contravariant.
|
|||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="3-ivp.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresschapter"><a href="2-it.html">2</a></li><li class="progresscurrentchapter">3</li><li class="progresssection"><a href="3-ic.html">ic</a></li><li class="progresssection"><a href="3-iibf.html">iibf</a></li><li class="progresssection"><a href="3-iitf.html">iitf</a></li><li class="progresssection"><a href="3-vi.html">vi</a></li><li class="progresssection"><a href="3-ivp.html">ivp</a></li><li class="progresscurrent">idt</li><li class="progresssection"><a href="3-mtd.html">mtd</a></li><li class="progresssection"><a href="3-ie.html">ie</a></li><li class="progresschapter"><a href="4-tac.html">4</a></li><li class="progresschapter"><a href="5-tac.html">5</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="3-mtd.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="3-ivp.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresschapter"><a href="2-it.html">2</a></li><li class="progresscurrentchapter">3</li><li class="progresssection"><a href="3-ic.html">ic</a></li><li class="progresssection"><a href="3-iibf.html">iibf</a></li><li class="progresssection"><a href="3-iitf.html">iitf</a></li><li class="progresssection"><a href="3-vi.html">vi</a></li><li class="progresssection"><a href="3-ivp.html">ivp</a></li><li class="progresscurrent">idt</li><li class="progresssection"><a href="3-mtd.html">mtd</a></li><li class="progresssection"><a href="3-ie.html">ie</a></li><li class="progresschapter"><a href="4-tcc.html">4</a></li><li class="progresschapter"><a href="5-tac.html">5</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="3-mtd.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -130,7 +130,7 @@ of ways.)
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">inter_error_message</span><span class="plain-syntax"> *</span><span class="function-syntax">InterErrors::quoted</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">InterErrors::quoted</span></span>:<br/>Annotations - <a href="2-ann.html#SP15">§15</a><br/>Inter Constructs - <a href="3-ic.html#SP7">§7</a><br/>Inter in Text Files - <a href="3-iitf.html#SP4">§4</a>, <a href="3-iitf.html#SP5">§5</a>, <a href="3-iitf.html#SP5_1">§5.1</a>, <a href="3-iitf.html#SP5_2">§5.2</a>, <a href="3-iitf.html#SP6">§6</a>, <a href="3-iitf.html#SP7_1">§7.1</a>, <a href="3-iitf.html#SP11">§11</a>, <a href="3-iitf.html#SP12">§12</a>, <a href="3-iitf.html#SP12_2">§12.2</a>, <a href="3-iitf.html#SP12_14">§12.14</a>, <a href="3-iitf.html#SP12_14_1">§12.14.1</a><br/>Inter Data Types - <a href="3-idt.html#SP17">§17</a>, <a href="3-idt.html#SP17_9">§17.9</a>, <a href="3-idt.html#SP18">§18</a><br/>The Append Construct - <a href="4-tac.html#SP4">§4</a><br/>The Instance Construct - <a href="4-tic2.html#SP4_1">§4.1</a><br/>The Permission Construct - <a href="4-tpc3.html#SP4">§4</a><br/>The Primitive Construct - <a href="4-tpc5.html#SP7">§7</a><br/>The PropertyValue Construct - <a href="4-tpc7.html#SP4">§4</a><br/>The Typename Construct - <a href="4-ttc.html#SP4">§4</a><br/>The Inv Construct - <a href="5-tic.html#SP7_1">§7.1</a>, <a href="5-tic.html#SP7_3">§7.3</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">err</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">quote</span><span class="plain-syntax">, </span><span class="reserved-syntax">inter_error_location</span><span class="plain-syntax"> *</span><span class="identifier-syntax">eloc</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">inter_error_message</span><span class="plain-syntax"> *</span><span class="function-syntax">InterErrors::quoted</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">InterErrors::quoted</span></span>:<br/>Annotations - <a href="2-ann.html#SP15">§15</a><br/>Inter Constructs - <a href="3-ic.html#SP7">§7</a><br/>Inter in Text Files - <a href="3-iitf.html#SP4">§4</a>, <a href="3-iitf.html#SP5">§5</a>, <a href="3-iitf.html#SP5_1">§5.1</a>, <a href="3-iitf.html#SP5_2">§5.2</a>, <a href="3-iitf.html#SP6">§6</a>, <a href="3-iitf.html#SP7_1">§7.1</a>, <a href="3-iitf.html#SP11">§11</a>, <a href="3-iitf.html#SP12">§12</a>, <a href="3-iitf.html#SP12_2">§12.2</a>, <a href="3-iitf.html#SP12_14">§12.14</a>, <a href="3-iitf.html#SP12_14_1">§12.14.1</a><br/>Inter Data Types - <a href="3-idt.html#SP17">§17</a>, <a href="3-idt.html#SP17_9">§17.9</a>, <a href="3-idt.html#SP18">§18</a><br/>The Instance Construct - <a href="4-tic2.html#SP4_1">§4.1</a><br/>The Permission Construct - <a href="4-tpc3.html#SP4">§4</a><br/>The Primitive Construct - <a href="4-tpc5.html#SP7">§7</a><br/>The PropertyValue Construct - <a href="4-tpc7.html#SP4">§4</a><br/>The Typename Construct - <a href="4-ttc.html#SP4">§4</a><br/>The Inv Construct - <a href="5-tic.html#SP7_1">§7.1</a>, <a href="5-tic.html#SP7_3">§7.3</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">err</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">quote</span><span class="plain-syntax">, </span><span class="reserved-syntax">inter_error_location</span><span class="plain-syntax"> *</span><span class="identifier-syntax">eloc</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">inter_error_message</span><span class="plain-syntax"> *</span><span class="identifier-syntax">iem</span><span class="plain-syntax"> = </span><a href="3-ie.html#SP4" class="function-link"><span class="function-syntax">InterErrors::plain</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">err</span><span class="plain-syntax">, </span><span class="identifier-syntax">eloc</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">iem</span><span class="plain-syntax">-></span><span class="element-syntax">error_quote</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Str::duplicate</span><span class="plain-syntax">(</span><span class="identifier-syntax">quote</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">iem</span><span class="plain-syntax">;</span>
|
||||
|
@ -216,7 +216,7 @@ exist. See <a href="3-ic.html#SP7" class="internal">InterInstruction::tree_lint<
|
|||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="3-mtd.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresschapter"><a href="2-it.html">2</a></li><li class="progresscurrentchapter">3</li><li class="progresssection"><a href="3-ic.html">ic</a></li><li class="progresssection"><a href="3-iibf.html">iibf</a></li><li class="progresssection"><a href="3-iitf.html">iitf</a></li><li class="progresssection"><a href="3-vi.html">vi</a></li><li class="progresssection"><a href="3-ivp.html">ivp</a></li><li class="progresssection"><a href="3-idt.html">idt</a></li><li class="progresssection"><a href="3-mtd.html">mtd</a></li><li class="progresscurrent">ie</li><li class="progresschapter"><a href="4-tac.html">4</a></li><li class="progresschapter"><a href="5-tac.html">5</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="4-tac.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="3-mtd.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresschapter"><a href="2-it.html">2</a></li><li class="progresscurrentchapter">3</li><li class="progresssection"><a href="3-ic.html">ic</a></li><li class="progresssection"><a href="3-iibf.html">iibf</a></li><li class="progresssection"><a href="3-iitf.html">iitf</a></li><li class="progresssection"><a href="3-vi.html">vi</a></li><li class="progresssection"><a href="3-ivp.html">ivp</a></li><li class="progresssection"><a href="3-idt.html">idt</a></li><li class="progresssection"><a href="3-mtd.html">mtd</a></li><li class="progresscurrent">ie</li><li class="progresschapter"><a href="4-tcc.html">4</a></li><li class="progresschapter"><a href="5-tac.html">5</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="4-tcc.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -1035,7 +1035,7 @@ the definition of any symbol created in the instruction to <span class="extract"
|
|||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="3-ic.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresschapter"><a href="2-it.html">2</a></li><li class="progresscurrentchapter">3</li><li class="progresssection"><a href="3-ic.html">ic</a></li><li class="progresscurrent">iibf</li><li class="progresssection"><a href="3-iitf.html">iitf</a></li><li class="progresssection"><a href="3-vi.html">vi</a></li><li class="progresssection"><a href="3-ivp.html">ivp</a></li><li class="progresssection"><a href="3-idt.html">idt</a></li><li class="progresssection"><a href="3-mtd.html">mtd</a></li><li class="progresssection"><a href="3-ie.html">ie</a></li><li class="progresschapter"><a href="4-tac.html">4</a></li><li class="progresschapter"><a href="5-tac.html">5</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="3-iitf.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="3-ic.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresschapter"><a href="2-it.html">2</a></li><li class="progresscurrentchapter">3</li><li class="progresssection"><a href="3-ic.html">ic</a></li><li class="progresscurrent">iibf</li><li class="progresssection"><a href="3-iitf.html">iitf</a></li><li class="progresssection"><a href="3-vi.html">vi</a></li><li class="progresssection"><a href="3-ivp.html">ivp</a></li><li class="progresssection"><a href="3-idt.html">idt</a></li><li class="progresssection"><a href="3-mtd.html">mtd</a></li><li class="progresssection"><a href="3-ie.html">ie</a></li><li class="progresschapter"><a href="4-tcc.html">4</a></li><li class="progresschapter"><a href="5-tac.html">5</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="3-iitf.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -149,7 +149,7 @@ See <a href="../building-module/1-ip.html" class="internal">Inter Primitives (in
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><a href="3-ic.html#SP20" class="function-link"><span class="function-syntax">InterInstruction::match</span></a><span class="plain-syntax">(&</span><span class="identifier-syntax">ilp</span><span class="plain-syntax">, </span><span class="identifier-syntax">eloc</span><span class="plain-syntax">, </span><span class="identifier-syntax">write_pos</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>The structure inter_line_parse is accessed in 3/ic, 4/tac, 4/tcc, 4/tcc2, 4/tic, 4/tic2, 4/tpc, 4/tpc2, 4/tpc3, 4/tpc4, 4/tpc5, 4/tpc6, 4/tpc7, 4/ttc, 4/tvc, 5/tac, 5/tcc, 5/tcc2, 5/tec, 5/tic, 5/tlc, 5/tlc2, 5/tlc3, 5/trc, 5/trc2, 5/tsc, 5/tvc, 6/tpc, 6/tsc, 6/tvc and here.</li></ul>
|
||||
<ul class="endnotetexts"><li>The structure inter_line_parse is accessed in 3/ic, 4/tcc, 4/tcc2, 4/tic, 4/tic2, 4/tpc, 4/tpc2, 4/tpc3, 4/tpc4, 4/tpc5, 4/tpc6, 4/tpc7, 4/ttc, 4/tvc, 5/tac, 5/tcc, 5/tcc2, 5/tec, 5/tic, 5/tlc, 5/tlc2, 5/tlc3, 5/trc, 5/trc2, 5/tsc, 5/tvc, 6/tpc, 6/tsc, 6/tvc and here.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP3_1" class="paragraph-anchor"></a><b>§3.1. </b>We are a bit aggressive in requiring the Python-style indentation at the start
|
||||
of each line to be made of tabs, not spaces. If we intended textual Inter to be
|
||||
a programming language for humans to use, we might be more accommodating. But it's
|
||||
|
@ -489,7 +489,7 @@ the filter test.
|
|||
<p class="commentary firstcommentary"><a id="SP11" class="paragraph-anchor"></a><b>§11. Notation for text literals. </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">TextualInter::write_text</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">TextualInter::write_text</span></span>:<br/><a href="3-iitf.html#SP12_3">§12.3</a>, <a href="3-iitf.html#SP12_5">§12.5</a>, <a href="3-iitf.html#SP12_7">§12.7</a>, <a href="3-iitf.html#SP12_9">§12.9</a>, <a href="3-iitf.html#SP12_11">§12.11</a><br/>Annotations - <a href="2-ann.html#SP14">§14</a><br/>The Append Construct - <a href="4-tac.html#SP5">§5</a><br/>The Insert Construct - <a href="4-tic.html#SP5">§5</a><br/>The Pragma Construct - <a href="4-tpc4.html#SP5">§5</a><br/>The Splat Construct - <a href="5-tsc.html#SP5">§5</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</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="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">TextualInter::write_text</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">TextualInter::write_text</span></span>:<br/><a href="3-iitf.html#SP12_3">§12.3</a>, <a href="3-iitf.html#SP12_5">§12.5</a>, <a href="3-iitf.html#SP12_7">§12.7</a>, <a href="3-iitf.html#SP12_9">§12.9</a>, <a href="3-iitf.html#SP12_11">§12.11</a><br/>Annotations - <a href="2-ann.html#SP14">§14</a><br/>The Insert Construct - <a href="4-tic.html#SP5">§5</a><br/>The Pragma Construct - <a href="4-tpc4.html#SP5">§5</a><br/>The Splat Construct - <a href="5-tsc.html#SP5">§5</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</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="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"\""</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_THROUGH_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">P</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">wchar_t</span><span class="plain-syntax"> </span><span class="identifier-syntax">c</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Str::get</span><span class="plain-syntax">(</span><span class="identifier-syntax">P</span><span class="plain-syntax">);</span>
|
||||
|
@ -502,7 +502,7 @@ the filter test.
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"\""</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="reserved-syntax">inter_error_message</span><span class="plain-syntax"> *</span><span class="function-syntax">TextualInter::parse_literal_text</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">TextualInter::parse_literal_text</span></span>:<br/><a href="3-iitf.html#SP12_4">§12.4</a>, <a href="3-iitf.html#SP12_6">§12.6</a>, <a href="3-iitf.html#SP12_8">§12.8</a>, <a href="3-iitf.html#SP12_10">§12.10</a>, <a href="3-iitf.html#SP12_12">§12.12</a><br/>Annotations - <a href="2-ann.html#SP15">§15</a><br/>The Append Construct - <a href="4-tac.html#SP4">§4</a><br/>The Insert Construct - <a href="4-tic.html#SP4">§4</a><br/>The Pragma Construct - <a href="4-tpc4.html#SP4">§4</a><br/>The Splat Construct - <a href="5-tsc.html#SP4">§4</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">parsed_text</span><span class="plain-syntax">,</span>
|
||||
<span class="reserved-syntax">inter_error_message</span><span class="plain-syntax"> *</span><span class="function-syntax">TextualInter::parse_literal_text</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">TextualInter::parse_literal_text</span></span>:<br/><a href="3-iitf.html#SP12_4">§12.4</a>, <a href="3-iitf.html#SP12_6">§12.6</a>, <a href="3-iitf.html#SP12_8">§12.8</a>, <a href="3-iitf.html#SP12_10">§12.10</a>, <a href="3-iitf.html#SP12_12">§12.12</a><br/>Annotations - <a href="2-ann.html#SP15">§15</a><br/>The Insert Construct - <a href="4-tic.html#SP4">§4</a><br/>The Pragma Construct - <a href="4-tpc4.html#SP4">§4</a><br/>The Splat Construct - <a href="5-tsc.html#SP4">§4</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">parsed_text</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">S</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">from</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">to</span><span class="plain-syntax">, </span><span class="reserved-syntax">inter_error_location</span><span class="plain-syntax"> *</span><span class="identifier-syntax">eloc</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-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">NULL</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">literal_mode</span><span class="plain-syntax"> = </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">;</span>
|
||||
|
@ -873,7 +873,7 @@ therefore used typelessly.
|
|||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="3-iibf.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresschapter"><a href="2-it.html">2</a></li><li class="progresscurrentchapter">3</li><li class="progresssection"><a href="3-ic.html">ic</a></li><li class="progresssection"><a href="3-iibf.html">iibf</a></li><li class="progresscurrent">iitf</li><li class="progresssection"><a href="3-vi.html">vi</a></li><li class="progresssection"><a href="3-ivp.html">ivp</a></li><li class="progresssection"><a href="3-idt.html">idt</a></li><li class="progresssection"><a href="3-mtd.html">mtd</a></li><li class="progresssection"><a href="3-ie.html">ie</a></li><li class="progresschapter"><a href="4-tac.html">4</a></li><li class="progresschapter"><a href="5-tac.html">5</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="3-vi.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="3-iibf.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresschapter"><a href="2-it.html">2</a></li><li class="progresscurrentchapter">3</li><li class="progresssection"><a href="3-ic.html">ic</a></li><li class="progresssection"><a href="3-iibf.html">iibf</a></li><li class="progresscurrent">iitf</li><li class="progresssection"><a href="3-vi.html">vi</a></li><li class="progresssection"><a href="3-ivp.html">ivp</a></li><li class="progresssection"><a href="3-idt.html">idt</a></li><li class="progresssection"><a href="3-mtd.html">mtd</a></li><li class="progresssection"><a href="3-ie.html">ie</a></li><li class="progresschapter"><a href="4-tcc.html">4</a></li><li class="progresschapter"><a href="5-tac.html">5</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="3-vi.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -567,7 +567,7 @@ garbage, and doesn't take much time.
|
|||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="3-ivp.html#SP22">§22</a>.</li></ul>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="3-vi.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresschapter"><a href="2-it.html">2</a></li><li class="progresscurrentchapter">3</li><li class="progresssection"><a href="3-ic.html">ic</a></li><li class="progresssection"><a href="3-iibf.html">iibf</a></li><li class="progresssection"><a href="3-iitf.html">iitf</a></li><li class="progresssection"><a href="3-vi.html">vi</a></li><li class="progresscurrent">ivp</li><li class="progresssection"><a href="3-idt.html">idt</a></li><li class="progresssection"><a href="3-mtd.html">mtd</a></li><li class="progresssection"><a href="3-ie.html">ie</a></li><li class="progresschapter"><a href="4-tac.html">4</a></li><li class="progresschapter"><a href="5-tac.html">5</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="3-idt.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="3-vi.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresschapter"><a href="2-it.html">2</a></li><li class="progresscurrentchapter">3</li><li class="progresssection"><a href="3-ic.html">ic</a></li><li class="progresssection"><a href="3-iibf.html">iibf</a></li><li class="progresssection"><a href="3-iitf.html">iitf</a></li><li class="progresssection"><a href="3-vi.html">vi</a></li><li class="progresscurrent">ivp</li><li class="progresssection"><a href="3-idt.html">idt</a></li><li class="progresssection"><a href="3-mtd.html">mtd</a></li><li class="progresssection"><a href="3-ie.html">ie</a></li><li class="progresschapter"><a href="4-tcc.html">4</a></li><li class="progresschapter"><a href="5-tac.html">5</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="3-idt.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -229,7 +229,7 @@ must then be extracted):
|
|||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="3-idt.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresschapter"><a href="2-it.html">2</a></li><li class="progresscurrentchapter">3</li><li class="progresssection"><a href="3-ic.html">ic</a></li><li class="progresssection"><a href="3-iibf.html">iibf</a></li><li class="progresssection"><a href="3-iitf.html">iitf</a></li><li class="progresssection"><a href="3-vi.html">vi</a></li><li class="progresssection"><a href="3-ivp.html">ivp</a></li><li class="progresssection"><a href="3-idt.html">idt</a></li><li class="progresscurrent">mtd</li><li class="progresssection"><a href="3-ie.html">ie</a></li><li class="progresschapter"><a href="4-tac.html">4</a></li><li class="progresschapter"><a href="5-tac.html">5</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="3-ie.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="3-idt.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresschapter"><a href="2-it.html">2</a></li><li class="progresscurrentchapter">3</li><li class="progresssection"><a href="3-ic.html">ic</a></li><li class="progresssection"><a href="3-iibf.html">iibf</a></li><li class="progresssection"><a href="3-iitf.html">iitf</a></li><li class="progresssection"><a href="3-vi.html">vi</a></li><li class="progresssection"><a href="3-ivp.html">ivp</a></li><li class="progresssection"><a href="3-idt.html">idt</a></li><li class="progresscurrent">mtd</li><li class="progresssection"><a href="3-ie.html">ie</a></li><li class="progresschapter"><a href="4-tcc.html">4</a></li><li class="progresschapter"><a href="5-tac.html">5</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="3-ie.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -88,7 +88,7 @@ and this is why the code to create instructions automatically calls us.)
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">inter_error_message</span><span class="plain-syntax"> *</span><span class="function-syntax">VerifyingInter::instruction</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">VerifyingInter::instruction</span></span>:<br/>Transmigration - <a href="2-trn.html#SP4_1_1">§4.1.1</a>, <a href="2-trn.html#SP4_2_1_1">§4.2.1.1</a><br/>Inter in Binary Files - <a href="3-iibf.html#SP9_1_5_4">§9.1.5.4</a><br/>The Append Construct - <a href="4-tac.html#SP2">§2</a><br/>The Comment Construct - <a href="4-tcc.html#SP2">§2</a><br/>The Constant Construct - <a href="4-tcc2.html#SP2">§2</a>, <a href="4-tcc2.html#SP4">§4</a><br/>The Insert Construct - <a href="4-tic.html#SP2">§2</a><br/>The Instance Construct - <a href="4-tic2.html#SP2">§2</a><br/>The Nop Construct - <a href="4-tnc.html#SP2">§2</a><br/>The Package Construct - <a href="4-tpc.html#SP4">§4</a><br/>The PackageType Construct - <a href="4-tpc2.html#SP2">§2</a><br/>The Permission Construct - <a href="4-tpc3.html#SP2">§2</a><br/>The Pragma Construct - <a href="4-tpc4.html#SP2">§2</a><br/>The Primitive Construct - <a href="4-tpc5.html#SP2">§2</a><br/>The Property Construct - <a href="4-tpc6.html#SP2">§2</a><br/>The PropertyValue Construct - <a href="4-tpc7.html#SP2">§2</a><br/>The Typename Construct - <a href="4-ttc.html#SP2">§2</a><br/>The Variable Construct - <a href="4-tvc.html#SP2">§2</a><br/>The Assembly Construct - <a href="5-tac.html#SP2">§2</a><br/>The Cast Construct - <a href="5-tcc.html#SP2">§2</a><br/>The Code Construct - <a href="5-tcc2.html#SP2">§2</a><br/>The Evaluation Construct - <a href="5-tec.html#SP2">§2</a><br/>The Inv Construct - <a href="5-tic.html#SP3">§3</a><br/>The Lab Construct - <a href="5-tlc.html#SP2">§2</a><br/>The Label Construct - <a href="5-tlc2.html#SP2">§2</a><br/>The Local Construct - <a href="5-tlc3.html#SP2">§2</a><br/>The Ref Construct - <a href="5-trc.html#SP2">§2</a><br/>The Reference Construct - <a href="5-trc2.html#SP2">§2</a><br/>The Splat Construct - <a href="5-tsc.html#SP2">§2</a><br/>The Val Construct - <a href="5-tvc.html#SP2">§2</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">owner</span><span class="plain-syntax">, </span><span class="reserved-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">inter_error_message</span><span class="plain-syntax"> *</span><span class="function-syntax">VerifyingInter::instruction</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">VerifyingInter::instruction</span></span>:<br/>Transmigration - <a href="2-trn.html#SP4_1_1">§4.1.1</a>, <a href="2-trn.html#SP4_2_1_1">§4.2.1.1</a><br/>Inter in Binary Files - <a href="3-iibf.html#SP9_1_5_4">§9.1.5.4</a><br/>The Comment Construct - <a href="4-tcc.html#SP2">§2</a><br/>The Constant Construct - <a href="4-tcc2.html#SP2">§2</a>, <a href="4-tcc2.html#SP4">§4</a><br/>The Insert Construct - <a href="4-tic.html#SP2">§2</a><br/>The Instance Construct - <a href="4-tic2.html#SP2">§2</a><br/>The Nop Construct - <a href="4-tnc.html#SP2">§2</a><br/>The Package Construct - <a href="4-tpc.html#SP4">§4</a><br/>The PackageType Construct - <a href="4-tpc2.html#SP2">§2</a><br/>The Permission Construct - <a href="4-tpc3.html#SP2">§2</a><br/>The Pragma Construct - <a href="4-tpc4.html#SP2">§2</a><br/>The Primitive Construct - <a href="4-tpc5.html#SP2">§2</a><br/>The Property Construct - <a href="4-tpc6.html#SP2">§2</a><br/>The PropertyValue Construct - <a href="4-tpc7.html#SP2">§2</a><br/>The Typename Construct - <a href="4-ttc.html#SP2">§2</a><br/>The Variable Construct - <a href="4-tvc.html#SP2">§2</a><br/>The Assembly Construct - <a href="5-tac.html#SP2">§2</a><br/>The Cast Construct - <a href="5-tcc.html#SP2">§2</a><br/>The Code Construct - <a href="5-tcc2.html#SP2">§2</a><br/>The Evaluation Construct - <a href="5-tec.html#SP2">§2</a><br/>The Inv Construct - <a href="5-tic.html#SP3">§3</a><br/>The Lab Construct - <a href="5-tlc.html#SP2">§2</a><br/>The Label Construct - <a href="5-tlc2.html#SP2">§2</a><br/>The Local Construct - <a href="5-tlc3.html#SP2">§2</a><br/>The Ref Construct - <a href="5-trc.html#SP2">§2</a><br/>The Reference Construct - <a href="5-trc2.html#SP2">§2</a><br/>The Splat Construct - <a href="5-tsc.html#SP2">§2</a><br/>The Val Construct - <a href="5-tvc.html#SP2">§2</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">owner</span><span class="plain-syntax">, </span><span class="reserved-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="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="2-in.html#SP10" class="function-link"><span class="function-syntax">Inode::get_vflag</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">P</span><span class="plain-syntax">) == </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><a href="2-in.html#SP10" class="function-link"><span class="function-syntax">Inode::set_vflag</span></a><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">inter_construct</span><span class="plain-syntax"> *</span><span class="identifier-syntax">IC</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
|
||||
|
@ -209,7 +209,7 @@ the program has not yet been loaded); but it cannot be the wrong sort of thing.
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">inter_error_message</span><span class="plain-syntax"> *</span><span class="function-syntax">VerifyingInter::SID_field</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">VerifyingInter::SID_field</span></span>:<br/>The Append Construct - <a href="4-tac.html#SP3">§3</a><br/>The Instance Construct - <a href="4-tic2.html#SP3">§3</a><br/>The Package Construct - <a href="4-tpc.html#SP5">§5</a><br/>The Permission Construct - <a href="4-tpc3.html#SP3">§3</a><br/>The PropertyValue Construct - <a href="4-tpc7.html#SP3">§3</a><br/>The Typename Construct - <a href="4-ttc.html#SP3">§3</a><br/>The Inv Construct - <a href="5-tic.html#SP4">§4</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">owner</span><span class="plain-syntax">, </span><span class="reserved-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">inter_error_message</span><span class="plain-syntax"> *</span><span class="function-syntax">VerifyingInter::SID_field</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">VerifyingInter::SID_field</span></span>:<br/>The Instance Construct - <a href="4-tic2.html#SP3">§3</a><br/>The Package Construct - <a href="4-tpc.html#SP5">§5</a><br/>The Permission Construct - <a href="4-tpc3.html#SP3">§3</a><br/>The PropertyValue Construct - <a href="4-tpc7.html#SP3">§3</a><br/>The Typename Construct - <a href="4-ttc.html#SP3">§3</a><br/>The Inv Construct - <a href="5-tic.html#SP4">§4</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">owner</span><span class="plain-syntax">, </span><span class="reserved-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="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">field</span><span class="plain-syntax">, </span><span class="constant-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">construct</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><a href="3-vi.html#SP2" class="function-link"><span class="function-syntax">VerifyingInter::SID</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">owner</span><span class="plain-syntax">, </span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="identifier-syntax">P</span><span class="plain-syntax">-></span><span class="element-syntax">W</span><span class="plain-syntax">.</span><span class="element-syntax">instruction</span><span class="plain-syntax">[</span><span class="identifier-syntax">field</span><span class="plain-syntax">], </span><span class="identifier-syntax">construct</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
@ -312,7 +312,7 @@ or <span class="extract"><span class="extract-syntax">FUNCTION_ITCONC</span></sp
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">inter_error_message</span><span class="plain-syntax"> *</span><span class="function-syntax">VerifyingInter::text_field</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">VerifyingInter::text_field</span></span>:<br/>The Append Construct - <a href="4-tac.html#SP3">§3</a><br/>The Comment Construct - <a href="4-tcc.html#SP3">§3</a><br/>The Insert Construct - <a href="4-tic.html#SP3">§3</a><br/>The Pragma Construct - <a href="4-tpc4.html#SP3">§3</a><br/>The Inv Construct - <a href="5-tic.html#SP4">§4</a><br/>The Splat Construct - <a href="5-tsc.html#SP3">§3</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">owner</span><span class="plain-syntax">, </span><span class="reserved-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">inter_error_message</span><span class="plain-syntax"> *</span><span class="function-syntax">VerifyingInter::text_field</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">VerifyingInter::text_field</span></span>:<br/>The Comment Construct - <a href="4-tcc.html#SP3">§3</a><br/>The Insert Construct - <a href="4-tic.html#SP3">§3</a><br/>The Pragma Construct - <a href="4-tpc4.html#SP3">§3</a><br/>The Inv Construct - <a href="5-tic.html#SP4">§4</a><br/>The Splat Construct - <a href="5-tsc.html#SP3">§3</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">owner</span><span class="plain-syntax">, </span><span class="reserved-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="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">field</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="constant-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">text_ID</span><span class="plain-syntax"> = </span><span class="identifier-syntax">P</span><span class="plain-syntax">-></span><span class="element-syntax">W</span><span class="plain-syntax">.</span><span class="element-syntax">instruction</span><span class="plain-syntax">[</span><span class="identifier-syntax">field</span><span class="plain-syntax">];</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">inter_warehouse</span><span class="plain-syntax"> *</span><span class="identifier-syntax">W</span><span class="plain-syntax"> = </span><a href="2-it.html#SP3" class="function-link"><span class="function-syntax">InterTree::warehouse</span></a><span class="plain-syntax">(</span><a href="2-in.html#SP6" class="function-link"><span class="function-syntax">Inode::tree</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">P</span><span class="plain-syntax">));</span>
|
||||
|
@ -367,7 +367,7 @@ the context of the current package:
|
|||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="3-iitf.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresschapter"><a href="2-it.html">2</a></li><li class="progresscurrentchapter">3</li><li class="progresssection"><a href="3-ic.html">ic</a></li><li class="progresssection"><a href="3-iibf.html">iibf</a></li><li class="progresssection"><a href="3-iitf.html">iitf</a></li><li class="progresscurrent">vi</li><li class="progresssection"><a href="3-ivp.html">ivp</a></li><li class="progresssection"><a href="3-idt.html">idt</a></li><li class="progresssection"><a href="3-mtd.html">mtd</a></li><li class="progresssection"><a href="3-ie.html">ie</a></li><li class="progresschapter"><a href="4-tac.html">4</a></li><li class="progresschapter"><a href="5-tac.html">5</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="3-ivp.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="3-iitf.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresschapter"><a href="2-it.html">2</a></li><li class="progresscurrentchapter">3</li><li class="progresssection"><a href="3-ic.html">ic</a></li><li class="progresssection"><a href="3-iibf.html">iibf</a></li><li class="progresssection"><a href="3-iitf.html">iitf</a></li><li class="progresscurrent">vi</li><li class="progresssection"><a href="3-ivp.html">ivp</a></li><li class="progresssection"><a href="3-idt.html">idt</a></li><li class="progresssection"><a href="3-mtd.html">mtd</a></li><li class="progresssection"><a href="3-ie.html">ie</a></li><li class="progresschapter"><a href="4-tcc.html">4</a></li><li class="progresschapter"><a href="5-tac.html">5</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="3-ivp.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -1,168 +0,0 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<title>The Append Construct</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="index.html"><span class="selectedlink">bytecode</span></a></li>
|
||||
<li><a href="../building-module/index.html">building</a></li>
|
||||
<li><a href="../pipeline-module/index.html">pipeline</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 Append Construct' 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">bytecode</a></li><li><a href="index.html#4">Chapter 4: Void Constructs</a></li><li><b>The Append Construct</b></li></ul></div>
|
||||
<p class="purpose">Defining the append construct.</p>
|
||||
|
||||
<ul class="toc"><li><a href="4-tac.html#SP1">§1. Definition</a></li><li><a href="4-tac.html#SP2">§2. Instructions</a></li><li><a href="4-tac.html#SP4">§4. Creating from textual Inter syntax</a></li><li><a href="4-tac.html#SP5">§5. Writing to textual Inter syntax</a></li></ul><hr class="tocbar">
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP1" class="paragraph-anchor"></a><b>§1. Definition. </b>For what this does and why it is used, see <a href="../inter/M-dpiti.html" class="internal">Data Packages in Textual Inter (in inter)</a>.
|
||||
But please use it as little as possible: in an ideal world it would be abolished.
|
||||
</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">AppendInstruction::define_construct</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">AppendInstruction::define_construct</span></span>:<br/>Inter Constructs - <a href="3-ic.html#SP15">§15</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">void</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">inter_construct</span><span class="plain-syntax"> *</span><span class="identifier-syntax">IC</span><span class="plain-syntax"> = </span><a href="3-ic.html#SP1" class="function-link"><span class="function-syntax">InterInstruction::create_construct</span></a><span class="plain-syntax">(</span><span class="constant-syntax">APPEND_IST</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"append"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="3-ic.html#SP8" class="function-link"><span class="function-syntax">InterInstruction::specify_syntax</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">IC</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"append IDENTIFIER TEXT"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="3-ic.html#SP4" class="function-link"><span class="function-syntax">InterInstruction::data_extent_always</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">IC</span><span class="plain-syntax">, </span><span class="constant-syntax">2</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="3-ic.html#SP3" class="function-link"><span class="function-syntax">InterInstruction::permit</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">IC</span><span class="plain-syntax">, </span><span class="constant-syntax">INSIDE_PLAIN_PACKAGE_ICUP</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">METHOD_ADD</span><span class="plain-syntax">(</span><span class="identifier-syntax">IC</span><span class="plain-syntax">, </span><span class="constant-syntax">CONSTRUCT_VERIFY_MTID</span><span class="plain-syntax">, </span><a href="4-tac.html#SP3" class="function-link"><span class="function-syntax">AppendInstruction::verify</span></a><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">METHOD_ADD</span><span class="plain-syntax">(</span><span class="identifier-syntax">IC</span><span class="plain-syntax">, </span><span class="constant-syntax">CONSTRUCT_TRANSPOSE_MTID</span><span class="plain-syntax">, </span><a href="4-tac.html#SP2" class="function-link"><span class="function-syntax">AppendInstruction::transpose</span></a><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">METHOD_ADD</span><span class="plain-syntax">(</span><span class="identifier-syntax">IC</span><span class="plain-syntax">, </span><span class="constant-syntax">CONSTRUCT_READ_MTID</span><span class="plain-syntax">, </span><a href="4-tac.html#SP4" class="function-link"><span class="function-syntax">AppendInstruction::read</span></a><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">METHOD_ADD</span><span class="plain-syntax">(</span><span class="identifier-syntax">IC</span><span class="plain-syntax">, </span><span class="constant-syntax">CONSTRUCT_WRITE_MTID</span><span class="plain-syntax">, </span><a href="4-tac.html#SP5" class="function-link"><span class="function-syntax">AppendInstruction::write</span></a><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP2" class="paragraph-anchor"></a><b>§2. Instructions. </b>In bytecode, the frame of an <span class="extract"><span class="extract-syntax">append</span></span> instruction is laid out with the
|
||||
compulsory words — see <a href="2-in.html" class="internal">Inter Nodes</a> — followed by:
|
||||
</p>
|
||||
|
||||
<pre class="definitions code-font"><span class="definition-keyword">define</span> <span class="constant-syntax">SYMBOL_APPEND_IFLD</span><span class="plain-syntax"> (</span><span class="constant-syntax">DATA_IFLD</span><span class="plain-syntax"> + </span><span class="constant-syntax">0</span><span class="plain-syntax">)</span>
|
||||
<span class="definition-keyword">define</span> <span class="constant-syntax">CONTENT_APPEND_IFLD</span><span class="plain-syntax"> (</span><span class="constant-syntax">DATA_IFLD</span><span class="plain-syntax"> + </span><span class="constant-syntax">1</span><span class="plain-syntax">)</span>
|
||||
</pre>
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">inter_error_message</span><span class="plain-syntax"> *</span><span class="function-syntax">AppendInstruction::new</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">AppendInstruction::new</span></span>:<br/><a href="4-tac.html#SP4">§4</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inter_bookmark</span><span class="plain-syntax"> *</span><span class="identifier-syntax">IBM</span><span class="plain-syntax">, </span><span class="reserved-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="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">append_text</span><span class="plain-syntax">, </span><span class="constant-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">level</span><span class="plain-syntax">, </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="reserved-syntax">inter_error_location</span><span class="plain-syntax"> *</span><span class="identifier-syntax">eloc</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">inter_tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">P</span><span class="plain-syntax"> = </span><a href="2-in.html#SP5" class="function-link"><span class="function-syntax">Inode::new_with_2_data_fields</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">IBM</span><span class="plain-syntax">, </span><span class="constant-syntax">APPEND_IST</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> /* </span><span class="identifier-syntax">SYMBOL_APPEND_IFLD:</span><span class="plain-syntax"> */ </span><a href="2-st.html#SP16" class="function-link"><span class="function-syntax">InterSymbolsTable::id_at_bookmark</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">IBM</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">CONTENT_APPEND_IFLD:</span><span class="plain-syntax"> */ </span><a href="2-tw.html#SP7" class="function-link"><span class="function-syntax">InterWarehouse::create_text_at</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">IBM</span><span class="plain-syntax">, </span><span class="identifier-syntax">append_text</span><span class="plain-syntax">),</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">eloc</span><span class="plain-syntax">, </span><span class="identifier-syntax">level</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">inter_error_message</span><span class="plain-syntax"> *</span><span class="identifier-syntax">E</span><span class="plain-syntax"> = </span><a href="3-vi.html#SP1" class="function-link"><span class="function-syntax">VerifyingInter::instruction</span></a><span class="plain-syntax">(</span><a href="2-bkm.html#SP6" class="function-link"><span class="function-syntax">InterBookmark::package</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">IBM</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">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">E</span><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><a href="2-np.html#SP3" class="function-link"><span class="function-syntax">NodePlacement::move_to_moving_bookmark</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="identifier-syntax">IBM</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="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">AppendInstruction::transpose</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">AppendInstruction::transpose</span></span>:<br/><a href="4-tac.html#SP1">§1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inter_construct</span><span class="plain-syntax"> *</span><span class="identifier-syntax">IC</span><span class="plain-syntax">, </span><span class="reserved-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="constant-syntax">inter_ti</span><span class="plain-syntax"> *</span><span class="identifier-syntax">grid</span><span class="plain-syntax">, </span><span class="constant-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">grid_extent</span><span class="plain-syntax">, </span><span class="reserved-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">P</span><span class="plain-syntax">-></span><span class="element-syntax">W</span><span class="plain-syntax">.</span><span class="element-syntax">instruction</span><span class="plain-syntax">[</span><span class="constant-syntax">CONTENT_APPEND_IFLD</span><span class="plain-syntax">] = </span><span class="identifier-syntax">grid</span><span class="plain-syntax">[</span><span class="identifier-syntax">P</span><span class="plain-syntax">-></span><span class="element-syntax">W</span><span class="plain-syntax">.</span><span class="element-syntax">instruction</span><span class="plain-syntax">[</span><span class="constant-syntax">CONTENT_APPEND_IFLD</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>Verification consists of sanity checks followed by some cross-referencing.
|
||||
</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">AppendInstruction::verify</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">AppendInstruction::verify</span></span>:<br/><a href="4-tac.html#SP1">§1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inter_construct</span><span class="plain-syntax"> *</span><span class="identifier-syntax">IC</span><span class="plain-syntax">, </span><span class="reserved-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="reserved-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">owner</span><span class="plain-syntax">, </span><span class="reserved-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">E</span><span class="plain-syntax"> = </span><a href="3-vi.html#SP2" class="function-link"><span class="function-syntax">VerifyingInter::SID_field</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">owner</span><span class="plain-syntax">, </span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="constant-syntax">SYMBOL_APPEND_IFLD</span><span class="plain-syntax">, </span><span class="constant-syntax">INVALID_IST</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="reserved-syntax">return</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> *</span><span class="identifier-syntax">E</span><span class="plain-syntax"> = </span><a href="3-vi.html#SP7" class="function-link"><span class="function-syntax">VerifyingInter::text_field</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">owner</span><span class="plain-syntax">, </span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="constant-syntax">CONTENT_APPEND_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">E</span><span class="plain-syntax">) </span><span class="reserved-syntax">return</span><span class="plain-syntax">;</span>
|
||||
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">S</span><span class="plain-syntax"> = </span><a href="2-st.html#SP13" class="function-link"><span class="function-syntax">InterSymbolsTable::symbol_from_ID_at_node</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="constant-syntax">SYMBOL_APPEND_IFLD</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">content</span><span class="plain-syntax"> = </span><a href="2-in.html#SP14" class="function-link"><span class="function-syntax">Inode::ID_to_text</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="identifier-syntax">P</span><span class="plain-syntax">-></span><span class="element-syntax">W</span><span class="plain-syntax">.</span><span class="element-syntax">instruction</span><span class="plain-syntax">[</span><span class="constant-syntax">CONTENT_APPEND_IFLD</span><span class="plain-syntax">]);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-ann.html#SP6" class="function-link"><span class="function-syntax">SymbolAnnotation::set_t</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">P</span><span class="plain-syntax">-></span><span class="element-syntax">tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">P</span><span class="plain-syntax">-></span><span class="element-syntax">package</span><span class="plain-syntax">, </span><span class="identifier-syntax">S</span><span class="plain-syntax">, </span><span class="constant-syntax">APPEND_IANN</span><span class="plain-syntax">, </span><span class="identifier-syntax">content</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. Creating from textual Inter syntax. </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">AppendInstruction::read</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">AppendInstruction::read</span></span>:<br/><a href="4-tac.html#SP1">§1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inter_construct</span><span class="plain-syntax"> *</span><span class="identifier-syntax">IC</span><span class="plain-syntax">, </span><span class="reserved-syntax">inter_bookmark</span><span class="plain-syntax"> *</span><span class="identifier-syntax">IBM</span><span class="plain-syntax">, </span><span class="reserved-syntax">inter_line_parse</span><span class="plain-syntax"> *</span><span class="identifier-syntax">ilp</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">inter_error_location</span><span class="plain-syntax"> *</span><span class="identifier-syntax">eloc</span><span class="plain-syntax">, </span><span class="reserved-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">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">identifier</span><span class="plain-syntax"> = </span><span class="identifier-syntax">ilp</span><span class="plain-syntax">-></span><span class="element-syntax">mr</span><span class="plain-syntax">.</span><span class="identifier-syntax">exp</span><span class="plain-syntax">[0], *</span><span class="identifier-syntax">content</span><span class="plain-syntax"> = </span><span class="identifier-syntax">ilp</span><span class="plain-syntax">-></span><span class="element-syntax">mr</span><span class="plain-syntax">.</span><span class="identifier-syntax">exp</span><span class="plain-syntax">[1];</span>
|
||||
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">S</span><span class="plain-syntax"> = </span><a href="2-st.html#SP6" class="function-link"><span class="function-syntax">InterSymbolsTable::symbol_from_name</span></a><span class="plain-syntax">(</span><a href="2-bkm.html#SP7" class="function-link"><span class="function-syntax">InterBookmark::scope</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">IBM</span><span class="plain-syntax">), </span><span class="identifier-syntax">identifier</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">NULL</span><span class="plain-syntax">) { *</span><span class="identifier-syntax">E</span><span class="plain-syntax"> = </span><a href="3-ie.html#SP4" class="function-link"><span class="function-syntax">InterErrors::quoted</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="string-syntax">"no such identifier"</span><span class="plain-syntax">, </span><span class="identifier-syntax">identifier</span><span class="plain-syntax">, </span><span class="identifier-syntax">eloc</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">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">raw</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> *</span><span class="identifier-syntax">E</span><span class="plain-syntax"> = </span><a href="3-iitf.html#SP11" class="function-link"><span class="function-syntax">TextualInter::parse_literal_text</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">raw</span><span class="plain-syntax">, </span><span class="identifier-syntax">content</span><span class="plain-syntax">, </span><span class="constant-syntax">0</span><span class="plain-syntax">, </span><span class="identifier-syntax">Str::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">content</span><span class="plain-syntax">), </span><span class="identifier-syntax">eloc</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="identifier-syntax">NULL</span><span class="plain-syntax">) *</span><span class="identifier-syntax">E</span><span class="plain-syntax"> = </span><a href="4-tac.html#SP2" class="function-link"><span class="function-syntax">AppendInstruction::new</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">IBM</span><span class="plain-syntax">, </span><span class="identifier-syntax">S</span><span class="plain-syntax">, </span><span class="identifier-syntax">raw</span><span class="plain-syntax">, (</span><span class="constant-syntax">inter_ti</span><span class="plain-syntax">) </span><span class="identifier-syntax">ilp</span><span class="plain-syntax">-></span><span class="element-syntax">indent_level</span><span class="plain-syntax">, </span><span class="identifier-syntax">eloc</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">content</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. Writing to textual Inter syntax. </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">AppendInstruction::write</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">AppendInstruction::write</span></span>:<br/><a href="4-tac.html#SP1">§1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inter_construct</span><span class="plain-syntax"> *</span><span class="identifier-syntax">IC</span><span class="plain-syntax">, </span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-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="reserved-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">S</span><span class="plain-syntax"> = </span><a href="2-st.html#SP13" class="function-link"><span class="function-syntax">InterSymbolsTable::symbol_from_ID_at_node</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="constant-syntax">SYMBOL_APPEND_IFLD</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">content</span><span class="plain-syntax"> = </span><a href="2-in.html#SP14" class="function-link"><span class="function-syntax">Inode::ID_to_text</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="identifier-syntax">P</span><span class="plain-syntax">-></span><span class="element-syntax">W</span><span class="plain-syntax">.</span><span class="element-syntax">instruction</span><span class="plain-syntax">[</span><span class="constant-syntax">CONTENT_APPEND_IFLD</span><span class="plain-syntax">]);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"append %S "</span><span class="plain-syntax">, </span><a href="2-sym.html#SP19" class="function-link"><span class="function-syntax">InterSymbol::identifier</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">S</span><span class="plain-syntax">));</span>
|
||||
<span class="plain-syntax"> </span><a href="3-iitf.html#SP11" class="function-link"><span class="function-syntax">TextualInter::write_text</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">content</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="3-ie.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresschapter"><a href="2-it.html">2</a></li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresscurrentchapter">4</li><li class="progresscurrent">tac</li><li class="progresssection"><a href="4-tcc.html">tcc</a></li><li class="progresssection"><a href="4-tcc2.html">tcc2</a></li><li class="progresssection"><a href="4-tic.html">tic</a></li><li class="progresssection"><a href="4-tic2.html">tic2</a></li><li class="progresssection"><a href="4-tnc.html">tnc</a></li><li class="progresssection"><a href="4-tpc.html">tpc</a></li><li class="progresssection"><a href="4-tpc2.html">tpc2</a></li><li class="progresssection"><a href="4-tpc3.html">tpc3</a></li><li class="progresssection"><a href="4-tpc4.html">tpc4</a></li><li class="progresssection"><a href="4-tpc5.html">tpc5</a></li><li class="progresssection"><a href="4-tpc6.html">tpc6</a></li><li class="progresssection"><a href="4-tpc7.html">tpc7</a></li><li class="progresssection"><a href="4-ttc.html">ttc</a></li><li class="progresssection"><a href="4-tvc.html">tvc</a></li><li class="progresschapter"><a href="5-tac.html">5</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="4-tcc.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -147,7 +147,7 @@ compulsory words — see <a href="2-in.html" class="internal">Inter Nodes</a
|
|||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="4-tac.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresschapter"><a href="2-it.html">2</a></li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresscurrentchapter">4</li><li class="progresssection"><a href="4-tac.html">tac</a></li><li class="progresscurrent">tcc</li><li class="progresssection"><a href="4-tcc2.html">tcc2</a></li><li class="progresssection"><a href="4-tic.html">tic</a></li><li class="progresssection"><a href="4-tic2.html">tic2</a></li><li class="progresssection"><a href="4-tnc.html">tnc</a></li><li class="progresssection"><a href="4-tpc.html">tpc</a></li><li class="progresssection"><a href="4-tpc2.html">tpc2</a></li><li class="progresssection"><a href="4-tpc3.html">tpc3</a></li><li class="progresssection"><a href="4-tpc4.html">tpc4</a></li><li class="progresssection"><a href="4-tpc5.html">tpc5</a></li><li class="progresssection"><a href="4-tpc6.html">tpc6</a></li><li class="progresssection"><a href="4-tpc7.html">tpc7</a></li><li class="progresssection"><a href="4-ttc.html">ttc</a></li><li class="progresssection"><a href="4-tvc.html">tvc</a></li><li class="progresschapter"><a href="5-tac.html">5</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="4-tcc2.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="3-ie.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresschapter"><a href="2-it.html">2</a></li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresscurrentchapter">4</li><li class="progresscurrent">tcc</li><li class="progresssection"><a href="4-tcc2.html">tcc2</a></li><li class="progresssection"><a href="4-tic.html">tic</a></li><li class="progresssection"><a href="4-tic2.html">tic2</a></li><li class="progresssection"><a href="4-tnc.html">tnc</a></li><li class="progresssection"><a href="4-tpc.html">tpc</a></li><li class="progresssection"><a href="4-tpc2.html">tpc2</a></li><li class="progresssection"><a href="4-tpc3.html">tpc3</a></li><li class="progresssection"><a href="4-tpc4.html">tpc4</a></li><li class="progresssection"><a href="4-tpc5.html">tpc5</a></li><li class="progresssection"><a href="4-tpc6.html">tpc6</a></li><li class="progresssection"><a href="4-tpc7.html">tpc7</a></li><li class="progresssection"><a href="4-ttc.html">ttc</a></li><li class="progresssection"><a href="4-tvc.html">tvc</a></li><li class="progresschapter"><a href="5-tac.html">5</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="4-tcc2.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -136,16 +136,17 @@ can therefore be calculated as half of (the instruction extent minus <span class
|
|||
<span class="definition-keyword">define</span> <span class="constant-syntax">CONST_LIST_FORMAT_B_BYTES</span><span class="plain-syntax"> </span><span class="constant-syntax">7</span>
|
||||
<span class="definition-keyword">define</span> <span class="constant-syntax">CONST_LIST_FORMAT_B_BYTES_BY_EXTENT</span><span class="plain-syntax"> </span><span class="constant-syntax">8</span>
|
||||
<span class="definition-keyword">define</span> <span class="constant-syntax">CONST_LIST_FORMAT_GRAMMAR</span><span class="plain-syntax"> </span><span class="constant-syntax">9</span>
|
||||
<span class="definition-keyword">define</span> <span class="constant-syntax">CONST_LIST_FORMAT_SUM</span><span class="plain-syntax"> </span><span class="constant-syntax">10</span>
|
||||
<span class="definition-keyword">define</span> <span class="constant-syntax">CONST_LIST_FORMAT_PRODUCT</span><span class="plain-syntax"> </span><span class="constant-syntax">11</span>
|
||||
<span class="definition-keyword">define</span> <span class="constant-syntax">CONST_LIST_FORMAT_DIFFERENCE</span><span class="plain-syntax"> </span><span class="constant-syntax">12</span>
|
||||
<span class="definition-keyword">define</span> <span class="constant-syntax">CONST_LIST_FORMAT_QUOTIENT</span><span class="plain-syntax"> </span><span class="constant-syntax">13</span>
|
||||
<span class="definition-keyword">define</span> <span class="constant-syntax">CONST_LIST_FORMAT_STRUCT</span><span class="plain-syntax"> </span><span class="constant-syntax">14</span>
|
||||
<span class="definition-keyword">define</span> <span class="constant-syntax">CONST_LIST_FORMAT_INLINE</span><span class="plain-syntax"> </span><span class="constant-syntax">10</span>
|
||||
<span class="definition-keyword">define</span> <span class="constant-syntax">CONST_LIST_FORMAT_SUM</span><span class="plain-syntax"> </span><span class="constant-syntax">11</span>
|
||||
<span class="definition-keyword">define</span> <span class="constant-syntax">CONST_LIST_FORMAT_PRODUCT</span><span class="plain-syntax"> </span><span class="constant-syntax">12</span>
|
||||
<span class="definition-keyword">define</span> <span class="constant-syntax">CONST_LIST_FORMAT_DIFFERENCE</span><span class="plain-syntax"> </span><span class="constant-syntax">13</span>
|
||||
<span class="definition-keyword">define</span> <span class="constant-syntax">CONST_LIST_FORMAT_QUOTIENT</span><span class="plain-syntax"> </span><span class="constant-syntax">14</span>
|
||||
<span class="definition-keyword">define</span> <span class="constant-syntax">CONST_LIST_FORMAT_STRUCT</span><span class="plain-syntax"> </span><span class="constant-syntax">15</span>
|
||||
</pre>
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">ConstantInstruction::is_a_genuine_list_format</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">ConstantInstruction::is_a_genuine_list_format</span></span>:<br/><a href="4-tcc2.html#SP5">§5</a>, <a href="4-tcc2.html#SP6_4">§6.4</a></span></button><span class="plain-syntax">(</span><span class="constant-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">format</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">format</span><span class="plain-syntax"> >= </span><span class="constant-syntax">CONST_LIST_FORMAT_WORDS</span><span class="plain-syntax">) &&</span>
|
||||
<span class="plain-syntax"> (</span><span class="identifier-syntax">format</span><span class="plain-syntax"> <= </span><span class="constant-syntax">CONST_LIST_FORMAT_GRAMMAR</span><span class="plain-syntax">))</span>
|
||||
<span class="plain-syntax"> (</span><span class="identifier-syntax">format</span><span class="plain-syntax"> <= </span><span class="constant-syntax">CONST_LIST_FORMAT_INLINE</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><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>
|
||||
|
@ -303,6 +304,7 @@ can therefore be calculated as half of (the instruction extent minus <span class
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Regexp::match</span><span class="plain-syntax">(&</span><span class="identifier-syntax">mr2</span><span class="plain-syntax">, </span><span class="identifier-syntax">S</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"difference{ *(%c*) *}"</span><span class="plain-syntax">)) </span><span class="identifier-syntax">fmt</span><span class="plain-syntax"> = </span><span class="constant-syntax">CONST_LIST_FORMAT_DIFFERENCE</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Regexp::match</span><span class="plain-syntax">(&</span><span class="identifier-syntax">mr2</span><span class="plain-syntax">, </span><span class="identifier-syntax">S</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"quotient{ *(%c*) *}"</span><span class="plain-syntax">)) </span><span class="identifier-syntax">fmt</span><span class="plain-syntax"> = </span><span class="constant-syntax">CONST_LIST_FORMAT_QUOTIENT</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Regexp::match</span><span class="plain-syntax">(&</span><span class="identifier-syntax">mr2</span><span class="plain-syntax">, </span><span class="identifier-syntax">S</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"grammar{ *(%c*) *}"</span><span class="plain-syntax">)) </span><span class="identifier-syntax">fmt</span><span class="plain-syntax"> = </span><span class="constant-syntax">CONST_LIST_FORMAT_GRAMMAR</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Regexp::match</span><span class="plain-syntax">(&</span><span class="identifier-syntax">mr2</span><span class="plain-syntax">, </span><span class="identifier-syntax">S</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"inline{ *(%c*) *}"</span><span class="plain-syntax">)) </span><span class="identifier-syntax">fmt</span><span class="plain-syntax"> = </span><span class="constant-syntax">CONST_LIST_FORMAT_INLINE</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Regexp::match</span><span class="plain-syntax">(&</span><span class="identifier-syntax">mr2</span><span class="plain-syntax">, </span><span class="identifier-syntax">S</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"{ *(%c*?) *}"</span><span class="plain-syntax">)) </span><span class="identifier-syntax">fmt</span><span class="plain-syntax"> = </span><span class="constant-syntax">CONST_LIST_FORMAT_WORDS</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Regexp::match</span><span class="plain-syntax">(&</span><span class="identifier-syntax">mr2</span><span class="plain-syntax">, </span><span class="identifier-syntax">S</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"bytes{ *(%c*?) *}"</span><span class="plain-syntax">)) </span><span class="identifier-syntax">fmt</span><span class="plain-syntax"> = </span><span class="constant-syntax">CONST_LIST_FORMAT_BYTES</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Regexp::match</span><span class="plain-syntax">(&</span><span class="identifier-syntax">mr2</span><span class="plain-syntax">, </span><span class="identifier-syntax">S</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"list of *(%c*?) bytes"</span><span class="plain-syntax">)) </span><span class="identifier-syntax">fmt</span><span class="plain-syntax"> = </span><span class="constant-syntax">CONST_LIST_FORMAT_BYTES_BY_EXTENT</span><span class="plain-syntax">;</span>
|
||||
|
@ -400,6 +402,7 @@ can therefore be calculated as half of (the instruction extent minus <span class
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">CONST_LIST_FORMAT_DIFFERENCE:</span><span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"difference"</span><span class="plain-syntax">); </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">CONST_LIST_FORMAT_QUOTIENT:</span><span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"quotient"</span><span class="plain-syntax">); </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">CONST_LIST_FORMAT_GRAMMAR:</span><span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"grammar"</span><span class="plain-syntax">); </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">CONST_LIST_FORMAT_INLINE:</span><span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"inline"</span><span class="plain-syntax">); </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">CONST_LIST_FORMAT_STRUCT:</span><span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"struct"</span><span class="plain-syntax">); </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">CONST_LIST_FORMAT_BYTES:</span><span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"bytes"</span><span class="plain-syntax">); </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">CONST_LIST_FORMAT_WORDS_BY_EXTENT:</span><span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"list of "</span><span class="plain-syntax">); </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
|
||||
|
@ -468,6 +471,14 @@ can therefore be calculated as half of (the instruction extent minus <span class
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">field</span><span class="plain-syntax"> >= </span><span class="identifier-syntax">P</span><span class="plain-syntax">-></span><span class="element-syntax">W</span><span class="plain-syntax">.</span><span class="element-syntax">extent</span><span class="plain-syntax">) </span><a href="3-ivp.html#SP17" class="function-link"><span class="function-syntax">InterValuePairs::undef</span></a><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><a href="3-ivp.html#SP19" class="function-link"><span class="function-syntax">InterValuePairs::get</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="identifier-syntax">field</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">ConstantInstruction::is_inline</span><span class="plain-syntax">(</span><span class="reserved-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">const_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">const_s</span><span class="plain-syntax">) && (</span><span class="identifier-syntax">const_s</span><span class="plain-syntax">-></span><span class="element-syntax">definition</span><span class="plain-syntax">) &&</span>
|
||||
<span class="plain-syntax"> (</span><a href="4-tcc2.html#SP8" class="function-link"><span class="function-syntax">ConstantInstruction::list_format</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">const_s</span><span class="plain-syntax">-></span><span class="element-syntax">definition</span><span class="plain-syntax">) ==</span>
|
||||
<span class="plain-syntax"> </span><span class="constant-syntax">CONST_LIST_FORMAT_INLINE</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><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>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP9" class="paragraph-anchor"></a><b>§9. Definitional depth of a constant. </b>Constants given explicit values have depth 1. Constants defined as equal to
|
||||
other constants have depth 1 more than those other constants. Constants equal
|
||||
|
@ -601,7 +612,7 @@ not be relied on.
|
|||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="4-tcc.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresschapter"><a href="2-it.html">2</a></li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresscurrentchapter">4</li><li class="progresssection"><a href="4-tac.html">tac</a></li><li class="progresssection"><a href="4-tcc.html">tcc</a></li><li class="progresscurrent">tcc2</li><li class="progresssection"><a href="4-tic.html">tic</a></li><li class="progresssection"><a href="4-tic2.html">tic2</a></li><li class="progresssection"><a href="4-tnc.html">tnc</a></li><li class="progresssection"><a href="4-tpc.html">tpc</a></li><li class="progresssection"><a href="4-tpc2.html">tpc2</a></li><li class="progresssection"><a href="4-tpc3.html">tpc3</a></li><li class="progresssection"><a href="4-tpc4.html">tpc4</a></li><li class="progresssection"><a href="4-tpc5.html">tpc5</a></li><li class="progresssection"><a href="4-tpc6.html">tpc6</a></li><li class="progresssection"><a href="4-tpc7.html">tpc7</a></li><li class="progresssection"><a href="4-ttc.html">ttc</a></li><li class="progresssection"><a href="4-tvc.html">tvc</a></li><li class="progresschapter"><a href="5-tac.html">5</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="4-tic.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="4-tcc.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresschapter"><a href="2-it.html">2</a></li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresscurrentchapter">4</li><li class="progresssection"><a href="4-tcc.html">tcc</a></li><li class="progresscurrent">tcc2</li><li class="progresssection"><a href="4-tic.html">tic</a></li><li class="progresssection"><a href="4-tic2.html">tic2</a></li><li class="progresssection"><a href="4-tnc.html">tnc</a></li><li class="progresssection"><a href="4-tpc.html">tpc</a></li><li class="progresssection"><a href="4-tpc2.html">tpc2</a></li><li class="progresssection"><a href="4-tpc3.html">tpc3</a></li><li class="progresssection"><a href="4-tpc4.html">tpc4</a></li><li class="progresssection"><a href="4-tpc5.html">tpc5</a></li><li class="progresssection"><a href="4-tpc6.html">tpc6</a></li><li class="progresssection"><a href="4-tpc7.html">tpc7</a></li><li class="progresssection"><a href="4-ttc.html">ttc</a></li><li class="progresssection"><a href="4-tvc.html">tvc</a></li><li class="progresschapter"><a href="5-tac.html">5</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="4-tic.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -157,7 +157,7 @@ compulsory words — see <a href="2-in.html" class="internal">Inter Nodes</a
|
|||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="4-tcc2.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresschapter"><a href="2-it.html">2</a></li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresscurrentchapter">4</li><li class="progresssection"><a href="4-tac.html">tac</a></li><li class="progresssection"><a href="4-tcc.html">tcc</a></li><li class="progresssection"><a href="4-tcc2.html">tcc2</a></li><li class="progresscurrent">tic</li><li class="progresssection"><a href="4-tic2.html">tic2</a></li><li class="progresssection"><a href="4-tnc.html">tnc</a></li><li class="progresssection"><a href="4-tpc.html">tpc</a></li><li class="progresssection"><a href="4-tpc2.html">tpc2</a></li><li class="progresssection"><a href="4-tpc3.html">tpc3</a></li><li class="progresssection"><a href="4-tpc4.html">tpc4</a></li><li class="progresssection"><a href="4-tpc5.html">tpc5</a></li><li class="progresssection"><a href="4-tpc6.html">tpc6</a></li><li class="progresssection"><a href="4-tpc7.html">tpc7</a></li><li class="progresssection"><a href="4-ttc.html">ttc</a></li><li class="progresssection"><a href="4-tvc.html">tvc</a></li><li class="progresschapter"><a href="5-tac.html">5</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="4-tic2.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="4-tcc2.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresschapter"><a href="2-it.html">2</a></li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresscurrentchapter">4</li><li class="progresssection"><a href="4-tcc.html">tcc</a></li><li class="progresssection"><a href="4-tcc2.html">tcc2</a></li><li class="progresscurrent">tic</li><li class="progresssection"><a href="4-tic2.html">tic2</a></li><li class="progresssection"><a href="4-tnc.html">tnc</a></li><li class="progresssection"><a href="4-tpc.html">tpc</a></li><li class="progresssection"><a href="4-tpc2.html">tpc2</a></li><li class="progresssection"><a href="4-tpc3.html">tpc3</a></li><li class="progresssection"><a href="4-tpc4.html">tpc4</a></li><li class="progresssection"><a href="4-tpc5.html">tpc5</a></li><li class="progresssection"><a href="4-tpc6.html">tpc6</a></li><li class="progresssection"><a href="4-tpc7.html">tpc7</a></li><li class="progresssection"><a href="4-ttc.html">ttc</a></li><li class="progresssection"><a href="4-tvc.html">tvc</a></li><li class="progresschapter"><a href="5-tac.html">5</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="4-tic2.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -264,7 +264,7 @@ the typename_s that it has a new instance.
|
|||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="4-tic.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresschapter"><a href="2-it.html">2</a></li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresscurrentchapter">4</li><li class="progresssection"><a href="4-tac.html">tac</a></li><li class="progresssection"><a href="4-tcc.html">tcc</a></li><li class="progresssection"><a href="4-tcc2.html">tcc2</a></li><li class="progresssection"><a href="4-tic.html">tic</a></li><li class="progresscurrent">tic2</li><li class="progresssection"><a href="4-tnc.html">tnc</a></li><li class="progresssection"><a href="4-tpc.html">tpc</a></li><li class="progresssection"><a href="4-tpc2.html">tpc2</a></li><li class="progresssection"><a href="4-tpc3.html">tpc3</a></li><li class="progresssection"><a href="4-tpc4.html">tpc4</a></li><li class="progresssection"><a href="4-tpc5.html">tpc5</a></li><li class="progresssection"><a href="4-tpc6.html">tpc6</a></li><li class="progresssection"><a href="4-tpc7.html">tpc7</a></li><li class="progresssection"><a href="4-ttc.html">ttc</a></li><li class="progresssection"><a href="4-tvc.html">tvc</a></li><li class="progresschapter"><a href="5-tac.html">5</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="4-tnc.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="4-tic.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresschapter"><a href="2-it.html">2</a></li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresscurrentchapter">4</li><li class="progresssection"><a href="4-tcc.html">tcc</a></li><li class="progresssection"><a href="4-tcc2.html">tcc2</a></li><li class="progresssection"><a href="4-tic.html">tic</a></li><li class="progresscurrent">tic2</li><li class="progresssection"><a href="4-tnc.html">tnc</a></li><li class="progresssection"><a href="4-tpc.html">tpc</a></li><li class="progresssection"><a href="4-tpc2.html">tpc2</a></li><li class="progresssection"><a href="4-tpc3.html">tpc3</a></li><li class="progresssection"><a href="4-tpc4.html">tpc4</a></li><li class="progresssection"><a href="4-tpc5.html">tpc5</a></li><li class="progresssection"><a href="4-tpc6.html">tpc6</a></li><li class="progresssection"><a href="4-tpc7.html">tpc7</a></li><li class="progresssection"><a href="4-ttc.html">ttc</a></li><li class="progresssection"><a href="4-tvc.html">tvc</a></li><li class="progresschapter"><a href="5-tac.html">5</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="4-tnc.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -124,7 +124,7 @@ all the same, purely so that a stack backtrace will show it.
|
|||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="4-tic2.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresschapter"><a href="2-it.html">2</a></li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresscurrentchapter">4</li><li class="progresssection"><a href="4-tac.html">tac</a></li><li class="progresssection"><a href="4-tcc.html">tcc</a></li><li class="progresssection"><a href="4-tcc2.html">tcc2</a></li><li class="progresssection"><a href="4-tic.html">tic</a></li><li class="progresssection"><a href="4-tic2.html">tic2</a></li><li class="progresscurrent">tnc</li><li class="progresssection"><a href="4-tpc.html">tpc</a></li><li class="progresssection"><a href="4-tpc2.html">tpc2</a></li><li class="progresssection"><a href="4-tpc3.html">tpc3</a></li><li class="progresssection"><a href="4-tpc4.html">tpc4</a></li><li class="progresssection"><a href="4-tpc5.html">tpc5</a></li><li class="progresssection"><a href="4-tpc6.html">tpc6</a></li><li class="progresssection"><a href="4-tpc7.html">tpc7</a></li><li class="progresssection"><a href="4-ttc.html">ttc</a></li><li class="progresssection"><a href="4-tvc.html">tvc</a></li><li class="progresschapter"><a href="5-tac.html">5</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="4-tpc.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="4-tic2.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresschapter"><a href="2-it.html">2</a></li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresscurrentchapter">4</li><li class="progresssection"><a href="4-tcc.html">tcc</a></li><li class="progresssection"><a href="4-tcc2.html">tcc2</a></li><li class="progresssection"><a href="4-tic.html">tic</a></li><li class="progresssection"><a href="4-tic2.html">tic2</a></li><li class="progresscurrent">tnc</li><li class="progresssection"><a href="4-tpc.html">tpc</a></li><li class="progresssection"><a href="4-tpc2.html">tpc2</a></li><li class="progresssection"><a href="4-tpc3.html">tpc3</a></li><li class="progresssection"><a href="4-tpc4.html">tpc4</a></li><li class="progresssection"><a href="4-tpc5.html">tpc5</a></li><li class="progresssection"><a href="4-tpc6.html">tpc6</a></li><li class="progresssection"><a href="4-tpc7.html">tpc7</a></li><li class="progresssection"><a href="4-ttc.html">ttc</a></li><li class="progresssection"><a href="4-tvc.html">tvc</a></li><li class="progresschapter"><a href="5-tac.html">5</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="4-tpc.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -365,7 +365,7 @@ are needed. And see also <a href="../imperative-module/3-fnc.html" class="intern
|
|||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="4-tnc.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresschapter"><a href="2-it.html">2</a></li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresscurrentchapter">4</li><li class="progresssection"><a href="4-tac.html">tac</a></li><li class="progresssection"><a href="4-tcc.html">tcc</a></li><li class="progresssection"><a href="4-tcc2.html">tcc2</a></li><li class="progresssection"><a href="4-tic.html">tic</a></li><li class="progresssection"><a href="4-tic2.html">tic2</a></li><li class="progresssection"><a href="4-tnc.html">tnc</a></li><li class="progresscurrent">tpc</li><li class="progresssection"><a href="4-tpc2.html">tpc2</a></li><li class="progresssection"><a href="4-tpc3.html">tpc3</a></li><li class="progresssection"><a href="4-tpc4.html">tpc4</a></li><li class="progresssection"><a href="4-tpc5.html">tpc5</a></li><li class="progresssection"><a href="4-tpc6.html">tpc6</a></li><li class="progresssection"><a href="4-tpc7.html">tpc7</a></li><li class="progresssection"><a href="4-ttc.html">ttc</a></li><li class="progresssection"><a href="4-tvc.html">tvc</a></li><li class="progresschapter"><a href="5-tac.html">5</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="4-tpc2.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="4-tnc.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresschapter"><a href="2-it.html">2</a></li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresscurrentchapter">4</li><li class="progresssection"><a href="4-tcc.html">tcc</a></li><li class="progresssection"><a href="4-tcc2.html">tcc2</a></li><li class="progresssection"><a href="4-tic.html">tic</a></li><li class="progresssection"><a href="4-tic2.html">tic2</a></li><li class="progresssection"><a href="4-tnc.html">tnc</a></li><li class="progresscurrent">tpc</li><li class="progresssection"><a href="4-tpc2.html">tpc2</a></li><li class="progresssection"><a href="4-tpc3.html">tpc3</a></li><li class="progresssection"><a href="4-tpc4.html">tpc4</a></li><li class="progresssection"><a href="4-tpc5.html">tpc5</a></li><li class="progresssection"><a href="4-tpc6.html">tpc6</a></li><li class="progresssection"><a href="4-tpc7.html">tpc7</a></li><li class="progresssection"><a href="4-ttc.html">ttc</a></li><li class="progresssection"><a href="4-tvc.html">tvc</a></li><li class="progresschapter"><a href="5-tac.html">5</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="4-tpc2.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -128,7 +128,7 @@ compulsory words — see <a href="2-in.html" class="internal">Inter Nodes</a
|
|||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="4-tpc.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresschapter"><a href="2-it.html">2</a></li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresscurrentchapter">4</li><li class="progresssection"><a href="4-tac.html">tac</a></li><li class="progresssection"><a href="4-tcc.html">tcc</a></li><li class="progresssection"><a href="4-tcc2.html">tcc2</a></li><li class="progresssection"><a href="4-tic.html">tic</a></li><li class="progresssection"><a href="4-tic2.html">tic2</a></li><li class="progresssection"><a href="4-tnc.html">tnc</a></li><li class="progresssection"><a href="4-tpc.html">tpc</a></li><li class="progresscurrent">tpc2</li><li class="progresssection"><a href="4-tpc3.html">tpc3</a></li><li class="progresssection"><a href="4-tpc4.html">tpc4</a></li><li class="progresssection"><a href="4-tpc5.html">tpc5</a></li><li class="progresssection"><a href="4-tpc6.html">tpc6</a></li><li class="progresssection"><a href="4-tpc7.html">tpc7</a></li><li class="progresssection"><a href="4-ttc.html">ttc</a></li><li class="progresssection"><a href="4-tvc.html">tvc</a></li><li class="progresschapter"><a href="5-tac.html">5</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="4-tpc3.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="4-tpc.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresschapter"><a href="2-it.html">2</a></li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresscurrentchapter">4</li><li class="progresssection"><a href="4-tcc.html">tcc</a></li><li class="progresssection"><a href="4-tcc2.html">tcc2</a></li><li class="progresssection"><a href="4-tic.html">tic</a></li><li class="progresssection"><a href="4-tic2.html">tic2</a></li><li class="progresssection"><a href="4-tnc.html">tnc</a></li><li class="progresssection"><a href="4-tpc.html">tpc</a></li><li class="progresscurrent">tpc2</li><li class="progresssection"><a href="4-tpc3.html">tpc3</a></li><li class="progresssection"><a href="4-tpc4.html">tpc4</a></li><li class="progresssection"><a href="4-tpc5.html">tpc5</a></li><li class="progresssection"><a href="4-tpc6.html">tpc6</a></li><li class="progresssection"><a href="4-tpc7.html">tpc7</a></li><li class="progresssection"><a href="4-ttc.html">ttc</a></li><li class="progresssection"><a href="4-tvc.html">tvc</a></li><li class="progresschapter"><a href="5-tac.html">5</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="4-tpc3.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -257,7 +257,7 @@ messages if we report early.
|
|||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="4-tpc2.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresschapter"><a href="2-it.html">2</a></li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresscurrentchapter">4</li><li class="progresssection"><a href="4-tac.html">tac</a></li><li class="progresssection"><a href="4-tcc.html">tcc</a></li><li class="progresssection"><a href="4-tcc2.html">tcc2</a></li><li class="progresssection"><a href="4-tic.html">tic</a></li><li class="progresssection"><a href="4-tic2.html">tic2</a></li><li class="progresssection"><a href="4-tnc.html">tnc</a></li><li class="progresssection"><a href="4-tpc.html">tpc</a></li><li class="progresssection"><a href="4-tpc2.html">tpc2</a></li><li class="progresscurrent">tpc3</li><li class="progresssection"><a href="4-tpc4.html">tpc4</a></li><li class="progresssection"><a href="4-tpc5.html">tpc5</a></li><li class="progresssection"><a href="4-tpc6.html">tpc6</a></li><li class="progresssection"><a href="4-tpc7.html">tpc7</a></li><li class="progresssection"><a href="4-ttc.html">ttc</a></li><li class="progresssection"><a href="4-tvc.html">tvc</a></li><li class="progresschapter"><a href="5-tac.html">5</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="4-tpc4.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="4-tpc2.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresschapter"><a href="2-it.html">2</a></li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresscurrentchapter">4</li><li class="progresssection"><a href="4-tcc.html">tcc</a></li><li class="progresssection"><a href="4-tcc2.html">tcc2</a></li><li class="progresssection"><a href="4-tic.html">tic</a></li><li class="progresssection"><a href="4-tic2.html">tic2</a></li><li class="progresssection"><a href="4-tnc.html">tnc</a></li><li class="progresssection"><a href="4-tpc.html">tpc</a></li><li class="progresssection"><a href="4-tpc2.html">tpc2</a></li><li class="progresscurrent">tpc3</li><li class="progresssection"><a href="4-tpc4.html">tpc4</a></li><li class="progresssection"><a href="4-tpc5.html">tpc5</a></li><li class="progresssection"><a href="4-tpc6.html">tpc6</a></li><li class="progresssection"><a href="4-tpc7.html">tpc7</a></li><li class="progresssection"><a href="4-ttc.html">ttc</a></li><li class="progresssection"><a href="4-tvc.html">tvc</a></li><li class="progresschapter"><a href="5-tac.html">5</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="4-tpc4.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -168,7 +168,7 @@ whereas the content is parsed as a double-quoted literal.
|
|||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="4-tpc3.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresschapter"><a href="2-it.html">2</a></li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresscurrentchapter">4</li><li class="progresssection"><a href="4-tac.html">tac</a></li><li class="progresssection"><a href="4-tcc.html">tcc</a></li><li class="progresssection"><a href="4-tcc2.html">tcc2</a></li><li class="progresssection"><a href="4-tic.html">tic</a></li><li class="progresssection"><a href="4-tic2.html">tic2</a></li><li class="progresssection"><a href="4-tnc.html">tnc</a></li><li class="progresssection"><a href="4-tpc.html">tpc</a></li><li class="progresssection"><a href="4-tpc2.html">tpc2</a></li><li class="progresssection"><a href="4-tpc3.html">tpc3</a></li><li class="progresscurrent">tpc4</li><li class="progresssection"><a href="4-tpc5.html">tpc5</a></li><li class="progresssection"><a href="4-tpc6.html">tpc6</a></li><li class="progresssection"><a href="4-tpc7.html">tpc7</a></li><li class="progresssection"><a href="4-ttc.html">ttc</a></li><li class="progresssection"><a href="4-tvc.html">tvc</a></li><li class="progresschapter"><a href="5-tac.html">5</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="4-tpc5.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="4-tpc3.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresschapter"><a href="2-it.html">2</a></li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresscurrentchapter">4</li><li class="progresssection"><a href="4-tcc.html">tcc</a></li><li class="progresssection"><a href="4-tcc2.html">tcc2</a></li><li class="progresssection"><a href="4-tic.html">tic</a></li><li class="progresssection"><a href="4-tic2.html">tic2</a></li><li class="progresssection"><a href="4-tnc.html">tnc</a></li><li class="progresssection"><a href="4-tpc.html">tpc</a></li><li class="progresssection"><a href="4-tpc2.html">tpc2</a></li><li class="progresssection"><a href="4-tpc3.html">tpc3</a></li><li class="progresscurrent">tpc4</li><li class="progresssection"><a href="4-tpc5.html">tpc5</a></li><li class="progresssection"><a href="4-tpc6.html">tpc6</a></li><li class="progresssection"><a href="4-tpc7.html">tpc7</a></li><li class="progresssection"><a href="4-ttc.html">ttc</a></li><li class="progresssection"><a href="4-tvc.html">tvc</a></li><li class="progresschapter"><a href="5-tac.html">5</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="4-tpc5.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -298,7 +298,7 @@ otherwise).
|
|||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="4-tpc4.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresschapter"><a href="2-it.html">2</a></li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresscurrentchapter">4</li><li class="progresssection"><a href="4-tac.html">tac</a></li><li class="progresssection"><a href="4-tcc.html">tcc</a></li><li class="progresssection"><a href="4-tcc2.html">tcc2</a></li><li class="progresssection"><a href="4-tic.html">tic</a></li><li class="progresssection"><a href="4-tic2.html">tic2</a></li><li class="progresssection"><a href="4-tnc.html">tnc</a></li><li class="progresssection"><a href="4-tpc.html">tpc</a></li><li class="progresssection"><a href="4-tpc2.html">tpc2</a></li><li class="progresssection"><a href="4-tpc3.html">tpc3</a></li><li class="progresssection"><a href="4-tpc4.html">tpc4</a></li><li class="progresscurrent">tpc5</li><li class="progresssection"><a href="4-tpc6.html">tpc6</a></li><li class="progresssection"><a href="4-tpc7.html">tpc7</a></li><li class="progresssection"><a href="4-ttc.html">ttc</a></li><li class="progresssection"><a href="4-tvc.html">tvc</a></li><li class="progresschapter"><a href="5-tac.html">5</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="4-tpc6.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="4-tpc4.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresschapter"><a href="2-it.html">2</a></li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresscurrentchapter">4</li><li class="progresssection"><a href="4-tcc.html">tcc</a></li><li class="progresssection"><a href="4-tcc2.html">tcc2</a></li><li class="progresssection"><a href="4-tic.html">tic</a></li><li class="progresssection"><a href="4-tic2.html">tic2</a></li><li class="progresssection"><a href="4-tnc.html">tnc</a></li><li class="progresssection"><a href="4-tpc.html">tpc</a></li><li class="progresssection"><a href="4-tpc2.html">tpc2</a></li><li class="progresssection"><a href="4-tpc3.html">tpc3</a></li><li class="progresssection"><a href="4-tpc4.html">tpc4</a></li><li class="progresscurrent">tpc5</li><li class="progresssection"><a href="4-tpc6.html">tpc6</a></li><li class="progresssection"><a href="4-tpc7.html">tpc7</a></li><li class="progresssection"><a href="4-ttc.html">ttc</a></li><li class="progresssection"><a href="4-tvc.html">tvc</a></li><li class="progresschapter"><a href="5-tac.html">5</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="4-tpc6.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -181,7 +181,7 @@ compulsory words — see <a href="2-in.html" class="internal">Inter Nodes</a
|
|||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="4-tpc5.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresschapter"><a href="2-it.html">2</a></li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresscurrentchapter">4</li><li class="progresssection"><a href="4-tac.html">tac</a></li><li class="progresssection"><a href="4-tcc.html">tcc</a></li><li class="progresssection"><a href="4-tcc2.html">tcc2</a></li><li class="progresssection"><a href="4-tic.html">tic</a></li><li class="progresssection"><a href="4-tic2.html">tic2</a></li><li class="progresssection"><a href="4-tnc.html">tnc</a></li><li class="progresssection"><a href="4-tpc.html">tpc</a></li><li class="progresssection"><a href="4-tpc2.html">tpc2</a></li><li class="progresssection"><a href="4-tpc3.html">tpc3</a></li><li class="progresssection"><a href="4-tpc4.html">tpc4</a></li><li class="progresssection"><a href="4-tpc5.html">tpc5</a></li><li class="progresscurrent">tpc6</li><li class="progresssection"><a href="4-tpc7.html">tpc7</a></li><li class="progresssection"><a href="4-ttc.html">ttc</a></li><li class="progresssection"><a href="4-tvc.html">tvc</a></li><li class="progresschapter"><a href="5-tac.html">5</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="4-tpc7.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="4-tpc5.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresschapter"><a href="2-it.html">2</a></li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresscurrentchapter">4</li><li class="progresssection"><a href="4-tcc.html">tcc</a></li><li class="progresssection"><a href="4-tcc2.html">tcc2</a></li><li class="progresssection"><a href="4-tic.html">tic</a></li><li class="progresssection"><a href="4-tic2.html">tic2</a></li><li class="progresssection"><a href="4-tnc.html">tnc</a></li><li class="progresssection"><a href="4-tpc.html">tpc</a></li><li class="progresssection"><a href="4-tpc2.html">tpc2</a></li><li class="progresssection"><a href="4-tpc3.html">tpc3</a></li><li class="progresssection"><a href="4-tpc4.html">tpc4</a></li><li class="progresssection"><a href="4-tpc5.html">tpc5</a></li><li class="progresscurrent">tpc6</li><li class="progresssection"><a href="4-tpc7.html">tpc7</a></li><li class="progresssection"><a href="4-ttc.html">ttc</a></li><li class="progresssection"><a href="4-tvc.html">tvc</a></li><li class="progresschapter"><a href="5-tac.html">5</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="4-tpc7.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -259,7 +259,7 @@ value to the list of properties of the owner.
|
|||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="4-tpc6.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresschapter"><a href="2-it.html">2</a></li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresscurrentchapter">4</li><li class="progresssection"><a href="4-tac.html">tac</a></li><li class="progresssection"><a href="4-tcc.html">tcc</a></li><li class="progresssection"><a href="4-tcc2.html">tcc2</a></li><li class="progresssection"><a href="4-tic.html">tic</a></li><li class="progresssection"><a href="4-tic2.html">tic2</a></li><li class="progresssection"><a href="4-tnc.html">tnc</a></li><li class="progresssection"><a href="4-tpc.html">tpc</a></li><li class="progresssection"><a href="4-tpc2.html">tpc2</a></li><li class="progresssection"><a href="4-tpc3.html">tpc3</a></li><li class="progresssection"><a href="4-tpc4.html">tpc4</a></li><li class="progresssection"><a href="4-tpc5.html">tpc5</a></li><li class="progresssection"><a href="4-tpc6.html">tpc6</a></li><li class="progresscurrent">tpc7</li><li class="progresssection"><a href="4-ttc.html">ttc</a></li><li class="progresssection"><a href="4-tvc.html">tvc</a></li><li class="progresschapter"><a href="5-tac.html">5</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="4-ttc.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="4-tpc6.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresschapter"><a href="2-it.html">2</a></li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresscurrentchapter">4</li><li class="progresssection"><a href="4-tcc.html">tcc</a></li><li class="progresssection"><a href="4-tcc2.html">tcc2</a></li><li class="progresssection"><a href="4-tic.html">tic</a></li><li class="progresssection"><a href="4-tic2.html">tic2</a></li><li class="progresssection"><a href="4-tnc.html">tnc</a></li><li class="progresssection"><a href="4-tpc.html">tpc</a></li><li class="progresssection"><a href="4-tpc2.html">tpc2</a></li><li class="progresssection"><a href="4-tpc3.html">tpc3</a></li><li class="progresssection"><a href="4-tpc4.html">tpc4</a></li><li class="progresssection"><a href="4-tpc5.html">tpc5</a></li><li class="progresssection"><a href="4-tpc6.html">tpc6</a></li><li class="progresscurrent">tpc7</li><li class="progresssection"><a href="4-ttc.html">ttc</a></li><li class="progresssection"><a href="4-tvc.html">tvc</a></li><li class="progresschapter"><a href="5-tac.html">5</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="4-ttc.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -348,7 +348,7 @@ length is flexible: there can be any number of operands from 0 upwards.
|
|||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="4-tpc7.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresschapter"><a href="2-it.html">2</a></li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresscurrentchapter">4</li><li class="progresssection"><a href="4-tac.html">tac</a></li><li class="progresssection"><a href="4-tcc.html">tcc</a></li><li class="progresssection"><a href="4-tcc2.html">tcc2</a></li><li class="progresssection"><a href="4-tic.html">tic</a></li><li class="progresssection"><a href="4-tic2.html">tic2</a></li><li class="progresssection"><a href="4-tnc.html">tnc</a></li><li class="progresssection"><a href="4-tpc.html">tpc</a></li><li class="progresssection"><a href="4-tpc2.html">tpc2</a></li><li class="progresssection"><a href="4-tpc3.html">tpc3</a></li><li class="progresssection"><a href="4-tpc4.html">tpc4</a></li><li class="progresssection"><a href="4-tpc5.html">tpc5</a></li><li class="progresssection"><a href="4-tpc6.html">tpc6</a></li><li class="progresssection"><a href="4-tpc7.html">tpc7</a></li><li class="progresscurrent">ttc</li><li class="progresssection"><a href="4-tvc.html">tvc</a></li><li class="progresschapter"><a href="5-tac.html">5</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="4-tvc.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="4-tpc7.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresschapter"><a href="2-it.html">2</a></li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresscurrentchapter">4</li><li class="progresssection"><a href="4-tcc.html">tcc</a></li><li class="progresssection"><a href="4-tcc2.html">tcc2</a></li><li class="progresssection"><a href="4-tic.html">tic</a></li><li class="progresssection"><a href="4-tic2.html">tic2</a></li><li class="progresssection"><a href="4-tnc.html">tnc</a></li><li class="progresssection"><a href="4-tpc.html">tpc</a></li><li class="progresssection"><a href="4-tpc2.html">tpc2</a></li><li class="progresssection"><a href="4-tpc3.html">tpc3</a></li><li class="progresssection"><a href="4-tpc4.html">tpc4</a></li><li class="progresssection"><a href="4-tpc5.html">tpc5</a></li><li class="progresssection"><a href="4-tpc6.html">tpc6</a></li><li class="progresssection"><a href="4-tpc7.html">tpc7</a></li><li class="progresscurrent">ttc</li><li class="progresssection"><a href="4-tvc.html">tvc</a></li><li class="progresschapter"><a href="5-tac.html">5</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="4-tvc.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -189,7 +189,7 @@ compulsory words — see <a href="2-in.html" class="internal">Inter Nodes</a
|
|||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="4-ttc.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresschapter"><a href="2-it.html">2</a></li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresscurrentchapter">4</li><li class="progresssection"><a href="4-tac.html">tac</a></li><li class="progresssection"><a href="4-tcc.html">tcc</a></li><li class="progresssection"><a href="4-tcc2.html">tcc2</a></li><li class="progresssection"><a href="4-tic.html">tic</a></li><li class="progresssection"><a href="4-tic2.html">tic2</a></li><li class="progresssection"><a href="4-tnc.html">tnc</a></li><li class="progresssection"><a href="4-tpc.html">tpc</a></li><li class="progresssection"><a href="4-tpc2.html">tpc2</a></li><li class="progresssection"><a href="4-tpc3.html">tpc3</a></li><li class="progresssection"><a href="4-tpc4.html">tpc4</a></li><li class="progresssection"><a href="4-tpc5.html">tpc5</a></li><li class="progresssection"><a href="4-tpc6.html">tpc6</a></li><li class="progresssection"><a href="4-tpc7.html">tpc7</a></li><li class="progresssection"><a href="4-ttc.html">ttc</a></li><li class="progresscurrent">tvc</li><li class="progresschapter"><a href="5-tac.html">5</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="5-tac.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="4-ttc.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresschapter"><a href="2-it.html">2</a></li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresscurrentchapter">4</li><li class="progresssection"><a href="4-tcc.html">tcc</a></li><li class="progresssection"><a href="4-tcc2.html">tcc2</a></li><li class="progresssection"><a href="4-tic.html">tic</a></li><li class="progresssection"><a href="4-tic2.html">tic2</a></li><li class="progresssection"><a href="4-tnc.html">tnc</a></li><li class="progresssection"><a href="4-tpc.html">tpc</a></li><li class="progresssection"><a href="4-tpc2.html">tpc2</a></li><li class="progresssection"><a href="4-tpc3.html">tpc3</a></li><li class="progresssection"><a href="4-tpc4.html">tpc4</a></li><li class="progresssection"><a href="4-tpc5.html">tpc5</a></li><li class="progresssection"><a href="4-tpc6.html">tpc6</a></li><li class="progresssection"><a href="4-tpc7.html">tpc7</a></li><li class="progresssection"><a href="4-ttc.html">ttc</a></li><li class="progresscurrent">tvc</li><li class="progresschapter"><a href="5-tac.html">5</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="5-tac.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -176,7 +176,7 @@ is required to be one of these:
|
|||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="4-tvc.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresschapter"><a href="2-it.html">2</a></li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresschapter"><a href="4-tac.html">4</a></li><li class="progresscurrentchapter">5</li><li class="progresscurrent">tac</li><li class="progresssection"><a href="5-tcc.html">tcc</a></li><li class="progresssection"><a href="5-tcc2.html">tcc2</a></li><li class="progresssection"><a href="5-tec.html">tec</a></li><li class="progresssection"><a href="5-tic.html">tic</a></li><li class="progresssection"><a href="5-tlc.html">tlc</a></li><li class="progresssection"><a href="5-tlc2.html">tlc2</a></li><li class="progresssection"><a href="5-tlc3.html">tlc3</a></li><li class="progresssection"><a href="5-trc.html">trc</a></li><li class="progresssection"><a href="5-trc2.html">trc2</a></li><li class="progresssection"><a href="5-tsc.html">tsc</a></li><li class="progresssection"><a href="5-tvc.html">tvc</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="5-tcc.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="4-tvc.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresschapter"><a href="2-it.html">2</a></li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresschapter"><a href="4-tcc.html">4</a></li><li class="progresscurrentchapter">5</li><li class="progresscurrent">tac</li><li class="progresssection"><a href="5-tcc.html">tcc</a></li><li class="progresssection"><a href="5-tcc2.html">tcc2</a></li><li class="progresssection"><a href="5-tec.html">tec</a></li><li class="progresssection"><a href="5-tic.html">tic</a></li><li class="progresssection"><a href="5-tlc.html">tlc</a></li><li class="progresssection"><a href="5-tlc2.html">tlc2</a></li><li class="progresssection"><a href="5-tlc3.html">tlc3</a></li><li class="progresssection"><a href="5-trc.html">trc</a></li><li class="progresssection"><a href="5-trc2.html">trc2</a></li><li class="progresssection"><a href="5-tsc.html">tsc</a></li><li class="progresssection"><a href="5-tvc.html">tvc</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="5-tcc.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -171,7 +171,7 @@ compulsory words — see <a href="2-in.html" class="internal">Inter Nodes</a
|
|||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="5-tac.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresschapter"><a href="2-it.html">2</a></li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresschapter"><a href="4-tac.html">4</a></li><li class="progresscurrentchapter">5</li><li class="progresssection"><a href="5-tac.html">tac</a></li><li class="progresscurrent">tcc</li><li class="progresssection"><a href="5-tcc2.html">tcc2</a></li><li class="progresssection"><a href="5-tec.html">tec</a></li><li class="progresssection"><a href="5-tic.html">tic</a></li><li class="progresssection"><a href="5-tlc.html">tlc</a></li><li class="progresssection"><a href="5-tlc2.html">tlc2</a></li><li class="progresssection"><a href="5-tlc3.html">tlc3</a></li><li class="progresssection"><a href="5-trc.html">trc</a></li><li class="progresssection"><a href="5-trc2.html">trc2</a></li><li class="progresssection"><a href="5-tsc.html">tsc</a></li><li class="progresssection"><a href="5-tvc.html">tvc</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="5-tcc2.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="5-tac.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresschapter"><a href="2-it.html">2</a></li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresschapter"><a href="4-tcc.html">4</a></li><li class="progresscurrentchapter">5</li><li class="progresssection"><a href="5-tac.html">tac</a></li><li class="progresscurrent">tcc</li><li class="progresssection"><a href="5-tcc2.html">tcc2</a></li><li class="progresssection"><a href="5-tec.html">tec</a></li><li class="progresssection"><a href="5-tic.html">tic</a></li><li class="progresssection"><a href="5-tlc.html">tlc</a></li><li class="progresssection"><a href="5-tlc2.html">tlc2</a></li><li class="progresssection"><a href="5-tlc3.html">tlc3</a></li><li class="progresssection"><a href="5-trc.html">trc</a></li><li class="progresssection"><a href="5-trc2.html">trc2</a></li><li class="progresssection"><a href="5-tsc.html">tsc</a></li><li class="progresssection"><a href="5-tvc.html">tvc</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="5-tcc2.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -142,7 +142,7 @@ compulsory words — see <a href="2-in.html" class="internal">Inter Nodes</a
|
|||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="5-tcc.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresschapter"><a href="2-it.html">2</a></li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresschapter"><a href="4-tac.html">4</a></li><li class="progresscurrentchapter">5</li><li class="progresssection"><a href="5-tac.html">tac</a></li><li class="progresssection"><a href="5-tcc.html">tcc</a></li><li class="progresscurrent">tcc2</li><li class="progresssection"><a href="5-tec.html">tec</a></li><li class="progresssection"><a href="5-tic.html">tic</a></li><li class="progresssection"><a href="5-tlc.html">tlc</a></li><li class="progresssection"><a href="5-tlc2.html">tlc2</a></li><li class="progresssection"><a href="5-tlc3.html">tlc3</a></li><li class="progresssection"><a href="5-trc.html">trc</a></li><li class="progresssection"><a href="5-trc2.html">trc2</a></li><li class="progresssection"><a href="5-tsc.html">tsc</a></li><li class="progresssection"><a href="5-tvc.html">tvc</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="5-tec.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="5-tcc.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresschapter"><a href="2-it.html">2</a></li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresschapter"><a href="4-tcc.html">4</a></li><li class="progresscurrentchapter">5</li><li class="progresssection"><a href="5-tac.html">tac</a></li><li class="progresssection"><a href="5-tcc.html">tcc</a></li><li class="progresscurrent">tcc2</li><li class="progresssection"><a href="5-tec.html">tec</a></li><li class="progresssection"><a href="5-tic.html">tic</a></li><li class="progresssection"><a href="5-tlc.html">tlc</a></li><li class="progresssection"><a href="5-tlc2.html">tlc2</a></li><li class="progresssection"><a href="5-tlc3.html">tlc3</a></li><li class="progresssection"><a href="5-trc.html">trc</a></li><li class="progresssection"><a href="5-trc2.html">trc2</a></li><li class="progresssection"><a href="5-tsc.html">tsc</a></li><li class="progresssection"><a href="5-tvc.html">tvc</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="5-tec.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -140,7 +140,7 @@ compulsory words — see <a href="2-in.html" class="internal">Inter Nodes</a
|
|||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="5-tcc2.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresschapter"><a href="2-it.html">2</a></li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresschapter"><a href="4-tac.html">4</a></li><li class="progresscurrentchapter">5</li><li class="progresssection"><a href="5-tac.html">tac</a></li><li class="progresssection"><a href="5-tcc.html">tcc</a></li><li class="progresssection"><a href="5-tcc2.html">tcc2</a></li><li class="progresscurrent">tec</li><li class="progresssection"><a href="5-tic.html">tic</a></li><li class="progresssection"><a href="5-tlc.html">tlc</a></li><li class="progresssection"><a href="5-tlc2.html">tlc2</a></li><li class="progresssection"><a href="5-tlc3.html">tlc3</a></li><li class="progresssection"><a href="5-trc.html">trc</a></li><li class="progresssection"><a href="5-trc2.html">trc2</a></li><li class="progresssection"><a href="5-tsc.html">tsc</a></li><li class="progresssection"><a href="5-tvc.html">tvc</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="5-tic.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="5-tcc2.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresschapter"><a href="2-it.html">2</a></li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresschapter"><a href="4-tcc.html">4</a></li><li class="progresscurrentchapter">5</li><li class="progresssection"><a href="5-tac.html">tac</a></li><li class="progresssection"><a href="5-tcc.html">tcc</a></li><li class="progresssection"><a href="5-tcc2.html">tcc2</a></li><li class="progresscurrent">tec</li><li class="progresssection"><a href="5-tic.html">tic</a></li><li class="progresssection"><a href="5-tlc.html">tlc</a></li><li class="progresssection"><a href="5-tlc2.html">tlc2</a></li><li class="progresssection"><a href="5-tlc3.html">tlc3</a></li><li class="progresssection"><a href="5-trc.html">trc</a></li><li class="progresssection"><a href="5-trc2.html">trc2</a></li><li class="progresssection"><a href="5-tsc.html">tsc</a></li><li class="progresssection"><a href="5-tvc.html">tvc</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="5-tic.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -439,7 +439,7 @@ an invocation into a primitive, or a different primitive. So:
|
|||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="5-tec.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresschapter"><a href="2-it.html">2</a></li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresschapter"><a href="4-tac.html">4</a></li><li class="progresscurrentchapter">5</li><li class="progresssection"><a href="5-tac.html">tac</a></li><li class="progresssection"><a href="5-tcc.html">tcc</a></li><li class="progresssection"><a href="5-tcc2.html">tcc2</a></li><li class="progresssection"><a href="5-tec.html">tec</a></li><li class="progresscurrent">tic</li><li class="progresssection"><a href="5-tlc.html">tlc</a></li><li class="progresssection"><a href="5-tlc2.html">tlc2</a></li><li class="progresssection"><a href="5-tlc3.html">tlc3</a></li><li class="progresssection"><a href="5-trc.html">trc</a></li><li class="progresssection"><a href="5-trc2.html">trc2</a></li><li class="progresssection"><a href="5-tsc.html">tsc</a></li><li class="progresssection"><a href="5-tvc.html">tvc</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="5-tlc.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="5-tec.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresschapter"><a href="2-it.html">2</a></li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresschapter"><a href="4-tcc.html">4</a></li><li class="progresscurrentchapter">5</li><li class="progresssection"><a href="5-tac.html">tac</a></li><li class="progresssection"><a href="5-tcc.html">tcc</a></li><li class="progresssection"><a href="5-tcc2.html">tcc2</a></li><li class="progresssection"><a href="5-tec.html">tec</a></li><li class="progresscurrent">tic</li><li class="progresssection"><a href="5-tlc.html">tlc</a></li><li class="progresssection"><a href="5-tlc2.html">tlc2</a></li><li class="progresssection"><a href="5-tlc3.html">tlc3</a></li><li class="progresssection"><a href="5-trc.html">trc</a></li><li class="progresssection"><a href="5-trc2.html">trc2</a></li><li class="progresssection"><a href="5-tsc.html">tsc</a></li><li class="progresssection"><a href="5-tvc.html">tvc</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="5-tlc.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -164,7 +164,7 @@ in expectation that the position will be declared in a future instruction.
|
|||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="5-tic.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresschapter"><a href="2-it.html">2</a></li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresschapter"><a href="4-tac.html">4</a></li><li class="progresscurrentchapter">5</li><li class="progresssection"><a href="5-tac.html">tac</a></li><li class="progresssection"><a href="5-tcc.html">tcc</a></li><li class="progresssection"><a href="5-tcc2.html">tcc2</a></li><li class="progresssection"><a href="5-tec.html">tec</a></li><li class="progresssection"><a href="5-tic.html">tic</a></li><li class="progresscurrent">tlc</li><li class="progresssection"><a href="5-tlc2.html">tlc2</a></li><li class="progresssection"><a href="5-tlc3.html">tlc3</a></li><li class="progresssection"><a href="5-trc.html">trc</a></li><li class="progresssection"><a href="5-trc2.html">trc2</a></li><li class="progresssection"><a href="5-tsc.html">tsc</a></li><li class="progresssection"><a href="5-tvc.html">tvc</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="5-tlc2.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="5-tic.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresschapter"><a href="2-it.html">2</a></li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresschapter"><a href="4-tcc.html">4</a></li><li class="progresscurrentchapter">5</li><li class="progresssection"><a href="5-tac.html">tac</a></li><li class="progresssection"><a href="5-tcc.html">tcc</a></li><li class="progresssection"><a href="5-tcc2.html">tcc2</a></li><li class="progresssection"><a href="5-tec.html">tec</a></li><li class="progresssection"><a href="5-tic.html">tic</a></li><li class="progresscurrent">tlc</li><li class="progresssection"><a href="5-tlc2.html">tlc2</a></li><li class="progresssection"><a href="5-tlc3.html">tlc3</a></li><li class="progresssection"><a href="5-trc.html">trc</a></li><li class="progresssection"><a href="5-trc2.html">trc2</a></li><li class="progresssection"><a href="5-tsc.html">tsc</a></li><li class="progresssection"><a href="5-tvc.html">tvc</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="5-tlc2.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -163,7 +163,7 @@ so that the label name might already have been created: see <a href="5-tlc.html#
|
|||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="5-tlc.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresschapter"><a href="2-it.html">2</a></li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresschapter"><a href="4-tac.html">4</a></li><li class="progresscurrentchapter">5</li><li class="progresssection"><a href="5-tac.html">tac</a></li><li class="progresssection"><a href="5-tcc.html">tcc</a></li><li class="progresssection"><a href="5-tcc2.html">tcc2</a></li><li class="progresssection"><a href="5-tec.html">tec</a></li><li class="progresssection"><a href="5-tic.html">tic</a></li><li class="progresssection"><a href="5-tlc.html">tlc</a></li><li class="progresscurrent">tlc2</li><li class="progresssection"><a href="5-tlc3.html">tlc3</a></li><li class="progresssection"><a href="5-trc.html">trc</a></li><li class="progresssection"><a href="5-trc2.html">trc2</a></li><li class="progresssection"><a href="5-tsc.html">tsc</a></li><li class="progresssection"><a href="5-tvc.html">tvc</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="5-tlc3.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="5-tlc.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresschapter"><a href="2-it.html">2</a></li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresschapter"><a href="4-tcc.html">4</a></li><li class="progresscurrentchapter">5</li><li class="progresssection"><a href="5-tac.html">tac</a></li><li class="progresssection"><a href="5-tcc.html">tcc</a></li><li class="progresssection"><a href="5-tcc2.html">tcc2</a></li><li class="progresssection"><a href="5-tec.html">tec</a></li><li class="progresssection"><a href="5-tic.html">tic</a></li><li class="progresssection"><a href="5-tlc.html">tlc</a></li><li class="progresscurrent">tlc2</li><li class="progresssection"><a href="5-tlc3.html">tlc3</a></li><li class="progresssection"><a href="5-trc.html">trc</a></li><li class="progresssection"><a href="5-trc2.html">trc2</a></li><li class="progresssection"><a href="5-tsc.html">tsc</a></li><li class="progresssection"><a href="5-tvc.html">tvc</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="5-tlc3.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -162,7 +162,7 @@ compulsory words — see <a href="2-in.html" class="internal">Inter Nodes</a
|
|||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="5-tlc2.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresschapter"><a href="2-it.html">2</a></li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresschapter"><a href="4-tac.html">4</a></li><li class="progresscurrentchapter">5</li><li class="progresssection"><a href="5-tac.html">tac</a></li><li class="progresssection"><a href="5-tcc.html">tcc</a></li><li class="progresssection"><a href="5-tcc2.html">tcc2</a></li><li class="progresssection"><a href="5-tec.html">tec</a></li><li class="progresssection"><a href="5-tic.html">tic</a></li><li class="progresssection"><a href="5-tlc.html">tlc</a></li><li class="progresssection"><a href="5-tlc2.html">tlc2</a></li><li class="progresscurrent">tlc3</li><li class="progresssection"><a href="5-trc.html">trc</a></li><li class="progresssection"><a href="5-trc2.html">trc2</a></li><li class="progresssection"><a href="5-tsc.html">tsc</a></li><li class="progresssection"><a href="5-tvc.html">tvc</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="5-trc.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="5-tlc2.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresschapter"><a href="2-it.html">2</a></li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresschapter"><a href="4-tcc.html">4</a></li><li class="progresscurrentchapter">5</li><li class="progresssection"><a href="5-tac.html">tac</a></li><li class="progresssection"><a href="5-tcc.html">tcc</a></li><li class="progresssection"><a href="5-tcc2.html">tcc2</a></li><li class="progresssection"><a href="5-tec.html">tec</a></li><li class="progresssection"><a href="5-tic.html">tic</a></li><li class="progresssection"><a href="5-tlc.html">tlc</a></li><li class="progresssection"><a href="5-tlc2.html">tlc2</a></li><li class="progresscurrent">tlc3</li><li class="progresssection"><a href="5-trc.html">trc</a></li><li class="progresssection"><a href="5-trc2.html">trc2</a></li><li class="progresssection"><a href="5-tsc.html">tsc</a></li><li class="progresssection"><a href="5-tvc.html">tvc</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="5-trc.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -165,7 +165,7 @@ compulsory words — see <a href="2-in.html" class="internal">Inter Nodes</a
|
|||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="5-tlc3.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresschapter"><a href="2-it.html">2</a></li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresschapter"><a href="4-tac.html">4</a></li><li class="progresscurrentchapter">5</li><li class="progresssection"><a href="5-tac.html">tac</a></li><li class="progresssection"><a href="5-tcc.html">tcc</a></li><li class="progresssection"><a href="5-tcc2.html">tcc2</a></li><li class="progresssection"><a href="5-tec.html">tec</a></li><li class="progresssection"><a href="5-tic.html">tic</a></li><li class="progresssection"><a href="5-tlc.html">tlc</a></li><li class="progresssection"><a href="5-tlc2.html">tlc2</a></li><li class="progresssection"><a href="5-tlc3.html">tlc3</a></li><li class="progresscurrent">trc</li><li class="progresssection"><a href="5-trc2.html">trc2</a></li><li class="progresssection"><a href="5-tsc.html">tsc</a></li><li class="progresssection"><a href="5-tvc.html">tvc</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="5-trc2.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="5-tlc3.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresschapter"><a href="2-it.html">2</a></li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresschapter"><a href="4-tcc.html">4</a></li><li class="progresscurrentchapter">5</li><li class="progresssection"><a href="5-tac.html">tac</a></li><li class="progresssection"><a href="5-tcc.html">tcc</a></li><li class="progresssection"><a href="5-tcc2.html">tcc2</a></li><li class="progresssection"><a href="5-tec.html">tec</a></li><li class="progresssection"><a href="5-tic.html">tic</a></li><li class="progresssection"><a href="5-tlc.html">tlc</a></li><li class="progresssection"><a href="5-tlc2.html">tlc2</a></li><li class="progresssection"><a href="5-tlc3.html">tlc3</a></li><li class="progresscurrent">trc</li><li class="progresssection"><a href="5-trc2.html">trc2</a></li><li class="progresssection"><a href="5-tsc.html">tsc</a></li><li class="progresssection"><a href="5-tvc.html">tvc</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="5-trc2.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -170,7 +170,7 @@ BIP. So, for example, it can look for the configuration
|
|||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="5-trc.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresschapter"><a href="2-it.html">2</a></li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresschapter"><a href="4-tac.html">4</a></li><li class="progresscurrentchapter">5</li><li class="progresssection"><a href="5-tac.html">tac</a></li><li class="progresssection"><a href="5-tcc.html">tcc</a></li><li class="progresssection"><a href="5-tcc2.html">tcc2</a></li><li class="progresssection"><a href="5-tec.html">tec</a></li><li class="progresssection"><a href="5-tic.html">tic</a></li><li class="progresssection"><a href="5-tlc.html">tlc</a></li><li class="progresssection"><a href="5-tlc2.html">tlc2</a></li><li class="progresssection"><a href="5-tlc3.html">tlc3</a></li><li class="progresssection"><a href="5-trc.html">trc</a></li><li class="progresscurrent">trc2</li><li class="progresssection"><a href="5-tsc.html">tsc</a></li><li class="progresssection"><a href="5-tvc.html">tvc</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="5-tsc.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="5-trc.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresschapter"><a href="2-it.html">2</a></li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresschapter"><a href="4-tcc.html">4</a></li><li class="progresscurrentchapter">5</li><li class="progresssection"><a href="5-tac.html">tac</a></li><li class="progresssection"><a href="5-tcc.html">tcc</a></li><li class="progresssection"><a href="5-tcc2.html">tcc2</a></li><li class="progresssection"><a href="5-tec.html">tec</a></li><li class="progresssection"><a href="5-tic.html">tic</a></li><li class="progresssection"><a href="5-tlc.html">tlc</a></li><li class="progresssection"><a href="5-tlc2.html">tlc2</a></li><li class="progresssection"><a href="5-tlc3.html">tlc3</a></li><li class="progresssection"><a href="5-trc.html">trc</a></li><li class="progresscurrent">trc2</li><li class="progresssection"><a href="5-tsc.html">tsc</a></li><li class="progresssection"><a href="5-tvc.html">tvc</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="5-tsc.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -263,7 +263,7 @@ written.
|
|||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="5-trc2.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresschapter"><a href="2-it.html">2</a></li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresschapter"><a href="4-tac.html">4</a></li><li class="progresscurrentchapter">5</li><li class="progresssection"><a href="5-tac.html">tac</a></li><li class="progresssection"><a href="5-tcc.html">tcc</a></li><li class="progresssection"><a href="5-tcc2.html">tcc2</a></li><li class="progresssection"><a href="5-tec.html">tec</a></li><li class="progresssection"><a href="5-tic.html">tic</a></li><li class="progresssection"><a href="5-tlc.html">tlc</a></li><li class="progresssection"><a href="5-tlc2.html">tlc2</a></li><li class="progresssection"><a href="5-tlc3.html">tlc3</a></li><li class="progresssection"><a href="5-trc.html">trc</a></li><li class="progresssection"><a href="5-trc2.html">trc2</a></li><li class="progresscurrent">tsc</li><li class="progresssection"><a href="5-tvc.html">tvc</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="5-tvc.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="5-trc2.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresschapter"><a href="2-it.html">2</a></li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresschapter"><a href="4-tcc.html">4</a></li><li class="progresscurrentchapter">5</li><li class="progresssection"><a href="5-tac.html">tac</a></li><li class="progresssection"><a href="5-tcc.html">tcc</a></li><li class="progresssection"><a href="5-tcc2.html">tcc2</a></li><li class="progresssection"><a href="5-tec.html">tec</a></li><li class="progresssection"><a href="5-tic.html">tic</a></li><li class="progresssection"><a href="5-tlc.html">tlc</a></li><li class="progresssection"><a href="5-tlc2.html">tlc2</a></li><li class="progresssection"><a href="5-tlc3.html">tlc3</a></li><li class="progresssection"><a href="5-trc.html">trc</a></li><li class="progresssection"><a href="5-trc2.html">trc2</a></li><li class="progresscurrent">tsc</li><li class="progresssection"><a href="5-tvc.html">tvc</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="5-tvc.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -183,7 +183,7 @@ compulsory words — see <a href="2-in.html" class="internal">Inter Nodes</a
|
|||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="5-tsc.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresschapter"><a href="2-it.html">2</a></li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresschapter"><a href="4-tac.html">4</a></li><li class="progresscurrentchapter">5</li><li class="progresssection"><a href="5-tac.html">tac</a></li><li class="progresssection"><a href="5-tcc.html">tcc</a></li><li class="progresssection"><a href="5-tcc2.html">tcc2</a></li><li class="progresssection"><a href="5-tec.html">tec</a></li><li class="progresssection"><a href="5-tic.html">tic</a></li><li class="progresssection"><a href="5-tlc.html">tlc</a></li><li class="progresssection"><a href="5-tlc2.html">tlc2</a></li><li class="progresssection"><a href="5-tlc3.html">tlc3</a></li><li class="progresssection"><a href="5-trc.html">trc</a></li><li class="progresssection"><a href="5-trc2.html">trc2</a></li><li class="progresssection"><a href="5-tsc.html">tsc</a></li><li class="progresscurrent">tvc</li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="6-tpc.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="5-tsc.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresschapter"><a href="2-it.html">2</a></li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresschapter"><a href="4-tcc.html">4</a></li><li class="progresscurrentchapter">5</li><li class="progresssection"><a href="5-tac.html">tac</a></li><li class="progresssection"><a href="5-tcc.html">tcc</a></li><li class="progresssection"><a href="5-tcc2.html">tcc2</a></li><li class="progresssection"><a href="5-tec.html">tec</a></li><li class="progresssection"><a href="5-tic.html">tic</a></li><li class="progresssection"><a href="5-tlc.html">tlc</a></li><li class="progresssection"><a href="5-tlc2.html">tlc2</a></li><li class="progresssection"><a href="5-tlc3.html">tlc3</a></li><li class="progresssection"><a href="5-trc.html">trc</a></li><li class="progresssection"><a href="5-trc2.html">trc2</a></li><li class="progresssection"><a href="5-tsc.html">tsc</a></li><li class="progresscurrent">tvc</li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="6-tpc.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -161,7 +161,7 @@ appearing at level <span class="extract"><span class="extract-syntax">N</span></
|
|||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="5-tvc.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresschapter"><a href="2-it.html">2</a></li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresschapter"><a href="4-tac.html">4</a></li><li class="progresschapter"><a href="5-tac.html">5</a></li><li class="progresscurrentchapter">6</li><li class="progresscurrent">tpc</li><li class="progresssection"><a href="6-tsc.html">tsc</a></li><li class="progresssection"><a href="6-tvc.html">tvc</a></li><li class="progressnext"><a href="6-tsc.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="5-tvc.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresschapter"><a href="2-it.html">2</a></li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresschapter"><a href="4-tcc.html">4</a></li><li class="progresschapter"><a href="5-tac.html">5</a></li><li class="progresscurrentchapter">6</li><li class="progresscurrent">tpc</li><li class="progresssection"><a href="6-tsc.html">tsc</a></li><li class="progresssection"><a href="6-tvc.html">tvc</a></li><li class="progressnext"><a href="6-tsc.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -135,7 +135,7 @@ which handles both plugs and sockets.
|
|||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="6-tpc.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresschapter"><a href="2-it.html">2</a></li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresschapter"><a href="4-tac.html">4</a></li><li class="progresschapter"><a href="5-tac.html">5</a></li><li class="progresscurrentchapter">6</li><li class="progresssection"><a href="6-tpc.html">tpc</a></li><li class="progresscurrent">tsc</li><li class="progresssection"><a href="6-tvc.html">tvc</a></li><li class="progressnext"><a href="6-tvc.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="6-tpc.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresschapter"><a href="2-it.html">2</a></li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresschapter"><a href="4-tcc.html">4</a></li><li class="progresschapter"><a href="5-tac.html">5</a></li><li class="progresscurrentchapter">6</li><li class="progresssection"><a href="6-tpc.html">tpc</a></li><li class="progresscurrent">tsc</li><li class="progresssection"><a href="6-tvc.html">tvc</a></li><li class="progressnext"><a href="6-tvc.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -111,7 +111,7 @@ the version we use ourselves: so we throw an error if it is not.
|
|||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="6-tsc.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresschapter"><a href="2-it.html">2</a></li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresschapter"><a href="4-tac.html">4</a></li><li class="progresschapter"><a href="5-tac.html">5</a></li><li class="progresscurrentchapter">6</li><li class="progresssection"><a href="6-tpc.html">tpc</a></li><li class="progresssection"><a href="6-tsc.html">tsc</a></li><li class="progresscurrent">tvc</li><li class="progressnextoff">❯</li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="6-tsc.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresschapter"><a href="2-it.html">2</a></li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresschapter"><a href="4-tcc.html">4</a></li><li class="progresschapter"><a href="5-tac.html">5</a></li><li class="progresscurrentchapter">6</li><li class="progresssection"><a href="6-tpc.html">tpc</a></li><li class="progresssection"><a href="6-tsc.html">tsc</a></li><li class="progresscurrent">tvc</li><li class="progressnextoff">❯</li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -605,7 +605,7 @@ duplicates of each other.)
|
|||
</p>
|
||||
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprevoff">❮</li><li class="progresscurrentchapter">P</li><li class="progresscurrent">wtmd</li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresschapter"><a href="2-it.html">2</a></li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresschapter"><a href="4-tac.html">4</a></li><li class="progresschapter"><a href="5-tac.html">5</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="1-bm.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprevoff">❮</li><li class="progresscurrentchapter">P</li><li class="progresscurrent">wtmd</li><li class="progresschapter"><a href="1-bm.html">1</a></li><li class="progresschapter"><a href="2-it.html">2</a></li><li class="progresschapter"><a href="3-ic.html">3</a></li><li class="progresschapter"><a href="4-tcc.html">4</a></li><li class="progresschapter"><a href="5-tac.html">5</a></li><li class="progresschapter"><a href="6-tpc.html">6</a></li><li class="progressnext"><a href="1-bm.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -206,11 +206,6 @@
|
|||
<p class="chapterentry"><a name="4"></a>
|
||||
<span class="chaptertitle">Chapter 4: Void Constructs</span></p>
|
||||
<ul class="sectionlist">
|
||||
<li>
|
||||
<p class="sectionentry"><a href="4-tac.html">
|
||||
<spon class="sectiontitle">The Append Construct</span></a> -
|
||||
<span class="sectionpurpose">Defining the append construct.</span></p>
|
||||
</li>
|
||||
<li>
|
||||
<p class="sectionentry"><a href="4-tcc.html">
|
||||
<spon class="sectiontitle">The Comment Construct</span></a> -
|
||||
|
|
|
@ -88,7 +88,7 @@ in the tree:
|
|||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="2-vc.html#SP1_2" class="named-paragraph-link"><span class="named-paragraph">Declare this constant as a fake action name</span><span class="named-paragraph-number">1.2</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> } </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::prefix_eq</span><span class="plain-syntax">(</span><span class="identifier-syntax">S</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"##"</span><span class="plain-syntax">, </span><span class="constant-syntax">2</span><span class="plain-syntax">)) {</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="2-vc.html#SP1_1" class="named-paragraph-link"><span class="named-paragraph">Declare this constant as an action name</span><span class="named-paragraph-number">1.1</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> } </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">SymbolAnnotation::get_b</span><span class="plain-syntax">(</span><span class="identifier-syntax">con_name</span><span class="plain-syntax">, </span><span class="identifier-syntax">VENEER_IANN</span><span class="plain-syntax">)) {</span>
|
||||
<span class="plain-syntax"> } </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">LargeScale::is_veneer_symbol</span><span class="plain-syntax">(</span><span class="identifier-syntax">con_name</span><span class="plain-syntax">)) {</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="2-vc.html#SP1_3" class="named-paragraph-link"><span class="named-paragraph">Ignore this constant as part of the veneer</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">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">SymbolAnnotation::get_b</span><span class="plain-syntax">(</span><span class="identifier-syntax">con_name</span><span class="plain-syntax">, </span><span class="identifier-syntax">OBJECT_IANN</span><span class="plain-syntax">)) {</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="2-vc.html#SP1_4" class="named-paragraph-link"><span class="named-paragraph">Declare this constant as a pseudo-object</span><span class="named-paragraph-number">1.4</span></a></span><span class="plain-syntax">;</span>
|
||||
|
|
|
@ -127,14 +127,14 @@ single values. These are, for some reason, called "inline arrays". The I6
|
|||
generator is going to take advantage of this feature: if it sees that a
|
||||
property is actually an address of a small array, it will compile that array
|
||||
directly into the body of the relevant object or class declaration. It therefore
|
||||
does not need to declre the name of this small array, and so —
|
||||
does not need to declare the name of this small array, and so —
|
||||
</p>
|
||||
|
||||
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Leave undeclared any array used as a value of a property</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">if</span><span class="plain-syntax"> ((</span><span class="identifier-syntax">const_s</span><span class="plain-syntax">) && (</span><span class="identifier-syntax">SymbolAnnotation::get_b</span><span class="plain-syntax">(</span><span class="identifier-syntax">const_s</span><span class="plain-syntax">, </span><span class="identifier-syntax">INLINE_ARRAY_IANN</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">ConstantInstruction::is_inline</span><span class="plain-syntax">(</span><span class="identifier-syntax">const_s</span><span class="plain-syntax">))</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax">;</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="4-i6c.html#SP2">§2</a>.</li></ul>
|
||||
|
|
|
@ -578,7 +578,7 @@ we must use the pecualiar I6 syntax here to get the right outcome.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">inline_this</span><span class="plain-syntax"> = </span><span class="identifier-syntax">FALSE</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">InterValuePairs::is_symbolic</span><span class="plain-syntax">(</span><span class="identifier-syntax">pair</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">InterValuePairs::to_symbol_at</span><span class="plain-syntax">(</span><span class="identifier-syntax">pair</span><span class="plain-syntax">, </span><span class="identifier-syntax">X</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">SymbolAnnotation::get_b</span><span class="plain-syntax">(</span><span class="identifier-syntax">S</span><span class="plain-syntax">, </span><span class="identifier-syntax">INLINE_ARRAY_IANN</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">ConstantInstruction::is_inline</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_tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">P</span><span class="plain-syntax"> = </span><span class="identifier-syntax">InterSymbol::definition</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">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">OUT</span><span class="plain-syntax"> = </span><a href="2-cg.html#SP14" class="function-link"><span class="function-syntax">CodeGen::current</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">gen</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">ConstantInstruction::list_len</span><span class="plain-syntax">(</span><span class="identifier-syntax">P</span><span class="plain-syntax">); </span><span class="identifier-syntax">i</span><span class="plain-syntax">++) {</span>
|
||||
|
@ -588,6 +588,7 @@ we must use the pecualiar I6 syntax here to get the right outcome.
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">inline_this</span><span class="plain-syntax"> = </span><span class="identifier-syntax">TRUE</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">inline_this</span><span class="plain-syntax"> == </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">) </span><a href="2-cg.html#SP18" class="function-link"><span class="function-syntax">CodeGen::pair</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">gen</span><span class="plain-syntax">, </span><span class="identifier-syntax">X</span><span class="plain-syntax">, </span><span class="identifier-syntax">pair</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-cg.html#SP13" class="function-link"><span class="function-syntax">CodeGen::deselect_temporary</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">gen</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="4-i6o.html#SP9" class="function-link"><span class="function-syntax">I6TargetObjects::VM_property</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">gen</span><span class="plain-syntax">, </span><span class="identifier-syntax">prop_s</span><span class="plain-syntax">, </span><span class="identifier-syntax">val</span><span class="plain-syntax">);</span>
|
||||
|
|
|
@ -667,10 +667,8 @@ first entry at all. We'll simply zero it.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">inline_this</span><span class="plain-syntax"> = </span><span class="identifier-syntax">FALSE</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">InterValuePairs::is_symbolic</span><span class="plain-syntax">(</span><span class="identifier-syntax">pair</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">InterValuePairs::to_symbol_at</span><span class="plain-syntax">(</span><span class="identifier-syntax">pair</span><span class="plain-syntax">, </span><span class="identifier-syntax">X</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">SymbolAnnotation::get_b</span><span class="plain-syntax">(</span><span class="identifier-syntax">S</span><span class="plain-syntax">, </span><span class="identifier-syntax">INLINE_ARRAY_IANN</span><span class="plain-syntax">)))</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inline_this</span><span class="plain-syntax"> = </span><span class="identifier-syntax">TRUE</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">ConstantInstruction::is_inline</span><span class="plain-syntax">(</span><span class="identifier-syntax">S</span><span class="plain-syntax">)) </span><span class="identifier-syntax">inline_this</span><span class="plain-syntax"> = </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">;</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">val</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><a href="2-cg.html#SP13" class="function-link"><span class="function-syntax">CodeGen::select_temporary</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">gen</span><span class="plain-syntax">, </span><span class="identifier-syntax">val</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-cg.html#SP18" class="function-link"><span class="function-syntax">CodeGen::pair</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">gen</span><span class="plain-syntax">, </span><span class="identifier-syntax">X</span><span class="plain-syntax">, </span><span class="identifier-syntax">pair</span><span class="plain-syntax">);</span>
|
||||
|
|
|
@ -296,12 +296,11 @@ can be said to be "everywhere", which nothing else can).
|
|||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">package_request</span><span class="plain-syntax"> *</span><span class="identifier-syntax">PR</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Hierarchy::package_within</span><span class="plain-syntax">(</span><span class="identifier-syntax">INLINE_PROPERTIES_HAP</span><span class="plain-syntax">, </span><span class="identifier-syntax">RTInstances::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="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">Hierarchy::make_iname_in</span><span class="plain-syntax">(</span><span class="identifier-syntax">INLINE_PROPERTY_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">PR</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">packaging_state</span><span class="plain-syntax"> </span><span class="identifier-syntax">save</span><span class="plain-syntax"> = </span><span class="identifier-syntax">EmitArrays::begin_word</span><span class="plain-syntax">(</span><span class="identifier-syntax">iname</span><span class="plain-syntax">, </span><span class="identifier-syntax">K_value</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">packaging_state</span><span class="plain-syntax"> </span><span class="identifier-syntax">save</span><span class="plain-syntax"> = </span><span class="identifier-syntax">EmitArrays::begin_inline</span><span class="plain-syntax">(</span><span class="identifier-syntax">iname</span><span class="plain-syntax">, </span><span class="identifier-syntax">K_value</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inference</span><span class="plain-syntax"> *</span><span class="identifier-syntax">inf</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">POSITIVE_KNOWLEDGE_LOOP</span><span class="plain-syntax">(</span><span class="identifier-syntax">inf</span><span class="plain-syntax">, </span><span class="identifier-syntax">Instances::as_subject</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">), </span><span class="identifier-syntax">found_in_inf</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">EmitArrays::iname_entry</span><span class="plain-syntax">(</span><span class="identifier-syntax">RTInstances::value_iname</span><span class="plain-syntax">(</span><a href="3-bck.html#SP14" class="function-link"><span class="function-syntax">Backdrops::get_inferred_location</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">inf</span><span class="plain-syntax">)));</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">EmitArrays::end</span><span class="plain-syntax">(</span><span class="identifier-syntax">save</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">InterNames::annotate_b</span><span class="plain-syntax">(</span><span class="identifier-syntax">iname</span><span class="plain-syntax">, </span><span class="identifier-syntax">INLINE_ARRAY_IANN</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">val_of_found_in</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Rvalues::from_iname</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="3-bck.html#SP11">§11</a>.</li></ul>
|
||||
|
|
|
@ -70,7 +70,7 @@
|
|||
<ul class="crumbs"><li><a href="../index.html">Home</a></li><li><a href="../compiler.html">Compiler Tools</a></li><li><a href="index.html">inter</a></li><li><a href="index.html#M">Manual</a></li><li><b>Data Packages in Textual Inter</b></li></ul></div>
|
||||
<p class="purpose">How static data, variables and constants are expressed in textual inter programs.</p>
|
||||
|
||||
<ul class="toc"><li><a href="M-dpiti.html#SP1">§1. Data packages</a></li><li><a href="M-dpiti.html#SP2">§2. Variable and values</a></li><li><a href="M-dpiti.html#SP6">§6. Constant and extended values</a></li><li><a href="M-dpiti.html#SP11">§11. URL notation</a></li><li><a href="M-dpiti.html#SP12">§12. Annotations</a></li><li><a href="M-dpiti.html#SP13">§13. Metadata constants</a></li><li><a href="M-dpiti.html#SP14">§14. Types in Inter</a></li><li><a href="M-dpiti.html#SP20">§20. Enumerations and instances</a></li><li><a href="M-dpiti.html#SP21">§21. Subtypes</a></li><li><a href="M-dpiti.html#SP22">§22. Properties</a></li><li><a href="M-dpiti.html#SP24">§24. Append and insert</a></li><li><a href="M-dpiti.html#SP26">§26. Splats</a></li></ul><hr class="tocbar">
|
||||
<ul class="toc"><li><a href="M-dpiti.html#SP1">§1. Data packages</a></li><li><a href="M-dpiti.html#SP2">§2. Variable and values</a></li><li><a href="M-dpiti.html#SP6">§6. Constant and extended values</a></li><li><a href="M-dpiti.html#SP11">§11. URL notation</a></li><li><a href="M-dpiti.html#SP12">§12. Annotations</a></li><li><a href="M-dpiti.html#SP13">§13. Metadata constants</a></li><li><a href="M-dpiti.html#SP14">§14. Types in Inter</a></li><li><a href="M-dpiti.html#SP20">§20. Enumerations and instances</a></li><li><a href="M-dpiti.html#SP21">§21. Subtypes</a></li><li><a href="M-dpiti.html#SP22">§22. Properties</a></li><li><a href="M-dpiti.html#SP24">§24. Insert</a></li><li><a href="M-dpiti.html#SP26">§26. Splats</a></li></ul><hr class="tocbar">
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP1" class="paragraph-anchor"></a><b>§1. Data packages. </b>To recap from <a href="M-ti.html" class="internal">Textual Inter</a>: an Inter program is a nested hierarchy of
|
||||
packages. Some are special <span class="extract"><span class="extract-syntax">_code</span></span> packages which define functions; the rest
|
||||
|
@ -178,6 +178,11 @@ is not legal, and the keyword <span class="extract"><span class="extract-syntax"
|
|||
</li><li>● Calculated values are written <span class="extract"><span class="extract-syntax">sum{ V1, V2, ..., Vn }</span></span>, and similarly
|
||||
for <span class="extract"><span class="extract-syntax">product{ }</span></span>, <span class="extract"><span class="extract-syntax">difference{ }</span></span> and <span class="extract"><span class="extract-syntax">quotient{ }</span></span>. Empty calculated values
|
||||
are not legal.
|
||||
</li><li>● Finally, two special forms of list which are used only in interactive fiction
|
||||
projects, and whose semantics are identical to regular lists except for the special
|
||||
ways they are compiled: <span class="extract"><span class="extract-syntax">grammar{ ... }</span></span> makes a list which is the command-parser
|
||||
grammar for a command verb, and <span class="extract"><span class="extract-syntax">inline{ ... }</span></span> makes a list which is to be the
|
||||
value of a property compiled "inline".
|
||||
</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP8" class="paragraph-anchor"></a><b>§8. </b>Readers with experience of Inform 6 will recognise that <span class="extract"><span class="extract-syntax">{ ... }</span></span> and <span class="extract"><span class="extract-syntax">bytes{ ... }</span></span>
|
||||
correspond to I6's <span class="extract"><span class="extract-syntax">Array --></span></span> and <span class="extract"><span class="extract-syntax">Array -></span></span> respectively, that <span class="extract"><span class="extract-syntax">bounded { ... }</span></span>
|
||||
|
@ -615,29 +620,16 @@ question. Because I7 allows those properties to be modified or read either
|
|||
qua properties or qua table entries, we cannot avoid giving Inter a similar
|
||||
ability, even though we might prefer not to.
|
||||
<a href="#fnref:2" title="return to text"> ↩</a></p></li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP24" class="paragraph-anchor"></a><b>§24. Append and insert. </b>Never use either <span class="extract"><span class="extract-syntax">append</span></span> or <span class="extract"><span class="extract-syntax">insert</span></span>.
|
||||
<p class="commentary firstcommentary"><a id="SP24" class="paragraph-anchor"></a><b>§24. Insert. </b>Never use <span class="extract"><span class="extract-syntax">insert</span></span>.
|
||||
</p>
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP25" class="paragraph-anchor"></a><b>§25. </b>Well, okay then. These disreputable constructs exist to implement very
|
||||
low-level features of Inform 7, going back to its earliest days as a programming
|
||||
language, when people were still writing strange hybrid programs partly in I6.
|
||||
<p class="commentary firstcommentary"><a id="SP25" class="paragraph-anchor"></a><b>§25. </b>Well, okay then. This exists to implement very low-level features of Inform 7,
|
||||
going back to its earliest days as a programming language, when people were
|
||||
still writing strange hybrid programs partly in I6.
|
||||
</p>
|
||||
|
||||
<p class="commentary"><span class="extract"><span class="extract-syntax">append</span></span> attaches raw I6-syntax additions to any instance or enumerated type.
|
||||
For example, the I7 source text:
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="identifier-syntax">Include</span><span class="plain-syntax"> (- </span><span class="identifier-syntax">has</span><span class="plain-syntax"> </span><span class="identifier-syntax">door</span><span class="plain-syntax">, -) </span><span class="identifier-syntax">when</span><span class="plain-syntax"> </span><span class="identifier-syntax">defining</span><span class="plain-syntax"> </span><span class="identifier-syntax">a</span><span class="plain-syntax"> </span><span class="identifier-syntax">door</span><span class="plain-syntax">.</span>
|
||||
</pre>
|
||||
<p class="commentary">leads to:
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">append</span><span class="plain-syntax"> K4_door </span><span class="string-syntax">" has door, \n"</span>
|
||||
</pre>
|
||||
<p class="commentary"><span class="extract"><span class="extract-syntax">insert</span></span> is simpler, and tells Inter that it needs to add this raw I6-syntax
|
||||
material to the program:
|
||||
<p class="commentary"><span class="extract"><span class="extract-syntax">insert</span></span> tells Inter that it needs to add this raw I6-syntax material to the
|
||||
program:
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
|
|
|
@ -65,185 +65,156 @@
|
|||
<ul class="crumbs"><li><a href="../index.html">Home</a></li><li><a href="../compiler.html">Compiler Tools</a></li><li><a href="index.html">inter</a></li><li><a href="index.html#M">Manual</a></li><li><b>Inform Annotations</b></li></ul></div>
|
||||
<p class="purpose">The standard set of symbol annotations used within Inform.</p>
|
||||
|
||||
<ul class="toc"><li><a href="M-ia.html#SP1">§1. Status</a></li><li><a href="M-ia.html#SP2">§2. Miscellaneous constants</a></li><li><a href="M-ia.html#SP11">§11. Constant lists</a></li><li><a href="M-ia.html#SP19">§19. Primitive names</a></li><li><a href="M-ia.html#SP21">§21. Local variables</a></li><li><a href="M-ia.html#SP24">§24. Global variables</a></li><li><a href="M-ia.html#SP26">§26. Kinds</a></li><li><a href="M-ia.html#SP29">§29. Instances</a></li><li><a href="M-ia.html#SP33">§33. Properties</a></li></ul><hr class="tocbar">
|
||||
<ul class="toc"><li><a href="M-ia.html#SP1">§1. Status</a></li><li><a href="M-ia.html#SP2">§2. Translation</a></li><li><a href="M-ia.html#SP3">§3. Append</a></li><li><a href="M-ia.html#SP4">§4. Assimilation markers</a></li><li><a href="M-ia.html#SP5">§5. Miscellaneous code-generation storage</a></li></ul><hr class="tocbar">
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP1" class="paragraph-anchor"></a><b>§1. Status. </b>The Inter specification allows for any number of annotations to be used;
|
||||
none are required.
|
||||
none are required. The ones listed below are those used in the Inform toolchain
|
||||
at present.
|
||||
</p>
|
||||
|
||||
<p class="commentary">The Inform compiler, however, has a standard set of annotations used to
|
||||
pass hints from the front end of the compiler to the back end; hints which
|
||||
mainly do not change the meaning of the program, but cause the eventual
|
||||
Inform 6 code to be generated in a particular order, or using particular
|
||||
syntaxes, to be make it easier to read or more compatible with code not
|
||||
generated by I7.
|
||||
<p class="commentary">As a general guideline, annotations are best used for temporary storage during
|
||||
complex operations (optimisation, code generation, and so on), rather than for
|
||||
information which changes the functionality of a program. But this is only a
|
||||
guideline, and several of the cases below could be argued to break it.
|
||||
</p>
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP2" class="paragraph-anchor"></a><b>§2. Miscellaneous constants. </b></p>
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP3" class="paragraph-anchor"></a><b>§3. </b><span class="extract"><span class="extract-syntax">__late</span></span>. Applies to <span class="extract"><span class="extract-syntax">constant</span></span>. Suggests that this should be placed late
|
||||
on the final compiled code, rather than at its current place. (This clue
|
||||
helps the I6 code generator to avoid not-yet-declared errors; I6 is quite
|
||||
finicky about code ordering.)
|
||||
<p class="commentary">What is certainly true is that we want to avoid annotations if there are better
|
||||
ways to achieve the same thing. At one time there were over 30 in use, but the
|
||||
figure is now below 10.
|
||||
</p>
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP4" class="paragraph-anchor"></a><b>§4. </b><span class="extract"><span class="extract-syntax">__noun_filter</span></span>. Applies to <span class="extract"><span class="extract-syntax">constant</span></span> which is a function. Marks that this
|
||||
function is a noun filter in command parser grammar.
|
||||
<p class="commentary firstcommentary"><a id="SP2" class="paragraph-anchor"></a><b>§2. Translation. </b>The final code we generate is itself (probably) the source code of a program
|
||||
in some other language — C, for example. That means that most of the symbols
|
||||
in our Inter program will be "translated" into identifiers in that final
|
||||
program. For example, the Inter declaration:
|
||||
</p>
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP5" class="paragraph-anchor"></a><b>§5. </b><span class="extract"><span class="extract-syntax">__scope_filter</span></span>. Applies to <span class="extract"><span class="extract-syntax">constant</span></span> which is a function. Marks that this
|
||||
function is a scope filter in command parser grammar.
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">constant</span><span class="plain-syntax"> BakersDozen = </span><span class="constant-syntax">13</span>
|
||||
</pre>
|
||||
<p class="commentary">might ultimately be compiled to:
|
||||
</p>
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP6" class="paragraph-anchor"></a><b>§6. </b><span class="extract"><span class="extract-syntax">__action</span></span>. Applies to <span class="extract"><span class="extract-syntax">constant</span></span>. Marks it as the name of an action.
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> #</span><span class="identifier-syntax">define</span><span class="plain-syntax"> </span><span class="identifier-syntax">CON_019900_BKRSDZN</span><span class="plain-syntax"> </span><span class="constant-syntax">13</span>
|
||||
</pre>
|
||||
<p class="commentary">An exaggerated example, perhaps, but the point is that it's normally none of
|
||||
our business what identifiers the final code-generator chooses to use.
|
||||
</p>
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP7" class="paragraph-anchor"></a><b>§7. </b><span class="extract"><span class="extract-syntax">__fake_action</span></span>. Applies to symbols already tagged <span class="extract"><span class="extract-syntax">_action</span></span>, and marks
|
||||
that their actions are I6 template fake actions. (It currently contains
|
||||
just four of these.)
|
||||
<p class="commentary">However, we can override its choice like so:
|
||||
</p>
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP8" class="paragraph-anchor"></a><b>§8. </b><span class="extract"><span class="extract-syntax">__assimilated</span></span>. Applies to <span class="extract"><span class="extract-syntax">constant</span></span>. Marks it as a symbol defined in
|
||||
I6 template code which has been assimilated into memory inter.
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">constant</span><span class="plain-syntax"> BakersDozen = </span><span class="constant-syntax">13</span><span class="plain-syntax"> </span><span class="identifier-syntax">__translation</span><span class="plain-syntax">=</span><span class="string-syntax">"BAKERS_DOZEN"</span>
|
||||
</pre>
|
||||
<p class="commentary">And now it would come out as:
|
||||
</p>
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP9" class="paragraph-anchor"></a><b>§9. </b><span class="extract"><span class="extract-syntax">__holding</span></span>. Applies to <span class="extract"><span class="extract-syntax">constant</span></span>. This is part of a convoluted system
|
||||
for handling references to constants not yet defined, in the sense that
|
||||
the inter to define them has not yet been generated in memory. A "holding"
|
||||
constant is used to reserve a name for later definition.
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> #</span><span class="identifier-syntax">define</span><span class="plain-syntax"> </span><span class="identifier-syntax">BAKERS_DOZEN</span><span class="plain-syntax"> </span><span class="constant-syntax">13</span>
|
||||
</pre>
|
||||
<p class="commentary">The <span class="extract"><span class="extract-syntax">__translation</span></span> annotation is sometimes added by the final code-generator
|
||||
itself, to keep track of its translation decisions, but can also be added by
|
||||
the Inform 7 front-end compiler. Ideally it wouldn't ever do so, but this is
|
||||
the only sensible way to implement the low-level language feature:
|
||||
</p>
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP10" class="paragraph-anchor"></a><b>§10. </b><span class="extract"><span class="extract-syntax">__delenda_est</span></span>. Applies to <span class="extract"><span class="extract-syntax">constant</span></span>. Likewise; but marks a symbol for
|
||||
later deletion rather than later definition.
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="identifier-syntax">The</span><span class="plain-syntax"> </span><span class="identifier-syntax">tally</span><span class="plain-syntax"> </span><span class="identifier-syntax">is</span><span class="plain-syntax"> </span><span class="identifier-syntax">a</span><span class="plain-syntax"> </span><span class="identifier-syntax">number</span><span class="plain-syntax"> </span><span class="identifier-syntax">that</span><span class="plain-syntax"> </span><span class="identifier-syntax">varies</span><span class="plain-syntax">. </span><span class="identifier-syntax">The</span><span class="plain-syntax"> </span><span class="identifier-syntax">tally</span><span class="plain-syntax"> </span><span class="identifier-syntax">translates</span><span class="plain-syntax"> </span><span class="identifier-syntax">into</span><span class="plain-syntax"> </span><span class="identifier-syntax">Inter</span><span class="plain-syntax"> </span><span class="identifier-syntax">as</span><span class="plain-syntax"> </span><span class="string-syntax">"SHAZAM"</span><span class="plain-syntax">.</span>
|
||||
</pre>
|
||||
<p class="commentary">And this is in turn is a feature we can't simply abolish, or not without
|
||||
inventing some similar bodge, because it's needed in order to reconcile the
|
||||
natural-language names for certain standard properties (e.g., "lighted")
|
||||
with their kit-source equivalents (e.g. <span class="extract"><span class="extract-syntax">lit</span></span>).
|
||||
</p>
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP11" class="paragraph-anchor"></a><b>§11. Constant lists. </b></p>
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP12" class="paragraph-anchor"></a><b>§12. </b><span class="extract"><span class="extract-syntax">__buffer_array</span></span>. Applies to <span class="extract"><span class="extract-syntax">constant</span></span> which is a literal list. Asks
|
||||
this to be compiled as virtual machine command parsing buffer.
|
||||
<p class="commentary firstcommentary"><a id="SP3" class="paragraph-anchor"></a><b>§3. Append. </b>Like the <span class="extract"><span class="extract-syntax">insert</span></span> instruction (see <a href="M-dpiti.html" class="internal">Data Packages in Textual Inter</a>), the
|
||||
<span class="extract"><span class="extract-syntax">__append</span></span> annotation subverts Inter by writing some code in raw Inform 6
|
||||
syntax. This can be added to any definition of an instance of an object type,
|
||||
or to the type itself.
|
||||
</p>
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP13" class="paragraph-anchor"></a><b>§13. </b><span class="extract"><span class="extract-syntax">__byte_array</span></span>. Applies to <span class="extract"><span class="extract-syntax">constant</span></span> which is a literal list. Asks
|
||||
this to be compiled as an array of bytes.
|
||||
<p class="commentary">For example, the I7 source text:
|
||||
</p>
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP14" class="paragraph-anchor"></a><b>§14. </b><span class="extract"><span class="extract-syntax">__string_array</span></span>. Applies to <span class="extract"><span class="extract-syntax">constant</span></span> which is a literal list. Asks this
|
||||
to be compiled as an array of bytes preceded by its size.
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="identifier-syntax">Include</span><span class="plain-syntax"> (- </span><span class="identifier-syntax">has</span><span class="plain-syntax"> </span><span class="identifier-syntax">door</span><span class="plain-syntax">, -) </span><span class="identifier-syntax">when</span><span class="plain-syntax"> </span><span class="identifier-syntax">defining</span><span class="plain-syntax"> </span><span class="identifier-syntax">a</span><span class="plain-syntax"> </span><span class="identifier-syntax">door</span><span class="plain-syntax">.</span>
|
||||
</pre>
|
||||
<p class="commentary">leads to:
|
||||
</p>
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP15" class="paragraph-anchor"></a><b>§15. </b><span class="extract"><span class="extract-syntax">__table_array</span></span>. Applies to <span class="extract"><span class="extract-syntax">constant</span></span> which is a literal list. Asks this
|
||||
to be compiled as an array of words preceded by its size.
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">kind</span><span class="plain-syntax"> K4_door <= K1_thing </span><span class="identifier-syntax">__append</span><span class="plain-syntax">=</span><span class="string-syntax">" has door, "</span>
|
||||
</pre>
|
||||
<p class="commentary">Whereas to some extent <span class="extract"><span class="extract-syntax">insert</span></span> can work even if the target is not I6, the
|
||||
<span class="extract"><span class="extract-syntax">__append</span></span> annotation ties the program to I6 only. At some point we may
|
||||
simply abolish the "Include... when defining..." feature from I7, and then
|
||||
we'll gladly remove <span class="extract"><span class="extract-syntax">__append</span></span>. Consider it deprecated already.
|
||||
</p>
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP16" class="paragraph-anchor"></a><b>§16. </b><span class="extract"><span class="extract-syntax">__inline_array</span></span>. Applies to <span class="extract"><span class="extract-syntax">constant</span></span> which is a literal list. Asks that,
|
||||
if this is compiled as a property value in Inform 6, it should use the inline
|
||||
syntax (as is conventional for the I6 <span class="extract"><span class="extract-syntax">name</span></span> property, for example).
|
||||
<p class="commentary firstcommentary"><a id="SP4" class="paragraph-anchor"></a><b>§4. Assimilation markers. </b>Every symbol (other than a function name) whose definition was assimilated from
|
||||
Inform 6-syntax code in the source of a kit is given the boolean annotation
|
||||
<span class="extract"><span class="extract-syntax">__assimilated</span></span>.
|
||||
</p>
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP17" class="paragraph-anchor"></a><b>§17. </b><span class="extract"><span class="extract-syntax">__verb</span></span>. Applies to <span class="extract"><span class="extract-syntax">constant</span></span> which is a literal list. Asks this to be
|
||||
compiled as Inform 6 command parser grammar.
|
||||
<p class="commentary">In addition, if the definition is of a fake action or an object, the annotation
|
||||
<span class="extract"><span class="extract-syntax">__fake_action</span></span> or <span class="extract"><span class="extract-syntax">__object</span></span> will be applied. For example:
|
||||
</p>
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP18" class="paragraph-anchor"></a><b>§18. </b><span class="extract"><span class="extract-syntax">__meta_verb</span></span>. Applies to <span class="extract"><span class="extract-syntax">constant</span></span> which is a literal list and also has
|
||||
the <span class="extract"><span class="extract-syntax">__verb</span></span> annotation: means that this is a "meta-verb", and should be
|
||||
compiled after the regular verbs.
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">Constant</span><span class="plain-syntax"> </span><span class="identifier-syntax">Dozen</span><span class="plain-syntax"> = </span><span class="constant-syntax">12</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">Object</span><span class="plain-syntax"> </span><span class="identifier-syntax">thedark</span><span class="plain-syntax"> </span><span class="string-syntax">"(darkness object)"</span><span class="plain-syntax">;</span>
|
||||
</pre>
|
||||
<p class="commentary">assimilates to:
|
||||
</p>
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP19" class="paragraph-anchor"></a><b>§19. Primitive names. </b></p>
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP20" class="paragraph-anchor"></a><b>§20. </b><span class="extract"><span class="extract-syntax">__bip</span></span>. Applies to <span class="extract"><span class="extract-syntax">primitive</span></span>. This is used internally in the code
|
||||
generator to match textual names such as <span class="extract"><span class="extract-syntax">!bitwisenot</span></span> with functionality:
|
||||
it's essentially a cache to avoid having to parse names over and over.
|
||||
(BIP stands for "built in primitive".)
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">package</span><span class="plain-syntax"> Dozen_con _plain</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">constant</span><span class="plain-syntax"> Dozen = </span><span class="constant-syntax">12</span><span class="plain-syntax"> </span><span class="identifier-syntax">__assimilated</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">package</span><span class="plain-syntax"> ##PluralFound_con _plain</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">constant</span><span class="plain-syntax"> ##PluralFound = </span><span class="constant-syntax">0</span><span class="plain-syntax"> </span><span class="identifier-syntax">__assimilated</span><span class="plain-syntax"> </span><span class="identifier-syntax">__fake_action</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">package</span><span class="plain-syntax"> thedark_con _plain</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">constant</span><span class="plain-syntax"> thedark = </span><span class="constant-syntax">0</span><span class="plain-syntax"> </span><span class="identifier-syntax">__assimilated</span><span class="plain-syntax"> </span><span class="identifier-syntax">__object</span>
|
||||
</pre>
|
||||
<p class="commentary">See the Inter test case <span class="extract"><span class="extract-syntax">Assim</span></span>.
|
||||
</p>
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP21" class="paragraph-anchor"></a><b>§21. Local variables. </b></p>
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP22" class="paragraph-anchor"></a><b>§22. </b><span class="extract"><span class="extract-syntax">__call_parameter</span></span>. Applies to <span class="extract"><span class="extract-syntax">local</span></span>. Inform's front end marks
|
||||
call parameters this way in case optimisation stages in the back end might
|
||||
need to know; and if nothing else, it enables the code generator to print
|
||||
I6 comments showing the intention.
|
||||
<p class="commentary">These three markers are applied only during assimilation, and thus only by Inter.
|
||||
The main Inform 7 compiler never applies them.
|
||||
</p>
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP23" class="paragraph-anchor"></a><b>§23. </b><span class="extract"><span class="extract-syntax">__implied_call_parameter</span></span>. Applies to <span class="extract"><span class="extract-syntax">local</span></span>. Similarly. What
|
||||
makes a call parameter "implied" is that it is not directly one of the
|
||||
tokens from an Inform 7 function, but has been added for some implementation
|
||||
reason. For example, a phrase option bitmap is passed as an implied call
|
||||
parameter.
|
||||
<p class="commentary">It would be feasible to combine these three annotations into a single one, say
|
||||
<span class="extract"><span class="extract-syntax">__assimilated_from="DIRECTIVE"</span></span>, marking everything with the I6 directive it
|
||||
came from. But while that would be elegant it would cost storage and time.
|
||||
Boolean annotations are cheaper, and <span class="extract"><span class="extract-syntax">__assimilated</span></span> occurs a lot.
|
||||
</p>
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP24" class="paragraph-anchor"></a><b>§24. Global variables. </b></p>
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP25" class="paragraph-anchor"></a><b>§25. </b><span class="extract"><span class="extract-syntax">__explicit_variable</span></span>. Applies to <span class="extract"><span class="extract-syntax">variable</span></span>. Marks this as having a name
|
||||
already supplied in high-level I7 source text.
|
||||
<p class="commentary firstcommentary"><a id="SP5" class="paragraph-anchor"></a><b>§5. Miscellaneous code-generation storage. </b>As noted above, the main use case intended for annotations is as a way for
|
||||
optimisation or code-generation pipeline steps to attach notes to the tree.
|
||||
These are of no significance once those steps are complete, and do not change
|
||||
the meaning of the program.
|
||||
</p>
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP26" class="paragraph-anchor"></a><b>§26. Kinds. </b></p>
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP27" class="paragraph-anchor"></a><b>§27. </b><span class="extract"><span class="extract-syntax">__weak_ID</span></span>. Applies to <span class="extract"><span class="extract-syntax">kind</span></span>. The weak ID of a kind is a single small
|
||||
non-negative integer which is unique to that kind's constructor; it can't
|
||||
distinguish between lists of X and lists of Y, but in general it can
|
||||
distinguish a list from a number, or a number from a text. This annotation
|
||||
marks the name of a kind with the same weak ID value which will be used
|
||||
at run-time for that kind.
|
||||
<p class="commentary">They can also come or go without notice; they are not really part of the Inter
|
||||
specification at all. But briefly, the current set used is:
|
||||
</p>
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP28" class="paragraph-anchor"></a><b>§28. </b><span class="extract"><span class="extract-syntax">__source_order</span></span>. Applies (undependently) to <span class="extract"><span class="extract-syntax">property</span></span> and to <span class="extract"><span class="extract-syntax">kind</span></span>:
|
||||
a lower value for this annotation means that one property was defined earlier
|
||||
in the Inform source text that the other, and similarly for kinds.
|
||||
<p class="commentary"><span class="extract"><span class="extract-syntax">__inner_property_name="NAME"</span></span> is used by <a href="../final-module/2-vo.html" class="internal">Vanilla Objects (in final)</a> to mark
|
||||
which property name belongs to which two-word property array.
|
||||
</p>
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP29" class="paragraph-anchor"></a><b>§29. Instances. </b></p>
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP30" class="paragraph-anchor"></a><b>§30. </b><span class="extract"><span class="extract-syntax">__object_kind_counter</span></span>. Applies to <span class="extract"><span class="extract-syntax">kind</span></span>. Towards the end of code
|
||||
generation, it's convenient to count the subkinds of <span class="extract"><span class="extract-syntax">K_object</span></span> in order
|
||||
of their creation in the original source text. That count is recorded
|
||||
here: <span class="extract"><span class="extract-syntax">K1_thing</span></span> will get <span class="extract"><span class="extract-syntax">__object_kind_counter=1</span></span>, and so on.
|
||||
<p class="commentary"><span class="extract"><span class="extract-syntax">__object_kind_counter=NUMBER</span></span> is used by <a href="../pipeline-module/5-knd.html" class="internal">Kinds (in pipeline)</a> to number off
|
||||
the kinds of object found in the program.
|
||||
</p>
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP31" class="paragraph-anchor"></a><b>§31. </b><span class="extract"><span class="extract-syntax">__arrow_count</span></span>. Applies to <span class="extract"><span class="extract-syntax">instance</span></span> of objects; it's the depth in the
|
||||
spatial containment tree, where 0 is the top level (usually rooms), 1 the
|
||||
level for things immediately inside level-0 objects, and so on. So called
|
||||
because the Inform 6 notation for containment is this many <span class="extract"><span class="extract-syntax">-></span></span> arrows in
|
||||
a row. This is applied only at the final stage of code generation.
|
||||
<p class="commentary"><span class="extract"><span class="extract-syntax">__array_address=NUMBER</span></span> is used by <a href="../final-module/5-cmm.html" class="internal">C Memory Model (in final)</a> to mark the
|
||||
address in process memory of each array.
|
||||
</p>
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP32" class="paragraph-anchor"></a><b>§32. </b><span class="extract"><span class="extract-syntax">__declaration_order</span></span>. Applies to <span class="extract"><span class="extract-syntax">instance</span></span> of objects; it's the order
|
||||
in which they are declared in the final Inform 6 code, with the first object
|
||||
as 0, and so on. This is applied only at the final stage of code generation.
|
||||
</p>
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP33" class="paragraph-anchor"></a><b>§33. Properties. </b></p>
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP34" class="paragraph-anchor"></a><b>§34. </b><span class="extract"><span class="extract-syntax">__either_or</span></span>. Applies to <span class="extract"><span class="extract-syntax">property</span></span>. Marks it as one which is either
|
||||
held or not held.
|
||||
</p>
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP35" class="paragraph-anchor"></a><b>§35. </b><span class="extract"><span class="extract-syntax">__attribute</span></span>. Applies to <span class="extract"><span class="extract-syntax">property</span></span>, and only to those also annotated
|
||||
with <span class="extract"><span class="extract-syntax">__either_or</span></span>. Asks to compile this at run-time as a virtual machine
|
||||
attribute.
|
||||
</p>
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP36" class="paragraph-anchor"></a><b>§36. </b><span class="extract"><span class="extract-syntax">__explicit_attribute</span></span>. Applies to <span class="extract"><span class="extract-syntax">property</span></span>, and only to those also
|
||||
annotated with <span class="extract"><span class="extract-syntax">__either_or</span></span>. Marks this as not only an attribute, but one
|
||||
with a name already supplied in high-level I7 source text.
|
||||
</p>
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP37" class="paragraph-anchor"></a><b>§37. </b><span class="extract"><span class="extract-syntax">__property_name</span></span>. Applies to <span class="extract"><span class="extract-syntax">property</span></span>. Where a property name came from
|
||||
I7 source text, and thus has a friendly sort of name ("carrying capacity",
|
||||
for example), the Inform front end applies this annotation. The back end
|
||||
then uses it only to help run-time I6 code prpduce better error messages
|
||||
if the program uses the property incorrectly.
|
||||
</p>
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP38" class="paragraph-anchor"></a><b>§38. </b><span class="extract"><span class="extract-syntax">__rto</span></span>. Applies to <span class="extract"><span class="extract-syntax">property</span></span>, and marks it as a run-time only property:
|
||||
that is, not one which is explicitly present in the Inform 7 source text,
|
||||
but one which has been added to provide run-time support for some feature.
|
||||
</p>
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP39" class="paragraph-anchor"></a><b>§39. </b><span class="extract"><span class="extract-syntax">__source_order</span></span>. Applies (undependently) to <span class="extract"><span class="extract-syntax">property</span></span> and to <span class="extract"><span class="extract-syntax">kind</span></span>:
|
||||
a lower value for this annotation means that one property was defined earlier
|
||||
in the Inform source text that the other, and similarly for kinds.
|
||||
<p class="commentary"><span class="extract"><span class="extract-syntax">__global_offset=NUMBER</span></span> is used by <a href="../final-module/4-i6gv.html" class="internal">Inform 6 Global Variables (in final)</a> to
|
||||
mark where in its array of global variables a given variable lives.
|
||||
</p>
|
||||
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
|
|
|
@ -93,7 +93,7 @@ enforced; it's fine to store arbitrary data with <span class="extract"><span cla
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="identifier-syntax">packaging_state</span><span class="plain-syntax"> </span><span class="function-syntax">EmitArrays::begin_word</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">EmitArrays::begin_word</span></span>:<br/>List Literals - <a href="4-ll.html#SP1">§1</a><br/>Box Quotations - <a href="4-bq.html#SP2">§2</a><br/>Instances - <a href="5-ins.html#SP4">§4</a><br/>Door Instances - <a href="5-di.html#SP6">§6</a><br/>Multimedia - <a href="5-mlt.html#SP2_2">§2.2</a><br/>Relations - <a href="5-rlt.html#SP11">§11</a><br/>Kind IDs - <a href="5-ki.html#SP9_1">§9.1</a><br/>Test Scripts - <a href="5-ts.html#SP4">§4</a><br/>The Player - <a href="6-tp.html#SP1">§1</a><br/>The Map - <a href="6-tm.html#SP1">§1</a><br/>Action Bitmap Property - <a href="6-abp.html#SP1">§1</a><br/>Name Properties - <a href="7-np.html#SP4">§4</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">name</span><span class="plain-syntax">, </span><span class="identifier-syntax">kind</span><span class="plain-syntax"> *</span><span class="identifier-syntax">K</span><span class="plain-syntax">) {</span>
|
||||
<span class="identifier-syntax">packaging_state</span><span class="plain-syntax"> </span><span class="function-syntax">EmitArrays::begin_word</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">EmitArrays::begin_word</span></span>:<br/>List Literals - <a href="4-ll.html#SP1">§1</a><br/>Box Quotations - <a href="4-bq.html#SP2">§2</a><br/>Instances - <a href="5-ins.html#SP4">§4</a><br/>Multimedia - <a href="5-mlt.html#SP2_2">§2.2</a><br/>Relations - <a href="5-rlt.html#SP11">§11</a><br/>Kind IDs - <a href="5-ki.html#SP9_1">§9.1</a><br/>Test Scripts - <a href="5-ts.html#SP4">§4</a><br/>The Player - <a href="6-tp.html#SP1">§1</a><br/>The Map - <a href="6-tm.html#SP1">§1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">name</span><span class="plain-syntax">, </span><span class="identifier-syntax">kind</span><span class="plain-syntax"> *</span><span class="identifier-syntax">K</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">packaging_state</span><span class="plain-syntax"> </span><span class="identifier-syntax">save</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Packaging::enter_home_of</span><span class="plain-syntax">(</span><span class="identifier-syntax">name</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-ea.html#SP8" class="function-link"><span class="function-syntax">EmitArrays::begin_inner</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">name</span><span class="plain-syntax">, </span><span class="identifier-syntax">K</span><span class="plain-syntax">, </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">, </span><span class="identifier-syntax">CONST_LIST_FORMAT_WORDS</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">save</span><span class="plain-syntax">;</span>
|
||||
|
@ -134,6 +134,12 @@ enforced; it's fine to store arbitrary data with <span class="extract"><span cla
|
|||
<span class="plain-syntax"> </span><a href="2-ea.html#SP8" class="function-link"><span class="function-syntax">EmitArrays::begin_inner</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">name</span><span class="plain-syntax">, </span><span class="identifier-syntax">K</span><span class="plain-syntax">, </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">, </span><span class="identifier-syntax">CONST_LIST_FORMAT_GRAMMAR</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">save</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="identifier-syntax">packaging_state</span><span class="plain-syntax"> </span><span class="function-syntax">EmitArrays::begin_inline</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">EmitArrays::begin_inline</span></span>:<br/>Door Instances - <a href="5-di.html#SP6">§6</a><br/>Action Bitmap Property - <a href="6-abp.html#SP1">§1</a><br/>Name Properties - <a href="7-np.html#SP4">§4</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">name</span><span class="plain-syntax">, </span><span class="identifier-syntax">kind</span><span class="plain-syntax"> *</span><span class="identifier-syntax">K</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">packaging_state</span><span class="plain-syntax"> </span><span class="identifier-syntax">save</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Packaging::enter_home_of</span><span class="plain-syntax">(</span><span class="identifier-syntax">name</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-ea.html#SP8" class="function-link"><span class="function-syntax">EmitArrays::begin_inner</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">name</span><span class="plain-syntax">, </span><span class="identifier-syntax">K</span><span class="plain-syntax">, </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">, </span><span class="identifier-syntax">CONST_LIST_FORMAT_INLINE</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">save</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>Sum constants are not really arrays at all, but for difficult reasons to
|
||||
do with linking we store them as such for now. The idea is that we want a
|
||||
|
@ -147,7 +153,7 @@ to symbols to be defined externally.
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="identifier-syntax">packaging_state</span><span class="plain-syntax"> </span><span class="function-syntax">EmitArrays::begin_sum_constant</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">EmitArrays::begin_sum_constant</span></span>:<br/>Relations - <a href="5-rlt.html#SP7_3_2">§7.3.2</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">name</span><span class="plain-syntax">, </span><span class="identifier-syntax">kind</span><span class="plain-syntax"> *</span><span class="identifier-syntax">K</span><span class="plain-syntax">) {</span>
|
||||
<span class="identifier-syntax">packaging_state</span><span class="plain-syntax"> </span><span class="function-syntax">EmitArrays::begin_sum_constant</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">EmitArrays::begin_sum_constant</span></span>:<br/>Relations - <a href="5-rlt.html#SP7_3_2">§7.3.2</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">name</span><span class="plain-syntax">, </span><span class="identifier-syntax">kind</span><span class="plain-syntax"> *</span><span class="identifier-syntax">K</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">packaging_state</span><span class="plain-syntax"> </span><span class="identifier-syntax">save</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Packaging::enter_home_of</span><span class="plain-syntax">(</span><span class="identifier-syntax">name</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-ea.html#SP8" class="function-link"><span class="function-syntax">EmitArrays::begin_inner</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">name</span><span class="plain-syntax">, </span><span class="identifier-syntax">K</span><span class="plain-syntax">, </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">, </span><span class="identifier-syntax">CONST_LIST_FORMAT_SUM</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">save</span><span class="plain-syntax">;</span>
|
||||
|
@ -159,37 +165,37 @@ which would be a typesafe list in I7, so they can be absolutely any data.
|
|||
</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">EmitArrays::numeric_entry</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">EmitArrays::numeric_entry</span></span>:<br/>The Heap - <a href="2-th.html#SP6">§6</a><br/>List Literals - <a href="4-ll.html#SP1">§1</a>, <a href="4-ll.html#SP2">§2</a>, <a href="4-ll.html#SP7_1">§7.1</a><br/>Box Quotations - <a href="4-bq.html#SP2">§2</a><br/>Relation Literals - <a href="4-rl.html#SP1">§1</a><br/>Stored Action Literals - <a href="4-sal.html#SP1">§1</a><br/>Instances - <a href="5-ins.html#SP4">§4</a><br/>Multimedia - <a href="5-mlt.html#SP2_1">§2.1</a>, <a href="5-mlt.html#SP2_2">§2.2</a><br/>Tables - <a href="5-tbl.html#SP2_1_1_1_4">§2.1.1.1.4</a>, <a href="5-tbl.html#SP2_2_3">§2.2.3</a><br/>Relations - <a href="5-rlt.html#SP7_3">§7.3</a>, <a href="5-rlt.html#SP7_3_3">§7.3.3</a>, <a href="5-rlt.html#SP8">§8</a>, <a href="5-rlt.html#SP10">§10</a>, <a href="5-rlt.html#SP11_2">§11.2</a>, <a href="5-rlt.html#SP11_3">§11.3</a><br/>Kind IDs - <a href="5-ki.html#SP9_1_1_1">§9.1.1.1</a>, <a href="5-ki.html#SP9_1_1_2">§9.1.1.2</a><br/>Test Scripts - <a href="5-ts.html#SP4">§4</a><br/>The Player - <a href="6-tp.html#SP1">§1</a><br/>The Map - <a href="6-tm.html#SP1">§1</a><br/>Action Bitmap Property - <a href="6-abp.html#SP1">§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">N</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">EmitArrays::numeric_entry</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">EmitArrays::numeric_entry</span></span>:<br/>The Heap - <a href="2-th.html#SP6">§6</a><br/>List Literals - <a href="4-ll.html#SP1">§1</a>, <a href="4-ll.html#SP2">§2</a>, <a href="4-ll.html#SP7_1">§7.1</a><br/>Box Quotations - <a href="4-bq.html#SP2">§2</a><br/>Relation Literals - <a href="4-rl.html#SP1">§1</a><br/>Stored Action Literals - <a href="4-sal.html#SP1">§1</a><br/>Instances - <a href="5-ins.html#SP4">§4</a><br/>Multimedia - <a href="5-mlt.html#SP2_1">§2.1</a>, <a href="5-mlt.html#SP2_2">§2.2</a><br/>Tables - <a href="5-tbl.html#SP2_1_1_1_4">§2.1.1.1.4</a>, <a href="5-tbl.html#SP2_2_3">§2.2.3</a><br/>Relations - <a href="5-rlt.html#SP7_3">§7.3</a>, <a href="5-rlt.html#SP7_3_3">§7.3.3</a>, <a href="5-rlt.html#SP8">§8</a>, <a href="5-rlt.html#SP10">§10</a>, <a href="5-rlt.html#SP11_2">§11.2</a>, <a href="5-rlt.html#SP11_3">§11.3</a><br/>Kind IDs - <a href="5-ki.html#SP9_1_1_1">§9.1.1.1</a>, <a href="5-ki.html#SP9_1_1_2">§9.1.1.2</a><br/>Test Scripts - <a href="5-ts.html#SP4">§4</a><br/>The Player - <a href="6-tp.html#SP1">§1</a><br/>The Map - <a href="6-tm.html#SP1">§1</a><br/>Action Bitmap Property - <a href="6-abp.html#SP1">§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">N</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><a href="2-ea.html#SP9" class="function-link"><span class="function-syntax">EmitArrays::entry_inner</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">InterValuePairs::number</span><span class="plain-syntax">(</span><span class="identifier-syntax">N</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">EmitArrays::iname_entry</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">EmitArrays::iname_entry</span></span>:<br/>The Heap - <a href="2-th.html#SP6">§6</a><br/>Short Names - <a href="2-sn.html#SP4">§4</a><br/>List Literals - <a href="4-ll.html#SP2">§2</a>, <a href="4-ll.html#SP7_2">§7.2</a><br/>Text Literals - <a href="4-tl.html#SP1">§1</a><br/>Text Substitutions - <a href="4-ts.html#SP1">§1</a><br/>Relation Literals - <a href="4-rl.html#SP1">§1</a><br/>Stored Action Literals - <a href="4-sal.html#SP1">§1</a><br/>Instances - <a href="5-ins.html#SP4">§4</a><br/>Door Instances - <a href="5-di.html#SP6">§6</a><br/>Multimedia - <a href="5-mlt.html#SP2_2">§2.2</a><br/>Tables - <a href="5-tbl.html#SP2_1_1">§2.1.1</a>, <a href="5-tbl.html#SP2_1_1_1_3">§2.1.1.1.3</a>, <a href="5-tbl.html#SP2_1_1_1_5">§2.1.1.1.5</a><br/>Relations - <a href="5-rlt.html#SP7_3_2">§7.3.2</a>, <a href="5-rlt.html#SP7_3_2_1">§7.3.2.1</a>, <a href="5-rlt.html#SP7_3_3">§7.3.3</a>, <a href="5-rlt.html#SP7_3_6">§7.3.6</a>, <a href="5-rlt.html#SP8">§8</a>, <a href="5-rlt.html#SP11_2">§11.2</a><br/>Kind IDs - <a href="5-ki.html#SP6">§6</a>, <a href="5-ki.html#SP9_1">§9.1</a><br/>Test Scripts - <a href="5-ts.html#SP4">§4</a><br/>The Player - <a href="6-tp.html#SP1">§1</a><br/>The Map - <a href="6-tm.html#SP1">§1</a><br/>Command Grammar Lines - <a href="7-cgl.html#SP6_1">§6.1</a>, <a href="7-cgl.html#SP6_4">§6.4</a>, <a href="7-cgl.html#SP7">§7</a>, <a href="7-cgl.html#SP8">§8</a>, <a href="7-cgl.html#SP10">§10</a>, <a href="7-cgl.html#SP14_4">§14.4</a>, <a href="7-cgl.html#SP14_5">§14.5</a><br/>Command Grammar Tokens - <a href="7-cgt.html#SP1_3">§1.3</a>, <a href="7-cgt.html#SP1_4_3">§1.4.3</a>, <a href="7-cgt.html#SP1_5">§1.5</a><br/>Noun Filter Tokens - <a href="7-nft.html#SP5">§5</a></span></button><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="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">EmitArrays::iname_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">EmitArrays::iname_entry</span></span>:<br/>The Heap - <a href="2-th.html#SP6">§6</a><br/>Short Names - <a href="2-sn.html#SP4">§4</a><br/>List Literals - <a href="4-ll.html#SP2">§2</a>, <a href="4-ll.html#SP7_2">§7.2</a><br/>Text Literals - <a href="4-tl.html#SP1">§1</a><br/>Text Substitutions - <a href="4-ts.html#SP1">§1</a><br/>Relation Literals - <a href="4-rl.html#SP1">§1</a><br/>Stored Action Literals - <a href="4-sal.html#SP1">§1</a><br/>Instances - <a href="5-ins.html#SP4">§4</a><br/>Door Instances - <a href="5-di.html#SP6">§6</a><br/>Multimedia - <a href="5-mlt.html#SP2_2">§2.2</a><br/>Tables - <a href="5-tbl.html#SP2_1_1">§2.1.1</a>, <a href="5-tbl.html#SP2_1_1_1_3">§2.1.1.1.3</a>, <a href="5-tbl.html#SP2_1_1_1_5">§2.1.1.1.5</a><br/>Relations - <a href="5-rlt.html#SP7_3_2">§7.3.2</a>, <a href="5-rlt.html#SP7_3_2_1">§7.3.2.1</a>, <a href="5-rlt.html#SP7_3_3">§7.3.3</a>, <a href="5-rlt.html#SP7_3_6">§7.3.6</a>, <a href="5-rlt.html#SP8">§8</a>, <a href="5-rlt.html#SP11_2">§11.2</a><br/>Kind IDs - <a href="5-ki.html#SP6">§6</a>, <a href="5-ki.html#SP9_1">§9.1</a><br/>Test Scripts - <a href="5-ts.html#SP4">§4</a><br/>The Player - <a href="6-tp.html#SP1">§1</a><br/>The Map - <a href="6-tm.html#SP1">§1</a><br/>Command Grammar Lines - <a href="7-cgl.html#SP6_1">§6.1</a>, <a href="7-cgl.html#SP6_4">§6.4</a>, <a href="7-cgl.html#SP7">§7</a>, <a href="7-cgl.html#SP8">§8</a>, <a href="7-cgl.html#SP10">§10</a>, <a href="7-cgl.html#SP14_4">§14.4</a>, <a href="7-cgl.html#SP14_5">§14.5</a><br/>Command Grammar Tokens - <a href="7-cgt.html#SP1_3">§1.3</a>, <a href="7-cgt.html#SP1_4_3">§1.4.3</a>, <a href="7-cgt.html#SP1_5">§1.5</a><br/>Noun Filter Tokens - <a href="7-nft.html#SP5">§5</a></span></button><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">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">alias</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">iname</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) </span><span class="identifier-syntax">alias</span><span class="plain-syntax"> = </span><span class="identifier-syntax">InterNames::to_symbol</span><span class="plain-syntax">(</span><a href="2-hrr.html#SP11" class="function-link"><span class="function-syntax">Hierarchy::find</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">NOTHING_HL</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">alias</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><a href="2-ea.html#SP9" class="function-link"><span class="function-syntax">EmitArrays::entry_inner</span></a><span class="plain-syntax">(</span><a href="2-emt.html#SP3" class="function-link"><span class="function-syntax">Emit::symbol_to_value_pair</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">alias</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">EmitArrays::null_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">EmitArrays::null_entry</span></span>:<br/>Relation Literals - <a href="4-rl.html#SP1">§1</a><br/>Multimedia - <a href="5-mlt.html#SP2_2">§2.2</a><br/>Tables - <a href="5-tbl.html#SP2_1_1_1_3">§2.1.1.1.3</a><br/>Relations - <a href="5-rlt.html#SP7_3">§7.3</a>, <a href="5-rlt.html#SP8">§8</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">void</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">EmitArrays::null_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">EmitArrays::null_entry</span></span>:<br/>Relation Literals - <a href="4-rl.html#SP1">§1</a><br/>Multimedia - <a href="5-mlt.html#SP2_2">§2.2</a><br/>Tables - <a href="5-tbl.html#SP2_1_1_1_3">§2.1.1.1.3</a><br/>Relations - <a href="5-rlt.html#SP7_3">§7.3</a>, <a href="5-rlt.html#SP8">§8</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">void</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><a href="2-ea.html#SP4" class="function-link"><span class="function-syntax">EmitArrays::iname_entry</span></a><span class="plain-syntax">(</span><a href="2-hrr.html#SP11" class="function-link"><span class="function-syntax">Hierarchy::find</span></a><span class="plain-syntax">(</span><span class="constant-syntax">NULL_HL</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">EmitArrays::text_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">EmitArrays::text_entry</span></span>:<br/>Responses - <a href="4-rsp.html#SP6">§6</a><br/>Relation Literals - <a href="4-rl.html#SP1">§1</a><br/>Multimedia - <a href="5-mlt.html#SP2_2">§2.2</a><br/>Relations - <a href="5-rlt.html#SP7_3_1">§7.3.1</a>, <a href="5-rlt.html#SP7_3_5">§7.3.5</a>, <a href="5-rlt.html#SP8">§8</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">content</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">EmitArrays::text_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">EmitArrays::text_entry</span></span>:<br/>Responses - <a href="4-rsp.html#SP6">§6</a><br/>Relation Literals - <a href="4-rl.html#SP1">§1</a><br/>Multimedia - <a href="5-mlt.html#SP2_2">§2.2</a><br/>Relations - <a href="5-rlt.html#SP7_3_1">§7.3.1</a>, <a href="5-rlt.html#SP7_3_5">§7.3.5</a>, <a href="5-rlt.html#SP8">§8</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">content</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_pair</span><span class="plain-syntax"> </span><span class="identifier-syntax">val</span><span class="plain-syntax"> = </span><span class="identifier-syntax">InterValuePairs::from_text</span><span class="plain-syntax">(</span><a href="2-emt.html#SP1" class="function-link"><span class="function-syntax">Emit::at</span></a><span class="plain-syntax">(), </span><span class="identifier-syntax">content</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-ea.html#SP9" class="function-link"><span class="function-syntax">EmitArrays::entry_inner</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">val</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">EmitArrays::dword_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">EmitArrays::dword_entry</span></span>:<br/>Command Grammars - <a href="7-cg.html#SP10">§10</a><br/>Command Grammar Lines - <a href="7-cgl.html#SP2">§2</a><br/>Command Grammar Tokens - <a href="7-cgt.html#SP1_1">§1.1</a><br/>Name Properties - <a href="7-np.html#SP4">§4</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">content</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">EmitArrays::dword_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">EmitArrays::dword_entry</span></span>:<br/>Command Grammars - <a href="7-cg.html#SP10">§10</a><br/>Command Grammar Lines - <a href="7-cgl.html#SP2">§2</a><br/>Command Grammar Tokens - <a href="7-cgt.html#SP1_1">§1.1</a><br/>Name Properties - <a href="7-np.html#SP4">§4</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">content</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_pair</span><span class="plain-syntax"> </span><span class="identifier-syntax">val</span><span class="plain-syntax"> = </span><span class="identifier-syntax">InterValuePairs::from_singular_dword</span><span class="plain-syntax">(</span><a href="2-emt.html#SP1" class="function-link"><span class="function-syntax">Emit::at</span></a><span class="plain-syntax">(), </span><span class="identifier-syntax">content</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-ea.html#SP9" class="function-link"><span class="function-syntax">EmitArrays::entry_inner</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">val</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">EmitArrays::plural_dword_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">EmitArrays::plural_dword_entry</span></span>:<br/>Name Properties - <a href="7-np.html#SP4">§4</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">content</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">EmitArrays::plural_dword_entry</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">EmitArrays::plural_dword_entry</span></span>:<br/>Name Properties - <a href="7-np.html#SP4">§4</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">content</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_pair</span><span class="plain-syntax"> </span><span class="identifier-syntax">val</span><span class="plain-syntax"> = </span><span class="identifier-syntax">InterValuePairs::from_plural_dword</span><span class="plain-syntax">(</span><a href="2-emt.html#SP1" class="function-link"><span class="function-syntax">Emit::at</span></a><span class="plain-syntax">(), </span><span class="identifier-syntax">content</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-ea.html#SP9" class="function-link"><span class="function-syntax">EmitArrays::entry_inner</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">val</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">EmitArrays::generic_entry</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">EmitArrays::generic_entry</span></span>:<br/>Default Values - <a href="2-dv.html#SP1">§1</a><br/>Tables - <a href="5-tbl.html#SP2_1_1_1_4">§2.1.1.1.4</a><br/>Variables - <a href="5-vrb.html#SP15">§15</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_pair</span><span class="plain-syntax"> </span><span class="identifier-syntax">val</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">EmitArrays::generic_entry</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">EmitArrays::generic_entry</span></span>:<br/>Default Values - <a href="2-dv.html#SP1">§1</a><br/>Tables - <a href="5-tbl.html#SP2_1_1_1_4">§2.1.1.1.4</a><br/>Variables - <a href="5-vrb.html#SP15">§15</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_pair</span><span class="plain-syntax"> </span><span class="identifier-syntax">val</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><a href="2-ea.html#SP9" class="function-link"><span class="function-syntax">EmitArrays::entry_inner</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">val</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
|
@ -197,7 +203,7 @@ which would be a typesafe list in I7, so they can be absolutely any data.
|
|||
</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">EmitArrays::end</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">EmitArrays::end</span></span>:<br/>Short Names - <a href="2-sn.html#SP4">§4</a><br/>List Literals - <a href="4-ll.html#SP1">§1</a>, <a href="4-ll.html#SP2">§2</a><br/>Text Literals - <a href="4-tl.html#SP1">§1</a><br/>Text Substitutions - <a href="4-ts.html#SP1">§1</a><br/>Box Quotations - <a href="4-bq.html#SP2">§2</a><br/>Relation Literals - <a href="4-rl.html#SP1">§1</a><br/>Stored Action Literals - <a href="4-sal.html#SP1">§1</a><br/>Instances - <a href="5-ins.html#SP4">§4</a><br/>Door Instances - <a href="5-di.html#SP6">§6</a><br/>Multimedia - <a href="5-mlt.html#SP2_1">§2.1</a>, <a href="5-mlt.html#SP2_2">§2.2</a><br/>Tables - <a href="5-tbl.html#SP2_1_1">§2.1.1</a>, <a href="5-tbl.html#SP2_1_1_1">§2.1.1.1</a>, <a href="5-tbl.html#SP2_2">§2.2</a><br/>Relations - <a href="5-rlt.html#SP7_3">§7.3</a>, <a href="5-rlt.html#SP7_3_2">§7.3.2</a>, <a href="5-rlt.html#SP8">§8</a>, <a href="5-rlt.html#SP11">§11</a>, <a href="5-rlt.html#SP11_3">§11.3</a><br/>Kind IDs - <a href="5-ki.html#SP9_1">§9.1</a><br/>Test Scripts - <a href="5-ts.html#SP4">§4</a><br/>The Player - <a href="6-tp.html#SP1">§1</a><br/>The Map - <a href="6-tm.html#SP1">§1</a><br/>Action Bitmap Property - <a href="6-abp.html#SP1">§1</a><br/>Command Grammars - <a href="7-cg.html#SP10">§10</a><br/>Name Properties - <a href="7-np.html#SP4">§4</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">packaging_state</span><span class="plain-syntax"> </span><span class="identifier-syntax">save</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">EmitArrays::end</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">EmitArrays::end</span></span>:<br/>Short Names - <a href="2-sn.html#SP4">§4</a><br/>List Literals - <a href="4-ll.html#SP1">§1</a>, <a href="4-ll.html#SP2">§2</a><br/>Text Literals - <a href="4-tl.html#SP1">§1</a><br/>Text Substitutions - <a href="4-ts.html#SP1">§1</a><br/>Box Quotations - <a href="4-bq.html#SP2">§2</a><br/>Relation Literals - <a href="4-rl.html#SP1">§1</a><br/>Stored Action Literals - <a href="4-sal.html#SP1">§1</a><br/>Instances - <a href="5-ins.html#SP4">§4</a><br/>Door Instances - <a href="5-di.html#SP6">§6</a><br/>Multimedia - <a href="5-mlt.html#SP2_1">§2.1</a>, <a href="5-mlt.html#SP2_2">§2.2</a><br/>Tables - <a href="5-tbl.html#SP2_1_1">§2.1.1</a>, <a href="5-tbl.html#SP2_1_1_1">§2.1.1.1</a>, <a href="5-tbl.html#SP2_2">§2.2</a><br/>Relations - <a href="5-rlt.html#SP7_3">§7.3</a>, <a href="5-rlt.html#SP7_3_2">§7.3.2</a>, <a href="5-rlt.html#SP8">§8</a>, <a href="5-rlt.html#SP11">§11</a>, <a href="5-rlt.html#SP11_3">§11.3</a><br/>Kind IDs - <a href="5-ki.html#SP9_1">§9.1</a><br/>Test Scripts - <a href="5-ts.html#SP4">§4</a><br/>The Player - <a href="6-tp.html#SP1">§1</a><br/>The Map - <a href="6-tm.html#SP1">§1</a><br/>Action Bitmap Property - <a href="6-abp.html#SP1">§1</a><br/>Command Grammars - <a href="7-cg.html#SP10">§10</a><br/>Name Properties - <a href="7-np.html#SP4">§4</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">packaging_state</span><span class="plain-syntax"> </span><span class="identifier-syntax">save</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><a href="2-ea.html#SP10" class="function-link"><span class="function-syntax">EmitArrays::end_inner</span></a><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Packaging::exit</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="identifier-syntax">save</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
@ -223,7 +229,7 @@ We do this with a stack of these objects, one for each such array:
|
|||
|
||||
<span class="identifier-syntax">lifo_stack</span><span class="plain-syntax"> *</span><span class="identifier-syntax">emission_array_stack</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">; </span><span class="comment-syntax"> of </span><span class="extract"><span class="extract-syntax">nascent_array</span></span>
|
||||
|
||||
<span class="reserved-syntax">nascent_array</span><span class="plain-syntax"> *</span><span class="function-syntax">EmitArrays::current</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">EmitArrays::current</span></span>:<br/><a href="2-ea.html#SP9">§9</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">void</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">nascent_array</span><span class="plain-syntax"> *</span><span class="function-syntax">EmitArrays::current</span><button class="popup" onclick="togglePopup('usagePopup18')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup18">Usage of <span class="code-font"><span class="function-syntax">EmitArrays::current</span></span>:<br/><a href="2-ea.html#SP9">§9</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">void</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">emission_array_stack</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">TOP_OF_LIFO_STACK</span><span class="plain-syntax">(</span><span class="reserved-syntax">nascent_array</span><span class="plain-syntax">, </span><span class="identifier-syntax">emission_array_stack</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>
|
||||
|
@ -236,7 +242,7 @@ after each use.
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">nascent_array</span><span class="plain-syntax"> *</span><span class="function-syntax">EmitArrays::push_new</span><button class="popup" onclick="togglePopup('usagePopup18')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup18">Usage of <span class="code-font"><span class="function-syntax">EmitArrays::push_new</span></span>:<br/><a href="2-ea.html#SP8">§8</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">void</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">nascent_array</span><span class="plain-syntax"> *</span><span class="function-syntax">EmitArrays::push_new</span><button class="popup" onclick="togglePopup('usagePopup19')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup19">Usage of <span class="code-font"><span class="function-syntax">EmitArrays::push_new</span></span>:<br/><a href="2-ea.html#SP8">§8</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">void</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">emission_array_stack</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">emission_array_stack</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NEW_LIFO_STACK</span><span class="plain-syntax">(</span><span class="reserved-syntax">nascent_array</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">nascent_array</span><span class="plain-syntax"> *</span><span class="identifier-syntax">A</span><span class="plain-syntax"> = </span><span class="identifier-syntax">CREATE</span><span class="plain-syntax">(</span><span class="reserved-syntax">nascent_array</span><span class="plain-syntax">);</span>
|
||||
|
@ -250,7 +256,7 @@ after each use.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">A</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="reserved-syntax">nascent_array</span><span class="plain-syntax"> *</span><span class="function-syntax">EmitArrays::pull</span><button class="popup" onclick="togglePopup('usagePopup19')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup19">Usage of <span class="code-font"><span class="function-syntax">EmitArrays::pull</span></span>:<br/><a href="2-ea.html#SP10">§10</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">void</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">nascent_array</span><span class="plain-syntax"> *</span><span class="function-syntax">EmitArrays::pull</span><button class="popup" onclick="togglePopup('usagePopup20')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup20">Usage of <span class="code-font"><span class="function-syntax">EmitArrays::pull</span></span>:<br/><a href="2-ea.html#SP10">§10</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">void</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">emission_array_stack</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">PULL_FROM_LIFO_STACK</span><span class="plain-syntax">(</span><span class="reserved-syntax">nascent_array</span><span class="plain-syntax">, </span><span class="identifier-syntax">emission_array_stack</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">"no array stack"</span><span class="plain-syntax">);</span>
|
||||
|
@ -261,7 +267,7 @@ after each use.
|
|||
</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">EmitArrays::begin_inner</span><button class="popup" onclick="togglePopup('usagePopup20')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup20">Usage of <span class="code-font"><span class="function-syntax">EmitArrays::begin_inner</span></span>:<br/><a href="2-ea.html#SP2">§2</a>, <a href="2-ea.html#SP3">§3</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">N</span><span class="plain-syntax">, </span><span class="identifier-syntax">kind</span><span class="plain-syntax"> *</span><span class="identifier-syntax">K</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">unchecked</span><span class="plain-syntax">, </span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">format</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">EmitArrays::begin_inner</span><button class="popup" onclick="togglePopup('usagePopup21')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup21">Usage of <span class="code-font"><span class="function-syntax">EmitArrays::begin_inner</span></span>:<br/><a href="2-ea.html#SP2">§2</a>, <a href="2-ea.html#SP3">§3</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">N</span><span class="plain-syntax">, </span><span class="identifier-syntax">kind</span><span class="plain-syntax"> *</span><span class="identifier-syntax">K</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">unchecked</span><span class="plain-syntax">, </span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">format</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">symb</span><span class="plain-syntax"> = </span><span class="identifier-syntax">InterNames::to_symbol</span><span class="plain-syntax">(</span><span class="identifier-syntax">N</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">nascent_array</span><span class="plain-syntax"> *</span><span class="identifier-syntax">current_A</span><span class="plain-syntax"> = </span><a href="2-ea.html#SP7" class="function-link"><span class="function-syntax">EmitArrays::push_new</span></a><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">current_A</span><span class="plain-syntax">-></span><span class="element-syntax">entry_kind</span><span class="plain-syntax"> = (</span><span class="identifier-syntax">unchecked</span><span class="plain-syntax">)?</span><span class="identifier-syntax">NULL:</span><span class="plain-syntax">(</span><span class="identifier-syntax">K</span><span class="plain-syntax">?</span><span class="identifier-syntax">K:K_value</span><span class="plain-syntax">);</span>
|
||||
|
@ -273,7 +279,7 @@ after each use.
|
|||
</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">EmitArrays::entry_inner</span><button class="popup" onclick="togglePopup('usagePopup21')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup21">Usage of <span class="code-font"><span class="function-syntax">EmitArrays::entry_inner</span></span>:<br/><a href="2-ea.html#SP4">§4</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_pair</span><span class="plain-syntax"> </span><span class="identifier-syntax">val</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">EmitArrays::entry_inner</span><button class="popup" onclick="togglePopup('usagePopup22')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup22">Usage of <span class="code-font"><span class="function-syntax">EmitArrays::entry_inner</span></span>:<br/><a href="2-ea.html#SP4">§4</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_pair</span><span class="plain-syntax"> </span><span class="identifier-syntax">val</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">nascent_array</span><span class="plain-syntax"> *</span><span class="identifier-syntax">current_A</span><span class="plain-syntax"> = </span><a href="2-ea.html#SP6" class="function-link"><span class="function-syntax">EmitArrays::current</span></a><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">current_A</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 nascent array"</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">N</span><span class="plain-syntax"> = </span><span class="identifier-syntax">current_A</span><span class="plain-syntax">-></span><span class="element-syntax">space_used</span><span class="plain-syntax">;</span>
|
||||
|
@ -301,7 +307,7 @@ is completely emitted before another one is.
|
|||
</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">EmitArrays::end_inner</span><button class="popup" onclick="togglePopup('usagePopup22')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup22">Usage of <span class="code-font"><span class="function-syntax">EmitArrays::end_inner</span></span>:<br/><a href="2-ea.html#SP5">§5</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">void</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">EmitArrays::end_inner</span><button class="popup" onclick="togglePopup('usagePopup23')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup23">Usage of <span class="code-font"><span class="function-syntax">EmitArrays::end_inner</span></span>:<br/><a href="2-ea.html#SP5">§5</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">void</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">nascent_array</span><span class="plain-syntax"> *</span><span class="identifier-syntax">current_A</span><span class="plain-syntax"> = </span><a href="2-ea.html#SP7" class="function-link"><span class="function-syntax">EmitArrays::pull</span></a><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">current_A</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 nascent array"</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">current_A</span><span class="plain-syntax">-></span><span class="element-syntax">array_name_symbol</span><span class="plain-syntax">;</span>
|
||||
|
|
|
@ -93,7 +93,7 @@ creates the <span class="extract"><span class="extract-syntax">main</span></span
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">LargeScale::begin_new_tree</span><span class="plain-syntax">(</span><span class="identifier-syntax">main_emission_tree</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">main_emission_tree</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="function-syntax">Emit::tree</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">Emit::tree</span></span>:<br/><a href="2-emt.html#SP4">§4</a>, <a href="2-emt.html#SP5">§5</a>, <a href="2-emt.html#SP6">§6</a>, <a href="2-emt.html#SP7">§7</a>, <a href="2-emt.html#SP8">§8</a>, <a href="2-emt.html#SP9">§9</a>, <a href="2-emt.html#SP11">§11</a>, <a href="2-emt.html#SP12">§12</a>, <a href="2-emt.html#SP13">§13</a>, <a href="2-emt.html#SP14">§14</a>, <a href="2-emt.html#SP17">§17</a><br/>Hierarchy - <a href="2-hrr.html#SP1">§1</a>, <a href="2-hrr.html#SP2">§2</a>, <a href="2-hrr.html#SP8">§8</a>, <a href="2-hrr.html#SP9">§9</a>, <a href="2-hrr.html#SP11">§11</a>, <a href="2-hrr.html#SP12">§12</a>, <a href="2-hrr.html#SP13">§13</a>, <a href="2-hrr.html#SP14">§14</a>, <a href="2-hrr.html#SP15">§15</a>, <a href="2-hrr.html#SP16">§16</a>, <a href="2-hrr.html#SP17">§17</a>, <a href="2-hrr.html#SP18">§18</a>, <a href="2-hrr.html#SP20">§20</a>, <a href="2-hrr.html#SP21">§21</a>, <a href="2-hrr.html#SP22">§22</a><br/>Compilation Units - <a href="2-cu.html#SP2_1">§2.1</a><br/>Emit Code - <a href="2-ec.html#SP2">§2</a>, <a href="2-ec.html#SP3">§3</a>, <a href="2-ec.html#SP4">§4</a>, <a href="2-ec.html#SP5">§5</a>, <a href="2-ec.html#SP7">§7</a>, <a href="2-ec.html#SP9">§9</a>, <a href="2-ec.html#SP11">§11</a>, <a href="2-ec.html#SP12">§12</a>, <a href="2-ec.html#SP13">§13</a>, <a href="2-ec.html#SP14">§14</a>, <a href="2-ec.html#SP15">§15</a>, <a href="2-ec.html#SP16">§16</a><br/>Emit Arrays - <a href="2-ea.html#SP5">§5</a><br/>Default Values - <a href="2-dv.html#SP1">§1</a><br/>Generic Module - <a href="3-gm.html#SP1">§1</a><br/>Enclosures - <a href="4-enc.html#SP1">§1</a><br/>Text Substitutions - <a href="4-ts.html#SP7_4">§7.4</a><br/>Rules - <a href="5-rls.html#SP6">§6</a><br/>Variables - <a href="5-vrb.html#SP6">§6</a>, <a href="5-vrb.html#SP15">§15</a><br/>Kind Constructors - <a href="5-kc.html#SP3">§3</a>, <a href="5-kc.html#SP4">§4</a>, <a href="5-kc.html#SP8">§8</a>, <a href="5-kc.html#SP10">§10</a><br/>Property Permissions - <a href="6-pp.html#SP2">§2</a>, <a href="6-pp.html#SP3">§3</a><br/>Property Values - <a href="6-pv.html#SP2">§2</a>, <a href="6-pv.html#SP2_2_1">§2.2.1</a><br/>Command Grammars - <a href="7-cg.html#SP6">§6</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">void</span><span class="plain-syntax">) {</span>
|
||||
<span class="identifier-syntax">inter_tree</span><span class="plain-syntax"> *</span><span class="function-syntax">Emit::tree</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">Emit::tree</span></span>:<br/><a href="2-emt.html#SP4">§4</a>, <a href="2-emt.html#SP5">§5</a>, <a href="2-emt.html#SP6">§6</a>, <a href="2-emt.html#SP7">§7</a>, <a href="2-emt.html#SP8">§8</a>, <a href="2-emt.html#SP9">§9</a>, <a href="2-emt.html#SP11">§11</a>, <a href="2-emt.html#SP12">§12</a>, <a href="2-emt.html#SP13">§13</a>, <a href="2-emt.html#SP14">§14</a><br/>Hierarchy - <a href="2-hrr.html#SP1">§1</a>, <a href="2-hrr.html#SP2">§2</a>, <a href="2-hrr.html#SP8">§8</a>, <a href="2-hrr.html#SP9">§9</a>, <a href="2-hrr.html#SP11">§11</a>, <a href="2-hrr.html#SP12">§12</a>, <a href="2-hrr.html#SP13">§13</a>, <a href="2-hrr.html#SP14">§14</a>, <a href="2-hrr.html#SP15">§15</a>, <a href="2-hrr.html#SP16">§16</a>, <a href="2-hrr.html#SP17">§17</a>, <a href="2-hrr.html#SP18">§18</a>, <a href="2-hrr.html#SP20">§20</a>, <a href="2-hrr.html#SP21">§21</a>, <a href="2-hrr.html#SP22">§22</a><br/>Compilation Units - <a href="2-cu.html#SP2_1">§2.1</a><br/>Emit Code - <a href="2-ec.html#SP2">§2</a>, <a href="2-ec.html#SP3">§3</a>, <a href="2-ec.html#SP4">§4</a>, <a href="2-ec.html#SP5">§5</a>, <a href="2-ec.html#SP7">§7</a>, <a href="2-ec.html#SP9">§9</a>, <a href="2-ec.html#SP11">§11</a>, <a href="2-ec.html#SP12">§12</a>, <a href="2-ec.html#SP13">§13</a>, <a href="2-ec.html#SP14">§14</a>, <a href="2-ec.html#SP15">§15</a>, <a href="2-ec.html#SP16">§16</a><br/>Emit Arrays - <a href="2-ea.html#SP5">§5</a><br/>Default Values - <a href="2-dv.html#SP1">§1</a><br/>Generic Module - <a href="3-gm.html#SP1">§1</a><br/>Enclosures - <a href="4-enc.html#SP1">§1</a><br/>Text Substitutions - <a href="4-ts.html#SP7_4">§7.4</a><br/>Rules - <a href="5-rls.html#SP6">§6</a><br/>Variables - <a href="5-vrb.html#SP6">§6</a>, <a href="5-vrb.html#SP15">§15</a><br/>Kind Constructors - <a href="5-kc.html#SP3">§3</a>, <a href="5-kc.html#SP4">§4</a>, <a href="5-kc.html#SP8">§8</a>, <a href="5-kc.html#SP10">§10</a><br/>Property Permissions - <a href="6-pp.html#SP2">§2</a>, <a href="6-pp.html#SP3">§3</a><br/>Property Values - <a href="6-pv.html#SP2">§2</a>, <a href="6-pv.html#SP2_2_1">§2.2.1</a><br/>Command Grammars - <a href="7-cg.html#SP6">§6</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">void</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">main_emission_tree</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
|
@ -105,11 +105,11 @@ creates the <span class="extract"><span class="extract-syntax">main</span></span
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">InterTree::warehouse</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">inter_bookmark</span><span class="plain-syntax"> *</span><span class="function-syntax">Emit::at</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">Emit::at</span></span>:<br/><a href="2-emt.html#SP3">§3</a>, <a href="2-emt.html#SP4">§4</a>, <a href="2-emt.html#SP6">§6</a>, <a href="2-emt.html#SP7">§7</a>, <a href="2-emt.html#SP8">§8</a>, <a href="2-emt.html#SP9">§9</a>, <a href="2-emt.html#SP11">§11</a>, <a href="2-emt.html#SP12">§12</a>, <a href="2-emt.html#SP13">§13</a>, <a href="2-emt.html#SP14">§14</a>, <a href="2-emt.html#SP15">§15</a>, <a href="2-emt.html#SP16">§16</a>, <a href="2-emt.html#SP17">§17</a><br/>Emit Arrays - <a href="2-ea.html#SP4">§4</a>, <a href="2-ea.html#SP10">§10</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">void</span><span class="plain-syntax">) {</span>
|
||||
<span class="identifier-syntax">inter_bookmark</span><span class="plain-syntax"> *</span><span class="function-syntax">Emit::at</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">Emit::at</span></span>:<br/><a href="2-emt.html#SP3">§3</a>, <a href="2-emt.html#SP4">§4</a>, <a href="2-emt.html#SP6">§6</a>, <a href="2-emt.html#SP7">§7</a>, <a href="2-emt.html#SP8">§8</a>, <a href="2-emt.html#SP9">§9</a>, <a href="2-emt.html#SP11">§11</a>, <a href="2-emt.html#SP12">§12</a>, <a href="2-emt.html#SP13">§13</a>, <a href="2-emt.html#SP14">§14</a>, <a href="2-emt.html#SP15">§15</a>, <a href="2-emt.html#SP16">§16</a><br/>Emit Arrays - <a href="2-ea.html#SP4">§4</a>, <a href="2-ea.html#SP10">§10</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">void</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">Packaging::at</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">inter_ti</span><span class="plain-syntax"> </span><span class="function-syntax">Emit::baseline</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">Emit::baseline</span></span>:<br/><a href="2-emt.html#SP4">§4</a>, <a href="2-emt.html#SP6">§6</a>, <a href="2-emt.html#SP7">§7</a>, <a href="2-emt.html#SP8">§8</a>, <a href="2-emt.html#SP11">§11</a>, <a href="2-emt.html#SP12">§12</a>, <a href="2-emt.html#SP13">§13</a>, <a href="2-emt.html#SP14">§14</a>, <a href="2-emt.html#SP15">§15</a>, <a href="2-emt.html#SP16">§16</a>, <a href="2-emt.html#SP17">§17</a><br/>Emit Arrays - <a href="2-ea.html#SP10">§10</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">void</span><span class="plain-syntax">) {</span>
|
||||
<span class="identifier-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="function-syntax">Emit::baseline</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">Emit::baseline</span></span>:<br/><a href="2-emt.html#SP4">§4</a>, <a href="2-emt.html#SP6">§6</a>, <a href="2-emt.html#SP7">§7</a>, <a href="2-emt.html#SP8">§8</a>, <a href="2-emt.html#SP11">§11</a>, <a href="2-emt.html#SP12">§12</a>, <a href="2-emt.html#SP13">§13</a>, <a href="2-emt.html#SP14">§14</a>, <a href="2-emt.html#SP15">§15</a>, <a href="2-emt.html#SP16">§16</a><br/>Emit Arrays - <a href="2-ea.html#SP10">§10</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">void</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::baseline</span><span class="plain-syntax">(</span><a href="2-emt.html#SP1" class="function-link"><span class="function-syntax">Emit::at</span></a><span class="plain-syntax">());</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
|
@ -412,11 +412,9 @@ about where to include the code is ignored.
|
|||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Emit::append</span><button class="popup" onclick="togglePopup('usagePopup32')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup32">Usage of <span class="code-font"><span class="function-syntax">Emit::append</span></span>:<br/>Interventions - <a href="2-int.html#SP2">§2</a></span></button><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">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="identifier-syntax">LOG</span><span class="plain-syntax">(</span><span class="string-syntax">"Append '%S'\n"</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">packaging_state</span><span class="plain-syntax"> </span><span class="identifier-syntax">save</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">symbol</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">Produce::guard</span><span class="plain-syntax">(</span><span class="identifier-syntax">AppendInstruction::new</span><span class="plain-syntax">(</span><a href="2-emt.html#SP1" class="function-link"><span class="function-syntax">Emit::at</span></a><span class="plain-syntax">(), </span><span class="identifier-syntax">symbol</span><span class="plain-syntax">, </span><span class="identifier-syntax">text</span><span class="plain-syntax">, </span><a href="2-emt.html#SP1" class="function-link"><span class="function-syntax">Emit::baseline</span></a><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">Packaging::exit</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="identifier-syntax">save</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">SymbolAnnotation::set_t</span><span class="plain-syntax">(</span><span class="identifier-syntax">InterPackage::tree</span><span class="plain-syntax">(</span><span class="identifier-syntax">InterSymbol::package</span><span class="plain-syntax">(</span><span class="identifier-syntax">symbol</span><span class="plain-syntax">)),</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">InterSymbol::package</span><span class="plain-syntax">(</span><span class="identifier-syntax">symbol</span><span class="plain-syntax">), </span><span class="identifier-syntax">symbol</span><span class="plain-syntax">, </span><span class="identifier-syntax">APPEND_IANN</span><span class="plain-syntax">, </span><span class="identifier-syntax">text</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
|
|
|
@ -265,11 +265,10 @@ which the door is found in:
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">package_request</span><span class="plain-syntax"> *</span><span class="identifier-syntax">PR</span><span class="plain-syntax"> =</span>
|
||||
<span class="plain-syntax"> </span><a href="2-hrr.html#SP21" class="function-link"><span class="function-syntax">Hierarchy::package_within</span></a><span class="plain-syntax">(</span><span class="constant-syntax">INLINE_PROPERTIES_HAP</span><span class="plain-syntax">, </span><a href="5-ins.html#SP1" class="function-link"><span class="function-syntax">RTInstances::package</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">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">S</span><span class="plain-syntax"> = </span><a href="2-hrr.html#SP12" class="function-link"><span class="function-syntax">Hierarchy::make_iname_in</span></a><span class="plain-syntax">(</span><span class="constant-syntax">INLINE_PROPERTY_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">PR</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">packaging_state</span><span class="plain-syntax"> </span><span class="identifier-syntax">save</span><span class="plain-syntax"> = </span><a href="2-ea.html#SP2" class="function-link"><span class="function-syntax">EmitArrays::begin_word</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">S</span><span class="plain-syntax">, </span><span class="identifier-syntax">K_value</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">packaging_state</span><span class="plain-syntax"> </span><span class="identifier-syntax">save</span><span class="plain-syntax"> = </span><a href="2-ea.html#SP2" class="function-link"><span class="function-syntax">EmitArrays::begin_inline</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">S</span><span class="plain-syntax">, </span><span class="identifier-syntax">K_value</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-ea.html#SP4" class="function-link"><span class="function-syntax">EmitArrays::iname_entry</span></a><span class="plain-syntax">(</span><a href="5-ins.html#SP1" class="function-link"><span class="function-syntax">RTInstances::value_iname</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">R1</span><span class="plain-syntax">));</span>
|
||||
<span class="plain-syntax"> </span><a href="2-ea.html#SP4" class="function-link"><span class="function-syntax">EmitArrays::iname_entry</span></a><span class="plain-syntax">(</span><a href="5-ins.html#SP1" class="function-link"><span class="function-syntax">RTInstances::value_iname</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">R2</span><span class="plain-syntax">));</span>
|
||||
<span class="plain-syntax"> </span><a href="2-ea.html#SP5" class="function-link"><span class="function-syntax">EmitArrays::end</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">save</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">InterNames::annotate_b</span><span class="plain-syntax">(</span><span class="identifier-syntax">S</span><span class="plain-syntax">, </span><span class="identifier-syntax">INLINE_ARRAY_IANN</span><span class="plain-syntax">, </span><span class="identifier-syntax">TRUE</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">Rvalues::from_iname</span><span class="plain-syntax">(</span><span class="identifier-syntax">S</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
|
|
|
@ -83,10 +83,9 @@ remaining bits, but then on a 32-bit VN memory is not scarce in quite that way.
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">package_request</span><span class="plain-syntax"> *</span><span class="identifier-syntax">PR</span><span class="plain-syntax"> = </span><a href="2-hrr.html#SP21" class="function-link"><span class="function-syntax">Hierarchy::package_within</span></a><span class="plain-syntax">(</span><span class="constant-syntax">KIND_INLINE_PROPERTIES_HAP</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">N</span><span class="plain-syntax"> = </span><a href="2-hrr.html#SP12" class="function-link"><span class="function-syntax">Hierarchy::make_iname_in</span></a><span class="plain-syntax">(</span><span class="constant-syntax">KIND_INLINE_PROPERTY_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">PR</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">packaging_state</span><span class="plain-syntax"> </span><span class="identifier-syntax">save</span><span class="plain-syntax"> = </span><a href="2-ea.html#SP2" class="function-link"><span class="function-syntax">EmitArrays::begin_word</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">N</span><span class="plain-syntax">, </span><span class="identifier-syntax">K_number</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">packaging_state</span><span class="plain-syntax"> </span><span class="identifier-syntax">save</span><span class="plain-syntax"> = </span><a href="2-ea.html#SP2" class="function-link"><span class="function-syntax">EmitArrays::begin_inline</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">N</span><span class="plain-syntax">, </span><span class="identifier-syntax">K_number</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">NUMBER_CREATED</span><span class="plain-syntax">(</span><span class="identifier-syntax">action_name</span><span class="plain-syntax">))/16); </span><span class="identifier-syntax">i</span><span class="plain-syntax">++) </span><a href="2-ea.html#SP4" class="function-link"><span class="function-syntax">EmitArrays::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-ea.html#SP5" class="function-link"><span class="function-syntax">EmitArrays::end</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">save</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">InterNames::annotate_b</span><span class="plain-syntax">(</span><span class="identifier-syntax">N</span><span class="plain-syntax">, </span><span class="identifier-syntax">INLINE_ARRAY_IANN</span><span class="plain-syntax">, </span><span class="identifier-syntax">TRUE</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">Rvalues::from_iname</span><span class="plain-syntax">(</span><span class="identifier-syntax">N</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
|
|
|
@ -154,7 +154,7 @@ inherit from classes. The concept of additive properties does not exist in Inter
|
|||
<span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="function-syntax">Name::name_property_array</span><span class="plain-syntax">(</span><span class="identifier-syntax">instance</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">wording</span><span class="plain-syntax"> </span><span class="identifier-syntax">W</span><span class="plain-syntax">, </span><span class="identifier-syntax">wording</span><span class="plain-syntax"> </span><span class="identifier-syntax">PW</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">from_kind</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">name_array</span><span class="plain-syntax"> = </span><a href="7-np.html#SP3" class="function-link"><span class="function-syntax">Name::get_name_array_iname</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">-></span><span class="identifier-syntax">as_subject</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">packaging_state</span><span class="plain-syntax"> </span><span class="identifier-syntax">save</span><span class="plain-syntax"> = </span><a href="2-ea.html#SP2" class="function-link"><span class="function-syntax">EmitArrays::begin_word</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">name_array</span><span class="plain-syntax">, </span><span class="identifier-syntax">K_value</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">packaging_state</span><span class="plain-syntax"> </span><span class="identifier-syntax">save</span><span class="plain-syntax"> = </span><a href="2-ea.html#SP2" class="function-link"><span class="function-syntax">EmitArrays::begin_inline</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">name_array</span><span class="plain-syntax">, </span><span class="identifier-syntax">K_value</span><span class="plain-syntax">);</span>
|
||||
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_THROUGH_WORDING</span><span class="plain-syntax">(</span><span class="identifier-syntax">j</span><span class="plain-syntax">, </span><span class="identifier-syntax">W</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">vocabulary_entry</span><span class="plain-syntax"> *</span><span class="identifier-syntax">ve</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Lexer::word</span><span class="plain-syntax">(</span><span class="identifier-syntax">j</span><span class="plain-syntax">);</span>
|
||||
|
@ -196,7 +196,6 @@ inherit from classes. The concept of additive properties does not exist in Inter
|
|||
<span class="plain-syntax"> }</span>
|
||||
|
||||
<span class="plain-syntax"> </span><a href="2-ea.html#SP5" class="function-link"><span class="function-syntax">EmitArrays::end</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">save</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">InterNames::annotate_b</span><span class="plain-syntax">(</span><span class="identifier-syntax">name_array</span><span class="plain-syntax">, </span><span class="identifier-syntax">INLINE_ARRAY_IANN</span><span class="plain-syntax">, </span><span class="identifier-syntax">TRUE</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">Rvalues::from_iname</span><span class="plain-syntax">(</span><span class="identifier-syntax">name_array</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
Total memory consumption was 406125K = 397 MB
|
||||
Total memory consumption was 405321K = 396 MB
|
||||
|
||||
66.1% was used for 2021716 objects, in 414180 frames in 336 x 800K = 268800K = 262 MB:
|
||||
66.1% was used for 2021607 objects, in 414170 frames in 335 x 800K = 268000K = 261 MB:
|
||||
|
||||
10.3% linked_list 76551 objects, 42868560 bytes
|
||||
10.0% inter_tree_node_array 58 x 8192 = 475136 objects, 41813824 bytes
|
||||
6.3% text_stream_array 4674 x 100 = 467400 objects, 26323968 bytes
|
||||
6.3% text_stream_array 4673 x 100 = 467300 objects, 26318336 bytes
|
||||
3.3% inter_symbol_array 132 x 1024 = 135168 objects, 14061696 bytes
|
||||
2.4% parse_node 129462 objects, 10356960 bytes
|
||||
1.7% verb_conjugation 160 objects, 7425280 bytes
|
||||
|
@ -21,7 +21,7 @@ Total memory consumption was 406125K = 397 MB
|
|||
0.3% inter_symbols_table 26569 objects, 1487864 bytes
|
||||
0.3% i6_schema_array 23 x 100 = 2300 objects, 1380736 bytes
|
||||
0.3% inter_package 26569 objects, 1275312 bytes
|
||||
0.2% dict_entry_array 386 x 100 = 38600 objects, 1247552 bytes
|
||||
0.3% dict_entry_array 386 x 100 = 38600 objects, 1247552 bytes
|
||||
0.2% map_data 670 objects, 1125600 bytes
|
||||
0.2% id_body 941 objects, 1076504 bytes
|
||||
0.2% adjective_meaning 202 objects, 1000304 bytes
|
||||
|
@ -100,8 +100,8 @@ Total memory consumption was 406125K = 397 MB
|
|||
---- property 146 objects, 19856 bytes
|
||||
---- timed_rules_rfd_data 400 objects, 19200 bytes
|
||||
---- pipeline_step 14 objects, 18928 bytes
|
||||
---- method 375 objects, 18000 bytes
|
||||
---- pcalc_prop_deferral 86 objects, 17888 bytes
|
||||
---- method 371 objects, 17808 bytes
|
||||
---- instance 167 objects, 17368 bytes
|
||||
---- parse_node_tree 20 objects, 17280 bytes
|
||||
---- understanding_reference_array 2 x 100 = 200 objects, 16064 bytes
|
||||
|
@ -114,7 +114,7 @@ Total memory consumption was 406125K = 397 MB
|
|||
---- pathname 324 objects, 12960 bytes
|
||||
---- adjective_iname_holder 320 objects, 12800 bytes
|
||||
---- uniqueness_count 454 objects, 10896 bytes
|
||||
---- inter_construct 31 objects, 10664 bytes
|
||||
---- inter_construct 30 objects, 10320 bytes
|
||||
---- filename 246 objects, 9840 bytes
|
||||
---- stopwatch_timer 111 objects, 8880 bytes
|
||||
---- equation_node 68 objects, 7616 bytes
|
||||
|
@ -138,7 +138,7 @@ Total memory consumption was 406125K = 397 MB
|
|||
---- submodule_request 94 objects, 3760 bytes
|
||||
---- parse_node_annotation_type 114 objects, 3648 bytes
|
||||
---- property_setting_bp_data 84 objects, 3360 bytes
|
||||
---- method_set 104 objects, 3328 bytes
|
||||
---- method_set 103 objects, 3296 bytes
|
||||
---- kind_constructor_comparison_schema_array 1 x 100 objects, 3232 bytes
|
||||
---- inform_extension 19 objects, 3192 bytes
|
||||
---- definition 44 objects, 3168 bytes
|
||||
|
@ -183,13 +183,13 @@ Total memory consumption was 406125K = 397 MB
|
|||
---- rulebook_outcome 17 objects, 544 bytes
|
||||
---- small_word_set 11 objects, 528 bytes
|
||||
---- implication 13 objects, 520 bytes
|
||||
---- inter_annotation_form 13 objects, 520 bytes
|
||||
---- inform_kit 5 objects, 520 bytes
|
||||
---- equation 4 objects, 480 bytes
|
||||
---- i6_memory_setting 14 objects, 448 bytes
|
||||
---- inference_family 11 objects, 440 bytes
|
||||
---- bp_family 12 objects, 384 bytes
|
||||
---- inter_annotation_form 10 objects, 400 bytes
|
||||
---- article_usage 8 objects, 384 bytes
|
||||
---- bp_family 12 objects, 384 bytes
|
||||
---- source_file 5 objects, 360 bytes
|
||||
---- inbuild_genre 7 objects, 336 bytes
|
||||
---- grammatical_category 8 objects, 320 bytes
|
||||
|
@ -237,15 +237,15 @@ Total memory consumption was 406125K = 397 MB
|
|||
|
||||
33.8% was used for memory not allocated for objects:
|
||||
|
||||
19.6% text stream storage 81681656 bytes in 485348 claims
|
||||
19.6% text stream storage 81678748 bytes in 485320 claims
|
||||
1.0% dictionary storage 4544512 bytes in 6619 claims
|
||||
---- sorting 736 bytes in 3 claims
|
||||
1.7% source text 7200000 bytes in 3 claims
|
||||
2.5% source text details 10800000 bytes in 2 claims
|
||||
2.6% source text details 10800000 bytes in 2 claims
|
||||
---- documentation fragments 262144 bytes in 1 claim
|
||||
---- linguistic stock array 81920 bytes in 2 claims
|
||||
---- small word set array 105600 bytes in 22 claims
|
||||
1.0% inter symbols storage 4522288 bytes in 27921 claims
|
||||
1.0% inter symbols storage 4521792 bytes in 27920 claims
|
||||
4.0% inter bytecode storage 16767748 bytes in 14 claims
|
||||
2.9% inter links storage 12448896 bytes in 12 claims
|
||||
---- inter tree location list storage 191232 bytes in 32 claims
|
||||
|
@ -255,5 +255,5 @@ Total memory consumption was 406125K = 397 MB
|
|||
---- code generation workspace for objects 1336 bytes in 4 claims
|
||||
---- emitter array storage 279776 bytes in 1995 claims
|
||||
|
||||
19.9% was overhead - 83110064 bytes = 81162K = 79 MB
|
||||
19.8% was overhead - 82297184 bytes = 80368K = 78 MB
|
||||
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
100.0% in inform7 run
|
||||
56.7% in compilation to Inter
|
||||
41.4% in //Sequence::undertake_queued_tasks//
|
||||
56.6% in compilation to Inter
|
||||
41.2% in //Sequence::undertake_queued_tasks//
|
||||
3.7% in //MajorNodes::pre_pass//
|
||||
2.6% in //MajorNodes::pass_1//
|
||||
1.5% in //RTPhrasebook::compile_entries//
|
||||
1.3% in //ImperativeDefinitions::assess_all//
|
||||
1.2% in //RTKindConstructors::compile//
|
||||
2.7% in //MajorNodes::pass_1//
|
||||
1.6% in //RTPhrasebook::compile_entries//
|
||||
1.4% in //ImperativeDefinitions::assess_all//
|
||||
1.1% in //RTKindConstructors::compile//
|
||||
0.4% in //ImperativeDefinitions::compile_first_block//
|
||||
0.4% in //MajorNodes::pass_2//
|
||||
0.4% in //Sequence::undertake_queued_tasks//
|
||||
|
@ -15,18 +15,18 @@
|
|||
0.1% in //InferenceSubjects::emit_all//
|
||||
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
|
||||
12.2% in step preparation
|
||||
10.3% in inter step 6/14: make-synoptic-module
|
||||
8.0% in inter step 14/14: generate inform6 -> auto.inf
|
||||
1.9% not specifically accounted for
|
||||
41.0% in running Inter pipeline
|
||||
11.9% in step preparation
|
||||
10.4% in inter step 6/14: make-synoptic-module
|
||||
8.2% in inter step 14/14: generate inform6 -> auto.inf
|
||||
4.0% in inter step 5/14: load-binary-kits
|
||||
3.0% in inter step 9/14: make-identifiers-unique
|
||||
2.8% in inter step 9/14: make-identifiers-unique
|
||||
0.3% in inter step 12/14: eliminate-redundant-operations
|
||||
0.3% in inter step 4/14: compile-splats
|
||||
0.3% in inter step 7/14: shorten-wiring
|
||||
0.3% in inter step 8/14: detect-indirect-calls
|
||||
0.1% in inter step 11/14: eliminate-redundant-labels
|
||||
2.0% not specifically accounted for
|
||||
1.8% in supervisor
|
||||
0.4% not specifically accounted for
|
||||
0.1% in inter step 8/14: detect-indirect-calls
|
||||
2.2% not specifically accounted for
|
||||
1.7% in supervisor
|
||||
0.5% not specifically accounted for
|
||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -3916,21 +3916,15 @@ package main _plain
|
|||
constant NO_USE_OPTIONS = 17
|
||||
package connectors _linkage
|
||||
package architectural _linkage
|
||||
constant WORDSIZE = 4 __architectural
|
||||
constant NULL = 0xffffffff __architectural
|
||||
constant WORD_HIGHBIT = 0x80000000 __architectural
|
||||
constant WORD_NEXTTOHIGHBIT = 0x40000000 __architectural
|
||||
constant IMPROBABLE_VALUE = 0xdeadce11 __architectural
|
||||
constant MAX_POSITIVE_NUMBER = 2147483647 __architectural
|
||||
constant MIN_NEGATIVE_NUMBER = -2147483648 __architectural
|
||||
constant TARGET_GLULX = 1 __architectural
|
||||
constant DEBUG = 1 __architectural
|
||||
constant String = 0 __architectural __veneer
|
||||
constant Routine = 0 __architectural __veneer
|
||||
constant Object = 0 __architectural __veneer
|
||||
constant Class = 0 __architectural __veneer
|
||||
constant #dictionary_table = 0 __architectural __veneer
|
||||
constant #grammar_table = 0 __architectural __veneer
|
||||
constant WORDSIZE = 4
|
||||
constant NULL = 0xffffffff
|
||||
constant WORD_HIGHBIT = 0x80000000
|
||||
constant WORD_NEXTTOHIGHBIT = 0x40000000
|
||||
constant IMPROBABLE_VALUE = 0xdeadce11
|
||||
constant MAX_POSITIVE_NUMBER = 2147483647
|
||||
constant MIN_NEGATIVE_NUMBER = -2147483648
|
||||
constant TARGET_GLULX = 1
|
||||
constant DEBUG = 1
|
||||
package basic_inform_by_graham_nelson _module
|
||||
constant (int32) ^category = 3 __translation="^category_U1"
|
||||
constant (text) ^author = "Graham Nelson" __translation="^author_U1"
|
||||
|
|
|
@ -195,12 +195,11 @@ int Backdrops::complete_model(int stage) {
|
|||
@<The object is found only in a few rooms, and no regions, so make it a list@> =
|
||||
package_request *PR = Hierarchy::package_within(INLINE_PROPERTIES_HAP, RTInstances::package(I));
|
||||
inter_name *iname = Hierarchy::make_iname_in(INLINE_PROPERTY_HL, PR);
|
||||
packaging_state save = EmitArrays::begin_word(iname, K_value);
|
||||
packaging_state save = EmitArrays::begin_inline(iname, K_value);
|
||||
inference *inf;
|
||||
POSITIVE_KNOWLEDGE_LOOP(inf, Instances::as_subject(I), found_in_inf)
|
||||
EmitArrays::iname_entry(RTInstances::value_iname(Backdrops::get_inferred_location(inf)));
|
||||
EmitArrays::end(save);
|
||||
InterNames::annotate_b(iname, INLINE_ARRAY_IANN, TRUE);
|
||||
val_of_found_in = Rvalues::from_iname(iname);
|
||||
|
||||
@<The object is found in many rooms or in whole regions, so make it a routine@> =
|
||||
|
|
|
@ -61,6 +61,12 @@ packaging_state EmitArrays::begin_verb(inter_name *name, kind *K) {
|
|||
return save;
|
||||
}
|
||||
|
||||
packaging_state EmitArrays::begin_inline(inter_name *name, kind *K) {
|
||||
packaging_state save = Packaging::enter_home_of(name);
|
||||
EmitArrays::begin_inner(name, K, FALSE, CONST_LIST_FORMAT_INLINE);
|
||||
return save;
|
||||
}
|
||||
|
||||
@ Sum constants are not really arrays at all, but for difficult reasons to
|
||||
do with linking we store them as such for now. The idea is that we want a
|
||||
constant like |CONST1 + CONST2 + CONST3|, in circumstances where we don't
|
||||
|
|
|
@ -332,9 +332,7 @@ void Emit::intervention(int stage, text_stream *segment, text_stream *part,
|
|||
|
||||
=
|
||||
void Emit::append(inter_name *iname, text_stream *text) {
|
||||
LOG("Append '%S'\n", text);
|
||||
packaging_state save = Packaging::enter_home_of(iname);
|
||||
inter_symbol *symbol = InterNames::to_symbol(iname);
|
||||
Produce::guard(AppendInstruction::new(Emit::at(), symbol, text, Emit::baseline(), NULL));
|
||||
Packaging::exit(Emit::tree(), save);
|
||||
SymbolAnnotation::set_t(InterPackage::tree(InterSymbol::package(symbol)),
|
||||
InterSymbol::package(symbol), symbol, APPEND_IANN, text);
|
||||
}
|
||||
|
|
|
@ -187,10 +187,9 @@ parse_node *RTDoors::found_in_for_2_sided(instance *I, instance *R1, instance *R
|
|||
package_request *PR =
|
||||
Hierarchy::package_within(INLINE_PROPERTIES_HAP, RTInstances::package(I));
|
||||
inter_name *S = Hierarchy::make_iname_in(INLINE_PROPERTY_HL, PR);
|
||||
packaging_state save = EmitArrays::begin_word(S, K_value);
|
||||
packaging_state save = EmitArrays::begin_inline(S, K_value);
|
||||
EmitArrays::iname_entry(RTInstances::value_iname(R1));
|
||||
EmitArrays::iname_entry(RTInstances::value_iname(R2));
|
||||
EmitArrays::end(save);
|
||||
InterNames::annotate_b(S, INLINE_ARRAY_IANN, TRUE);
|
||||
return Rvalues::from_iname(S);
|
||||
}
|
||||
|
|
|
@ -19,9 +19,8 @@ parse_node *RTActionBitmaps::compile_action_bitmap_property(inference_subject *s
|
|||
package_request *PR = Hierarchy::package_within(KIND_INLINE_PROPERTIES_HAP, R);
|
||||
N = Hierarchy::make_iname_in(KIND_INLINE_PROPERTY_HL, PR);
|
||||
}
|
||||
packaging_state save = EmitArrays::begin_word(N, K_number);
|
||||
packaging_state save = EmitArrays::begin_inline(N, K_number);
|
||||
for (int i=0; i<=((NUMBER_CREATED(action_name))/16); i++) EmitArrays::numeric_entry(0);
|
||||
EmitArrays::end(save);
|
||||
InterNames::annotate_b(N, INLINE_ARRAY_IANN, TRUE);
|
||||
return Rvalues::from_iname(N);
|
||||
}
|
||||
|
|
|
@ -70,7 +70,7 @@ inherit from classes. The concept of additive properties does not exist in Inter
|
|||
parse_node *Name::name_property_array(instance *I, wording W, wording PW,
|
||||
int from_kind) {
|
||||
inter_name *name_array = Name::get_name_array_iname(I->as_subject);
|
||||
packaging_state save = EmitArrays::begin_word(name_array, K_value);
|
||||
packaging_state save = EmitArrays::begin_inline(name_array, K_value);
|
||||
|
||||
LOOP_THROUGH_WORDING(j, W) {
|
||||
vocabulary_entry *ve = Lexer::word(j);
|
||||
|
@ -112,6 +112,5 @@ parse_node *Name::name_property_array(instance *I, wording W, wording PW,
|
|||
}
|
||||
|
||||
EmitArrays::end(save);
|
||||
InterNames::annotate_b(name_array, INLINE_ARRAY_IANN, TRUE);
|
||||
return Rvalues::from_iname(name_array);
|
||||
}
|
||||
|
|
|
@ -111,6 +111,12 @@ is not legal, and the keyword |bounded| cannot be used.
|
|||
for |product{ }|, |difference{ }| and |quotient{ }|. Empty calculated values
|
||||
are not legal.
|
||||
|
||||
(*) Finally, two special forms of list which are used only in interactive fiction
|
||||
projects, and whose semantics are identical to regular lists except for the special
|
||||
ways they are compiled: |grammar{ ... }| makes a list which is the command-parser
|
||||
grammar for a command verb, and |inline{ ... }| makes a list which is to be the
|
||||
value of a property compiled "inline".
|
||||
|
||||
@ Readers with experience of Inform 6 will recognise that |{ ... }| and |bytes{ ... }|
|
||||
correspond to I6's |Array -->| and |Array ->| respectively, that |bounded { ... }|
|
||||
and |bounded bytes{ ... }| correspond to |Array table| and |Array buffer|, and
|
||||
|
@ -475,25 +481,15 @@ question. Because I7 allows those properties to be modified or read either
|
|||
qua properties or qua table entries, we cannot avoid giving Inter a similar
|
||||
ability, even though we might prefer not to.
|
||||
|
||||
@h Append and insert.
|
||||
Never use either |append| or |insert|.
|
||||
@h Insert.
|
||||
Never use |insert|.
|
||||
|
||||
@ Well, okay then. These disreputable constructs exist to implement very
|
||||
low-level features of Inform 7, going back to its earliest days as a programming
|
||||
language, when people were still writing strange hybrid programs partly in I6.
|
||||
@ Well, okay then. This exists to implement very low-level features of Inform 7,
|
||||
going back to its earliest days as a programming language, when people were
|
||||
still writing strange hybrid programs partly in I6.
|
||||
|
||||
|append| attaches raw I6-syntax additions to any instance or enumerated type.
|
||||
For example, the I7 source text:
|
||||
= (text as Inform 7)
|
||||
Include (- has door, -) when defining a door.
|
||||
=
|
||||
leads to:
|
||||
= (text as Inter)
|
||||
append K4_door " has door, \n"
|
||||
=
|
||||
|
||||
|insert| is simpler, and tells Inter that it needs to add this raw I6-syntax
|
||||
material to the program:
|
||||
|insert| tells Inter that it needs to add this raw I6-syntax material to the
|
||||
program:
|
||||
= (text as Inter)
|
||||
insert "\n[ LITTLE_USED_DO_NOTHING_R; rfalse; ];\n"
|
||||
=
|
||||
|
|
|
@ -4,148 +4,123 @@ The standard set of symbol annotations used within Inform.
|
|||
|
||||
@h Status.
|
||||
The Inter specification allows for any number of annotations to be used;
|
||||
none are required.
|
||||
none are required. The ones listed below are those used in the Inform toolchain
|
||||
at present.
|
||||
|
||||
The Inform compiler, however, has a standard set of annotations used to
|
||||
pass hints from the front end of the compiler to the back end; hints which
|
||||
mainly do not change the meaning of the program, but cause the eventual
|
||||
Inform 6 code to be generated in a particular order, or using particular
|
||||
syntaxes, to be make it easier to read or more compatible with code not
|
||||
generated by I7.
|
||||
As a general guideline, annotations are best used for temporary storage during
|
||||
complex operations (optimisation, code generation, and so on), rather than for
|
||||
information which changes the functionality of a program. But this is only a
|
||||
guideline, and several of the cases below could be argued to break it.
|
||||
|
||||
@h Miscellaneous constants.
|
||||
What is certainly true is that we want to avoid annotations if there are better
|
||||
ways to achieve the same thing. At one time there were over 30 in use, but the
|
||||
figure is now below 10.
|
||||
|
||||
@ |__late|. Applies to |constant|. Suggests that this should be placed late
|
||||
on the final compiled code, rather than at its current place. (This clue
|
||||
helps the I6 code generator to avoid not-yet-declared errors; I6 is quite
|
||||
finicky about code ordering.)
|
||||
@h Translation.
|
||||
The final code we generate is itself (probably) the source code of a program
|
||||
in some other language -- C, for example. That means that most of the symbols
|
||||
in our Inter program will be "translated" into identifiers in that final
|
||||
program. For example, the Inter declaration:
|
||||
= (text as Inter)
|
||||
constant BakersDozen = 13
|
||||
=
|
||||
might ultimately be compiled to:
|
||||
= (text as C)
|
||||
#define CON_019900_BKRSDZN 13
|
||||
=
|
||||
An exaggerated example, perhaps, but the point is that it's normally none of
|
||||
our business what identifiers the final code-generator chooses to use.
|
||||
|
||||
@ |__noun_filter|. Applies to |constant| which is a function. Marks that this
|
||||
function is a noun filter in command parser grammar.
|
||||
However, we can override its choice like so:
|
||||
= (text as Inter)
|
||||
constant BakersDozen = 13 __translation="BAKERS_DOZEN"
|
||||
=
|
||||
And now it would come out as:
|
||||
= (text as C)
|
||||
#define BAKERS_DOZEN 13
|
||||
=
|
||||
|
||||
@ |__scope_filter|. Applies to |constant| which is a function. Marks that this
|
||||
function is a scope filter in command parser grammar.
|
||||
The |__translation| annotation is sometimes added by the final code-generator
|
||||
itself, to keep track of its translation decisions, but can also be added by
|
||||
the Inform 7 front-end compiler. Ideally it wouldn't ever do so, but this is
|
||||
the only sensible way to implement the low-level language feature:
|
||||
= (text as Inform 7)
|
||||
The tally is a number that varies. The tally translates into Inter as "SHAZAM".
|
||||
=
|
||||
And this is in turn is a feature we can't simply abolish, or not without
|
||||
inventing some similar bodge, because it's needed in order to reconcile the
|
||||
natural-language names for certain standard properties (e.g., "lighted")
|
||||
with their kit-source equivalents (e.g. |lit|).
|
||||
|
||||
@ |__action|. Applies to |constant|. Marks it as the name of an action.
|
||||
@h Append.
|
||||
Like the |insert| instruction (see //Data Packages in Textual Inter//), the
|
||||
|__append| annotation subverts Inter by writing some code in raw Inform 6
|
||||
syntax. This can be added to any definition of an instance of an object type,
|
||||
or to the type itself.
|
||||
|
||||
@ |__fake_action|. Applies to symbols already tagged |_action|, and marks
|
||||
that their actions are I6 template fake actions. (It currently contains
|
||||
just four of these.)
|
||||
For example, the I7 source text:
|
||||
= (text as Inform 7)
|
||||
Include (- has door, -) when defining a door.
|
||||
=
|
||||
leads to:
|
||||
= (text as Inter)
|
||||
kind K4_door <= K1_thing __append=" has door, "
|
||||
=
|
||||
|
||||
@ |__assimilated|. Applies to |constant|. Marks it as a symbol defined in
|
||||
I6 template code which has been assimilated into memory inter.
|
||||
Whereas to some extent |insert| can work even if the target is not I6, the
|
||||
|__append| annotation ties the program to I6 only. At some point we may
|
||||
simply abolish the "Include... when defining..." feature from I7, and then
|
||||
we'll gladly remove |__append|. Consider it deprecated already.
|
||||
|
||||
@ |__holding|. Applies to |constant|. This is part of a convoluted system
|
||||
for handling references to constants not yet defined, in the sense that
|
||||
the inter to define them has not yet been generated in memory. A "holding"
|
||||
constant is used to reserve a name for later definition.
|
||||
@h Assimilation markers.
|
||||
Every symbol (other than a function name) whose definition was assimilated from
|
||||
Inform 6-syntax code in the source of a kit is given the boolean annotation
|
||||
|__assimilated|.
|
||||
|
||||
@ |__delenda_est|. Applies to |constant|. Likewise; but marks a symbol for
|
||||
later deletion rather than later definition.
|
||||
In addition, if the definition is of a fake action or an object, the annotation
|
||||
|__fake_action| or |__object| will be applied. For example:
|
||||
|
||||
@h Constant lists.
|
||||
= (text as Inform 6)
|
||||
Constant Dozen = 12;
|
||||
Fake_action PluralFound;
|
||||
Object thedark "(darkness object)";
|
||||
=
|
||||
assimilates to:
|
||||
= (text as Inter)
|
||||
package Dozen_con _plain
|
||||
constant Dozen = 12 __assimilated
|
||||
package ##PluralFound_con _plain
|
||||
constant ##PluralFound = 0 __assimilated __fake_action
|
||||
package thedark_con _plain
|
||||
constant thedark = 0 __assimilated __object
|
||||
=
|
||||
See the Inter test case |Assim|.
|
||||
|
||||
@ |__buffer_array|. Applies to |constant| which is a literal list. Asks
|
||||
this to be compiled as virtual machine command parsing buffer.
|
||||
These three markers are applied only during assimilation, and thus only by Inter.
|
||||
The main Inform 7 compiler never applies them.
|
||||
|
||||
@ |__byte_array|. Applies to |constant| which is a literal list. Asks
|
||||
this to be compiled as an array of bytes.
|
||||
It would be feasible to combine these three annotations into a single one, say
|
||||
|__assimilated_from="DIRECTIVE"|, marking everything with the I6 directive it
|
||||
came from. But while that would be elegant it would cost storage and time.
|
||||
Boolean annotations are cheaper, and |__assimilated| occurs a lot.
|
||||
|
||||
@ |__string_array|. Applies to |constant| which is a literal list. Asks this
|
||||
to be compiled as an array of bytes preceded by its size.
|
||||
@h Miscellaneous code-generation storage.
|
||||
As noted above, the main use case intended for annotations is as a way for
|
||||
optimisation or code-generation pipeline steps to attach notes to the tree.
|
||||
These are of no significance once those steps are complete, and do not change
|
||||
the meaning of the program.
|
||||
|
||||
@ |__table_array|. Applies to |constant| which is a literal list. Asks this
|
||||
to be compiled as an array of words preceded by its size.
|
||||
They can also come or go without notice; they are not really part of the Inter
|
||||
specification at all. But briefly, the current set used is:
|
||||
|
||||
@ |__inline_array|. Applies to |constant| which is a literal list. Asks that,
|
||||
if this is compiled as a property value in Inform 6, it should use the inline
|
||||
syntax (as is conventional for the I6 |name| property, for example).
|
||||
|__inner_property_name="NAME"| is used by //final: Vanilla Objects// to mark
|
||||
which property name belongs to which two-word property array.
|
||||
|
||||
@ |__verb|. Applies to |constant| which is a literal list. Asks this to be
|
||||
compiled as Inform 6 command parser grammar.
|
||||
|__object_kind_counter=NUMBER| is used by //pipeline: Kinds// to number off
|
||||
the kinds of object found in the program.
|
||||
|
||||
@ |__meta_verb|. Applies to |constant| which is a literal list and also has
|
||||
the |__verb| annotation: means that this is a "meta-verb", and should be
|
||||
compiled after the regular verbs.
|
||||
|__array_address=NUMBER| is used by //final: C Memory Model// to mark the
|
||||
address in process memory of each array.
|
||||
|
||||
@h Primitive names.
|
||||
|
||||
@ |__bip|. Applies to |primitive|. This is used internally in the code
|
||||
generator to match textual names such as |!bitwisenot| with functionality:
|
||||
it's essentially a cache to avoid having to parse names over and over.
|
||||
(BIP stands for "built in primitive".)
|
||||
|
||||
@h Local variables.
|
||||
|
||||
@ |__call_parameter|. Applies to |local|. Inform's front end marks
|
||||
call parameters this way in case optimisation stages in the back end might
|
||||
need to know; and if nothing else, it enables the code generator to print
|
||||
I6 comments showing the intention.
|
||||
|
||||
@ |__implied_call_parameter|. Applies to |local|. Similarly. What
|
||||
makes a call parameter "implied" is that it is not directly one of the
|
||||
tokens from an Inform 7 function, but has been added for some implementation
|
||||
reason. For example, a phrase option bitmap is passed as an implied call
|
||||
parameter.
|
||||
|
||||
@h Global variables.
|
||||
|
||||
@ |__explicit_variable|. Applies to |variable|. Marks this as having a name
|
||||
already supplied in high-level I7 source text.
|
||||
|
||||
@h Kinds.
|
||||
|
||||
@ |__weak_ID|. Applies to |kind|. The weak ID of a kind is a single small
|
||||
non-negative integer which is unique to that kind's constructor; it can't
|
||||
distinguish between lists of X and lists of Y, but in general it can
|
||||
distinguish a list from a number, or a number from a text. This annotation
|
||||
marks the name of a kind with the same weak ID value which will be used
|
||||
at run-time for that kind.
|
||||
|
||||
@ |__source_order|. Applies (undependently) to |property| and to |kind|:
|
||||
a lower value for this annotation means that one property was defined earlier
|
||||
in the Inform source text that the other, and similarly for kinds.
|
||||
|
||||
@h Instances.
|
||||
|
||||
@ |__object_kind_counter|. Applies to |kind|. Towards the end of code
|
||||
generation, it's convenient to count the subkinds of |K_object| in order
|
||||
of their creation in the original source text. That count is recorded
|
||||
here: |K1_thing| will get |__object_kind_counter=1|, and so on.
|
||||
|
||||
@ |__arrow_count|. Applies to |instance| of objects; it's the depth in the
|
||||
spatial containment tree, where 0 is the top level (usually rooms), 1 the
|
||||
level for things immediately inside level-0 objects, and so on. So called
|
||||
because the Inform 6 notation for containment is this many |->| arrows in
|
||||
a row. This is applied only at the final stage of code generation.
|
||||
|
||||
@ |__declaration_order|. Applies to |instance| of objects; it's the order
|
||||
in which they are declared in the final Inform 6 code, with the first object
|
||||
as 0, and so on. This is applied only at the final stage of code generation.
|
||||
|
||||
@h Properties.
|
||||
|
||||
@ |__either_or|. Applies to |property|. Marks it as one which is either
|
||||
held or not held.
|
||||
|
||||
@ |__attribute|. Applies to |property|, and only to those also annotated
|
||||
with |__either_or|. Asks to compile this at run-time as a virtual machine
|
||||
attribute.
|
||||
|
||||
@ |__explicit_attribute|. Applies to |property|, and only to those also
|
||||
annotated with |__either_or|. Marks this as not only an attribute, but one
|
||||
with a name already supplied in high-level I7 source text.
|
||||
|
||||
@ |__property_name|. Applies to |property|. Where a property name came from
|
||||
I7 source text, and thus has a friendly sort of name ("carrying capacity",
|
||||
for example), the Inform front end applies this annotation. The back end
|
||||
then uses it only to help run-time I6 code prpduce better error messages
|
||||
if the program uses the property incorrectly.
|
||||
|
||||
@ |__rto|. Applies to |property|, and marks it as a run-time only property:
|
||||
that is, not one which is explicitly present in the Inform 7 source text,
|
||||
but one which has been added to provide run-time support for some feature.
|
||||
|
||||
@ |__source_order|. Applies (undependently) to |property| and to |kind|:
|
||||
a lower value for this annotation means that one property was defined earlier
|
||||
in the Inform source text that the other, and similarly for kinds.
|
||||
|__global_offset=NUMBER| is used by //final: Inform 6 Global Variables// to
|
||||
mark where in its array of global variables a given variable lives.
|
||||
|
|
|
@ -24,3 +24,5 @@ package main _plain
|
|||
splat STUB "#Stub Peach 0;\n"
|
||||
splat ATTRIBUTE "Attribute marmorial;\n"
|
||||
splat PROPERTY "Property density;\n"
|
||||
splat FAKEACTION "Fake_action PluralFound;\n"
|
||||
splat OBJECT "Object thedark \"(darkness object)\";\n"
|
||||
|
|
|
@ -23,6 +23,10 @@ package main _plain
|
|||
constant Budger = 32738 __assimilated
|
||||
package Bydger_con _plain
|
||||
constant Bydger = 777 __assimilated
|
||||
package ##PluralFound_con _plain
|
||||
constant ##PluralFound = 0 __assimilated __fake_action
|
||||
package thedark_con _plain
|
||||
constant thedark = 0 __assimilated __object
|
||||
package Falsity_fn _function
|
||||
package Falsity _code
|
||||
code
|
||||
|
|
|
@ -2,14 +2,6 @@
|
|||
packagetype _plain
|
||||
packagetype _code
|
||||
packagetype _linkage
|
||||
packagetype _module
|
||||
packagetype _submodule
|
||||
packagetype _function
|
||||
packagetype _action
|
||||
packagetype _command
|
||||
packagetype _property
|
||||
packagetype _to_phrase
|
||||
packagetype _response
|
||||
#Pragmas:
|
||||
#Primitives:
|
||||
primitive !plus val val -> val
|
||||
|
@ -109,12 +101,12 @@ primitive !message3 val val val val val -> val
|
|||
primitive !externalcall val val -> val
|
||||
package main _plain
|
||||
package architectural _linkage
|
||||
constant WORDSIZE = 2 __architectural
|
||||
constant NULL = 0xffff __architectural
|
||||
constant WORD_HIGHBIT = 0x8000 __architectural
|
||||
constant WORD_NEXTTOHIGHBIT = 0x4000 __architectural
|
||||
constant IMPROBABLE_VALUE = 0x7fe3 __architectural
|
||||
constant MAX_POSITIVE_NUMBER = 32767 __architectural
|
||||
constant MIN_NEGATIVE_NUMBER = -32768 __architectural
|
||||
constant TARGET_ZCODE = 1 __architectural
|
||||
constant DEBUG = 1 __architectural
|
||||
constant WORDSIZE = 2
|
||||
constant NULL = 0xffff
|
||||
constant WORD_HIGHBIT = 0x8000
|
||||
constant WORD_NEXTTOHIGHBIT = 0x4000
|
||||
constant IMPROBABLE_VALUE = 0x7fe3
|
||||
constant MAX_POSITIVE_NUMBER = 32767
|
||||
constant MIN_NEGATIVE_NUMBER = -32768
|
||||
constant TARGET_ZCODE = 1
|
||||
constant DEBUG = 1
|
||||
|
|
|
@ -2,14 +2,6 @@
|
|||
packagetype _plain
|
||||
packagetype _code
|
||||
packagetype _linkage
|
||||
packagetype _module
|
||||
packagetype _submodule
|
||||
packagetype _function
|
||||
packagetype _action
|
||||
packagetype _command
|
||||
packagetype _property
|
||||
packagetype _to_phrase
|
||||
packagetype _response
|
||||
#Pragmas:
|
||||
#Primitives:
|
||||
primitive !plus val val -> val
|
||||
|
@ -109,12 +101,12 @@ primitive !message3 val val val val val -> val
|
|||
primitive !externalcall val val -> val
|
||||
package main _plain
|
||||
package architectural _linkage
|
||||
constant WORDSIZE = 2 __architectural
|
||||
constant NULL = 0xffff __architectural
|
||||
constant WORD_HIGHBIT = 0x8000 __architectural
|
||||
constant WORD_NEXTTOHIGHBIT = 0x4000 __architectural
|
||||
constant IMPROBABLE_VALUE = 0x7fe3 __architectural
|
||||
constant MAX_POSITIVE_NUMBER = 32767 __architectural
|
||||
constant MIN_NEGATIVE_NUMBER = -32768 __architectural
|
||||
constant TARGET_ZCODE = 1 __architectural
|
||||
constant DEBUG = 1 __architectural
|
||||
constant WORDSIZE = 2
|
||||
constant NULL = 0xffff
|
||||
constant WORD_HIGHBIT = 0x8000
|
||||
constant WORD_NEXTTOHIGHBIT = 0x4000
|
||||
constant IMPROBABLE_VALUE = 0x7fe3
|
||||
constant MAX_POSITIVE_NUMBER = 32767
|
||||
constant MIN_NEGATIVE_NUMBER = -32768
|
||||
constant TARGET_ZCODE = 1
|
||||
constant DEBUG = 1
|
||||
|
|
|
@ -182,10 +182,6 @@ not, in fact, all constants -- |self| is a variable at runtime -- but again,
|
|||
it's for the code-generator to define them as it would like, on a platform
|
||||
by platform basis.
|
||||
|
||||
Such symbols are the only ones given the |VENEER_IANN| annotation; the term
|
||||
veneer alludes to Inform 6's practice of creating a few built-in definitions
|
||||
which form the "veneer" of the story file it is generating.
|
||||
|
||||
For speed, the names of the permitted veneer symbols are stored in a dictionary.
|
||||
(This may not in fact be worth the overhead any longer: at one time there were
|
||||
many more of these.)
|
||||
|
@ -198,6 +194,27 @@ inter_symbol *LargeScale::find_architectural_symbol(inter_tree *I, text_stream *
|
|||
inter_symbols_table *tab = InterPackage::scope(arch);
|
||||
inter_symbol *S = InterSymbolsTable::symbol_from_name(tab, N);
|
||||
if (S == NULL) {
|
||||
@<Ensure the on-demand dictionary exists@>;
|
||||
if (Dictionaries::find(create_these_architectural_symbols_on_demand, N)) {
|
||||
S = LargeScale::arch_constant_dec(I, N, InterTypes::unchecked(), 0);
|
||||
}
|
||||
}
|
||||
return S;
|
||||
}
|
||||
|
||||
int LargeScale::is_veneer_symbol(inter_symbol *con_name) {
|
||||
if (con_name == NULL) return FALSE;
|
||||
inter_tree_node *D = con_name->definition;
|
||||
if (D == NULL) return FALSE;
|
||||
if (Inode::get_package(D) == LargeScale::architecture_package(Inode::tree(D))) {
|
||||
text_stream *N = InterSymbol::identifier(con_name);
|
||||
if (Dictionaries::find(create_these_architectural_symbols_on_demand, N))
|
||||
return TRUE;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@<Ensure the on-demand dictionary exists@> =
|
||||
if (create_these_architectural_symbols_on_demand == NULL) {
|
||||
create_these_architectural_symbols_on_demand = Dictionaries::new(16, TRUE);
|
||||
Dictionaries::create(create_these_architectural_symbols_on_demand, I"#dictionary_table");
|
||||
|
@ -209,13 +226,6 @@ inter_symbol *LargeScale::find_architectural_symbol(inter_tree *I, text_stream *
|
|||
Dictionaries::create(create_these_architectural_symbols_on_demand, I"Class");
|
||||
Dictionaries::create(create_these_architectural_symbols_on_demand, I"Object");
|
||||
}
|
||||
if (Dictionaries::find(create_these_architectural_symbols_on_demand, N)) {
|
||||
S = LargeScale::arch_constant_dec(I, N, InterTypes::unchecked(), 0);
|
||||
SymbolAnnotation::set_b(S, VENEER_IANN, TRUE);
|
||||
}
|
||||
}
|
||||
return S;
|
||||
}
|
||||
|
||||
@ The other architectural constants are the ones depending on the architecture
|
||||
being compiled to. These always exist, and their values are known at compile time.
|
||||
|
@ -279,7 +289,6 @@ inter_symbol *LargeScale::arch_constant(inter_tree *I, text_stream *N,
|
|||
inter_package *arch = LargeScale::architecture_package(I);
|
||||
inter_symbols_table *tab = InterPackage::scope(arch);
|
||||
inter_symbol *S = InterSymbolsTable::symbol_from_name_creating(tab, N);
|
||||
SymbolAnnotation::set_b(S, ARCHITECTURAL_IANN, TRUE);
|
||||
inter_bookmark *IBM = &(I->site.strdata.architecture_bookmark);
|
||||
Produce::guard(ConstantInstruction::new(IBM, S, type, val,
|
||||
(inter_ti) InterBookmark::baseline(IBM) + 1, NULL));
|
||||
|
|
|
@ -61,12 +61,9 @@ The set of annotations used by the Inform tool suite is as follows.
|
|||
|
||||
@e INVALID_IANN from 0
|
||||
|
||||
@e ARCHITECTURAL_IANN
|
||||
@e ASSIMILATED_IANN
|
||||
@e FAKE_ACTION_IANN
|
||||
@e INLINE_ARRAY_IANN
|
||||
@e OBJECT_IANN
|
||||
@e VENEER_IANN
|
||||
|
||||
@e C_ARRAY_ADDRESS_IANN
|
||||
@e I6_GLOBAL_OFFSET_IANN
|
||||
|
@ -83,12 +80,9 @@ any symbol: it's used to mean "do not make an annotation".
|
|||
void SymbolAnnotation::declare_canonical_annotations(void) {
|
||||
SymbolAnnotation::declare(INVALID_IANN, I"__invalid", INTEGER_IATYPE);
|
||||
|
||||
SymbolAnnotation::declare(ARCHITECTURAL_IANN, I"__architectural", BOOLEAN_IATYPE);
|
||||
SymbolAnnotation::declare(ASSIMILATED_IANN, I"__assimilated", BOOLEAN_IATYPE);
|
||||
SymbolAnnotation::declare(FAKE_ACTION_IANN, I"__fake_action", BOOLEAN_IATYPE);
|
||||
SymbolAnnotation::declare(INLINE_ARRAY_IANN, I"__inline_array", BOOLEAN_IATYPE);
|
||||
SymbolAnnotation::declare(OBJECT_IANN, I"__object", BOOLEAN_IATYPE);
|
||||
SymbolAnnotation::declare(VENEER_IANN, I"__veneer", BOOLEAN_IATYPE);
|
||||
|
||||
SymbolAnnotation::declare(APPEND_IANN, I"__append", TEXTUAL_IATYPE);
|
||||
SymbolAnnotation::declare(INNER_PROPERTY_NAME_IANN, I"__inner_property_name", TEXTUAL_IATYPE);
|
||||
|
|
|
@ -326,7 +326,7 @@ there are three bad possibilities:
|
|||
LOOP_OVER_SYMBOLS_TABLE(S, T) {
|
||||
if (Wiring::is_wired(S)) {
|
||||
inter_symbol *target = Wiring::cable_end(S);
|
||||
if (SymbolAnnotation::get_b(target, ARCHITECTURAL_IANN))
|
||||
if (pack == LargeScale::architecture_package(I))
|
||||
@<S is wired to an architectural symbol in the origin tree@>
|
||||
else if (InterSymbol::is_plug(target))
|
||||
@<S is wired to a loose plug in the origin tree@>
|
||||
|
|
|
@ -295,7 +295,6 @@ bump of //The Inter Version//.
|
|||
|
||||
These are constructs used for instructions outside function bodies:
|
||||
|
||||
@e APPEND_IST
|
||||
@e COMMENT_IST
|
||||
@e CONSTANT_IST
|
||||
@e INSTANCE_IST
|
||||
|
@ -384,7 +383,6 @@ void InterInstruction::create_language(void) {
|
|||
VersionInstruction::define_construct();
|
||||
PragmaInstruction::define_construct();
|
||||
InsertInstruction::define_construct();
|
||||
AppendInstruction::define_construct();
|
||||
TypenameInstruction::define_construct();
|
||||
ConstantInstruction::define_construct();
|
||||
InstanceInstruction::define_construct();
|
||||
|
|
|
@ -1,85 +0,0 @@
|
|||
[AppendInstruction::] The Append Construct.
|
||||
|
||||
Defining the append construct.
|
||||
|
||||
@h Definition.
|
||||
For what this does and why it is used, see //inter: Data Packages in Textual Inter//.
|
||||
But please use it as little as possible: in an ideal world it would be abolished.
|
||||
|
||||
=
|
||||
void AppendInstruction::define_construct(void) {
|
||||
inter_construct *IC = InterInstruction::create_construct(APPEND_IST, I"append");
|
||||
InterInstruction::specify_syntax(IC, I"append IDENTIFIER TEXT");
|
||||
InterInstruction::data_extent_always(IC, 2);
|
||||
InterInstruction::permit(IC, INSIDE_PLAIN_PACKAGE_ICUP);
|
||||
METHOD_ADD(IC, CONSTRUCT_VERIFY_MTID, AppendInstruction::verify);
|
||||
METHOD_ADD(IC, CONSTRUCT_TRANSPOSE_MTID, AppendInstruction::transpose);
|
||||
METHOD_ADD(IC, CONSTRUCT_READ_MTID, AppendInstruction::read);
|
||||
METHOD_ADD(IC, CONSTRUCT_WRITE_MTID, AppendInstruction::write);
|
||||
}
|
||||
|
||||
@h Instructions.
|
||||
In bytecode, the frame of an |append| instruction is laid out with the
|
||||
compulsory words -- see //Inter Nodes// -- followed by:
|
||||
|
||||
@d SYMBOL_APPEND_IFLD (DATA_IFLD + 0)
|
||||
@d CONTENT_APPEND_IFLD (DATA_IFLD + 1)
|
||||
|
||||
=
|
||||
inter_error_message *AppendInstruction::new(inter_bookmark *IBM, inter_symbol *S,
|
||||
text_stream *append_text, inter_ti level, struct inter_error_location *eloc) {
|
||||
inter_tree_node *P = Inode::new_with_2_data_fields(IBM, APPEND_IST,
|
||||
/* SYMBOL_APPEND_IFLD: */ InterSymbolsTable::id_at_bookmark(IBM, S),
|
||||
/* CONTENT_APPEND_IFLD: */ InterWarehouse::create_text_at(IBM, append_text),
|
||||
eloc, level);
|
||||
inter_error_message *E = VerifyingInter::instruction(InterBookmark::package(IBM), P);
|
||||
if (E) return E;
|
||||
NodePlacement::move_to_moving_bookmark(P, IBM);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
void AppendInstruction::transpose(inter_construct *IC, inter_tree_node *P,
|
||||
inter_ti *grid, inter_ti grid_extent, inter_error_message **E) {
|
||||
P->W.instruction[CONTENT_APPEND_IFLD] = grid[P->W.instruction[CONTENT_APPEND_IFLD]];
|
||||
}
|
||||
|
||||
@ Verification consists of sanity checks followed by some cross-referencing.
|
||||
|
||||
=
|
||||
void AppendInstruction::verify(inter_construct *IC, inter_tree_node *P,
|
||||
inter_package *owner, inter_error_message **E) {
|
||||
*E = VerifyingInter::SID_field(owner, P, SYMBOL_APPEND_IFLD, INVALID_IST);
|
||||
if (*E) return;
|
||||
*E = VerifyingInter::text_field(owner, P, CONTENT_APPEND_IFLD);
|
||||
if (*E) return;
|
||||
|
||||
inter_symbol *S = InterSymbolsTable::symbol_from_ID_at_node(P, SYMBOL_APPEND_IFLD);
|
||||
text_stream *content = Inode::ID_to_text(P, P->W.instruction[CONTENT_APPEND_IFLD]);
|
||||
SymbolAnnotation::set_t(P->tree, P->package, S, APPEND_IANN, content);
|
||||
}
|
||||
|
||||
@h Creating from textual Inter syntax.
|
||||
|
||||
=
|
||||
void AppendInstruction::read(inter_construct *IC, inter_bookmark *IBM, inter_line_parse *ilp,
|
||||
inter_error_location *eloc, inter_error_message **E) {
|
||||
text_stream *identifier = ilp->mr.exp[0], *content = ilp->mr.exp[1];
|
||||
|
||||
inter_symbol *S = InterSymbolsTable::symbol_from_name(InterBookmark::scope(IBM), identifier);
|
||||
if (S == NULL) { *E = InterErrors::quoted(I"no such identifier", identifier, eloc); return; }
|
||||
|
||||
TEMPORARY_TEXT(raw)
|
||||
*E = TextualInter::parse_literal_text(raw, content, 0, Str::len(content), eloc);
|
||||
if (*E == NULL) *E = AppendInstruction::new(IBM, S, raw, (inter_ti) ilp->indent_level, eloc);
|
||||
DISCARD_TEXT(content)
|
||||
}
|
||||
|
||||
@h Writing to textual Inter syntax.
|
||||
|
||||
=
|
||||
void AppendInstruction::write(inter_construct *IC, OUTPUT_STREAM, inter_tree_node *P) {
|
||||
inter_symbol *S = InterSymbolsTable::symbol_from_ID_at_node(P, SYMBOL_APPEND_IFLD);
|
||||
text_stream *content = Inode::ID_to_text(P, P->W.instruction[CONTENT_APPEND_IFLD]);
|
||||
WRITE("append %S ", InterSymbol::identifier(S));
|
||||
TextualInter::write_text(OUT, content);
|
||||
}
|
|
@ -61,16 +61,17 @@ can therefore be calculated as half of (the instruction extent minus |DATA_CONST
|
|||
@d CONST_LIST_FORMAT_B_BYTES 7
|
||||
@d CONST_LIST_FORMAT_B_BYTES_BY_EXTENT 8
|
||||
@d CONST_LIST_FORMAT_GRAMMAR 9
|
||||
@d CONST_LIST_FORMAT_SUM 10
|
||||
@d CONST_LIST_FORMAT_PRODUCT 11
|
||||
@d CONST_LIST_FORMAT_DIFFERENCE 12
|
||||
@d CONST_LIST_FORMAT_QUOTIENT 13
|
||||
@d CONST_LIST_FORMAT_STRUCT 14
|
||||
@d CONST_LIST_FORMAT_INLINE 10
|
||||
@d CONST_LIST_FORMAT_SUM 11
|
||||
@d CONST_LIST_FORMAT_PRODUCT 12
|
||||
@d CONST_LIST_FORMAT_DIFFERENCE 13
|
||||
@d CONST_LIST_FORMAT_QUOTIENT 14
|
||||
@d CONST_LIST_FORMAT_STRUCT 15
|
||||
|
||||
=
|
||||
int ConstantInstruction::is_a_genuine_list_format(inter_ti format) {
|
||||
if ((format >= CONST_LIST_FORMAT_WORDS) &&
|
||||
(format <= CONST_LIST_FORMAT_GRAMMAR))
|
||||
(format <= CONST_LIST_FORMAT_INLINE))
|
||||
return TRUE;
|
||||
return FALSE;
|
||||
}
|
||||
|
@ -219,6 +220,7 @@ void ConstantInstruction::read(inter_construct *IC, inter_bookmark *IBM,
|
|||
else if (Regexp::match(&mr2, S, L"difference{ *(%c*) *}")) fmt = CONST_LIST_FORMAT_DIFFERENCE;
|
||||
else if (Regexp::match(&mr2, S, L"quotient{ *(%c*) *}")) fmt = CONST_LIST_FORMAT_QUOTIENT;
|
||||
else if (Regexp::match(&mr2, S, L"grammar{ *(%c*) *}")) fmt = CONST_LIST_FORMAT_GRAMMAR;
|
||||
else if (Regexp::match(&mr2, S, L"inline{ *(%c*) *}")) fmt = CONST_LIST_FORMAT_INLINE;
|
||||
else if (Regexp::match(&mr2, S, L"{ *(%c*?) *}")) fmt = CONST_LIST_FORMAT_WORDS;
|
||||
else if (Regexp::match(&mr2, S, L"bytes{ *(%c*?) *}")) fmt = CONST_LIST_FORMAT_BYTES;
|
||||
else if (Regexp::match(&mr2, S, L"list of *(%c*?) bytes")) fmt = CONST_LIST_FORMAT_BYTES_BY_EXTENT;
|
||||
|
@ -303,6 +305,7 @@ void ConstantInstruction::write(inter_construct *IC, OUTPUT_STREAM, inter_tree_n
|
|||
case CONST_LIST_FORMAT_DIFFERENCE: WRITE("difference"); break;
|
||||
case CONST_LIST_FORMAT_QUOTIENT: WRITE("quotient"); break;
|
||||
case CONST_LIST_FORMAT_GRAMMAR: WRITE("grammar"); break;
|
||||
case CONST_LIST_FORMAT_INLINE: WRITE("inline"); break;
|
||||
case CONST_LIST_FORMAT_STRUCT: WRITE("struct"); break;
|
||||
case CONST_LIST_FORMAT_BYTES: WRITE("bytes"); break;
|
||||
case CONST_LIST_FORMAT_WORDS_BY_EXTENT: WRITE("list of "); break;
|
||||
|
@ -372,6 +375,14 @@ inter_pair ConstantInstruction::list_entry(inter_tree_node *P, int i) {
|
|||
return InterValuePairs::get(P, field);
|
||||
}
|
||||
|
||||
int ConstantInstruction::is_inline(inter_symbol *const_s) {
|
||||
if ((const_s) && (const_s->definition) &&
|
||||
(ConstantInstruction::list_format(const_s->definition) ==
|
||||
CONST_LIST_FORMAT_INLINE))
|
||||
return TRUE;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@h Definitional depth of a constant.
|
||||
Constants given explicit values have depth 1. Constants defined as equal to
|
||||
other constants have depth 1 more than those other constants. Constants equal
|
||||
|
|
|
@ -36,7 +36,6 @@ Chapter 3: Their Instructions
|
|||
Inter Errors
|
||||
|
||||
Chapter 4: Void Constructs
|
||||
The Append Construct
|
||||
The Comment Construct
|
||||
The Constant Construct
|
||||
The Insert Construct
|
||||
|
|
|
@ -17,7 +17,7 @@ void VanillaConstants::constant(code_generation *gen, inter_tree_node *P) {
|
|||
@<Declare this constant as a fake action name@>;
|
||||
} else if (Str::prefix_eq(S, I"##", 2)) {
|
||||
@<Declare this constant as an action name@>;
|
||||
} else if (SymbolAnnotation::get_b(con_name, VENEER_IANN)) {
|
||||
} else if (LargeScale::is_veneer_symbol(con_name)) {
|
||||
@<Ignore this constant as part of the veneer@>;
|
||||
} else if (SymbolAnnotation::get_b(con_name, OBJECT_IANN)) {
|
||||
@<Declare this constant as a pseudo-object@>;
|
||||
|
|
|
@ -52,10 +52,10 @@ single values. These are, for some reason, called "inline arrays". The I6
|
|||
generator is going to take advantage of this feature: if it sees that a
|
||||
property is actually an address of a small array, it will compile that array
|
||||
directly into the body of the relevant object or class declaration. It therefore
|
||||
does not need to declre the name of this small array, and so --
|
||||
does not need to declare the name of this small array, and so --
|
||||
|
||||
@<Leave undeclared any array used as a value of a property@> =
|
||||
if ((const_s) && (SymbolAnnotation::get_b(const_s, INLINE_ARRAY_IANN)))
|
||||
if (ConstantInstruction::is_inline(const_s))
|
||||
return;
|
||||
|
||||
@ We cannot declare these constants because they exist automatically, and
|
||||
|
|
|
@ -410,7 +410,7 @@ void I6TargetObjects::assign_property(code_generator *gtr, code_generation *gen,
|
|||
int inline_this = FALSE;
|
||||
if (InterValuePairs::is_symbolic(pair)) {
|
||||
inter_symbol *S = InterValuePairs::to_symbol_at(pair, X);
|
||||
if ((S) && (SymbolAnnotation::get_b(S, INLINE_ARRAY_IANN))) {
|
||||
if (ConstantInstruction::is_inline(S)) {
|
||||
inter_tree_node *P = InterSymbol::definition(S);
|
||||
text_stream *OUT = CodeGen::current(gen);
|
||||
for (int i=0; i<ConstantInstruction::list_len(P); i++) {
|
||||
|
@ -420,6 +420,7 @@ void I6TargetObjects::assign_property(code_generator *gtr, code_generation *gen,
|
|||
inline_this = TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
if (inline_this == FALSE) CodeGen::pair(gen, X, pair);
|
||||
CodeGen::deselect_temporary(gen);
|
||||
I6TargetObjects::VM_property(gen, prop_s, val);
|
||||
|
|
|
@ -544,10 +544,8 @@ void CObjectModel::assign_property(code_generator *gtr, code_generation *gen,
|
|||
int inline_this = FALSE;
|
||||
if (InterValuePairs::is_symbolic(pair)) {
|
||||
inter_symbol *S = InterValuePairs::to_symbol_at(pair, X);
|
||||
if ((S) && (SymbolAnnotation::get_b(S, INLINE_ARRAY_IANN)))
|
||||
inline_this = TRUE;
|
||||
if (ConstantInstruction::is_inline(S)) inline_this = TRUE;
|
||||
}
|
||||
|
||||
TEMPORARY_TEXT(val)
|
||||
CodeGen::select_temporary(gen, val);
|
||||
CodeGen::pair(gen, X, pair);
|
||||
|
|
Loading…
Reference in a new issue