mirror of
https://github.com/ganelson/inform.git
synced 2024-06-17 07:40:47 +03:00
Improved pipeline error messages
This commit is contained in:
parent
70ca4155bf
commit
77b894001d
|
@ -1,6 +1,6 @@
|
|||
# Inform 7
|
||||
|
||||
v10.1.0-alpha.1+6T74 'Krypton' (14 November 2021)
|
||||
v10.1.0-alpha.1+6T75 'Krypton' (15 November 2021)
|
||||
|
||||
## About Inform 7
|
||||
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
Prerelease: alpha.1
|
||||
Build Date: 14 November 2021
|
||||
Build Number: 6T74
|
||||
Build Date: 15 November 2021
|
||||
Build Number: 6T75
|
||||
|
|
|
@ -188,7 +188,7 @@ form, which would be written to <span class="extract"><span class="extract-synta
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">SS</span><span class="plain-syntax"> = </span><a href="../pipeline-module/2-pp.html#SP5" class="function-link"><span class="function-syntax">ParsingPipelines::from_file</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">pipeline_as_file</span><span class="plain-syntax">, </span><span class="identifier-syntax">pipeline_vars</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">SS</span><span class="plain-syntax"> = </span><a href="../pipeline-module/2-pp.html#SP5" class="function-link"><span class="function-syntax">ParsingPipelines::from_text</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">pipeline_as_text</span><span class="plain-syntax">, </span><span class="identifier-syntax">pipeline_vars</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">linked_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">requirements_list</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NEW_LINKED_LIST</span><span class="plain-syntax">(</span><span class="identifier-syntax">inter_library</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">linked_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">requirements_list</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NEW_LINKED_LIST</span><span class="plain-syntax">(</span><span class="reserved-syntax">attachment_instruction</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">SS</span><span class="plain-syntax">) </span><a href="../pipeline-module/2-rp.html#SP3" class="function-link"><span class="function-syntax">RunningPipelines::run</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">domain_path</span><span class="plain-syntax">, </span><span class="identifier-syntax">SS</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="identifier-syntax">inter_paths</span><span class="plain-syntax">, </span><span class="identifier-syntax">requirements_list</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><a href="../../../inweb/docs/foundation-module/3-em.html#SP2" class="function-link"><span class="function-syntax">Errors::fatal</span></a><span class="plain-syntax">(</span><span class="string-syntax">"pipeline could not be parsed"</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
|
|
|
@ -90,7 +90,7 @@ which use this module:
|
|||
<span class="definition-keyword">enum</span> <span class="constant-syntax">text_literal_holder_CLASS</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">routine_body_request_CLASS</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">pipeline_stage_CLASS</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">link_instruction_CLASS</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">attachment_instruction_CLASS</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">tree_inventory_CLASS</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">tree_inventory_item_CLASS</span>
|
||||
</pre>
|
||||
|
@ -102,7 +102,7 @@ which use this module:
|
|||
<span class="identifier-syntax">DECLARE_CLASS</span><span class="plain-syntax">(</span><span class="identifier-syntax">text_literal_holder</span><span class="plain-syntax">)</span>
|
||||
<span class="identifier-syntax">DECLARE_CLASS</span><span class="plain-syntax">(</span><span class="reserved-syntax">routine_body_request</span><span class="plain-syntax">)</span>
|
||||
<span class="identifier-syntax">DECLARE_CLASS</span><span class="plain-syntax">(</span><span class="reserved-syntax">pipeline_stage</span><span class="plain-syntax">)</span>
|
||||
<span class="identifier-syntax">DECLARE_CLASS</span><span class="plain-syntax">(</span><span class="reserved-syntax">link_instruction</span><span class="plain-syntax">)</span>
|
||||
<span class="identifier-syntax">DECLARE_CLASS</span><span class="plain-syntax">(</span><span class="reserved-syntax">attachment_instruction</span><span class="plain-syntax">)</span>
|
||||
<span class="identifier-syntax">DECLARE_CLASS</span><span class="plain-syntax">(</span><span class="reserved-syntax">tree_inventory</span><span class="plain-syntax">)</span>
|
||||
<span class="identifier-syntax">DECLARE_CLASS</span><span class="plain-syntax">(</span><span class="reserved-syntax">tree_inventory_item</span><span class="plain-syntax">)</span>
|
||||
</pre>
|
||||
|
@ -174,12 +174,12 @@ is where:
|
|||
<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_architecture</span><span class="plain-syntax"> *</span><span class="function-syntax">PipelineModule::get_architecture</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">PipelineModule::get_architecture</span></span>:<br/>Link - <a href="3-lnk.html#SP2">§2</a><br/>Prepare - <a href="3-prp.html#SP1">§1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">void</span><span class="plain-syntax">) {</span>
|
||||
<span class="identifier-syntax">inter_architecture</span><span class="plain-syntax"> *</span><span class="function-syntax">PipelineModule::get_architecture</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">PipelineModule::get_architecture</span></span>:<br/>Attach Stage - <a href="3-as.html#SP1">§1</a><br/>Prepare - <a href="3-prp.html#SP1">§1</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">architecture_set_at_command_line</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="P-wtmd.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresscurrentchapter">1</li><li class="progresscurrent">pm</li><li class="progresschapter"><a href="2-pp.html">2</a></li><li class="progresschapter"><a href="3-lnk.html">3</a></li><li class="progresschapter"><a href="4-sh.html">4</a></li><li class="progresschapter"><a href="5-erm.html">5</a></li><li class="progressnext"><a href="2-pp.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">pm</li><li class="progresschapter"><a href="2-pp.html">2</a></li><li class="progresschapter"><a href="3-as.html">3</a></li><li class="progresschapter"><a href="4-sh.html">4</a></li><li class="progresschapter"><a href="5-erm.html">5</a></li><li class="progressnext"><a href="2-pp.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -98,7 +98,7 @@ pointers to trees being worked on.
|
|||
<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>The structure inter_pipeline is accessed in 2/rp, 2/rmws, 3/lnk, 3/prp, 3/mt, 3/plm, 3/rcc, 3/ass, 3/res, 3/ip, 3/dic, 3/unq, 3/rv, 4/su, 5/erm, 5/erl, 5/ero and here.</li></ul>
|
||||
<ul class="endnotetexts"><li>The structure inter_pipeline is accessed in 2/rp, 2/rmws, 3/as, 3/prp, 3/mt, 3/plm, 3/rcc, 3/ass, 3/res, 3/ip, 3/dic, 3/unq, 3/rv, 4/su, 5/erm, 5/erl, 5/ero and here.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP2" class="paragraph-anchor"></a><b>§2. </b>A <a href="2-pp.html#SP2" class="internal">pipeline_step</a> is really only a choice of <a href="2-pp.html#SP3" class="internal">pipeline_stage</a>, but comes
|
||||
along with a wide variety of options and parameter settings, so that it looks
|
||||
much more complicated than it actually is.
|
||||
|
@ -130,7 +130,7 @@ much more complicated than it actually is.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">step</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>The structure pipeline_step is accessed in 2/rp, 2/rmws, 3/lnk, 3/prp, 3/mt, 3/plm, 3/rcc, 3/ass, 3/res, 3/ip, 3/dic, 3/unq, 3/rv, 4/su, 5/erm, 5/erl, 5/ero and here.</li></ul>
|
||||
<ul class="endnotetexts"><li>The structure pipeline_step is accessed in 2/rp, 2/rmws, 3/as, 3/prp, 3/mt, 3/plm, 3/rcc, 3/ass, 3/res, 3/ip, 3/dic, 3/unq, 3/rv, 4/su, 5/erm, 5/erl, 5/ero and here.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP3" class="paragraph-anchor"></a><b>§3. </b>And a <a href="2-pp.html#SP3" class="internal">pipeline_stage</a> is simply a choice of what to do. For example,
|
||||
<span class="extract"><span class="extract-syntax">eliminate-redundant-labels</span></span> is a pipeline stage. This would need to be
|
||||
combined with details of what tree to apply to in order to become a step.
|
||||
|
@ -154,7 +154,7 @@ combined with details of what tree to apply to in order to become a step.
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">CLASS_DEFINITION</span>
|
||||
<span class="plain-syntax">} </span><span class="reserved-syntax">pipeline_stage</span><span class="plain-syntax">;</span>
|
||||
|
||||
<span class="reserved-syntax">pipeline_stage</span><span class="plain-syntax"> *</span><span class="function-syntax">ParsingPipelines::new_stage</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">ParsingPipelines::new_stage</span></span>:<br/>Read, Move, Wipe, Stop - <a href="2-rmws.html#SP1">§1</a><br/>Link - <a href="3-lnk.html#SP2">§2</a><br/>Prepare - <a href="3-prp.html#SP1">§1</a><br/>Linker - <a href="3-mt.html#SP1">§1</a><br/>Parse Linked Matter - <a href="3-plm.html#SP1">§1</a><br/>Resolving Conditional Compilation - <a href="3-rcc.html#SP1">§1</a><br/>Assimilate Linked Matter - <a href="3-ass.html#SP1">§1</a><br/>Resolve External Symbols - <a href="3-res.html#SP1">§1</a><br/>Inspect Plugs - <a href="3-ip.html#SP1">§1</a><br/>Detect Indirect Calls - <a href="3-dic.html#SP1">§1</a><br/>Uniqueness - <a href="3-unq.html#SP1">§1</a><br/>Reconcile Verbs - <a href="3-rv.html#SP1">§1</a><br/>Synoptic Utilities - <a href="4-su.html#SP1">§1</a><br/>Eliminate Redundant Matter - <a href="5-erm.html#SP1">§1</a><br/>Eliminate Redundant Labels - <a href="5-erl.html#SP1">§1</a><br/>Eliminate Redundant Operations - <a href="5-ero.html#SP1">§1</a></span></button><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">pipeline_stage</span><span class="plain-syntax"> *</span><span class="function-syntax">ParsingPipelines::new_stage</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">ParsingPipelines::new_stage</span></span>:<br/>Read, Move, Wipe, Stop - <a href="2-rmws.html#SP1">§1</a><br/>Attach Stage - <a href="3-as.html#SP1">§1</a><br/>Prepare - <a href="3-prp.html#SP1">§1</a><br/>Linker - <a href="3-mt.html#SP1">§1</a><br/>Parse Linked Matter - <a href="3-plm.html#SP1">§1</a><br/>Resolving Conditional Compilation - <a href="3-rcc.html#SP1">§1</a><br/>Assimilate Linked Matter - <a href="3-ass.html#SP1">§1</a><br/>Resolve External Symbols - <a href="3-res.html#SP1">§1</a><br/>Inspect Plugs - <a href="3-ip.html#SP1">§1</a><br/>Detect Indirect Calls - <a href="3-dic.html#SP1">§1</a><br/>Uniqueness - <a href="3-unq.html#SP1">§1</a><br/>Reconcile Verbs - <a href="3-rv.html#SP1">§1</a><br/>Synoptic Utilities - <a href="4-su.html#SP1">§1</a><br/>Eliminate Redundant Matter - <a href="5-erm.html#SP1">§1</a><br/>Eliminate Redundant Labels - <a href="5-erl.html#SP1">§1</a><br/>Eliminate Redundant Operations - <a href="5-ero.html#SP1">§1</a></span></button><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">int</span><span class="plain-syntax"> (*</span><span class="identifier-syntax">X</span><span class="plain-syntax">)(</span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="reserved-syntax">pipeline_step</span><span class="plain-syntax"> *), </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">arg</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">tr</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">pipeline_stage</span><span class="plain-syntax"> *</span><span class="identifier-syntax">stage</span><span class="plain-syntax"> = </span><span class="identifier-syntax">CREATE</span><span class="plain-syntax">(</span><span class="reserved-syntax">pipeline_stage</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">stage</span><span class="plain-syntax">-></span><span class="identifier-syntax">stage_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>
|
||||
|
@ -406,7 +406,7 @@ file to specify a new one.
|
|||
<span class="plain-syntax"> </span><a href="2-rmws.html#SP1" class="function-link"><span class="function-syntax">SimpleStages::create_pipeline_stages</span></a><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">CodeGen::create_pipeline_stage</span><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax"> </span><a href="3-prp.html#SP1" class="function-link"><span class="function-syntax">CodeGen::Architecture::create_pipeline_stage</span></a><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax"> </span><a href="3-lnk.html#SP2" class="function-link"><span class="function-syntax">CodeGen::LinkInstructions::create_pipeline_stage</span></a><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax"> </span><a href="3-as.html#SP1" class="function-link"><span class="function-syntax">AttachStage::create_pipeline_stage</span></a><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax"> </span><a href="3-ass.html#SP1" class="function-link"><span class="function-syntax">CodeGen::Assimilate::create_pipeline_stage</span></a><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax"> </span><a href="3-dic.html#SP1" class="function-link"><span class="function-syntax">DetectIndirectCalls::create_pipeline_stage</span></a><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax"> </span><a href="5-erm.html#SP1" class="function-link"><span class="function-syntax">CodeGen::Eliminate::create_pipeline_stage</span></a><span class="plain-syntax">();</span>
|
||||
|
@ -446,7 +446,7 @@ So the following utility is convenient for getting started.
|
|||
</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">ParsingPipelines::write_step</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">ParsingPipelines::write_step</span></span>:<br/>Running Pipelines - <a href="2-rp.html#SP3_1">§3.1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">pipeline_step</span><span class="plain-syntax"> *</span><span class="identifier-syntax">step</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">ParsingPipelines::write_step</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">ParsingPipelines::write_step</span></span>:<br/>Running Pipelines - <a href="2-rp.html#SP3_1">§3.1</a>, <a href="2-rp.html#SP7_2">§7.2</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">pipeline_step</span><span class="plain-syntax"> *</span><span class="identifier-syntax">step</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"%S"</span><span class="plain-syntax">, </span><span class="identifier-syntax">step</span><span class="plain-syntax">-></span><span class="element-syntax">step_stage</span><span class="plain-syntax">-></span><span class="element-syntax">stage_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">step</span><span class="plain-syntax">-></span><span class="element-syntax">step_stage</span><span class="plain-syntax">-></span><span class="element-syntax">stage_arg</span><span class="plain-syntax"> != </span><span class="constant-syntax">NO_STAGE_ARG</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">step</span><span class="plain-syntax">-></span><span class="element-syntax">repository_argument</span><span class="plain-syntax"> > </span><span class="constant-syntax">0</span><span class="plain-syntax">) {</span>
|
||||
|
@ -466,7 +466,7 @@ So the following utility is convenient for getting started.
|
|||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="1-pm.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-pm.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresscurrent">pp</li><li class="progresssection"><a href="2-rp.html">rp</a></li><li class="progresssection"><a href="2-rmws.html">rmws</a></li><li class="progresschapter"><a href="3-lnk.html">3</a></li><li class="progresschapter"><a href="4-sh.html">4</a></li><li class="progresschapter"><a href="5-erm.html">5</a></li><li class="progressnext"><a href="2-rp.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="1-pm.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-pm.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresscurrent">pp</li><li class="progresssection"><a href="2-rp.html">rp</a></li><li class="progresssection"><a href="2-rmws.html">rmws</a></li><li class="progresschapter"><a href="3-as.html">3</a></li><li class="progresschapter"><a href="4-sh.html">4</a></li><li class="progresschapter"><a href="5-erm.html">5</a></li><li class="progressnext"><a href="2-rp.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -103,15 +103,23 @@ function togglePopup(material_id) {
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Regexp::match</span><span class="plain-syntax">(&</span><span class="identifier-syntax">mr</span><span class="plain-syntax">, </span><span class="identifier-syntax">step</span><span class="plain-syntax">-></span><span class="identifier-syntax">step_argument</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"(%d):(%c+)"</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_rep</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Str::atoi</span><span class="plain-syntax">(</span><span class="identifier-syntax">mr</span><span class="plain-syntax">.</span><span class="identifier-syntax">exp</span><span class="plain-syntax">[0], </span><span class="constant-syntax">0</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">step</span><span class="plain-syntax">-></span><span class="element-syntax">ephemera</span><span class="plain-syntax">.</span><span class="element-syntax">pipeline</span><span class="plain-syntax">-></span><span class="element-syntax">ephemera</span><span class="plain-syntax">.</span><span class="element-syntax">repositories</span><span class="plain-syntax">[</span><span class="identifier-syntax">from_rep</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">internal_error</span><span class="plain-syntax">(</span><span class="string-syntax">"no such repository"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">step</span><span class="plain-syntax">-></span><span class="element-syntax">ephemera</span><span class="plain-syntax">.</span><span class="element-syntax">pipeline</span><span class="plain-syntax">-></span><span class="element-syntax">ephemera</span><span class="plain-syntax">.</span><span class="element-syntax">repositories</span><span class="plain-syntax">[</span><span class="identifier-syntax">from_rep</span><span class="plain-syntax">] == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><a href="2-rp.html#SP7" class="function-link"><span class="function-syntax">RunningPipelines::error_with</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="string-syntax">"there is no Inter tree in slot %S"</span><span class="plain-syntax">, </span><span class="identifier-syntax">mr</span><span class="plain-syntax">.</span><span class="identifier-syntax">exp</span><span class="plain-syntax">[0]);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">pack</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Packages::by_url</span><span class="plain-syntax">(</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">step</span><span class="plain-syntax">-></span><span class="element-syntax">ephemera</span><span class="plain-syntax">.</span><span class="element-syntax">pipeline</span><span class="plain-syntax">-></span><span class="element-syntax">ephemera</span><span class="plain-syntax">.</span><span class="element-syntax">repositories</span><span class="plain-syntax">[</span><span class="identifier-syntax">from_rep</span><span class="plain-syntax">], </span><span class="identifier-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">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">pack</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><a href="2-rp.html#SP7" class="function-link"><span class="function-syntax">RunningPipelines::error_with</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="string-syntax">"that tree has no such package as '%S'"</span><span class="plain-syntax">, </span><span class="identifier-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">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> } </span><span class="reserved-syntax">else</span><span class="plain-syntax"> {</span>
|
||||
<span class="plain-syntax"> </span><a href="2-rp.html#SP7" class="function-link"><span class="function-syntax">RunningPipelines::error_with</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">step</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="string-syntax">"destination should take the form 'N:URL', not '%S'"</span><span class="plain-syntax">, </span><span class="identifier-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">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Regexp::dispose_of</span><span class="plain-syntax">(&</span><span class="identifier-syntax">mr</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">NULL</span><span class="plain-syntax">) </span><span class="identifier-syntax">internal_error</span><span class="plain-syntax">(</span><span class="string-syntax">"not a package"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Inter::Transmigration::move</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">Site::main_package</span><span class="plain-syntax">(</span><span class="identifier-syntax">step</span><span class="plain-syntax">-></span><span class="element-syntax">ephemera</span><span class="plain-syntax">.</span><span class="element-syntax">repository</span><span class="plain-syntax">), </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">);</span>
|
||||
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
|
@ -133,7 +141,7 @@ the pipeline:
|
|||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="2-rp.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-pm.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-pp.html">pp</a></li><li class="progresssection"><a href="2-rp.html">rp</a></li><li class="progresscurrent">rmws</li><li class="progresschapter"><a href="3-lnk.html">3</a></li><li class="progresschapter"><a href="4-sh.html">4</a></li><li class="progresschapter"><a href="5-erm.html">5</a></li><li class="progressnext"><a href="3-lnk.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="2-rp.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-pm.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-pp.html">pp</a></li><li class="progresssection"><a href="2-rp.html">rp</a></li><li class="progresscurrent">rmws</li><li class="progresschapter"><a href="3-as.html">3</a></li><li class="progresschapter"><a href="4-sh.html">4</a></li><li class="progresschapter"><a href="5-erm.html">5</a></li><li class="progressnext"><a href="3-as.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -100,7 +100,7 @@ function togglePopup(material_id) {
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">to_debugging_log</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_memory</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">to_stream</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="identifier-syntax">linked_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">requirements_list</span><span class="plain-syntax">; </span><span class="comment-syntax"> of </span><span class="extract"><span class="extract-syntax">inter_library</span></span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="identifier-syntax">linked_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">requirements_list</span><span class="plain-syntax">; </span><span class="comment-syntax"> of </span><span class="extract"><span class="extract-syntax">attachment_instruction</span></span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">repository</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="reserved-syntax">inter_pipeline</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pipeline</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="identifier-syntax">target_vm</span><span class="plain-syntax"> *</span><span class="identifier-syntax">for_VM</span><span class="plain-syntax">;</span>
|
||||
|
@ -117,7 +117,7 @@ function togglePopup(material_id) {
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">step</span><span class="plain-syntax">-></span><span class="identifier-syntax">ephemera</span><span class="plain-syntax">.</span><span class="element-syntax">the_PP</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">step</span><span class="plain-syntax">-></span><span class="identifier-syntax">ephemera</span><span class="plain-syntax">.</span><span class="element-syntax">repository</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">step</span><span class="plain-syntax">-></span><span class="identifier-syntax">ephemera</span><span class="plain-syntax">.</span><span class="element-syntax">pipeline</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">step</span><span class="plain-syntax">-></span><span class="identifier-syntax">ephemera</span><span class="plain-syntax">.</span><span class="element-syntax">requirements_list</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NEW_LINKED_LIST</span><span class="plain-syntax">(</span><span class="identifier-syntax">inter_library</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">step</span><span class="plain-syntax">-></span><span class="identifier-syntax">ephemera</span><span class="plain-syntax">.</span><span class="element-syntax">requirements_list</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NEW_LINKED_LIST</span><span class="plain-syntax">(</span><span class="reserved-syntax">attachment_instruction</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">step</span><span class="plain-syntax">-></span><span class="identifier-syntax">ephemera</span><span class="plain-syntax">.</span><span class="element-syntax">for_VM</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">step</span><span class="plain-syntax">-></span><span class="identifier-syntax">ephemera</span><span class="plain-syntax">.</span><span class="element-syntax">package_argument</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax">=0; </span><span class="identifier-syntax">i</span><span class="plain-syntax"><</span><span class="constant-syntax">MAX_RPSYM</span><span class="plain-syntax">; </span><span class="identifier-syntax">i</span><span class="plain-syntax">++) {</span>
|
||||
|
@ -126,7 +126,7 @@ function togglePopup(material_id) {
|
|||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>The structure pipeline_step_ephemera is accessed in 2/pp, 2/rmws, 3/lnk, 3/prp, 3/mt, 3/plm, 3/rcc, 3/ass, 3/res, 3/ip, 3/dic, 3/unq, 3/rv, 4/su, 5/erm, 5/erl, 5/ero and here.</li></ul>
|
||||
<ul class="endnotetexts"><li>The structure pipeline_step_ephemera is accessed in 2/pp, 2/rmws, 3/as, 3/prp, 3/mt, 3/plm, 3/rcc, 3/ass, 3/res, 3/ip, 3/dic, 3/unq, 3/rv, 4/su, 5/erm, 5/erl, 5/ero and here.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP3" class="paragraph-anchor"></a><b>§3. </b>This outer layer is all just instrumentation, really: we run through the
|
||||
steps in turn, timing how long each one took us.
|
||||
</p>
|
||||
|
@ -193,7 +193,7 @@ avoid repeatedly linting the same tree, since that really would be slow.
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">S</span><span class="plain-syntax">-></span><span class="identifier-syntax">ephemera</span><span class="plain-syntax">.</span><span class="element-syntax">repositories</span><span class="plain-syntax">[</span><span class="identifier-syntax">step</span><span class="plain-syntax">-></span><span class="element-syntax">repository_argument</span><span class="plain-syntax">] = </span><span class="identifier-syntax">InterTree::new</span><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax"> = </span><span class="identifier-syntax">S</span><span class="plain-syntax">-></span><span class="element-syntax">ephemera</span><span class="plain-syntax">.</span><span class="element-syntax">repositories</span><span class="plain-syntax">[</span><span class="identifier-syntax">step</span><span class="plain-syntax">-></span><span class="element-syntax">repository_argument</span><span class="plain-syntax">];</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">I</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><a href="2-rp.html#SP7" class="function-link"><span class="function-syntax">RunningPipelines::error</span></a><span class="plain-syntax">(</span><span class="string-syntax">"no Inter tree to apply this step to"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-rp.html#SP7" class="function-link"><span class="function-syntax">RunningPipelines::error</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="string-syntax">"no Inter tree to apply this step to"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">active</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">else</span><span class="plain-syntax"> {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">I</span><span class="plain-syntax"> != </span><span class="identifier-syntax">last_linted</span><span class="plain-syntax">) { </span><span class="identifier-syntax">Inter::Defn::lint</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">); </span><span class="identifier-syntax">last_linted</span><span class="plain-syntax"> = </span><span class="identifier-syntax">I</span><span class="plain-syntax">; }</span>
|
||||
|
@ -205,7 +205,7 @@ avoid repeatedly linting the same tree, since that really would be slow.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> ((</span><span class="identifier-syntax">VM</span><span class="plain-syntax">) && (</span><span class="identifier-syntax">step</span><span class="plain-syntax">-></span><span class="element-syntax">take_generator_argument_from_VM</span><span class="plain-syntax">)) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">step</span><span class="plain-syntax">-></span><span class="element-syntax">generator_argument</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Generators::find_for</span><span class="plain-syntax">(</span><span class="identifier-syntax">VM</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">step</span><span class="plain-syntax">-></span><span class="element-syntax">generator_argument</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><a href="2-rp.html#SP7" class="function-link"><span class="function-syntax">RunningPipelines::error</span></a><span class="plain-syntax">(</span><span class="string-syntax">"unable to guess a suitable code-generator"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-rp.html#SP7" class="function-link"><span class="function-syntax">RunningPipelines::error</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="string-syntax">"unable to guess a suitable code-generator"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">active</span><span class="plain-syntax"> = </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
|
@ -214,7 +214,7 @@ avoid repeatedly linting the same tree, since that really would be slow.
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">step</span><span class="plain-syntax">-></span><span class="element-syntax">ephemera</span><span class="plain-syntax">.</span><span class="element-syntax">package_argument</span><span class="plain-syntax"> =</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Inter::Packages::by_url</span><span class="plain-syntax">(</span><span class="identifier-syntax">step</span><span class="plain-syntax">-></span><span class="element-syntax">ephemera</span><span class="plain-syntax">.</span><span class="element-syntax">repository</span><span class="plain-syntax">, </span><span class="identifier-syntax">step</span><span class="plain-syntax">-></span><span class="element-syntax">package_URL_argument</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">step</span><span class="plain-syntax">-></span><span class="element-syntax">ephemera</span><span class="plain-syntax">.</span><span class="element-syntax">package_argument</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><a href="2-rp.html#SP7" class="function-link"><span class="function-syntax">RunningPipelines::error_with</span></a><span class="plain-syntax">(</span>
|
||||
<span class="plain-syntax"> </span><a href="2-rp.html#SP7" class="function-link"><span class="function-syntax">RunningPipelines::error_with</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">step</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="string-syntax">"pipeline step applied to package which does not exist: '%S'"</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">step</span><span class="plain-syntax">-></span><span class="element-syntax">package_URL_argument</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">active</span><span class="plain-syntax"> = </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">;</span>
|
||||
|
@ -229,7 +229,7 @@ avoid repeatedly linting the same tree, since that really would be slow.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="2-pp.html#SP4" class="function-link"><span class="function-syntax">ParsingPipelines::will_write_a_file</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">step</span><span class="plain-syntax">)) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">step</span><span class="plain-syntax">-></span><span class="element-syntax">step_argument</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">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">step</span><span class="plain-syntax">-></span><span class="element-syntax">step_stage</span><span class="plain-syntax">-></span><span class="element-syntax">stage_arg</span><span class="plain-syntax"> != </span><span class="constant-syntax">OPTIONAL_TEXT_OUT_STAGE_ARG</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><a href="2-rp.html#SP7" class="function-link"><span class="function-syntax">RunningPipelines::error</span></a><span class="plain-syntax">(</span><span class="string-syntax">"no filename given in pipeline step"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-rp.html#SP7" class="function-link"><span class="function-syntax">RunningPipelines::error</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="string-syntax">"no filename given in pipeline step"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">active</span><span class="plain-syntax"> = </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> } </span><span class="reserved-syntax">else</span><span class="plain-syntax"> {</span>
|
||||
|
@ -241,7 +241,7 @@ avoid repeatedly linting the same tree, since that really would be slow.
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> </span><span class="identifier-syntax">text_output_struct</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">T</span><span class="plain-syntax"> = &</span><span class="identifier-syntax">text_output_struct</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">STREAM_OPEN_TO_FILE</span><span class="plain-syntax">(</span><span class="identifier-syntax">T</span><span class="plain-syntax">, </span><span class="identifier-syntax">step</span><span class="plain-syntax">-></span><span class="element-syntax">ephemera</span><span class="plain-syntax">.</span><span class="element-syntax">parsed_filename</span><span class="plain-syntax">, </span><span class="identifier-syntax">ISO_ENC</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-rp.html#SP7" class="function-link"><span class="function-syntax">RunningPipelines::error</span></a><span class="plain-syntax">(</span><span class="string-syntax">"unable to open file named in pipeline step"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-rp.html#SP7" class="function-link"><span class="function-syntax">RunningPipelines::error</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="string-syntax">"unable to open file named in pipeline step"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">active</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">else</span><span class="plain-syntax"> {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">step</span><span class="plain-syntax">-></span><span class="element-syntax">ephemera</span><span class="plain-syntax">.</span><span class="element-syntax">to_stream</span><span class="plain-syntax"> = </span><span class="identifier-syntax">T</span><span class="plain-syntax">;</span>
|
||||
|
@ -252,11 +252,11 @@ avoid repeatedly linting the same tree, since that really would be slow.
|
|||
<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><a href="2-pp.html#SP4" class="function-link"><span class="function-syntax">ParsingPipelines::will_read_a_file</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">step</span><span class="plain-syntax">)) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">step</span><span class="plain-syntax">-></span><span class="element-syntax">step_argument</span><span class="plain-syntax">) == </span><span class="constant-syntax">0</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><a href="2-rp.html#SP7" class="function-link"><span class="function-syntax">RunningPipelines::error</span></a><span class="plain-syntax">(</span><span class="string-syntax">"no filename given in pipeline step"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-rp.html#SP7" class="function-link"><span class="function-syntax">RunningPipelines::error</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="string-syntax">"no filename given in pipeline step"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">active</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">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::eq</span><span class="plain-syntax">(</span><span class="identifier-syntax">step</span><span class="plain-syntax">-></span><span class="identifier-syntax">step_argument</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"*memory"</span><span class="plain-syntax">)) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::eq</span><span class="plain-syntax">(</span><span class="identifier-syntax">step</span><span class="plain-syntax">-></span><span class="element-syntax">step_stage</span><span class="plain-syntax">-></span><span class="element-syntax">stage_name</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"read"</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-rp.html#SP7" class="function-link"><span class="function-syntax">RunningPipelines::error</span></a><span class="plain-syntax">(</span><span class="string-syntax">"'*memory' can be used only on reads"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-rp.html#SP7" class="function-link"><span class="function-syntax">RunningPipelines::error</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="string-syntax">"'*memory' can be used only on reads"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">active</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">else</span><span class="plain-syntax"> {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">S</span><span class="plain-syntax">-></span><span class="element-syntax">ephemera</span><span class="plain-syntax">.</span><span class="element-syntax">repositories</span><span class="plain-syntax">[</span><span class="identifier-syntax">step</span><span class="plain-syntax">-></span><span class="element-syntax">repository_argument</span><span class="plain-syntax">] =</span>
|
||||
|
@ -466,44 +466,87 @@ complete halt. It's the kindest way.
|
|||
</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">RunningPipelines::error</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">RunningPipelines::error</span></span>:<br/><a href="2-rp.html#SP3_1_1">§3.1.1</a>, <a href="2-rp.html#SP3_1_2">§3.1.2</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">char</span><span class="plain-syntax"> *</span><span class="identifier-syntax">erm</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> #</span><span class="identifier-syntax">ifdef</span><span class="plain-syntax"> </span><span class="identifier-syntax">PROBLEMS_MODULE</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">RunningPipelines::error</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">RunningPipelines::error</span></span>:<br/><a href="2-rp.html#SP3_1_1">§3.1.1</a>, <a href="2-rp.html#SP3_1_2">§3.1.2</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">pipeline_step</span><span class="plain-syntax"> *</span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="reserved-syntax">char</span><span class="plain-syntax"> *</span><span class="identifier-syntax">erm</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> #</span><span class="identifier-syntax">ifdef</span><span class="plain-syntax"> </span><span class="identifier-syntax">CORE_MODULE</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="2-rp.html#SP7_1" class="named-paragraph-link"><span class="named-paragraph">Begin problem message using the module of the same name</span><span class="named-paragraph-number">7.1</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">full</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">full</span><span class="plain-syntax">, </span><span class="string-syntax">"%s"</span><span class="plain-syntax">, </span><span class="identifier-syntax">erm</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">do_not_locate_problems</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">Problems::quote_stream</span><span class="plain-syntax">(1, </span><span class="identifier-syntax">full</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::issue_problem_begin</span><span class="plain-syntax">(</span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="identifier-syntax">erm</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::issue_problem_segment</span><span class="plain-syntax">(</span><span class="string-syntax">"I was unable to perform final code-generation: %1"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::issue_problem_end</span><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">do_not_locate_problems</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">DISCARD_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">full</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="2-rp.html#SP7_2" class="named-paragraph-link"><span class="named-paragraph">End problem message using the module of the same name</span><span class="named-paragraph-number">7.2</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> #</span><span class="identifier-syntax">endif</span>
|
||||
<span class="plain-syntax"> #</span><span class="identifier-syntax">ifndef</span><span class="plain-syntax"> </span><span class="identifier-syntax">PROBLEMS_MODULE</span>
|
||||
<span class="plain-syntax"> #</span><span class="identifier-syntax">ifndef</span><span class="plain-syntax"> </span><span class="identifier-syntax">CORE_MODULE</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Errors::fatal</span><span class="plain-syntax">(</span><span class="identifier-syntax">erm</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">exit</span><span class="plain-syntax">(1);</span>
|
||||
<span class="plain-syntax"> #</span><span class="identifier-syntax">endif</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">RunningPipelines::error_with</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">RunningPipelines::error_with</span></span>:<br/><a href="2-rp.html#SP3_1_1">§3.1.1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">char</span><span class="plain-syntax"> *</span><span class="identifier-syntax">erm</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">quoted</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> #</span><span class="identifier-syntax">ifdef</span><span class="plain-syntax"> </span><span class="identifier-syntax">PROBLEMS_MODULE</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">RunningPipelines::error_with</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">RunningPipelines::error_with</span></span>:<br/><a href="2-rp.html#SP3_1_1">§3.1.1</a><br/>Read, Move, Wipe, Stop - <a href="2-rmws.html#SP3">§3</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">pipeline_step</span><span class="plain-syntax"> *</span><span class="identifier-syntax">step</span><span class="plain-syntax">, </span><span class="reserved-syntax">char</span><span class="plain-syntax"> *</span><span class="identifier-syntax">erm</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">quoted</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> #</span><span class="identifier-syntax">ifdef</span><span class="plain-syntax"> </span><span class="identifier-syntax">CORE_MODULE</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="2-rp.html#SP7_1" class="named-paragraph-link"><span class="named-paragraph">Begin problem message using the module of the same name</span><span class="named-paragraph-number">7.1</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">full</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">full</span><span class="plain-syntax">, </span><span class="identifier-syntax">erm</span><span class="plain-syntax">, </span><span class="identifier-syntax">quoted</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">do_not_locate_problems</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">Problems::quote_stream</span><span class="plain-syntax">(1, </span><span class="identifier-syntax">full</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::issue_problem_begin</span><span class="plain-syntax">(</span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="identifier-syntax">erm</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::issue_problem_segment</span><span class="plain-syntax">(</span><span class="string-syntax">"I was unable to perform final code-generation: %1"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::issue_problem_end</span><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">do_not_locate_problems</span><span class="plain-syntax"> = </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="2-rp.html#SP7_2" class="named-paragraph-link"><span class="named-paragraph">End problem message using the module of the same name</span><span class="named-paragraph-number">7.2</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">DISCARD_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">full</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> #</span><span class="identifier-syntax">endif</span>
|
||||
<span class="plain-syntax"> #</span><span class="identifier-syntax">ifndef</span><span class="plain-syntax"> </span><span class="identifier-syntax">PROBLEMS_MODULE</span>
|
||||
<span class="plain-syntax"> #</span><span class="identifier-syntax">ifndef</span><span class="plain-syntax"> </span><span class="identifier-syntax">CORE_MODULE</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Errors::fatal_with_text</span><span class="plain-syntax">(</span><span class="identifier-syntax">erm</span><span class="plain-syntax">, </span><span class="identifier-syntax">quoted</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">exit</span><span class="plain-syntax">(1);</span>
|
||||
<span class="plain-syntax"> #</span><span class="identifier-syntax">endif</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP7_1" class="paragraph-anchor"></a><b>§7.1. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Begin problem message using the module of the same name</span><span class="named-paragraph-number">7.1</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">do_not_locate_problems</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">Problems::issue_problem_begin</span><span class="plain-syntax">(</span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="identifier-syntax">erm</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::issue_problem_segment</span><span class="plain-syntax">(</span>
|
||||
<span class="plain-syntax"> </span><span class="string-syntax">"Something went wrong late in compilation, when working through the "</span>
|
||||
<span class="plain-syntax"> </span><span class="string-syntax">"'pipeline' of code-generation steps. (This should not normally happen "</span>
|
||||
<span class="plain-syntax"> </span><span class="string-syntax">"unless your source text is making use of '(-' and '-)' and getting "</span>
|
||||
<span class="plain-syntax"> </span><span class="string-syntax">"that wrong, or unless you are experimenting with non-standard pipelines.) "</span>
|
||||
<span class="plain-syntax"> </span><span class="string-syntax">"The pipeline looks like so:"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::issue_problem_end</span><span class="plain-syntax">();</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="2-rp.html#SP7">§7</a> (twice).</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP7_2" class="paragraph-anchor"></a><b>§7.2. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">End problem message using the module of the same name</span><span class="named-paragraph-number">7.2</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">step</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">inter_pipeline</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pipeline</span><span class="plain-syntax"> = </span><span class="identifier-syntax">step</span><span class="plain-syntax">-></span><span class="element-syntax">pipeline</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">pipeline_step</span><span class="plain-syntax"> *</span><span class="identifier-syntax">some_step</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="constant-syntax">1</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER_LINKED_LIST</span><span class="plain-syntax">(</span><span class="identifier-syntax">some_step</span><span class="plain-syntax">, </span><span class="reserved-syntax">pipeline_step</span><span class="plain-syntax">, </span><span class="identifier-syntax">pipeline</span><span class="plain-syntax">-></span><span class="element-syntax">steps</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">description</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><a href="2-pp.html#SP11" class="function-link"><span class="function-syntax">ParsingPipelines::write_step</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">description</span><span class="plain-syntax">, </span><span class="identifier-syntax">some_step</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::issue_problem_begin</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</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">Problems::quote_number</span><span class="plain-syntax">(1, &</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">some_step</span><span class="plain-syntax"> == </span><span class="identifier-syntax">step</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::quote_stream_tinted_red</span><span class="plain-syntax">(2, </span><span class="identifier-syntax">description</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::issue_problem_segment</span><span class="plain-syntax">(</span><span class="string-syntax">"%1. %2"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> } </span><span class="reserved-syntax">else</span><span class="plain-syntax"> {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::quote_stream_tinted_green</span><span class="plain-syntax">(2, </span><span class="identifier-syntax">description</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::issue_problem_segment</span><span class="plain-syntax">(</span><span class="string-syntax">"%1. %2"</span><span class="plain-syntax">);</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">description</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::issue_problem_end</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">some_step</span><span class="plain-syntax"> == </span><span class="identifier-syntax">step</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::issue_problem_begin</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</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">Problems::quote_stream</span><span class="plain-syntax">(1, </span><span class="identifier-syntax">full</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::issue_problem_segment</span><span class="plain-syntax">(</span><span class="string-syntax">"Problem: %1"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::issue_problem_end</span><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">N</span><span class="plain-syntax">++;</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">do_not_locate_problems</span><span class="plain-syntax"> = </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">;</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="2-rp.html#SP7">§7</a> (twice).</li></ul>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="2-pp.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-pm.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-pp.html">pp</a></li><li class="progresscurrent">rp</li><li class="progresssection"><a href="2-rmws.html">rmws</a></li><li class="progresschapter"><a href="3-lnk.html">3</a></li><li class="progresschapter"><a href="4-sh.html">4</a></li><li class="progresschapter"><a href="5-erm.html">5</a></li><li class="progressnext"><a href="2-rmws.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="2-pp.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-pm.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-pp.html">pp</a></li><li class="progresscurrent">rp</li><li class="progresssection"><a href="2-rmws.html">rmws</a></li><li class="progresschapter"><a href="3-as.html">3</a></li><li class="progresschapter"><a href="4-sh.html">4</a></li><li class="progresschapter"><a href="5-erm.html">5</a></li><li class="progressnext"><a href="2-rmws.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -946,7 +946,7 @@ function togglePopup(material_id) {
|
|||
</pre>
|
||||
<ul class="endnotetexts"><li>The structure routine_body_request is private to this section.</li></ul>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="3-rcc.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-pm.html">1</a></li><li class="progresschapter"><a href="2-pp.html">2</a></li><li class="progresscurrentchapter">3</li><li class="progresssection"><a href="3-lnk.html">lnk</a></li><li class="progresssection"><a href="3-prp.html">prp</a></li><li class="progresssection"><a href="3-mt.html">mt</a></li><li class="progresssection"><a href="3-tr.html">tr</a></li><li class="progresssection"><a href="3-plm.html">plm</a></li><li class="progresssection"><a href="3-rcc.html">rcc</a></li><li class="progresscurrent">ass</li><li class="progresssection"><a href="3-res.html">res</a></li><li class="progresssection"><a href="3-ip.html">ip</a></li><li class="progresssection"><a href="3-dic.html">dic</a></li><li class="progresssection"><a href="3-unq.html">unq</a></li><li class="progresssection"><a href="3-rv.html">rv</a></li><li class="progresschapter"><a href="4-sh.html">4</a></li><li class="progresschapter"><a href="5-erm.html">5</a></li><li class="progressnext"><a href="3-res.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="3-rcc.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-pm.html">1</a></li><li class="progresschapter"><a href="2-pp.html">2</a></li><li class="progresscurrentchapter">3</li><li class="progresssection"><a href="3-as.html">as</a></li><li class="progresssection"><a href="3-prp.html">prp</a></li><li class="progresssection"><a href="3-mt.html">mt</a></li><li class="progresssection"><a href="3-tr.html">tr</a></li><li class="progresssection"><a href="3-plm.html">plm</a></li><li class="progresssection"><a href="3-rcc.html">rcc</a></li><li class="progresscurrent">ass</li><li class="progresssection"><a href="3-res.html">res</a></li><li class="progresssection"><a href="3-ip.html">ip</a></li><li class="progresssection"><a href="3-dic.html">dic</a></li><li class="progresssection"><a href="3-unq.html">unq</a></li><li class="progresssection"><a href="3-rv.html">rv</a></li><li class="progresschapter"><a href="4-sh.html">4</a></li><li class="progresschapter"><a href="5-erm.html">5</a></li><li class="progressnext"><a href="3-res.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -129,7 +129,7 @@ operations:
|
|||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="3-ip.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-pm.html">1</a></li><li class="progresschapter"><a href="2-pp.html">2</a></li><li class="progresscurrentchapter">3</li><li class="progresssection"><a href="3-lnk.html">lnk</a></li><li class="progresssection"><a href="3-prp.html">prp</a></li><li class="progresssection"><a href="3-mt.html">mt</a></li><li class="progresssection"><a href="3-tr.html">tr</a></li><li class="progresssection"><a href="3-plm.html">plm</a></li><li class="progresssection"><a href="3-rcc.html">rcc</a></li><li class="progresssection"><a href="3-ass.html">ass</a></li><li class="progresssection"><a href="3-res.html">res</a></li><li class="progresssection"><a href="3-ip.html">ip</a></li><li class="progresscurrent">dic</li><li class="progresssection"><a href="3-unq.html">unq</a></li><li class="progresssection"><a href="3-rv.html">rv</a></li><li class="progresschapter"><a href="4-sh.html">4</a></li><li class="progresschapter"><a href="5-erm.html">5</a></li><li class="progressnext"><a href="3-unq.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="3-ip.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-pm.html">1</a></li><li class="progresschapter"><a href="2-pp.html">2</a></li><li class="progresscurrentchapter">3</li><li class="progresssection"><a href="3-as.html">as</a></li><li class="progresssection"><a href="3-prp.html">prp</a></li><li class="progresssection"><a href="3-mt.html">mt</a></li><li class="progresssection"><a href="3-tr.html">tr</a></li><li class="progresssection"><a href="3-plm.html">plm</a></li><li class="progresssection"><a href="3-rcc.html">rcc</a></li><li class="progresssection"><a href="3-ass.html">ass</a></li><li class="progresssection"><a href="3-res.html">res</a></li><li class="progresssection"><a href="3-ip.html">ip</a></li><li class="progresscurrent">dic</li><li class="progresssection"><a href="3-unq.html">unq</a></li><li class="progresssection"><a href="3-rv.html">rv</a></li><li class="progresschapter"><a href="4-sh.html">4</a></li><li class="progresschapter"><a href="5-erm.html">5</a></li><li class="progressnext"><a href="3-unq.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -109,7 +109,7 @@ function togglePopup(material_id) {
|
|||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="3-res.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-pm.html">1</a></li><li class="progresschapter"><a href="2-pp.html">2</a></li><li class="progresscurrentchapter">3</li><li class="progresssection"><a href="3-lnk.html">lnk</a></li><li class="progresssection"><a href="3-prp.html">prp</a></li><li class="progresssection"><a href="3-mt.html">mt</a></li><li class="progresssection"><a href="3-tr.html">tr</a></li><li class="progresssection"><a href="3-plm.html">plm</a></li><li class="progresssection"><a href="3-rcc.html">rcc</a></li><li class="progresssection"><a href="3-ass.html">ass</a></li><li class="progresssection"><a href="3-res.html">res</a></li><li class="progresscurrent">ip</li><li class="progresssection"><a href="3-dic.html">dic</a></li><li class="progresssection"><a href="3-unq.html">unq</a></li><li class="progresssection"><a href="3-rv.html">rv</a></li><li class="progresschapter"><a href="4-sh.html">4</a></li><li class="progresschapter"><a href="5-erm.html">5</a></li><li class="progressnext"><a href="3-dic.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="3-res.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-pm.html">1</a></li><li class="progresschapter"><a href="2-pp.html">2</a></li><li class="progresscurrentchapter">3</li><li class="progresssection"><a href="3-as.html">as</a></li><li class="progresssection"><a href="3-prp.html">prp</a></li><li class="progresssection"><a href="3-mt.html">mt</a></li><li class="progresssection"><a href="3-tr.html">tr</a></li><li class="progresssection"><a href="3-plm.html">plm</a></li><li class="progresssection"><a href="3-rcc.html">rcc</a></li><li class="progresssection"><a href="3-ass.html">ass</a></li><li class="progresssection"><a href="3-res.html">res</a></li><li class="progresscurrent">ip</li><li class="progresssection"><a href="3-dic.html">dic</a></li><li class="progresssection"><a href="3-unq.html">unq</a></li><li class="progresssection"><a href="3-rv.html">rv</a></li><li class="progresschapter"><a href="4-sh.html">4</a></li><li class="progresschapter"><a href="5-erm.html">5</a></li><li class="progressnext"><a href="3-dic.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -1,131 +0,0 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<title>Link</title>
|
||||
<link href="../docs-assets/Breadcrumbs.css" rel="stylesheet" rev="stylesheet" type="text/css">
|
||||
<meta name="viewport" content="width=device-width initial-scale=1">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<meta http-equiv="Content-Language" content="en-gb">
|
||||
|
||||
<link href="../docs-assets/Contents.css" rel="stylesheet" rev="stylesheet" type="text/css">
|
||||
<link href="../docs-assets/Progress.css" rel="stylesheet" rev="stylesheet" type="text/css">
|
||||
<link href="../docs-assets/Navigation.css" rel="stylesheet" rev="stylesheet" type="text/css">
|
||||
<link href="../docs-assets/Fonts.css" rel="stylesheet" rev="stylesheet" type="text/css">
|
||||
<link href="../docs-assets/Base.css" rel="stylesheet" rev="stylesheet" type="text/css">
|
||||
<script>
|
||||
function togglePopup(material_id) {
|
||||
var popup = document.getElementById(material_id);
|
||||
popup.classList.toggle("show");
|
||||
}
|
||||
</script>
|
||||
|
||||
<link href="../docs-assets/Popups.css" rel="stylesheet" rev="stylesheet" type="text/css">
|
||||
<link href="../docs-assets/Colours.css" rel="stylesheet" rev="stylesheet" type="text/css">
|
||||
|
||||
</head>
|
||||
<body class="commentary-font">
|
||||
<nav role="navigation">
|
||||
<h1><a href="../index.html">
|
||||
<img src="../docs-assets/Inform.png" height=72">
|
||||
</a></h1>
|
||||
<ul><li><a href="../compiler.html">compiler tools</a></li>
|
||||
<li><a href="../other.html">other tools</a></li>
|
||||
<li><a href="../extensions.html">extensions and kits</a></li>
|
||||
<li><a href="../units.html">unit test tools</a></li>
|
||||
</ul><h2>Compiler Webs</h2><ul>
|
||||
<li><a href="../inbuild/index.html">inbuild</a></li>
|
||||
<li><a href="../inform7/index.html">inform7</a></li>
|
||||
<li><a href="../inter/index.html">inter</a></li>
|
||||
</ul><h2>Inbuild Modules</h2><ul>
|
||||
<li><a href="../supervisor-module/index.html">supervisor</a></li>
|
||||
</ul><h2>Inform7 Modules</h2><ul>
|
||||
<li><a href="../core-module/index.html">core</a></li>
|
||||
<li><a href="../assertions-module/index.html">assertions</a></li>
|
||||
<li><a href="../values-module/index.html">values</a></li>
|
||||
<li><a href="../knowledge-module/index.html">knowledge</a></li>
|
||||
<li><a href="../imperative-module/index.html">imperative</a></li>
|
||||
<li><a href="../runtime-module/index.html">runtime</a></li>
|
||||
<li><a href="../if-module/index.html">if</a></li>
|
||||
<li><a href="../multimedia-module/index.html">multimedia</a></li>
|
||||
<li><a href="../index-module/index.html">index</a></li>
|
||||
</ul><h2>Inter Modules</h2><ul>
|
||||
<li><a href="../bytecode-module/index.html">bytecode</a></li>
|
||||
<li><a href="../building-module/index.html">building</a></li>
|
||||
<li><a href="index.html"><span class="selectedlink">pipeline</span></a></li>
|
||||
<li><a href="../final-module/index.html">final</a></li>
|
||||
</ul><h2>Services</h2><ul>
|
||||
<li><a href="../arch-module/index.html">arch</a></li>
|
||||
<li><a href="../calculus-module/index.html">calculus</a></li>
|
||||
<li><a href="../html-module/index.html">html</a></li>
|
||||
<li><a href="../inflections-module/index.html">inflections</a></li>
|
||||
<li><a href="../kinds-module/index.html">kinds</a></li>
|
||||
<li><a href="../linguistics-module/index.html">linguistics</a></li>
|
||||
<li><a href="../problems-module/index.html">problems</a></li>
|
||||
<li><a href="../syntax-module/index.html">syntax</a></li>
|
||||
<li><a href="../words-module/index.html">words</a></li>
|
||||
<li><a href="../../../inweb/docs/foundation-module/index.html">foundation</a></li>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
<main role="main">
|
||||
<!--Weave of 'Link' generated by Inweb-->
|
||||
<div class="breadcrumbs">
|
||||
<ul class="crumbs"><li><a href="../index.html">Home</a></li><li><a href="../compiler.html">Inter Modules</a></li><li><a href="index.html">pipeline</a></li><li><a href="index.html#3">Chapter 3: Linking</a></li><li><b>Link</b></li></ul></div>
|
||||
<p class="purpose">Inter often needs to assimilate or otherwise deal with architecture-neutral kits of linkable material, and this is where such requirements are noted.</p>
|
||||
|
||||
<ul class="toc"><li><a href="3-lnk.html#SP1">§1. </a></li><li><a href="3-lnk.html#SP2">§2. Link stage</a></li></ul><hr class="tocbar">
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP1" class="paragraph-anchor"></a><b>§1. </b></p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">typedef</span><span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="reserved-syntax">link_instruction</span><span class="plain-syntax"> {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="identifier-syntax">pathname</span><span class="plain-syntax"> *</span><span class="identifier-syntax">location</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">attachment_point</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">CLASS_DEFINITION</span>
|
||||
<span class="plain-syntax">} </span><span class="reserved-syntax">link_instruction</span><span class="plain-syntax">;</span>
|
||||
|
||||
<span class="reserved-syntax">link_instruction</span><span class="plain-syntax"> *</span><span class="function-syntax">CodeGen::LinkInstructions::new</span><span class="plain-syntax">(</span><span class="identifier-syntax">pathname</span><span class="plain-syntax"> *</span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">attach</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">link_instruction</span><span class="plain-syntax"> *</span><span class="identifier-syntax">link</span><span class="plain-syntax"> = </span><span class="identifier-syntax">CREATE</span><span class="plain-syntax">(</span><span class="reserved-syntax">link_instruction</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">link</span><span class="plain-syntax">-></span><span class="identifier-syntax">location</span><span class="plain-syntax"> = </span><span class="identifier-syntax">P</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">link</span><span class="plain-syntax">-></span><span class="identifier-syntax">attachment_point</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Str::duplicate</span><span class="plain-syntax">(</span><span class="identifier-syntax">attach</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">link</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>The structure link_instruction is private to this section.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP2" class="paragraph-anchor"></a><b>§2. Link stage. </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">CodeGen::LinkInstructions::create_pipeline_stage</span><button class="popup" onclick="togglePopup('usagePopup1')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup1">Usage of <span class="code-font"><span class="function-syntax">CodeGen::LinkInstructions::create_pipeline_stage</span></span>:<br/>Parsing Pipelines - <a href="2-pp.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><a href="2-pp.html#SP3" class="function-link"><span class="function-syntax">ParsingPipelines::new_stage</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="string-syntax">"link"</span><span class="plain-syntax">, </span><a href="3-lnk.html#SP2" class="function-link"><span class="function-syntax">CodeGen::LinkInstructions::run_link_stage</span></a><span class="plain-syntax">, </span><span class="constant-syntax">NO_STAGE_ARG</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">int</span><span class="plain-syntax"> </span><span class="function-syntax">CodeGen::LinkInstructions::run_link_stage</span><span class="plain-syntax">(</span><span class="reserved-syntax">pipeline_step</span><span class="plain-syntax"> *</span><span class="identifier-syntax">step</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">link_instruction</span><span class="plain-syntax"> *</span><span class="identifier-syntax">req</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER_LINKED_LIST</span><span class="plain-syntax">(</span><span class="identifier-syntax">req</span><span class="plain-syntax">, </span><span class="reserved-syntax">link_instruction</span><span class="plain-syntax">, </span><span class="identifier-syntax">step</span><span class="plain-syntax">-></span><span class="element-syntax">ephemera</span><span class="plain-syntax">.</span><span class="element-syntax">requirements_list</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_architecture</span><span class="plain-syntax"> *</span><span class="identifier-syntax">A</span><span class="plain-syntax"> = </span><a href="1-pm.html#SP4" class="function-link"><span class="function-syntax">PipelineModule::get_architecture</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">A</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) </span><span class="identifier-syntax">Errors::fatal</span><span class="plain-syntax">(</span><span class="string-syntax">"no -architecture given"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">filename</span><span class="plain-syntax"> *</span><span class="identifier-syntax">arch_file</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Architectures::canonical_binary</span><span class="plain-syntax">(</span><span class="identifier-syntax">req</span><span class="plain-syntax">-></span><span class="element-syntax">location</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">TextFiles::exists</span><span class="plain-syntax">(</span><span class="identifier-syntax">arch_file</span><span class="plain-syntax">) == </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">) </span><span class="identifier-syntax">internal_error</span><span class="plain-syntax">(</span><span class="string-syntax">"no arch file for requirement"</span><span class="plain-syntax">);</span>
|
||||
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">sidecar</span><span class="plain-syntax"> = </span><span class="identifier-syntax">InterTree::new</span><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Inter::Binary::test_file</span><span class="plain-syntax">(</span><span class="identifier-syntax">arch_file</span><span class="plain-syntax">)) </span><span class="identifier-syntax">Inter::Binary::read</span><span class="plain-syntax">(</span><span class="identifier-syntax">sidecar</span><span class="plain-syntax">, </span><span class="identifier-syntax">arch_file</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">Inter::Textual::read</span><span class="plain-syntax">(</span><span class="identifier-syntax">sidecar</span><span class="plain-syntax">, </span><span class="identifier-syntax">arch_file</span><span class="plain-syntax">);</span>
|
||||
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Packages::by_url</span><span class="plain-syntax">(</span><span class="identifier-syntax">sidecar</span><span class="plain-syntax">, </span><span class="identifier-syntax">req</span><span class="plain-syntax">-></span><span class="element-syntax">attachment_point</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">NULL</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">"sought attachment material at: %S in %f\n"</span><span class="plain-syntax">, </span><span class="identifier-syntax">req</span><span class="plain-syntax">-></span><span class="element-syntax">attachment_point</span><span class="plain-syntax">, </span><span class="identifier-syntax">arch_file</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">"unable to find attachment point package"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Inter::Transmigration::move</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">Site::main_package</span><span class="plain-syntax">(</span><span class="identifier-syntax">step</span><span class="plain-syntax">-></span><span class="element-syntax">ephemera</span><span class="plain-syntax">.</span><span class="element-syntax">repository</span><span class="plain-syntax">), </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="2-rmws.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-pm.html">1</a></li><li class="progresschapter"><a href="2-pp.html">2</a></li><li class="progresscurrentchapter">3</li><li class="progresscurrent">lnk</li><li class="progresssection"><a href="3-prp.html">prp</a></li><li class="progresssection"><a href="3-mt.html">mt</a></li><li class="progresssection"><a href="3-tr.html">tr</a></li><li class="progresssection"><a href="3-plm.html">plm</a></li><li class="progresssection"><a href="3-rcc.html">rcc</a></li><li class="progresssection"><a href="3-ass.html">ass</a></li><li class="progresssection"><a href="3-res.html">res</a></li><li class="progresssection"><a href="3-ip.html">ip</a></li><li class="progresssection"><a href="3-dic.html">dic</a></li><li class="progresssection"><a href="3-unq.html">unq</a></li><li class="progresssection"><a href="3-rv.html">rv</a></li><li class="progresschapter"><a href="4-sh.html">4</a></li><li class="progresschapter"><a href="5-erm.html">5</a></li><li class="progressnext"><a href="3-prp.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -250,7 +250,7 @@ function togglePopup(material_id) {
|
|||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="3-prp.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-pm.html">1</a></li><li class="progresschapter"><a href="2-pp.html">2</a></li><li class="progresscurrentchapter">3</li><li class="progresssection"><a href="3-lnk.html">lnk</a></li><li class="progresssection"><a href="3-prp.html">prp</a></li><li class="progresscurrent">mt</li><li class="progresssection"><a href="3-tr.html">tr</a></li><li class="progresssection"><a href="3-plm.html">plm</a></li><li class="progresssection"><a href="3-rcc.html">rcc</a></li><li class="progresssection"><a href="3-ass.html">ass</a></li><li class="progresssection"><a href="3-res.html">res</a></li><li class="progresssection"><a href="3-ip.html">ip</a></li><li class="progresssection"><a href="3-dic.html">dic</a></li><li class="progresssection"><a href="3-unq.html">unq</a></li><li class="progresssection"><a href="3-rv.html">rv</a></li><li class="progresschapter"><a href="4-sh.html">4</a></li><li class="progresschapter"><a href="5-erm.html">5</a></li><li class="progressnext"><a href="3-tr.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="3-prp.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-pm.html">1</a></li><li class="progresschapter"><a href="2-pp.html">2</a></li><li class="progresscurrentchapter">3</li><li class="progresssection"><a href="3-as.html">as</a></li><li class="progresssection"><a href="3-prp.html">prp</a></li><li class="progresscurrent">mt</li><li class="progresssection"><a href="3-tr.html">tr</a></li><li class="progresssection"><a href="3-plm.html">plm</a></li><li class="progresssection"><a href="3-rcc.html">rcc</a></li><li class="progresssection"><a href="3-ass.html">ass</a></li><li class="progresssection"><a href="3-res.html">res</a></li><li class="progresssection"><a href="3-ip.html">ip</a></li><li class="progresssection"><a href="3-dic.html">dic</a></li><li class="progresssection"><a href="3-unq.html">unq</a></li><li class="progresssection"><a href="3-rv.html">rv</a></li><li class="progresschapter"><a href="4-sh.html">4</a></li><li class="progresschapter"><a href="5-erm.html">5</a></li><li class="progressnext"><a href="3-tr.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -128,7 +128,7 @@ function togglePopup(material_id) {
|
|||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="3-tr.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-pm.html">1</a></li><li class="progresschapter"><a href="2-pp.html">2</a></li><li class="progresscurrentchapter">3</li><li class="progresssection"><a href="3-lnk.html">lnk</a></li><li class="progresssection"><a href="3-prp.html">prp</a></li><li class="progresssection"><a href="3-mt.html">mt</a></li><li class="progresssection"><a href="3-tr.html">tr</a></li><li class="progresscurrent">plm</li><li class="progresssection"><a href="3-rcc.html">rcc</a></li><li class="progresssection"><a href="3-ass.html">ass</a></li><li class="progresssection"><a href="3-res.html">res</a></li><li class="progresssection"><a href="3-ip.html">ip</a></li><li class="progresssection"><a href="3-dic.html">dic</a></li><li class="progresssection"><a href="3-unq.html">unq</a></li><li class="progresssection"><a href="3-rv.html">rv</a></li><li class="progresschapter"><a href="4-sh.html">4</a></li><li class="progresschapter"><a href="5-erm.html">5</a></li><li class="progressnext"><a href="3-rcc.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="3-tr.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-pm.html">1</a></li><li class="progresschapter"><a href="2-pp.html">2</a></li><li class="progresscurrentchapter">3</li><li class="progresssection"><a href="3-as.html">as</a></li><li class="progresssection"><a href="3-prp.html">prp</a></li><li class="progresssection"><a href="3-mt.html">mt</a></li><li class="progresssection"><a href="3-tr.html">tr</a></li><li class="progresscurrent">plm</li><li class="progresssection"><a href="3-rcc.html">rcc</a></li><li class="progresssection"><a href="3-ass.html">ass</a></li><li class="progresssection"><a href="3-res.html">res</a></li><li class="progresssection"><a href="3-ip.html">ip</a></li><li class="progresssection"><a href="3-dic.html">dic</a></li><li class="progresssection"><a href="3-unq.html">unq</a></li><li class="progresssection"><a href="3-rv.html">rv</a></li><li class="progresschapter"><a href="4-sh.html">4</a></li><li class="progresschapter"><a href="5-erm.html">5</a></li><li class="progressnext"><a href="3-rcc.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -195,7 +195,7 @@ function togglePopup(material_id) {
|
|||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="3-lnk.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-pm.html">1</a></li><li class="progresschapter"><a href="2-pp.html">2</a></li><li class="progresscurrentchapter">3</li><li class="progresssection"><a href="3-lnk.html">lnk</a></li><li class="progresscurrent">prp</li><li class="progresssection"><a href="3-mt.html">mt</a></li><li class="progresssection"><a href="3-tr.html">tr</a></li><li class="progresssection"><a href="3-plm.html">plm</a></li><li class="progresssection"><a href="3-rcc.html">rcc</a></li><li class="progresssection"><a href="3-ass.html">ass</a></li><li class="progresssection"><a href="3-res.html">res</a></li><li class="progresssection"><a href="3-ip.html">ip</a></li><li class="progresssection"><a href="3-dic.html">dic</a></li><li class="progresssection"><a href="3-unq.html">unq</a></li><li class="progresssection"><a href="3-rv.html">rv</a></li><li class="progresschapter"><a href="4-sh.html">4</a></li><li class="progresschapter"><a href="5-erm.html">5</a></li><li class="progressnext"><a href="3-mt.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="3-as.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-pm.html">1</a></li><li class="progresschapter"><a href="2-pp.html">2</a></li><li class="progresscurrentchapter">3</li><li class="progresssection"><a href="3-as.html">as</a></li><li class="progresscurrent">prp</li><li class="progresssection"><a href="3-mt.html">mt</a></li><li class="progresssection"><a href="3-tr.html">tr</a></li><li class="progresssection"><a href="3-plm.html">plm</a></li><li class="progresssection"><a href="3-rcc.html">rcc</a></li><li class="progresssection"><a href="3-ass.html">ass</a></li><li class="progresssection"><a href="3-res.html">res</a></li><li class="progresssection"><a href="3-ip.html">ip</a></li><li class="progresssection"><a href="3-dic.html">dic</a></li><li class="progresssection"><a href="3-unq.html">unq</a></li><li class="progresssection"><a href="3-rv.html">rv</a></li><li class="progresschapter"><a href="4-sh.html">4</a></li><li class="progresschapter"><a href="5-erm.html">5</a></li><li class="progressnext"><a href="3-mt.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -293,7 +293,7 @@ function togglePopup(material_id) {
|
|||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="3-rcc.html#SP2">§2</a>.</li></ul>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="3-plm.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-pm.html">1</a></li><li class="progresschapter"><a href="2-pp.html">2</a></li><li class="progresscurrentchapter">3</li><li class="progresssection"><a href="3-lnk.html">lnk</a></li><li class="progresssection"><a href="3-prp.html">prp</a></li><li class="progresssection"><a href="3-mt.html">mt</a></li><li class="progresssection"><a href="3-tr.html">tr</a></li><li class="progresssection"><a href="3-plm.html">plm</a></li><li class="progresscurrent">rcc</li><li class="progresssection"><a href="3-ass.html">ass</a></li><li class="progresssection"><a href="3-res.html">res</a></li><li class="progresssection"><a href="3-ip.html">ip</a></li><li class="progresssection"><a href="3-dic.html">dic</a></li><li class="progresssection"><a href="3-unq.html">unq</a></li><li class="progresssection"><a href="3-rv.html">rv</a></li><li class="progresschapter"><a href="4-sh.html">4</a></li><li class="progresschapter"><a href="5-erm.html">5</a></li><li class="progressnext"><a href="3-ass.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="3-plm.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-pm.html">1</a></li><li class="progresschapter"><a href="2-pp.html">2</a></li><li class="progresscurrentchapter">3</li><li class="progresssection"><a href="3-as.html">as</a></li><li class="progresssection"><a href="3-prp.html">prp</a></li><li class="progresssection"><a href="3-mt.html">mt</a></li><li class="progresssection"><a href="3-tr.html">tr</a></li><li class="progresssection"><a href="3-plm.html">plm</a></li><li class="progresscurrent">rcc</li><li class="progresssection"><a href="3-ass.html">ass</a></li><li class="progresssection"><a href="3-res.html">res</a></li><li class="progresssection"><a href="3-ip.html">ip</a></li><li class="progresssection"><a href="3-dic.html">dic</a></li><li class="progresssection"><a href="3-unq.html">unq</a></li><li class="progresssection"><a href="3-rv.html">rv</a></li><li class="progresschapter"><a href="4-sh.html">4</a></li><li class="progresschapter"><a href="5-erm.html">5</a></li><li class="progressnext"><a href="3-ass.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -132,7 +132,7 @@ function togglePopup(material_id) {
|
|||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="3-ass.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-pm.html">1</a></li><li class="progresschapter"><a href="2-pp.html">2</a></li><li class="progresscurrentchapter">3</li><li class="progresssection"><a href="3-lnk.html">lnk</a></li><li class="progresssection"><a href="3-prp.html">prp</a></li><li class="progresssection"><a href="3-mt.html">mt</a></li><li class="progresssection"><a href="3-tr.html">tr</a></li><li class="progresssection"><a href="3-plm.html">plm</a></li><li class="progresssection"><a href="3-rcc.html">rcc</a></li><li class="progresssection"><a href="3-ass.html">ass</a></li><li class="progresscurrent">res</li><li class="progresssection"><a href="3-ip.html">ip</a></li><li class="progresssection"><a href="3-dic.html">dic</a></li><li class="progresssection"><a href="3-unq.html">unq</a></li><li class="progresssection"><a href="3-rv.html">rv</a></li><li class="progresschapter"><a href="4-sh.html">4</a></li><li class="progresschapter"><a href="5-erm.html">5</a></li><li class="progressnext"><a href="3-ip.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="3-ass.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-pm.html">1</a></li><li class="progresschapter"><a href="2-pp.html">2</a></li><li class="progresscurrentchapter">3</li><li class="progresssection"><a href="3-as.html">as</a></li><li class="progresssection"><a href="3-prp.html">prp</a></li><li class="progresssection"><a href="3-mt.html">mt</a></li><li class="progresssection"><a href="3-tr.html">tr</a></li><li class="progresssection"><a href="3-plm.html">plm</a></li><li class="progresssection"><a href="3-rcc.html">rcc</a></li><li class="progresssection"><a href="3-ass.html">ass</a></li><li class="progresscurrent">res</li><li class="progresssection"><a href="3-ip.html">ip</a></li><li class="progresssection"><a href="3-dic.html">dic</a></li><li class="progresssection"><a href="3-unq.html">unq</a></li><li class="progresssection"><a href="3-rv.html">rv</a></li><li class="progresschapter"><a href="4-sh.html">4</a></li><li class="progresschapter"><a href="5-erm.html">5</a></li><li class="progressnext"><a href="3-ip.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -138,7 +138,7 @@ function togglePopup(material_id) {
|
|||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="3-rv.html#SP2">§2</a> (twice).</li></ul>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="3-unq.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-pm.html">1</a></li><li class="progresschapter"><a href="2-pp.html">2</a></li><li class="progresscurrentchapter">3</li><li class="progresssection"><a href="3-lnk.html">lnk</a></li><li class="progresssection"><a href="3-prp.html">prp</a></li><li class="progresssection"><a href="3-mt.html">mt</a></li><li class="progresssection"><a href="3-tr.html">tr</a></li><li class="progresssection"><a href="3-plm.html">plm</a></li><li class="progresssection"><a href="3-rcc.html">rcc</a></li><li class="progresssection"><a href="3-ass.html">ass</a></li><li class="progresssection"><a href="3-res.html">res</a></li><li class="progresssection"><a href="3-ip.html">ip</a></li><li class="progresssection"><a href="3-dic.html">dic</a></li><li class="progresssection"><a href="3-unq.html">unq</a></li><li class="progresscurrent">rv</li><li class="progresschapter"><a href="4-sh.html">4</a></li><li class="progresschapter"><a href="5-erm.html">5</a></li><li class="progressnext"><a href="4-sh.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="3-unq.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-pm.html">1</a></li><li class="progresschapter"><a href="2-pp.html">2</a></li><li class="progresscurrentchapter">3</li><li class="progresssection"><a href="3-as.html">as</a></li><li class="progresssection"><a href="3-prp.html">prp</a></li><li class="progresssection"><a href="3-mt.html">mt</a></li><li class="progresssection"><a href="3-tr.html">tr</a></li><li class="progresssection"><a href="3-plm.html">plm</a></li><li class="progresssection"><a href="3-rcc.html">rcc</a></li><li class="progresssection"><a href="3-ass.html">ass</a></li><li class="progresssection"><a href="3-res.html">res</a></li><li class="progresssection"><a href="3-ip.html">ip</a></li><li class="progresssection"><a href="3-dic.html">dic</a></li><li class="progresssection"><a href="3-unq.html">unq</a></li><li class="progresscurrent">rv</li><li class="progresschapter"><a href="4-sh.html">4</a></li><li class="progresschapter"><a href="5-erm.html">5</a></li><li class="progressnext"><a href="4-sh.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -724,7 +724,7 @@ using template-hacking there are a handful of cases that can't be avoided, so...
|
|||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="3-mt.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-pm.html">1</a></li><li class="progresschapter"><a href="2-pp.html">2</a></li><li class="progresscurrentchapter">3</li><li class="progresssection"><a href="3-lnk.html">lnk</a></li><li class="progresssection"><a href="3-prp.html">prp</a></li><li class="progresssection"><a href="3-mt.html">mt</a></li><li class="progresscurrent">tr</li><li class="progresssection"><a href="3-plm.html">plm</a></li><li class="progresssection"><a href="3-rcc.html">rcc</a></li><li class="progresssection"><a href="3-ass.html">ass</a></li><li class="progresssection"><a href="3-res.html">res</a></li><li class="progresssection"><a href="3-ip.html">ip</a></li><li class="progresssection"><a href="3-dic.html">dic</a></li><li class="progresssection"><a href="3-unq.html">unq</a></li><li class="progresssection"><a href="3-rv.html">rv</a></li><li class="progresschapter"><a href="4-sh.html">4</a></li><li class="progresschapter"><a href="5-erm.html">5</a></li><li class="progressnext"><a href="3-plm.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="3-mt.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-pm.html">1</a></li><li class="progresschapter"><a href="2-pp.html">2</a></li><li class="progresscurrentchapter">3</li><li class="progresssection"><a href="3-as.html">as</a></li><li class="progresssection"><a href="3-prp.html">prp</a></li><li class="progresssection"><a href="3-mt.html">mt</a></li><li class="progresscurrent">tr</li><li class="progresssection"><a href="3-plm.html">plm</a></li><li class="progresssection"><a href="3-rcc.html">rcc</a></li><li class="progresssection"><a href="3-ass.html">ass</a></li><li class="progresssection"><a href="3-res.html">res</a></li><li class="progresssection"><a href="3-ip.html">ip</a></li><li class="progresssection"><a href="3-dic.html">dic</a></li><li class="progresssection"><a href="3-unq.html">unq</a></li><li class="progresssection"><a href="3-rv.html">rv</a></li><li class="progresschapter"><a href="4-sh.html">4</a></li><li class="progresschapter"><a href="5-erm.html">5</a></li><li class="progressnext"><a href="3-plm.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -124,7 +124,7 @@ function togglePopup(material_id) {
|
|||
</pre>
|
||||
<ul class="endnotetexts"><li>The structure uniqueness_count is private to this section.</li></ul>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="3-dic.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-pm.html">1</a></li><li class="progresschapter"><a href="2-pp.html">2</a></li><li class="progresscurrentchapter">3</li><li class="progresssection"><a href="3-lnk.html">lnk</a></li><li class="progresssection"><a href="3-prp.html">prp</a></li><li class="progresssection"><a href="3-mt.html">mt</a></li><li class="progresssection"><a href="3-tr.html">tr</a></li><li class="progresssection"><a href="3-plm.html">plm</a></li><li class="progresssection"><a href="3-rcc.html">rcc</a></li><li class="progresssection"><a href="3-ass.html">ass</a></li><li class="progresssection"><a href="3-res.html">res</a></li><li class="progresssection"><a href="3-ip.html">ip</a></li><li class="progresssection"><a href="3-dic.html">dic</a></li><li class="progresscurrent">unq</li><li class="progresssection"><a href="3-rv.html">rv</a></li><li class="progresschapter"><a href="4-sh.html">4</a></li><li class="progresschapter"><a href="5-erm.html">5</a></li><li class="progressnext"><a href="3-rv.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="3-dic.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-pm.html">1</a></li><li class="progresschapter"><a href="2-pp.html">2</a></li><li class="progresscurrentchapter">3</li><li class="progresssection"><a href="3-as.html">as</a></li><li class="progresssection"><a href="3-prp.html">prp</a></li><li class="progresssection"><a href="3-mt.html">mt</a></li><li class="progresssection"><a href="3-tr.html">tr</a></li><li class="progresssection"><a href="3-plm.html">plm</a></li><li class="progresssection"><a href="3-rcc.html">rcc</a></li><li class="progresssection"><a href="3-ass.html">ass</a></li><li class="progresssection"><a href="3-res.html">res</a></li><li class="progresssection"><a href="3-ip.html">ip</a></li><li class="progresssection"><a href="3-dic.html">dic</a></li><li class="progresscurrent">unq</li><li class="progresssection"><a href="3-rv.html">rv</a></li><li class="progresschapter"><a href="4-sh.html">4</a></li><li class="progresschapter"><a href="5-erm.html">5</a></li><li class="progressnext"><a href="3-rv.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -173,7 +173,7 @@ of packages of type <span class="extract"><span class="extract-syntax">_activity
|
|||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="4-act.html#SP1">§1</a>.</li></ul>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="4-rls.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-pm.html">1</a></li><li class="progresschapter"><a href="2-pp.html">2</a></li><li class="progresschapter"><a href="3-lnk.html">3</a></li><li class="progresscurrentchapter">4</li><li class="progresssection"><a href="4-sh.html">sh</a></li><li class="progresssection"><a href="4-su.html">su</a></li><li class="progresssection"><a href="4-ext.html">ext</a></li><li class="progresssection"><a href="4-lt.html">lt</a></li><li class="progresssection"><a href="4-rsp.html">rsp</a></li><li class="progresssection"><a href="4-rls.html">rls</a></li><li class="progresscurrent">act</li><li class="progresssection"><a href="4-act2.html">act2</a></li><li class="progresssection"><a href="4-ins.html">ins</a></li><li class="progresssection"><a href="4-knd.html">knd</a></li><li class="progresssection"><a href="4-prp.html">prp</a></li><li class="progresssection"><a href="4-rlt.html">rlt</a></li><li class="progresssection"><a href="4-tbl.html">tbl</a></li><li class="progresssection"><a href="4-chr.html">chr</a></li><li class="progresssection"><a href="4-scn.html">scn</a></li><li class="progresssection"><a href="4-mlt.html">mlt</a></li><li class="progresssection"><a href="4-uo.html">uo</a></li><li class="progresssection"><a href="4-vrb.html">vrb</a></li><li class="progresssection"><a href="4-tst.html">tst</a></li><li class="progresschapter"><a href="5-erm.html">5</a></li><li class="progressnext"><a href="4-act2.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="4-rls.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-pm.html">1</a></li><li class="progresschapter"><a href="2-pp.html">2</a></li><li class="progresschapter"><a href="3-as.html">3</a></li><li class="progresscurrentchapter">4</li><li class="progresssection"><a href="4-sh.html">sh</a></li><li class="progresssection"><a href="4-su.html">su</a></li><li class="progresssection"><a href="4-ext.html">ext</a></li><li class="progresssection"><a href="4-lt.html">lt</a></li><li class="progresssection"><a href="4-rsp.html">rsp</a></li><li class="progresssection"><a href="4-rls.html">rls</a></li><li class="progresscurrent">act</li><li class="progresssection"><a href="4-act2.html">act2</a></li><li class="progresssection"><a href="4-ins.html">ins</a></li><li class="progresssection"><a href="4-knd.html">knd</a></li><li class="progresssection"><a href="4-prp.html">prp</a></li><li class="progresssection"><a href="4-rlt.html">rlt</a></li><li class="progresssection"><a href="4-tbl.html">tbl</a></li><li class="progresssection"><a href="4-chr.html">chr</a></li><li class="progresssection"><a href="4-scn.html">scn</a></li><li class="progresssection"><a href="4-mlt.html">mlt</a></li><li class="progresssection"><a href="4-uo.html">uo</a></li><li class="progresssection"><a href="4-vrb.html">vrb</a></li><li class="progresssection"><a href="4-tst.html">tst</a></li><li class="progresschapter"><a href="5-erm.html">5</a></li><li class="progressnext"><a href="4-act2.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -248,7 +248,7 @@ of packages of type <span class="extract"><span class="extract-syntax">_action</
|
|||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="4-act2.html#SP2">§2</a>.</li></ul>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="4-act.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-pm.html">1</a></li><li class="progresschapter"><a href="2-pp.html">2</a></li><li class="progresschapter"><a href="3-lnk.html">3</a></li><li class="progresscurrentchapter">4</li><li class="progresssection"><a href="4-sh.html">sh</a></li><li class="progresssection"><a href="4-su.html">su</a></li><li class="progresssection"><a href="4-ext.html">ext</a></li><li class="progresssection"><a href="4-lt.html">lt</a></li><li class="progresssection"><a href="4-rsp.html">rsp</a></li><li class="progresssection"><a href="4-rls.html">rls</a></li><li class="progresssection"><a href="4-act.html">act</a></li><li class="progresscurrent">act2</li><li class="progresssection"><a href="4-ins.html">ins</a></li><li class="progresssection"><a href="4-knd.html">knd</a></li><li class="progresssection"><a href="4-prp.html">prp</a></li><li class="progresssection"><a href="4-rlt.html">rlt</a></li><li class="progresssection"><a href="4-tbl.html">tbl</a></li><li class="progresssection"><a href="4-chr.html">chr</a></li><li class="progresssection"><a href="4-scn.html">scn</a></li><li class="progresssection"><a href="4-mlt.html">mlt</a></li><li class="progresssection"><a href="4-uo.html">uo</a></li><li class="progresssection"><a href="4-vrb.html">vrb</a></li><li class="progresssection"><a href="4-tst.html">tst</a></li><li class="progresschapter"><a href="5-erm.html">5</a></li><li class="progressnext"><a href="4-ins.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="4-act.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-pm.html">1</a></li><li class="progresschapter"><a href="2-pp.html">2</a></li><li class="progresschapter"><a href="3-as.html">3</a></li><li class="progresscurrentchapter">4</li><li class="progresssection"><a href="4-sh.html">sh</a></li><li class="progresssection"><a href="4-su.html">su</a></li><li class="progresssection"><a href="4-ext.html">ext</a></li><li class="progresssection"><a href="4-lt.html">lt</a></li><li class="progresssection"><a href="4-rsp.html">rsp</a></li><li class="progresssection"><a href="4-rls.html">rls</a></li><li class="progresssection"><a href="4-act.html">act</a></li><li class="progresscurrent">act2</li><li class="progresssection"><a href="4-ins.html">ins</a></li><li class="progresssection"><a href="4-knd.html">knd</a></li><li class="progresssection"><a href="4-prp.html">prp</a></li><li class="progresssection"><a href="4-rlt.html">rlt</a></li><li class="progresssection"><a href="4-tbl.html">tbl</a></li><li class="progresssection"><a href="4-chr.html">chr</a></li><li class="progresssection"><a href="4-scn.html">scn</a></li><li class="progresssection"><a href="4-mlt.html">mlt</a></li><li class="progresssection"><a href="4-uo.html">uo</a></li><li class="progresssection"><a href="4-vrb.html">vrb</a></li><li class="progresssection"><a href="4-tst.html">tst</a></li><li class="progresschapter"><a href="5-erm.html">5</a></li><li class="progressnext"><a href="4-ins.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -603,7 +603,7 @@ over the Inter tree. Each needs its own set of unique IDs.
|
|||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="4-chr.html#SP1_6">§1.6</a>.</li></ul>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="4-tbl.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-pm.html">1</a></li><li class="progresschapter"><a href="2-pp.html">2</a></li><li class="progresschapter"><a href="3-lnk.html">3</a></li><li class="progresscurrentchapter">4</li><li class="progresssection"><a href="4-sh.html">sh</a></li><li class="progresssection"><a href="4-su.html">su</a></li><li class="progresssection"><a href="4-ext.html">ext</a></li><li class="progresssection"><a href="4-lt.html">lt</a></li><li class="progresssection"><a href="4-rsp.html">rsp</a></li><li class="progresssection"><a href="4-rls.html">rls</a></li><li class="progresssection"><a href="4-act.html">act</a></li><li class="progresssection"><a href="4-act2.html">act2</a></li><li class="progresssection"><a href="4-ins.html">ins</a></li><li class="progresssection"><a href="4-knd.html">knd</a></li><li class="progresssection"><a href="4-prp.html">prp</a></li><li class="progresssection"><a href="4-rlt.html">rlt</a></li><li class="progresssection"><a href="4-tbl.html">tbl</a></li><li class="progresscurrent">chr</li><li class="progresssection"><a href="4-scn.html">scn</a></li><li class="progresssection"><a href="4-mlt.html">mlt</a></li><li class="progresssection"><a href="4-uo.html">uo</a></li><li class="progresssection"><a href="4-vrb.html">vrb</a></li><li class="progresssection"><a href="4-tst.html">tst</a></li><li class="progresschapter"><a href="5-erm.html">5</a></li><li class="progressnext"><a href="4-scn.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="4-tbl.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-pm.html">1</a></li><li class="progresschapter"><a href="2-pp.html">2</a></li><li class="progresschapter"><a href="3-as.html">3</a></li><li class="progresscurrentchapter">4</li><li class="progresssection"><a href="4-sh.html">sh</a></li><li class="progresssection"><a href="4-su.html">su</a></li><li class="progresssection"><a href="4-ext.html">ext</a></li><li class="progresssection"><a href="4-lt.html">lt</a></li><li class="progresssection"><a href="4-rsp.html">rsp</a></li><li class="progresssection"><a href="4-rls.html">rls</a></li><li class="progresssection"><a href="4-act.html">act</a></li><li class="progresssection"><a href="4-act2.html">act2</a></li><li class="progresssection"><a href="4-ins.html">ins</a></li><li class="progresssection"><a href="4-knd.html">knd</a></li><li class="progresssection"><a href="4-prp.html">prp</a></li><li class="progresssection"><a href="4-rlt.html">rlt</a></li><li class="progresssection"><a href="4-tbl.html">tbl</a></li><li class="progresscurrent">chr</li><li class="progresssection"><a href="4-scn.html">scn</a></li><li class="progresssection"><a href="4-mlt.html">mlt</a></li><li class="progresssection"><a href="4-uo.html">uo</a></li><li class="progresssection"><a href="4-vrb.html">vrb</a></li><li class="progresssection"><a href="4-tst.html">tst</a></li><li class="progresschapter"><a href="5-erm.html">5</a></li><li class="progressnext"><a href="4-scn.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -195,7 +195,7 @@ is its extension ID.
|
|||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="4-ext.html#SP1">§1</a>.</li></ul>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="4-su.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-pm.html">1</a></li><li class="progresschapter"><a href="2-pp.html">2</a></li><li class="progresschapter"><a href="3-lnk.html">3</a></li><li class="progresscurrentchapter">4</li><li class="progresssection"><a href="4-sh.html">sh</a></li><li class="progresssection"><a href="4-su.html">su</a></li><li class="progresscurrent">ext</li><li class="progresssection"><a href="4-lt.html">lt</a></li><li class="progresssection"><a href="4-rsp.html">rsp</a></li><li class="progresssection"><a href="4-rls.html">rls</a></li><li class="progresssection"><a href="4-act.html">act</a></li><li class="progresssection"><a href="4-act2.html">act2</a></li><li class="progresssection"><a href="4-ins.html">ins</a></li><li class="progresssection"><a href="4-knd.html">knd</a></li><li class="progresssection"><a href="4-prp.html">prp</a></li><li class="progresssection"><a href="4-rlt.html">rlt</a></li><li class="progresssection"><a href="4-tbl.html">tbl</a></li><li class="progresssection"><a href="4-chr.html">chr</a></li><li class="progresssection"><a href="4-scn.html">scn</a></li><li class="progresssection"><a href="4-mlt.html">mlt</a></li><li class="progresssection"><a href="4-uo.html">uo</a></li><li class="progresssection"><a href="4-vrb.html">vrb</a></li><li class="progresssection"><a href="4-tst.html">tst</a></li><li class="progresschapter"><a href="5-erm.html">5</a></li><li class="progressnext"><a href="4-lt.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="4-su.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-pm.html">1</a></li><li class="progresschapter"><a href="2-pp.html">2</a></li><li class="progresschapter"><a href="3-as.html">3</a></li><li class="progresscurrentchapter">4</li><li class="progresssection"><a href="4-sh.html">sh</a></li><li class="progresssection"><a href="4-su.html">su</a></li><li class="progresscurrent">ext</li><li class="progresssection"><a href="4-lt.html">lt</a></li><li class="progresssection"><a href="4-rsp.html">rsp</a></li><li class="progresssection"><a href="4-rls.html">rls</a></li><li class="progresssection"><a href="4-act.html">act</a></li><li class="progresssection"><a href="4-act2.html">act2</a></li><li class="progresssection"><a href="4-ins.html">ins</a></li><li class="progresssection"><a href="4-knd.html">knd</a></li><li class="progresssection"><a href="4-prp.html">prp</a></li><li class="progresssection"><a href="4-rlt.html">rlt</a></li><li class="progresssection"><a href="4-tbl.html">tbl</a></li><li class="progresssection"><a href="4-chr.html">chr</a></li><li class="progresssection"><a href="4-scn.html">scn</a></li><li class="progresssection"><a href="4-mlt.html">mlt</a></li><li class="progresssection"><a href="4-uo.html">uo</a></li><li class="progresssection"><a href="4-vrb.html">vrb</a></li><li class="progresssection"><a href="4-tst.html">tst</a></li><li class="progresschapter"><a href="5-erm.html">5</a></li><li class="progressnext"><a href="4-lt.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -124,7 +124,7 @@ of packages of type <span class="extract"><span class="extract-syntax">_instance
|
|||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="4-ins.html#SP1">§1</a>.</li></ul>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="4-act2.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-pm.html">1</a></li><li class="progresschapter"><a href="2-pp.html">2</a></li><li class="progresschapter"><a href="3-lnk.html">3</a></li><li class="progresscurrentchapter">4</li><li class="progresssection"><a href="4-sh.html">sh</a></li><li class="progresssection"><a href="4-su.html">su</a></li><li class="progresssection"><a href="4-ext.html">ext</a></li><li class="progresssection"><a href="4-lt.html">lt</a></li><li class="progresssection"><a href="4-rsp.html">rsp</a></li><li class="progresssection"><a href="4-rls.html">rls</a></li><li class="progresssection"><a href="4-act.html">act</a></li><li class="progresssection"><a href="4-act2.html">act2</a></li><li class="progresscurrent">ins</li><li class="progresssection"><a href="4-knd.html">knd</a></li><li class="progresssection"><a href="4-prp.html">prp</a></li><li class="progresssection"><a href="4-rlt.html">rlt</a></li><li class="progresssection"><a href="4-tbl.html">tbl</a></li><li class="progresssection"><a href="4-chr.html">chr</a></li><li class="progresssection"><a href="4-scn.html">scn</a></li><li class="progresssection"><a href="4-mlt.html">mlt</a></li><li class="progresssection"><a href="4-uo.html">uo</a></li><li class="progresssection"><a href="4-vrb.html">vrb</a></li><li class="progresssection"><a href="4-tst.html">tst</a></li><li class="progresschapter"><a href="5-erm.html">5</a></li><li class="progressnext"><a href="4-knd.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="4-act2.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-pm.html">1</a></li><li class="progresschapter"><a href="2-pp.html">2</a></li><li class="progresschapter"><a href="3-as.html">3</a></li><li class="progresscurrentchapter">4</li><li class="progresssection"><a href="4-sh.html">sh</a></li><li class="progresssection"><a href="4-su.html">su</a></li><li class="progresssection"><a href="4-ext.html">ext</a></li><li class="progresssection"><a href="4-lt.html">lt</a></li><li class="progresssection"><a href="4-rsp.html">rsp</a></li><li class="progresssection"><a href="4-rls.html">rls</a></li><li class="progresssection"><a href="4-act.html">act</a></li><li class="progresssection"><a href="4-act2.html">act2</a></li><li class="progresscurrent">ins</li><li class="progresssection"><a href="4-knd.html">knd</a></li><li class="progresssection"><a href="4-prp.html">prp</a></li><li class="progresssection"><a href="4-rlt.html">rlt</a></li><li class="progresssection"><a href="4-tbl.html">tbl</a></li><li class="progresssection"><a href="4-chr.html">chr</a></li><li class="progresssection"><a href="4-scn.html">scn</a></li><li class="progresssection"><a href="4-mlt.html">mlt</a></li><li class="progresssection"><a href="4-uo.html">uo</a></li><li class="progresssection"><a href="4-vrb.html">vrb</a></li><li class="progresssection"><a href="4-tst.html">tst</a></li><li class="progresschapter"><a href="5-erm.html">5</a></li><li class="progressnext"><a href="4-knd.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -639,7 +639,7 @@ a kind of thing.
|
|||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="4-ins.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-pm.html">1</a></li><li class="progresschapter"><a href="2-pp.html">2</a></li><li class="progresschapter"><a href="3-lnk.html">3</a></li><li class="progresscurrentchapter">4</li><li class="progresssection"><a href="4-sh.html">sh</a></li><li class="progresssection"><a href="4-su.html">su</a></li><li class="progresssection"><a href="4-ext.html">ext</a></li><li class="progresssection"><a href="4-lt.html">lt</a></li><li class="progresssection"><a href="4-rsp.html">rsp</a></li><li class="progresssection"><a href="4-rls.html">rls</a></li><li class="progresssection"><a href="4-act.html">act</a></li><li class="progresssection"><a href="4-act2.html">act2</a></li><li class="progresssection"><a href="4-ins.html">ins</a></li><li class="progresscurrent">knd</li><li class="progresssection"><a href="4-prp.html">prp</a></li><li class="progresssection"><a href="4-rlt.html">rlt</a></li><li class="progresssection"><a href="4-tbl.html">tbl</a></li><li class="progresssection"><a href="4-chr.html">chr</a></li><li class="progresssection"><a href="4-scn.html">scn</a></li><li class="progresssection"><a href="4-mlt.html">mlt</a></li><li class="progresssection"><a href="4-uo.html">uo</a></li><li class="progresssection"><a href="4-vrb.html">vrb</a></li><li class="progresssection"><a href="4-tst.html">tst</a></li><li class="progresschapter"><a href="5-erm.html">5</a></li><li class="progressnext"><a href="4-prp.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="4-ins.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-pm.html">1</a></li><li class="progresschapter"><a href="2-pp.html">2</a></li><li class="progresschapter"><a href="3-as.html">3</a></li><li class="progresscurrentchapter">4</li><li class="progresssection"><a href="4-sh.html">sh</a></li><li class="progresssection"><a href="4-su.html">su</a></li><li class="progresssection"><a href="4-ext.html">ext</a></li><li class="progresssection"><a href="4-lt.html">lt</a></li><li class="progresssection"><a href="4-rsp.html">rsp</a></li><li class="progresssection"><a href="4-rls.html">rls</a></li><li class="progresssection"><a href="4-act.html">act</a></li><li class="progresssection"><a href="4-act2.html">act2</a></li><li class="progresssection"><a href="4-ins.html">ins</a></li><li class="progresscurrent">knd</li><li class="progresssection"><a href="4-prp.html">prp</a></li><li class="progresssection"><a href="4-rlt.html">rlt</a></li><li class="progresssection"><a href="4-tbl.html">tbl</a></li><li class="progresssection"><a href="4-chr.html">chr</a></li><li class="progresssection"><a href="4-scn.html">scn</a></li><li class="progresssection"><a href="4-mlt.html">mlt</a></li><li class="progresssection"><a href="4-uo.html">uo</a></li><li class="progresssection"><a href="4-vrb.html">vrb</a></li><li class="progresssection"><a href="4-tst.html">tst</a></li><li class="progresschapter"><a href="5-erm.html">5</a></li><li class="progressnext"><a href="4-prp.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -201,7 +201,7 @@ and use that to define a sorting function on nodes:
|
|||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="4-ext.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-pm.html">1</a></li><li class="progresschapter"><a href="2-pp.html">2</a></li><li class="progresschapter"><a href="3-lnk.html">3</a></li><li class="progresscurrentchapter">4</li><li class="progresssection"><a href="4-sh.html">sh</a></li><li class="progresssection"><a href="4-su.html">su</a></li><li class="progresssection"><a href="4-ext.html">ext</a></li><li class="progresscurrent">lt</li><li class="progresssection"><a href="4-rsp.html">rsp</a></li><li class="progresssection"><a href="4-rls.html">rls</a></li><li class="progresssection"><a href="4-act.html">act</a></li><li class="progresssection"><a href="4-act2.html">act2</a></li><li class="progresssection"><a href="4-ins.html">ins</a></li><li class="progresssection"><a href="4-knd.html">knd</a></li><li class="progresssection"><a href="4-prp.html">prp</a></li><li class="progresssection"><a href="4-rlt.html">rlt</a></li><li class="progresssection"><a href="4-tbl.html">tbl</a></li><li class="progresssection"><a href="4-chr.html">chr</a></li><li class="progresssection"><a href="4-scn.html">scn</a></li><li class="progresssection"><a href="4-mlt.html">mlt</a></li><li class="progresssection"><a href="4-uo.html">uo</a></li><li class="progresssection"><a href="4-vrb.html">vrb</a></li><li class="progresssection"><a href="4-tst.html">tst</a></li><li class="progresschapter"><a href="5-erm.html">5</a></li><li class="progressnext"><a href="4-rsp.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="4-ext.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-pm.html">1</a></li><li class="progresschapter"><a href="2-pp.html">2</a></li><li class="progresschapter"><a href="3-as.html">3</a></li><li class="progresscurrentchapter">4</li><li class="progresssection"><a href="4-sh.html">sh</a></li><li class="progresssection"><a href="4-su.html">su</a></li><li class="progresssection"><a href="4-ext.html">ext</a></li><li class="progresscurrent">lt</li><li class="progresssection"><a href="4-rsp.html">rsp</a></li><li class="progresssection"><a href="4-rls.html">rls</a></li><li class="progresssection"><a href="4-act.html">act</a></li><li class="progresssection"><a href="4-act2.html">act2</a></li><li class="progresssection"><a href="4-ins.html">ins</a></li><li class="progresssection"><a href="4-knd.html">knd</a></li><li class="progresssection"><a href="4-prp.html">prp</a></li><li class="progresssection"><a href="4-rlt.html">rlt</a></li><li class="progresssection"><a href="4-tbl.html">tbl</a></li><li class="progresssection"><a href="4-chr.html">chr</a></li><li class="progresssection"><a href="4-scn.html">scn</a></li><li class="progresssection"><a href="4-mlt.html">mlt</a></li><li class="progresssection"><a href="4-uo.html">uo</a></li><li class="progresssection"><a href="4-vrb.html">vrb</a></li><li class="progresssection"><a href="4-tst.html">tst</a></li><li class="progresschapter"><a href="5-erm.html">5</a></li><li class="progressnext"><a href="4-rsp.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -155,7 +155,7 @@ of instances having the kind <span class="extract"><span class="extract-syntax">
|
|||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="4-mlt.html#SP1">§1</a>.</li></ul>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="4-scn.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-pm.html">1</a></li><li class="progresschapter"><a href="2-pp.html">2</a></li><li class="progresschapter"><a href="3-lnk.html">3</a></li><li class="progresscurrentchapter">4</li><li class="progresssection"><a href="4-sh.html">sh</a></li><li class="progresssection"><a href="4-su.html">su</a></li><li class="progresssection"><a href="4-ext.html">ext</a></li><li class="progresssection"><a href="4-lt.html">lt</a></li><li class="progresssection"><a href="4-rsp.html">rsp</a></li><li class="progresssection"><a href="4-rls.html">rls</a></li><li class="progresssection"><a href="4-act.html">act</a></li><li class="progresssection"><a href="4-act2.html">act2</a></li><li class="progresssection"><a href="4-ins.html">ins</a></li><li class="progresssection"><a href="4-knd.html">knd</a></li><li class="progresssection"><a href="4-prp.html">prp</a></li><li class="progresssection"><a href="4-rlt.html">rlt</a></li><li class="progresssection"><a href="4-tbl.html">tbl</a></li><li class="progresssection"><a href="4-chr.html">chr</a></li><li class="progresssection"><a href="4-scn.html">scn</a></li><li class="progresscurrent">mlt</li><li class="progresssection"><a href="4-uo.html">uo</a></li><li class="progresssection"><a href="4-vrb.html">vrb</a></li><li class="progresssection"><a href="4-tst.html">tst</a></li><li class="progresschapter"><a href="5-erm.html">5</a></li><li class="progressnext"><a href="4-uo.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="4-scn.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-pm.html">1</a></li><li class="progresschapter"><a href="2-pp.html">2</a></li><li class="progresschapter"><a href="3-as.html">3</a></li><li class="progresscurrentchapter">4</li><li class="progresssection"><a href="4-sh.html">sh</a></li><li class="progresssection"><a href="4-su.html">su</a></li><li class="progresssection"><a href="4-ext.html">ext</a></li><li class="progresssection"><a href="4-lt.html">lt</a></li><li class="progresssection"><a href="4-rsp.html">rsp</a></li><li class="progresssection"><a href="4-rls.html">rls</a></li><li class="progresssection"><a href="4-act.html">act</a></li><li class="progresssection"><a href="4-act2.html">act2</a></li><li class="progresssection"><a href="4-ins.html">ins</a></li><li class="progresssection"><a href="4-knd.html">knd</a></li><li class="progresssection"><a href="4-prp.html">prp</a></li><li class="progresssection"><a href="4-rlt.html">rlt</a></li><li class="progresssection"><a href="4-tbl.html">tbl</a></li><li class="progresssection"><a href="4-chr.html">chr</a></li><li class="progresssection"><a href="4-scn.html">scn</a></li><li class="progresscurrent">mlt</li><li class="progresssection"><a href="4-uo.html">uo</a></li><li class="progresssection"><a href="4-vrb.html">vrb</a></li><li class="progresssection"><a href="4-tst.html">tst</a></li><li class="progresschapter"><a href="5-erm.html">5</a></li><li class="progressnext"><a href="4-uo.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -103,7 +103,7 @@ of packages of type <span class="extract"><span class="extract-syntax">_activity
|
|||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="4-prp.html#SP1">§1</a>.</li></ul>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="4-knd.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-pm.html">1</a></li><li class="progresschapter"><a href="2-pp.html">2</a></li><li class="progresschapter"><a href="3-lnk.html">3</a></li><li class="progresscurrentchapter">4</li><li class="progresssection"><a href="4-sh.html">sh</a></li><li class="progresssection"><a href="4-su.html">su</a></li><li class="progresssection"><a href="4-ext.html">ext</a></li><li class="progresssection"><a href="4-lt.html">lt</a></li><li class="progresssection"><a href="4-rsp.html">rsp</a></li><li class="progresssection"><a href="4-rls.html">rls</a></li><li class="progresssection"><a href="4-act.html">act</a></li><li class="progresssection"><a href="4-act2.html">act2</a></li><li class="progresssection"><a href="4-ins.html">ins</a></li><li class="progresssection"><a href="4-knd.html">knd</a></li><li class="progresscurrent">prp</li><li class="progresssection"><a href="4-rlt.html">rlt</a></li><li class="progresssection"><a href="4-tbl.html">tbl</a></li><li class="progresssection"><a href="4-chr.html">chr</a></li><li class="progresssection"><a href="4-scn.html">scn</a></li><li class="progresssection"><a href="4-mlt.html">mlt</a></li><li class="progresssection"><a href="4-uo.html">uo</a></li><li class="progresssection"><a href="4-vrb.html">vrb</a></li><li class="progresssection"><a href="4-tst.html">tst</a></li><li class="progresschapter"><a href="5-erm.html">5</a></li><li class="progressnext"><a href="4-rlt.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="4-knd.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-pm.html">1</a></li><li class="progresschapter"><a href="2-pp.html">2</a></li><li class="progresschapter"><a href="3-as.html">3</a></li><li class="progresscurrentchapter">4</li><li class="progresssection"><a href="4-sh.html">sh</a></li><li class="progresssection"><a href="4-su.html">su</a></li><li class="progresssection"><a href="4-ext.html">ext</a></li><li class="progresssection"><a href="4-lt.html">lt</a></li><li class="progresssection"><a href="4-rsp.html">rsp</a></li><li class="progresssection"><a href="4-rls.html">rls</a></li><li class="progresssection"><a href="4-act.html">act</a></li><li class="progresssection"><a href="4-act2.html">act2</a></li><li class="progresssection"><a href="4-ins.html">ins</a></li><li class="progresssection"><a href="4-knd.html">knd</a></li><li class="progresscurrent">prp</li><li class="progresssection"><a href="4-rlt.html">rlt</a></li><li class="progresssection"><a href="4-tbl.html">tbl</a></li><li class="progresssection"><a href="4-chr.html">chr</a></li><li class="progresssection"><a href="4-scn.html">scn</a></li><li class="progresssection"><a href="4-mlt.html">mlt</a></li><li class="progresssection"><a href="4-uo.html">uo</a></li><li class="progresssection"><a href="4-vrb.html">vrb</a></li><li class="progresssection"><a href="4-tst.html">tst</a></li><li class="progresschapter"><a href="5-erm.html">5</a></li><li class="progressnext"><a href="4-rlt.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -320,7 +320,7 @@ of packages of type <span class="extract"><span class="extract-syntax">_rulebook
|
|||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="4-rls.html#SP1_6">§1.6</a>.</li></ul>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="4-rsp.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-pm.html">1</a></li><li class="progresschapter"><a href="2-pp.html">2</a></li><li class="progresschapter"><a href="3-lnk.html">3</a></li><li class="progresscurrentchapter">4</li><li class="progresssection"><a href="4-sh.html">sh</a></li><li class="progresssection"><a href="4-su.html">su</a></li><li class="progresssection"><a href="4-ext.html">ext</a></li><li class="progresssection"><a href="4-lt.html">lt</a></li><li class="progresssection"><a href="4-rsp.html">rsp</a></li><li class="progresscurrent">rls</li><li class="progresssection"><a href="4-act.html">act</a></li><li class="progresssection"><a href="4-act2.html">act2</a></li><li class="progresssection"><a href="4-ins.html">ins</a></li><li class="progresssection"><a href="4-knd.html">knd</a></li><li class="progresssection"><a href="4-prp.html">prp</a></li><li class="progresssection"><a href="4-rlt.html">rlt</a></li><li class="progresssection"><a href="4-tbl.html">tbl</a></li><li class="progresssection"><a href="4-chr.html">chr</a></li><li class="progresssection"><a href="4-scn.html">scn</a></li><li class="progresssection"><a href="4-mlt.html">mlt</a></li><li class="progresssection"><a href="4-uo.html">uo</a></li><li class="progresssection"><a href="4-vrb.html">vrb</a></li><li class="progresssection"><a href="4-tst.html">tst</a></li><li class="progresschapter"><a href="5-erm.html">5</a></li><li class="progressnext"><a href="4-act.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="4-rsp.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-pm.html">1</a></li><li class="progresschapter"><a href="2-pp.html">2</a></li><li class="progresschapter"><a href="3-as.html">3</a></li><li class="progresscurrentchapter">4</li><li class="progresssection"><a href="4-sh.html">sh</a></li><li class="progresssection"><a href="4-su.html">su</a></li><li class="progresssection"><a href="4-ext.html">ext</a></li><li class="progresssection"><a href="4-lt.html">lt</a></li><li class="progresssection"><a href="4-rsp.html">rsp</a></li><li class="progresscurrent">rls</li><li class="progresssection"><a href="4-act.html">act</a></li><li class="progresssection"><a href="4-act2.html">act2</a></li><li class="progresssection"><a href="4-ins.html">ins</a></li><li class="progresssection"><a href="4-knd.html">knd</a></li><li class="progresssection"><a href="4-prp.html">prp</a></li><li class="progresssection"><a href="4-rlt.html">rlt</a></li><li class="progresssection"><a href="4-tbl.html">tbl</a></li><li class="progresssection"><a href="4-chr.html">chr</a></li><li class="progresssection"><a href="4-scn.html">scn</a></li><li class="progresssection"><a href="4-mlt.html">mlt</a></li><li class="progresssection"><a href="4-uo.html">uo</a></li><li class="progresssection"><a href="4-vrb.html">vrb</a></li><li class="progresssection"><a href="4-tst.html">tst</a></li><li class="progresschapter"><a href="5-erm.html">5</a></li><li class="progressnext"><a href="4-act.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -178,7 +178,7 @@ of packages of type <span class="extract"><span class="extract-syntax">_relation
|
|||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="4-rlt.html#SP1">§1</a>.</li></ul>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="4-prp.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-pm.html">1</a></li><li class="progresschapter"><a href="2-pp.html">2</a></li><li class="progresschapter"><a href="3-lnk.html">3</a></li><li class="progresscurrentchapter">4</li><li class="progresssection"><a href="4-sh.html">sh</a></li><li class="progresssection"><a href="4-su.html">su</a></li><li class="progresssection"><a href="4-ext.html">ext</a></li><li class="progresssection"><a href="4-lt.html">lt</a></li><li class="progresssection"><a href="4-rsp.html">rsp</a></li><li class="progresssection"><a href="4-rls.html">rls</a></li><li class="progresssection"><a href="4-act.html">act</a></li><li class="progresssection"><a href="4-act2.html">act2</a></li><li class="progresssection"><a href="4-ins.html">ins</a></li><li class="progresssection"><a href="4-knd.html">knd</a></li><li class="progresssection"><a href="4-prp.html">prp</a></li><li class="progresscurrent">rlt</li><li class="progresssection"><a href="4-tbl.html">tbl</a></li><li class="progresssection"><a href="4-chr.html">chr</a></li><li class="progresssection"><a href="4-scn.html">scn</a></li><li class="progresssection"><a href="4-mlt.html">mlt</a></li><li class="progresssection"><a href="4-uo.html">uo</a></li><li class="progresssection"><a href="4-vrb.html">vrb</a></li><li class="progresssection"><a href="4-tst.html">tst</a></li><li class="progresschapter"><a href="5-erm.html">5</a></li><li class="progressnext"><a href="4-tbl.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="4-prp.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-pm.html">1</a></li><li class="progresschapter"><a href="2-pp.html">2</a></li><li class="progresschapter"><a href="3-as.html">3</a></li><li class="progresscurrentchapter">4</li><li class="progresssection"><a href="4-sh.html">sh</a></li><li class="progresssection"><a href="4-su.html">su</a></li><li class="progresssection"><a href="4-ext.html">ext</a></li><li class="progresssection"><a href="4-lt.html">lt</a></li><li class="progresssection"><a href="4-rsp.html">rsp</a></li><li class="progresssection"><a href="4-rls.html">rls</a></li><li class="progresssection"><a href="4-act.html">act</a></li><li class="progresssection"><a href="4-act2.html">act2</a></li><li class="progresssection"><a href="4-ins.html">ins</a></li><li class="progresssection"><a href="4-knd.html">knd</a></li><li class="progresssection"><a href="4-prp.html">prp</a></li><li class="progresscurrent">rlt</li><li class="progresssection"><a href="4-tbl.html">tbl</a></li><li class="progresssection"><a href="4-chr.html">chr</a></li><li class="progresssection"><a href="4-scn.html">scn</a></li><li class="progresssection"><a href="4-mlt.html">mlt</a></li><li class="progresssection"><a href="4-uo.html">uo</a></li><li class="progresssection"><a href="4-vrb.html">vrb</a></li><li class="progresssection"><a href="4-tst.html">tst</a></li><li class="progresschapter"><a href="5-erm.html">5</a></li><li class="progressnext"><a href="4-tbl.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -239,7 +239,7 @@ code is less limited.
|
|||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="4-rsp.html#SP1">§1</a>.</li></ul>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="4-lt.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-pm.html">1</a></li><li class="progresschapter"><a href="2-pp.html">2</a></li><li class="progresschapter"><a href="3-lnk.html">3</a></li><li class="progresscurrentchapter">4</li><li class="progresssection"><a href="4-sh.html">sh</a></li><li class="progresssection"><a href="4-su.html">su</a></li><li class="progresssection"><a href="4-ext.html">ext</a></li><li class="progresssection"><a href="4-lt.html">lt</a></li><li class="progresscurrent">rsp</li><li class="progresssection"><a href="4-rls.html">rls</a></li><li class="progresssection"><a href="4-act.html">act</a></li><li class="progresssection"><a href="4-act2.html">act2</a></li><li class="progresssection"><a href="4-ins.html">ins</a></li><li class="progresssection"><a href="4-knd.html">knd</a></li><li class="progresssection"><a href="4-prp.html">prp</a></li><li class="progresssection"><a href="4-rlt.html">rlt</a></li><li class="progresssection"><a href="4-tbl.html">tbl</a></li><li class="progresssection"><a href="4-chr.html">chr</a></li><li class="progresssection"><a href="4-scn.html">scn</a></li><li class="progresssection"><a href="4-mlt.html">mlt</a></li><li class="progresssection"><a href="4-uo.html">uo</a></li><li class="progresssection"><a href="4-vrb.html">vrb</a></li><li class="progresssection"><a href="4-tst.html">tst</a></li><li class="progresschapter"><a href="5-erm.html">5</a></li><li class="progressnext"><a href="4-rls.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="4-lt.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-pm.html">1</a></li><li class="progresschapter"><a href="2-pp.html">2</a></li><li class="progresschapter"><a href="3-as.html">3</a></li><li class="progresscurrentchapter">4</li><li class="progresssection"><a href="4-sh.html">sh</a></li><li class="progresssection"><a href="4-su.html">su</a></li><li class="progresssection"><a href="4-ext.html">ext</a></li><li class="progresssection"><a href="4-lt.html">lt</a></li><li class="progresscurrent">rsp</li><li class="progresssection"><a href="4-rls.html">rls</a></li><li class="progresssection"><a href="4-act.html">act</a></li><li class="progresssection"><a href="4-act2.html">act2</a></li><li class="progresssection"><a href="4-ins.html">ins</a></li><li class="progresssection"><a href="4-knd.html">knd</a></li><li class="progresssection"><a href="4-prp.html">prp</a></li><li class="progresssection"><a href="4-rlt.html">rlt</a></li><li class="progresssection"><a href="4-tbl.html">tbl</a></li><li class="progresssection"><a href="4-chr.html">chr</a></li><li class="progresssection"><a href="4-scn.html">scn</a></li><li class="progresssection"><a href="4-mlt.html">mlt</a></li><li class="progresssection"><a href="4-uo.html">uo</a></li><li class="progresssection"><a href="4-vrb.html">vrb</a></li><li class="progresssection"><a href="4-tst.html">tst</a></li><li class="progresschapter"><a href="5-erm.html">5</a></li><li class="progressnext"><a href="4-rls.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -170,7 +170,7 @@ whether any change in status has or has not occurred.
|
|||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="4-scn.html#SP1">§1</a>.</li></ul>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="4-chr.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-pm.html">1</a></li><li class="progresschapter"><a href="2-pp.html">2</a></li><li class="progresschapter"><a href="3-lnk.html">3</a></li><li class="progresscurrentchapter">4</li><li class="progresssection"><a href="4-sh.html">sh</a></li><li class="progresssection"><a href="4-su.html">su</a></li><li class="progresssection"><a href="4-ext.html">ext</a></li><li class="progresssection"><a href="4-lt.html">lt</a></li><li class="progresssection"><a href="4-rsp.html">rsp</a></li><li class="progresssection"><a href="4-rls.html">rls</a></li><li class="progresssection"><a href="4-act.html">act</a></li><li class="progresssection"><a href="4-act2.html">act2</a></li><li class="progresssection"><a href="4-ins.html">ins</a></li><li class="progresssection"><a href="4-knd.html">knd</a></li><li class="progresssection"><a href="4-prp.html">prp</a></li><li class="progresssection"><a href="4-rlt.html">rlt</a></li><li class="progresssection"><a href="4-tbl.html">tbl</a></li><li class="progresssection"><a href="4-chr.html">chr</a></li><li class="progresscurrent">scn</li><li class="progresssection"><a href="4-mlt.html">mlt</a></li><li class="progresssection"><a href="4-uo.html">uo</a></li><li class="progresssection"><a href="4-vrb.html">vrb</a></li><li class="progresssection"><a href="4-tst.html">tst</a></li><li class="progresschapter"><a href="5-erm.html">5</a></li><li class="progressnext"><a href="4-mlt.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="4-chr.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-pm.html">1</a></li><li class="progresschapter"><a href="2-pp.html">2</a></li><li class="progresschapter"><a href="3-as.html">3</a></li><li class="progresscurrentchapter">4</li><li class="progresssection"><a href="4-sh.html">sh</a></li><li class="progresssection"><a href="4-su.html">su</a></li><li class="progresssection"><a href="4-ext.html">ext</a></li><li class="progresssection"><a href="4-lt.html">lt</a></li><li class="progresssection"><a href="4-rsp.html">rsp</a></li><li class="progresssection"><a href="4-rls.html">rls</a></li><li class="progresssection"><a href="4-act.html">act</a></li><li class="progresssection"><a href="4-act2.html">act2</a></li><li class="progresssection"><a href="4-ins.html">ins</a></li><li class="progresssection"><a href="4-knd.html">knd</a></li><li class="progresssection"><a href="4-prp.html">prp</a></li><li class="progresssection"><a href="4-rlt.html">rlt</a></li><li class="progresssection"><a href="4-tbl.html">tbl</a></li><li class="progresssection"><a href="4-chr.html">chr</a></li><li class="progresscurrent">scn</li><li class="progresssection"><a href="4-mlt.html">mlt</a></li><li class="progresssection"><a href="4-uo.html">uo</a></li><li class="progresssection"><a href="4-vrb.html">vrb</a></li><li class="progresssection"><a href="4-tst.html">tst</a></li><li class="progresschapter"><a href="5-erm.html">5</a></li><li class="progressnext"><a href="4-mlt.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -898,7 +898,7 @@ need to know which kit; we simply leaves them as "plugs" to be connected to
|
|||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="4-sh.html#SP1">§1</a>.</li></ul>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="3-rv.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-pm.html">1</a></li><li class="progresschapter"><a href="2-pp.html">2</a></li><li class="progresschapter"><a href="3-lnk.html">3</a></li><li class="progresscurrentchapter">4</li><li class="progresscurrent">sh</li><li class="progresssection"><a href="4-su.html">su</a></li><li class="progresssection"><a href="4-ext.html">ext</a></li><li class="progresssection"><a href="4-lt.html">lt</a></li><li class="progresssection"><a href="4-rsp.html">rsp</a></li><li class="progresssection"><a href="4-rls.html">rls</a></li><li class="progresssection"><a href="4-act.html">act</a></li><li class="progresssection"><a href="4-act2.html">act2</a></li><li class="progresssection"><a href="4-ins.html">ins</a></li><li class="progresssection"><a href="4-knd.html">knd</a></li><li class="progresssection"><a href="4-prp.html">prp</a></li><li class="progresssection"><a href="4-rlt.html">rlt</a></li><li class="progresssection"><a href="4-tbl.html">tbl</a></li><li class="progresssection"><a href="4-chr.html">chr</a></li><li class="progresssection"><a href="4-scn.html">scn</a></li><li class="progresssection"><a href="4-mlt.html">mlt</a></li><li class="progresssection"><a href="4-uo.html">uo</a></li><li class="progresssection"><a href="4-vrb.html">vrb</a></li><li class="progresssection"><a href="4-tst.html">tst</a></li><li class="progresschapter"><a href="5-erm.html">5</a></li><li class="progressnext"><a href="4-su.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="3-rv.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-pm.html">1</a></li><li class="progresschapter"><a href="2-pp.html">2</a></li><li class="progresschapter"><a href="3-as.html">3</a></li><li class="progresscurrentchapter">4</li><li class="progresscurrent">sh</li><li class="progresssection"><a href="4-su.html">su</a></li><li class="progresssection"><a href="4-ext.html">ext</a></li><li class="progresssection"><a href="4-lt.html">lt</a></li><li class="progresssection"><a href="4-rsp.html">rsp</a></li><li class="progresssection"><a href="4-rls.html">rls</a></li><li class="progresssection"><a href="4-act.html">act</a></li><li class="progresssection"><a href="4-act2.html">act2</a></li><li class="progresssection"><a href="4-ins.html">ins</a></li><li class="progresssection"><a href="4-knd.html">knd</a></li><li class="progresssection"><a href="4-prp.html">prp</a></li><li class="progresssection"><a href="4-rlt.html">rlt</a></li><li class="progresssection"><a href="4-tbl.html">tbl</a></li><li class="progresssection"><a href="4-chr.html">chr</a></li><li class="progresssection"><a href="4-scn.html">scn</a></li><li class="progresssection"><a href="4-mlt.html">mlt</a></li><li class="progresssection"><a href="4-uo.html">uo</a></li><li class="progresssection"><a href="4-vrb.html">vrb</a></li><li class="progresssection"><a href="4-tst.html">tst</a></li><li class="progresschapter"><a href="5-erm.html">5</a></li><li class="progressnext"><a href="4-su.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -426,7 +426,7 @@ function togglePopup(material_id) {
|
|||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="4-sh.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-pm.html">1</a></li><li class="progresschapter"><a href="2-pp.html">2</a></li><li class="progresschapter"><a href="3-lnk.html">3</a></li><li class="progresscurrentchapter">4</li><li class="progresssection"><a href="4-sh.html">sh</a></li><li class="progresscurrent">su</li><li class="progresssection"><a href="4-ext.html">ext</a></li><li class="progresssection"><a href="4-lt.html">lt</a></li><li class="progresssection"><a href="4-rsp.html">rsp</a></li><li class="progresssection"><a href="4-rls.html">rls</a></li><li class="progresssection"><a href="4-act.html">act</a></li><li class="progresssection"><a href="4-act2.html">act2</a></li><li class="progresssection"><a href="4-ins.html">ins</a></li><li class="progresssection"><a href="4-knd.html">knd</a></li><li class="progresssection"><a href="4-prp.html">prp</a></li><li class="progresssection"><a href="4-rlt.html">rlt</a></li><li class="progresssection"><a href="4-tbl.html">tbl</a></li><li class="progresssection"><a href="4-chr.html">chr</a></li><li class="progresssection"><a href="4-scn.html">scn</a></li><li class="progresssection"><a href="4-mlt.html">mlt</a></li><li class="progresssection"><a href="4-uo.html">uo</a></li><li class="progresssection"><a href="4-vrb.html">vrb</a></li><li class="progresssection"><a href="4-tst.html">tst</a></li><li class="progresschapter"><a href="5-erm.html">5</a></li><li class="progressnext"><a href="4-ext.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="4-sh.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-pm.html">1</a></li><li class="progresschapter"><a href="2-pp.html">2</a></li><li class="progresschapter"><a href="3-as.html">3</a></li><li class="progresscurrentchapter">4</li><li class="progresssection"><a href="4-sh.html">sh</a></li><li class="progresscurrent">su</li><li class="progresssection"><a href="4-ext.html">ext</a></li><li class="progresssection"><a href="4-lt.html">lt</a></li><li class="progresssection"><a href="4-rsp.html">rsp</a></li><li class="progresssection"><a href="4-rls.html">rls</a></li><li class="progresssection"><a href="4-act.html">act</a></li><li class="progresssection"><a href="4-act2.html">act2</a></li><li class="progresssection"><a href="4-ins.html">ins</a></li><li class="progresssection"><a href="4-knd.html">knd</a></li><li class="progresssection"><a href="4-prp.html">prp</a></li><li class="progresssection"><a href="4-rlt.html">rlt</a></li><li class="progresssection"><a href="4-tbl.html">tbl</a></li><li class="progresssection"><a href="4-chr.html">chr</a></li><li class="progresssection"><a href="4-scn.html">scn</a></li><li class="progresssection"><a href="4-mlt.html">mlt</a></li><li class="progresssection"><a href="4-uo.html">uo</a></li><li class="progresssection"><a href="4-vrb.html">vrb</a></li><li class="progresssection"><a href="4-tst.html">tst</a></li><li class="progresschapter"><a href="5-erm.html">5</a></li><li class="progressnext"><a href="4-ext.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -287,7 +287,7 @@ by index within the current table: see <a href="../assertions-module/7-tbl.html"
|
|||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="4-tbl.html#SP1">§1</a>.</li></ul>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="4-rlt.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-pm.html">1</a></li><li class="progresschapter"><a href="2-pp.html">2</a></li><li class="progresschapter"><a href="3-lnk.html">3</a></li><li class="progresscurrentchapter">4</li><li class="progresssection"><a href="4-sh.html">sh</a></li><li class="progresssection"><a href="4-su.html">su</a></li><li class="progresssection"><a href="4-ext.html">ext</a></li><li class="progresssection"><a href="4-lt.html">lt</a></li><li class="progresssection"><a href="4-rsp.html">rsp</a></li><li class="progresssection"><a href="4-rls.html">rls</a></li><li class="progresssection"><a href="4-act.html">act</a></li><li class="progresssection"><a href="4-act2.html">act2</a></li><li class="progresssection"><a href="4-ins.html">ins</a></li><li class="progresssection"><a href="4-knd.html">knd</a></li><li class="progresssection"><a href="4-prp.html">prp</a></li><li class="progresssection"><a href="4-rlt.html">rlt</a></li><li class="progresscurrent">tbl</li><li class="progresssection"><a href="4-chr.html">chr</a></li><li class="progresssection"><a href="4-scn.html">scn</a></li><li class="progresssection"><a href="4-mlt.html">mlt</a></li><li class="progresssection"><a href="4-uo.html">uo</a></li><li class="progresssection"><a href="4-vrb.html">vrb</a></li><li class="progresssection"><a href="4-tst.html">tst</a></li><li class="progresschapter"><a href="5-erm.html">5</a></li><li class="progressnext"><a href="4-chr.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="4-rlt.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-pm.html">1</a></li><li class="progresschapter"><a href="2-pp.html">2</a></li><li class="progresschapter"><a href="3-as.html">3</a></li><li class="progresscurrentchapter">4</li><li class="progresssection"><a href="4-sh.html">sh</a></li><li class="progresssection"><a href="4-su.html">su</a></li><li class="progresssection"><a href="4-ext.html">ext</a></li><li class="progresssection"><a href="4-lt.html">lt</a></li><li class="progresssection"><a href="4-rsp.html">rsp</a></li><li class="progresssection"><a href="4-rls.html">rls</a></li><li class="progresssection"><a href="4-act.html">act</a></li><li class="progresssection"><a href="4-act2.html">act2</a></li><li class="progresssection"><a href="4-ins.html">ins</a></li><li class="progresssection"><a href="4-knd.html">knd</a></li><li class="progresssection"><a href="4-prp.html">prp</a></li><li class="progresssection"><a href="4-rlt.html">rlt</a></li><li class="progresscurrent">tbl</li><li class="progresssection"><a href="4-chr.html">chr</a></li><li class="progresssection"><a href="4-scn.html">scn</a></li><li class="progresssection"><a href="4-mlt.html">mlt</a></li><li class="progresssection"><a href="4-uo.html">uo</a></li><li class="progresssection"><a href="4-vrb.html">vrb</a></li><li class="progresssection"><a href="4-tst.html">tst</a></li><li class="progresschapter"><a href="5-erm.html">5</a></li><li class="progressnext"><a href="4-chr.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -156,7 +156,7 @@ of type <span class="extract"><span class="extract-syntax">_test</span></span>.
|
|||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="4-tst.html#SP1">§1</a>.</li></ul>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="4-vrb.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-pm.html">1</a></li><li class="progresschapter"><a href="2-pp.html">2</a></li><li class="progresschapter"><a href="3-lnk.html">3</a></li><li class="progresscurrentchapter">4</li><li class="progresssection"><a href="4-sh.html">sh</a></li><li class="progresssection"><a href="4-su.html">su</a></li><li class="progresssection"><a href="4-ext.html">ext</a></li><li class="progresssection"><a href="4-lt.html">lt</a></li><li class="progresssection"><a href="4-rsp.html">rsp</a></li><li class="progresssection"><a href="4-rls.html">rls</a></li><li class="progresssection"><a href="4-act.html">act</a></li><li class="progresssection"><a href="4-act2.html">act2</a></li><li class="progresssection"><a href="4-ins.html">ins</a></li><li class="progresssection"><a href="4-knd.html">knd</a></li><li class="progresssection"><a href="4-prp.html">prp</a></li><li class="progresssection"><a href="4-rlt.html">rlt</a></li><li class="progresssection"><a href="4-tbl.html">tbl</a></li><li class="progresssection"><a href="4-chr.html">chr</a></li><li class="progresssection"><a href="4-scn.html">scn</a></li><li class="progresssection"><a href="4-mlt.html">mlt</a></li><li class="progresssection"><a href="4-uo.html">uo</a></li><li class="progresssection"><a href="4-vrb.html">vrb</a></li><li class="progresscurrent">tst</li><li class="progresschapter"><a href="5-erm.html">5</a></li><li class="progressnext"><a href="5-erm.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="4-vrb.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-pm.html">1</a></li><li class="progresschapter"><a href="2-pp.html">2</a></li><li class="progresschapter"><a href="3-as.html">3</a></li><li class="progresscurrentchapter">4</li><li class="progresssection"><a href="4-sh.html">sh</a></li><li class="progresssection"><a href="4-su.html">su</a></li><li class="progresssection"><a href="4-ext.html">ext</a></li><li class="progresssection"><a href="4-lt.html">lt</a></li><li class="progresssection"><a href="4-rsp.html">rsp</a></li><li class="progresssection"><a href="4-rls.html">rls</a></li><li class="progresssection"><a href="4-act.html">act</a></li><li class="progresssection"><a href="4-act2.html">act2</a></li><li class="progresssection"><a href="4-ins.html">ins</a></li><li class="progresssection"><a href="4-knd.html">knd</a></li><li class="progresssection"><a href="4-prp.html">prp</a></li><li class="progresssection"><a href="4-rlt.html">rlt</a></li><li class="progresssection"><a href="4-tbl.html">tbl</a></li><li class="progresssection"><a href="4-chr.html">chr</a></li><li class="progresssection"><a href="4-scn.html">scn</a></li><li class="progresssection"><a href="4-mlt.html">mlt</a></li><li class="progresssection"><a href="4-uo.html">uo</a></li><li class="progresssection"><a href="4-vrb.html">vrb</a></li><li class="progresscurrent">tst</li><li class="progresschapter"><a href="5-erm.html">5</a></li><li class="progressnext"><a href="5-erm.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -169,7 +169,7 @@ name of a given use option.
|
|||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="4-uo.html#SP1">§1</a>.</li></ul>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="4-mlt.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-pm.html">1</a></li><li class="progresschapter"><a href="2-pp.html">2</a></li><li class="progresschapter"><a href="3-lnk.html">3</a></li><li class="progresscurrentchapter">4</li><li class="progresssection"><a href="4-sh.html">sh</a></li><li class="progresssection"><a href="4-su.html">su</a></li><li class="progresssection"><a href="4-ext.html">ext</a></li><li class="progresssection"><a href="4-lt.html">lt</a></li><li class="progresssection"><a href="4-rsp.html">rsp</a></li><li class="progresssection"><a href="4-rls.html">rls</a></li><li class="progresssection"><a href="4-act.html">act</a></li><li class="progresssection"><a href="4-act2.html">act2</a></li><li class="progresssection"><a href="4-ins.html">ins</a></li><li class="progresssection"><a href="4-knd.html">knd</a></li><li class="progresssection"><a href="4-prp.html">prp</a></li><li class="progresssection"><a href="4-rlt.html">rlt</a></li><li class="progresssection"><a href="4-tbl.html">tbl</a></li><li class="progresssection"><a href="4-chr.html">chr</a></li><li class="progresssection"><a href="4-scn.html">scn</a></li><li class="progresssection"><a href="4-mlt.html">mlt</a></li><li class="progresscurrent">uo</li><li class="progresssection"><a href="4-vrb.html">vrb</a></li><li class="progresssection"><a href="4-tst.html">tst</a></li><li class="progresschapter"><a href="5-erm.html">5</a></li><li class="progressnext"><a href="4-vrb.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="4-mlt.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-pm.html">1</a></li><li class="progresschapter"><a href="2-pp.html">2</a></li><li class="progresschapter"><a href="3-as.html">3</a></li><li class="progresscurrentchapter">4</li><li class="progresssection"><a href="4-sh.html">sh</a></li><li class="progresssection"><a href="4-su.html">su</a></li><li class="progresssection"><a href="4-ext.html">ext</a></li><li class="progresssection"><a href="4-lt.html">lt</a></li><li class="progresssection"><a href="4-rsp.html">rsp</a></li><li class="progresssection"><a href="4-rls.html">rls</a></li><li class="progresssection"><a href="4-act.html">act</a></li><li class="progresssection"><a href="4-act2.html">act2</a></li><li class="progresssection"><a href="4-ins.html">ins</a></li><li class="progresssection"><a href="4-knd.html">knd</a></li><li class="progresssection"><a href="4-prp.html">prp</a></li><li class="progresssection"><a href="4-rlt.html">rlt</a></li><li class="progresssection"><a href="4-tbl.html">tbl</a></li><li class="progresssection"><a href="4-chr.html">chr</a></li><li class="progresssection"><a href="4-scn.html">scn</a></li><li class="progresssection"><a href="4-mlt.html">mlt</a></li><li class="progresscurrent">uo</li><li class="progresssection"><a href="4-vrb.html">vrb</a></li><li class="progresssection"><a href="4-tst.html">tst</a></li><li class="progresschapter"><a href="5-erm.html">5</a></li><li class="progressnext"><a href="4-vrb.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -126,7 +126,7 @@ of instances having the kind <span class="extract"><span class="extract-syntax">
|
|||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="4-vrb.html#SP1">§1</a>.</li></ul>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="4-uo.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-pm.html">1</a></li><li class="progresschapter"><a href="2-pp.html">2</a></li><li class="progresschapter"><a href="3-lnk.html">3</a></li><li class="progresscurrentchapter">4</li><li class="progresssection"><a href="4-sh.html">sh</a></li><li class="progresssection"><a href="4-su.html">su</a></li><li class="progresssection"><a href="4-ext.html">ext</a></li><li class="progresssection"><a href="4-lt.html">lt</a></li><li class="progresssection"><a href="4-rsp.html">rsp</a></li><li class="progresssection"><a href="4-rls.html">rls</a></li><li class="progresssection"><a href="4-act.html">act</a></li><li class="progresssection"><a href="4-act2.html">act2</a></li><li class="progresssection"><a href="4-ins.html">ins</a></li><li class="progresssection"><a href="4-knd.html">knd</a></li><li class="progresssection"><a href="4-prp.html">prp</a></li><li class="progresssection"><a href="4-rlt.html">rlt</a></li><li class="progresssection"><a href="4-tbl.html">tbl</a></li><li class="progresssection"><a href="4-chr.html">chr</a></li><li class="progresssection"><a href="4-scn.html">scn</a></li><li class="progresssection"><a href="4-mlt.html">mlt</a></li><li class="progresssection"><a href="4-uo.html">uo</a></li><li class="progresscurrent">vrb</li><li class="progresssection"><a href="4-tst.html">tst</a></li><li class="progresschapter"><a href="5-erm.html">5</a></li><li class="progressnext"><a href="4-tst.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="4-uo.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-pm.html">1</a></li><li class="progresschapter"><a href="2-pp.html">2</a></li><li class="progresschapter"><a href="3-as.html">3</a></li><li class="progresscurrentchapter">4</li><li class="progresssection"><a href="4-sh.html">sh</a></li><li class="progresssection"><a href="4-su.html">su</a></li><li class="progresssection"><a href="4-ext.html">ext</a></li><li class="progresssection"><a href="4-lt.html">lt</a></li><li class="progresssection"><a href="4-rsp.html">rsp</a></li><li class="progresssection"><a href="4-rls.html">rls</a></li><li class="progresssection"><a href="4-act.html">act</a></li><li class="progresssection"><a href="4-act2.html">act2</a></li><li class="progresssection"><a href="4-ins.html">ins</a></li><li class="progresssection"><a href="4-knd.html">knd</a></li><li class="progresssection"><a href="4-prp.html">prp</a></li><li class="progresssection"><a href="4-rlt.html">rlt</a></li><li class="progresssection"><a href="4-tbl.html">tbl</a></li><li class="progresssection"><a href="4-chr.html">chr</a></li><li class="progresssection"><a href="4-scn.html">scn</a></li><li class="progresssection"><a href="4-mlt.html">mlt</a></li><li class="progresssection"><a href="4-uo.html">uo</a></li><li class="progresscurrent">vrb</li><li class="progresssection"><a href="4-tst.html">tst</a></li><li class="progresschapter"><a href="5-erm.html">5</a></li><li class="progressnext"><a href="4-tst.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -192,7 +192,7 @@ We look for such lines.
|
|||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="5-erl.html#SP2">§2</a>.</li></ul>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="5-erm.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-pm.html">1</a></li><li class="progresschapter"><a href="2-pp.html">2</a></li><li class="progresschapter"><a href="3-lnk.html">3</a></li><li class="progresschapter"><a href="4-sh.html">4</a></li><li class="progresscurrentchapter">5</li><li class="progresssection"><a href="5-erm.html">erm</a></li><li class="progresscurrent">erl</li><li class="progresssection"><a href="5-ero.html">ero</a></li><li class="progressnext"><a href="5-ero.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="5-erm.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-pm.html">1</a></li><li class="progresschapter"><a href="2-pp.html">2</a></li><li class="progresschapter"><a href="3-as.html">3</a></li><li class="progresschapter"><a href="4-sh.html">4</a></li><li class="progresscurrentchapter">5</li><li class="progresssection"><a href="5-erm.html">erm</a></li><li class="progresscurrent">erl</li><li class="progresssection"><a href="5-ero.html">ero</a></li><li class="progressnext"><a href="5-ero.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -207,7 +207,7 @@ be included.
|
|||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="4-tst.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-pm.html">1</a></li><li class="progresschapter"><a href="2-pp.html">2</a></li><li class="progresschapter"><a href="3-lnk.html">3</a></li><li class="progresschapter"><a href="4-sh.html">4</a></li><li class="progresscurrentchapter">5</li><li class="progresscurrent">erm</li><li class="progresssection"><a href="5-erl.html">erl</a></li><li class="progresssection"><a href="5-ero.html">ero</a></li><li class="progressnext"><a href="5-erl.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="4-tst.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-pm.html">1</a></li><li class="progresschapter"><a href="2-pp.html">2</a></li><li class="progresschapter"><a href="3-as.html">3</a></li><li class="progresschapter"><a href="4-sh.html">4</a></li><li class="progresscurrentchapter">5</li><li class="progresscurrent">erm</li><li class="progresssection"><a href="5-erl.html">erl</a></li><li class="progresssection"><a href="5-ero.html">ero</a></li><li class="progressnext"><a href="5-erl.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -176,7 +176,7 @@ operations:
|
|||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="5-ero.html#SP2">§2</a>.</li></ul>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="5-erl.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-pm.html">1</a></li><li class="progresschapter"><a href="2-pp.html">2</a></li><li class="progresschapter"><a href="3-lnk.html">3</a></li><li class="progresschapter"><a href="4-sh.html">4</a></li><li class="progresscurrentchapter">5</li><li class="progresssection"><a href="5-erm.html">erm</a></li><li class="progresssection"><a href="5-erl.html">erl</a></li><li class="progresscurrent">ero</li><li class="progressnextoff">❯</li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="5-erl.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-pm.html">1</a></li><li class="progresschapter"><a href="2-pp.html">2</a></li><li class="progresschapter"><a href="3-as.html">3</a></li><li class="progresschapter"><a href="4-sh.html">4</a></li><li class="progresscurrentchapter">5</li><li class="progresssection"><a href="5-erm.html">erm</a></li><li class="progresssection"><a href="5-erl.html">erl</a></li><li class="progresscurrent">ero</li><li class="progressnextoff">❯</li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -86,7 +86,7 @@ sequences of "stages" identified by name; and it then defines a number of stages
|
|||
</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-pm.html">1</a></li><li class="progresschapter"><a href="2-pp.html">2</a></li><li class="progresschapter"><a href="3-lnk.html">3</a></li><li class="progresschapter"><a href="4-sh.html">4</a></li><li class="progresschapter"><a href="5-erm.html">5</a></li><li class="progressnext"><a href="1-pm.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-pm.html">1</a></li><li class="progresschapter"><a href="2-pp.html">2</a></li><li class="progresschapter"><a href="3-as.html">3</a></li><li class="progresschapter"><a href="4-sh.html">4</a></li><li class="progresschapter"><a href="5-erm.html">5</a></li><li class="progressnext"><a href="1-pm.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -111,9 +111,9 @@
|
|||
<span class="chaptertitle">Chapter 3: Linking</span></p>
|
||||
<ul class="sectionlist">
|
||||
<li>
|
||||
<p class="sectionentry"><a href="3-lnk.html">
|
||||
<spon class="sectiontitle">Link</span></a> -
|
||||
<span class="sectionpurpose">Inter often needs to assimilate or otherwise deal with architecture-neutral kits of linkable material, and this is where such requirements are noted.</span></p>
|
||||
<p class="sectionentry"><a href="3-as.html">
|
||||
<spon class="sectiontitle">Attach Stage</span></a> -
|
||||
<span class="sectionpurpose">Reading other Inter trees as binary files, and attaching them at given points in the main Inter tree.</span></p>
|
||||
</li>
|
||||
<li>
|
||||
<p class="sectionentry"><a href="3-prp.html">
|
||||
|
|
|
@ -249,7 +249,16 @@ printed as the inference <span class="extract"><span class="extract-syntax">SP</
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">problem_quotations</span><span class="plain-syntax">[</span><span class="identifier-syntax">t</span><span class="plain-syntax">].</span><span class="element-syntax">text_quoted</span><span class="plain-syntax"> = </span><span class="identifier-syntax">EMPTY_WORDING</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">Problems::problem_quote_textual</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">Problems::problem_quote_textual</span></span>:<br/><a href="2-pl2.html#SP6">§6</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">t</span><span class="plain-syntax">, </span><span class="reserved-syntax">char</span><span class="plain-syntax"> </span><span class="identifier-syntax">type</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="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Problems::problem_quote_tinted</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">Problems::problem_quote_tinted</span></span>:<br/><a href="2-pl2.html#SP6">§6</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">t</span><span class="plain-syntax">, </span><span class="reserved-syntax">void</span><span class="plain-syntax"> *</span><span class="identifier-syntax">v</span><span class="plain-syntax">, </span><span class="reserved-syntax">void</span><span class="plain-syntax"> (*</span><span class="identifier-syntax">f</span><span class="plain-syntax">)(</span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *, </span><span class="reserved-syntax">void</span><span class="plain-syntax"> *), </span><span class="reserved-syntax">char</span><span class="plain-syntax"> </span><span class="identifier-syntax">type</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">t</span><span class="plain-syntax"><0) || (</span><span class="identifier-syntax">t</span><span class="plain-syntax"> > </span><span class="constant-syntax">10</span><span class="plain-syntax">)) </span><span class="identifier-syntax">internal_error</span><span class="plain-syntax">(</span><span class="string-syntax">"problem quotation number out of range"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">problem_quotations</span><span class="plain-syntax">[</span><span class="identifier-syntax">t</span><span class="plain-syntax">].</span><span class="element-syntax">structure_quoted</span><span class="plain-syntax"> = </span><span class="identifier-syntax">v</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">problem_quotations</span><span class="plain-syntax">[</span><span class="identifier-syntax">t</span><span class="plain-syntax">].</span><span class="element-syntax">expander</span><span class="plain-syntax"> = </span><span class="identifier-syntax">f</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">problem_quotations</span><span class="plain-syntax">[</span><span class="identifier-syntax">t</span><span class="plain-syntax">].</span><span class="element-syntax">quotation_type</span><span class="plain-syntax"> = </span><span class="identifier-syntax">type</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">problem_quotations</span><span class="plain-syntax">[</span><span class="identifier-syntax">t</span><span class="plain-syntax">].</span><span class="element-syntax">wording_based</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">problem_quotations</span><span class="plain-syntax">[</span><span class="identifier-syntax">t</span><span class="plain-syntax">].</span><span class="element-syntax">text_quoted</span><span class="plain-syntax"> = </span><span class="identifier-syntax">EMPTY_WORDING</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">Problems::problem_quote_textual</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">Problems::problem_quote_textual</span></span>:<br/><a href="2-pl2.html#SP6">§6</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">t</span><span class="plain-syntax">, </span><span class="reserved-syntax">char</span><span class="plain-syntax"> </span><span class="identifier-syntax">type</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="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> ((</span><span class="identifier-syntax">t</span><span class="plain-syntax"><0) || (</span><span class="identifier-syntax">t</span><span class="plain-syntax"> > </span><span class="constant-syntax">10</span><span class="plain-syntax">)) </span><span class="identifier-syntax">internal_error</span><span class="plain-syntax">(</span><span class="string-syntax">"problem quotation number out of range"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">problem_quotations</span><span class="plain-syntax">[</span><span class="identifier-syntax">t</span><span class="plain-syntax">].</span><span class="element-syntax">structure_quoted</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">problem_quotations</span><span class="plain-syntax">[</span><span class="identifier-syntax">t</span><span class="plain-syntax">].</span><span class="element-syntax">quotation_type</span><span class="plain-syntax"> = </span><span class="identifier-syntax">type</span><span class="plain-syntax">;</span>
|
||||
|
@ -262,7 +271,7 @@ in the parse tree, or with a literal word range.
|
|||
</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">Problems::quote_source</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">Problems::quote_source</span></span>:<br/>Problems, Level 3 - <a href="2-pl3.html#SP4">§4</a>, <a href="2-pl3.html#SP12">§12</a>, <a href="2-pl3.html#SP14">§14</a>, <a href="2-pl3.html#SP15">§15</a>, <a href="2-pl3.html#SP16">§16</a>, <a href="2-pl3.html#SP18">§18</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">t</span><span class="plain-syntax">, </span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">p</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Problems::quote_source</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">Problems::quote_source</span></span>:<br/>Problems, Level 3 - <a href="2-pl3.html#SP4">§4</a>, <a href="2-pl3.html#SP12">§12</a>, <a href="2-pl3.html#SP14">§14</a>, <a href="2-pl3.html#SP15">§15</a>, <a href="2-pl3.html#SP16">§16</a>, <a href="2-pl3.html#SP18">§18</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">t</span><span class="plain-syntax">, </span><span class="identifier-syntax">parse_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><span class="identifier-syntax">p</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) </span><a href="2-pl2.html#SP5" class="function-link"><span class="function-syntax">Problems::problem_quote_textual</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">t</span><span class="plain-syntax">, </span><span class="character-syntax">'S'</span><span class="plain-syntax">, </span><span class="identifier-syntax">EMPTY_WORDING</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><a href="2-pl2.html#SP6" class="function-link"><span class="function-syntax">Problems::quote_wording_as_source</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">t</span><span class="plain-syntax">, </span><span class="identifier-syntax">Node::get_text</span><span class="plain-syntax">(</span><span class="identifier-syntax">p</span><span class="plain-syntax">));</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
@ -270,7 +279,7 @@ in the parse tree, or with a literal word range.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">p</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) </span><a href="2-pl2.html#SP5" class="function-link"><span class="function-syntax">Problems::problem_quote_textual</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">t</span><span class="plain-syntax">, </span><span class="character-syntax">'S'</span><span class="plain-syntax">, </span><span class="identifier-syntax">EMPTY_WORDING</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><a href="2-pl2.html#SP5" class="function-link"><span class="function-syntax">Problems::problem_quote_textual</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">t</span><span class="plain-syntax">, </span><span class="character-syntax">'S'</span><span class="plain-syntax">, </span><span class="identifier-syntax">Node::get_text</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">void</span><span class="plain-syntax"> </span><span class="function-syntax">Problems::quote_wording</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">Problems::quote_wording</span></span>:<br/>Problems, Level 3 - <a href="2-pl3.html#SP16">§16</a>, <a href="2-pl3.html#SP18">§18</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">t</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="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Problems::quote_wording</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">Problems::quote_wording</span></span>:<br/>Problems, Level 3 - <a href="2-pl3.html#SP16">§16</a>, <a href="2-pl3.html#SP18">§18</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">t</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="plain-syntax"> </span><a href="2-pl2.html#SP5" class="function-link"><span class="function-syntax">Problems::problem_quote_textual</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">t</span><span class="plain-syntax">, </span><span class="character-syntax">'W'</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">void</span><span class="plain-syntax"> </span><span class="function-syntax">Problems::quote_wording_tinted_green</span><span class="plain-syntax">(</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">t</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>
|
||||
|
@ -282,21 +291,27 @@ in the parse tree, or with a literal word range.
|
|||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Problems::quote_wording_as_source</span><span class="plain-syntax">(</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">t</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="plain-syntax"> </span><a href="2-pl2.html#SP5" class="function-link"><span class="function-syntax">Problems::problem_quote_textual</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">t</span><span class="plain-syntax">, </span><span class="character-syntax">'S'</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">void</span><span class="plain-syntax"> </span><span class="function-syntax">Problems::quote_text</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">Problems::quote_text</span></span>:<br/>Problems, Level 3 - <a href="2-pl3.html#SP4">§4</a>, <a href="2-pl3.html#SP5">§5</a>, <a href="2-pl3.html#SP11">§11</a>, <a href="2-pl3.html#SP12">§12</a>, <a href="2-pl3.html#SP14">§14</a>, <a href="2-pl3.html#SP15">§15</a>, <a href="2-pl3.html#SP16">§16</a>, <a href="2-pl3.html#SP18">§18</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">t</span><span class="plain-syntax">, </span><span class="reserved-syntax">char</span><span class="plain-syntax"> *</span><span class="identifier-syntax">p</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Problems::quote_text</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">Problems::quote_text</span></span>:<br/>Problems, Level 3 - <a href="2-pl3.html#SP4">§4</a>, <a href="2-pl3.html#SP5">§5</a>, <a href="2-pl3.html#SP11">§11</a>, <a href="2-pl3.html#SP12">§12</a>, <a href="2-pl3.html#SP14">§14</a>, <a href="2-pl3.html#SP15">§15</a>, <a href="2-pl3.html#SP16">§16</a>, <a href="2-pl3.html#SP18">§18</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">t</span><span class="plain-syntax">, </span><span class="reserved-syntax">char</span><span class="plain-syntax"> *</span><span class="identifier-syntax">p</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><a href="2-pl2.html#SP5" class="function-link"><span class="function-syntax">Problems::problem_quote</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">t</span><span class="plain-syntax">, (</span><span class="reserved-syntax">void</span><span class="plain-syntax"> *) </span><span class="identifier-syntax">p</span><span class="plain-syntax">, </span><a href="2-pl2.html#SP6" class="function-link"><span class="function-syntax">Problems::expand_text</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">Problems::expand_text</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">void</span><span class="plain-syntax"> *</span><span class="identifier-syntax">p</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"%s"</span><span class="plain-syntax">, (</span><span class="reserved-syntax">char</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">void</span><span class="plain-syntax"> </span><span class="function-syntax">Problems::quote_wide_text</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">Problems::quote_wide_text</span></span>:<br/>Problems, Level 3 - <a href="2-pl3.html#SP12">§12</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">t</span><span class="plain-syntax">, </span><span class="identifier-syntax">wchar_t</span><span class="plain-syntax"> *</span><span class="identifier-syntax">p</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Problems::quote_wide_text</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">Problems::quote_wide_text</span></span>:<br/>Problems, Level 3 - <a href="2-pl3.html#SP12">§12</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">t</span><span class="plain-syntax">, </span><span class="identifier-syntax">wchar_t</span><span class="plain-syntax"> *</span><span class="identifier-syntax">p</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><a href="2-pl2.html#SP5" class="function-link"><span class="function-syntax">Problems::problem_quote</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">t</span><span class="plain-syntax">, (</span><span class="reserved-syntax">void</span><span class="plain-syntax"> *) </span><span class="identifier-syntax">p</span><span class="plain-syntax">, </span><a href="2-pl2.html#SP6" class="function-link"><span class="function-syntax">Problems::expand_wide_text</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">Problems::expand_wide_text</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">void</span><span class="plain-syntax"> *</span><span class="identifier-syntax">p</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"%w"</span><span class="plain-syntax">, (</span><span class="identifier-syntax">wchar_t</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">void</span><span class="plain-syntax"> </span><span class="function-syntax">Problems::quote_stream</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">Problems::quote_stream</span></span>:<br/>Problems, Level 3 - <a href="2-pl3.html#SP5">§5</a>, <a href="2-pl3.html#SP12">§12</a>, <a href="2-pl3.html#SP13">§13</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">int</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">p</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Problems::quote_stream</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">Problems::quote_stream</span></span>:<br/>Problems, Level 3 - <a href="2-pl3.html#SP5">§5</a>, <a href="2-pl3.html#SP12">§12</a>, <a href="2-pl3.html#SP13">§13</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">int</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">p</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><a href="2-pl2.html#SP5" class="function-link"><span class="function-syntax">Problems::problem_quote</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">t</span><span class="plain-syntax">, (</span><span class="reserved-syntax">void</span><span class="plain-syntax"> *) </span><span class="identifier-syntax">p</span><span class="plain-syntax">, </span><a href="2-pl2.html#SP6" class="function-link"><span class="function-syntax">Problems::expand_stream</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">Problems::quote_stream_tinted_green</span><span class="plain-syntax">(</span><span class="reserved-syntax">int</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">p</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><a href="2-pl2.html#SP5" class="function-link"><span class="function-syntax">Problems::problem_quote_tinted</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">t</span><span class="plain-syntax">, (</span><span class="reserved-syntax">void</span><span class="plain-syntax"> *) </span><span class="identifier-syntax">p</span><span class="plain-syntax">, </span><a href="2-pl2.html#SP6" class="function-link"><span class="function-syntax">Problems::expand_stream</span></a><span class="plain-syntax">, </span><span class="character-syntax">'g'</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">Problems::quote_stream_tinted_red</span><span class="plain-syntax">(</span><span class="reserved-syntax">int</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">p</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><a href="2-pl2.html#SP5" class="function-link"><span class="function-syntax">Problems::problem_quote_tinted</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">t</span><span class="plain-syntax">, (</span><span class="reserved-syntax">void</span><span class="plain-syntax"> *) </span><span class="identifier-syntax">p</span><span class="plain-syntax">, </span><a href="2-pl2.html#SP6" class="function-link"><span class="function-syntax">Problems::expand_stream</span></a><span class="plain-syntax">, </span><span class="character-syntax">'r'</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">Problems::expand_stream</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">void</span><span class="plain-syntax"> *</span><span class="identifier-syntax">p</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"%S"</span><span class="plain-syntax">, (</span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *) </span><span class="identifier-syntax">p</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
@ -312,7 +327,7 @@ in the parse tree, or with a literal word range.
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"%<W"</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">void</span><span class="plain-syntax"> </span><span class="function-syntax">Problems::quote_number</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">Problems::quote_number</span></span>:<br/>Problems, Level 3 - <a href="2-pl3.html#SP4">§4</a>, <a href="2-pl3.html#SP5">§5</a>, <a href="2-pl3.html#SP11">§11</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">t</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> *</span><span class="identifier-syntax">p</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Problems::quote_number</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">Problems::quote_number</span></span>:<br/>Problems, Level 3 - <a href="2-pl3.html#SP4">§4</a>, <a href="2-pl3.html#SP5">§5</a>, <a href="2-pl3.html#SP11">§11</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">t</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> *</span><span class="identifier-syntax">p</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><a href="2-pl2.html#SP5" class="function-link"><span class="function-syntax">Problems::problem_quote</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">t</span><span class="plain-syntax">, (</span><span class="reserved-syntax">void</span><span class="plain-syntax"> *) </span><span class="identifier-syntax">p</span><span class="plain-syntax">, </span><a href="2-pl2.html#SP6" class="function-link"><span class="function-syntax">Problems::expand_number</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">Problems::expand_number</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">void</span><span class="plain-syntax"> *</span><span class="identifier-syntax">p</span><span class="plain-syntax">) {</span>
|
||||
|
@ -346,7 +361,7 @@ and we give no further explanation in any circumstances.
|
|||
<span class="reserved-syntax">char</span><span class="plain-syntax"> *</span><span class="identifier-syntax">explanations</span><span class="plain-syntax">[</span><span class="constant-syntax">PATIENCE_EXHAUSTION_POINT</span><span class="plain-syntax">];</span>
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">no_explanations</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">;</span>
|
||||
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">Problems::explained_before</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">Problems::explained_before</span></span>:<br/><a href="2-pl2.html#SP9">§9</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">char</span><span class="plain-syntax"> *</span><span class="identifier-syntax">explanation</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">Problems::explained_before</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">Problems::explained_before</span></span>:<br/><a href="2-pl2.html#SP9">§9</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">char</span><span class="plain-syntax"> *</span><span class="identifier-syntax">explanation</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">no_explanations</span><span class="plain-syntax"> == </span><span class="constant-syntax">PATIENCE_EXHAUSTION_POINT</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">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">no_explanations</span><span class="plain-syntax">; </span><span class="identifier-syntax">i</span><span class="plain-syntax">++)</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">explanation</span><span class="plain-syntax"> == </span><span class="identifier-syntax">explanations</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">]) </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">;</span>
|
||||
|
@ -366,7 +381,7 @@ to remember whether to use the short or long form.
|
|||
</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">Problems::issue_problem_begin</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">Problems::issue_problem_begin</span></span>:<br/>Problems, Level 3 - <a href="2-pl3.html#SP4">§4</a>, <a href="2-pl3.html#SP5">§5</a>, <a href="2-pl3.html#SP10">§10</a>, <a href="2-pl3.html#SP11">§11</a>, <a href="2-pl3.html#SP12">§12</a>, <a href="2-pl3.html#SP13">§13</a>, <a href="2-pl3.html#SP14">§14</a>, <a href="2-pl3.html#SP15">§15</a>, <a href="2-pl3.html#SP16">§16</a>, <a href="2-pl3.html#SP18">§18</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">T</span><span class="plain-syntax">, </span><span class="reserved-syntax">char</span><span class="plain-syntax"> *</span><span class="identifier-syntax">message</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Problems::issue_problem_begin</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">Problems::issue_problem_begin</span></span>:<br/>Problems, Level 3 - <a href="2-pl3.html#SP4">§4</a>, <a href="2-pl3.html#SP5">§5</a>, <a href="2-pl3.html#SP10">§10</a>, <a href="2-pl3.html#SP11">§11</a>, <a href="2-pl3.html#SP12">§12</a>, <a href="2-pl3.html#SP13">§13</a>, <a href="2-pl3.html#SP14">§14</a>, <a href="2-pl3.html#SP15">§15</a>, <a href="2-pl3.html#SP16">§16</a>, <a href="2-pl3.html#SP18">§18</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">T</span><span class="plain-syntax">, </span><span class="reserved-syntax">char</span><span class="plain-syntax"> *</span><span class="identifier-syntax">message</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><a href="2-pl1.html#SP1" class="function-link"><span class="function-syntax">ProblemBuffer::clear</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">strcmp</span><span class="plain-syntax">(</span><span class="identifier-syntax">message</span><span class="plain-syntax">, </span><span class="string-syntax">"*"</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">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">PBUFF</span><span class="plain-syntax">, </span><span class="string-syntax">">++>"</span><span class="plain-syntax">);</span>
|
||||
|
@ -389,7 +404,7 @@ to remember whether to use the short or long form.
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">scanning_problem_for</span><span class="plain-syntax"> = </span><span class="constant-syntax">ANY_USE_OF_PROBLEM</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">Problems::issue_problem_end</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">Problems::issue_problem_end</span></span>:<br/>Problems, Level 3 - <a href="2-pl3.html#SP3">§3</a>, <a href="2-pl3.html#SP11">§11</a>, <a href="2-pl3.html#SP12">§12</a>, <a href="2-pl3.html#SP13">§13</a>, <a href="2-pl3.html#SP14">§14</a>, <a href="2-pl3.html#SP15">§15</a>, <a href="2-pl3.html#SP16">§16</a>, <a href="2-pl3.html#SP18">§18</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">Problems::issue_problem_end</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">Problems::issue_problem_end</span></span>:<br/>Problems, Level 3 - <a href="2-pl3.html#SP3">§3</a>, <a href="2-pl3.html#SP11">§11</a>, <a href="2-pl3.html#SP12">§12</a>, <a href="2-pl3.html#SP13">§13</a>, <a href="2-pl3.html#SP14">§14</a>, <a href="2-pl3.html#SP15">§15</a>, <a href="2-pl3.html#SP16">§16</a>, <a href="2-pl3.html#SP18">§18</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="identifier-syntax">ifdef</span><span class="plain-syntax"> </span><span class="identifier-syntax">ENDING_MESSAGE_PROBLEMS_CALLBACK</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">ENDING_MESSAGE_PROBLEMS_CALLBACK</span><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax"> #</span><span class="identifier-syntax">endif</span>
|
||||
|
@ -402,7 +417,7 @@ to remember whether to use the short or long form.
|
|||
</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">Problems::problem_documentation_links</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">Problems::problem_documentation_links</span></span>:<br/><a href="2-pl2.html#SP9">§9</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Problems::problem_documentation_links</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">Problems::problem_documentation_links</span></span>:<br/><a href="2-pl2.html#SP9">§9</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">sigil_of_latest_unlinked_problem</span><span class="plain-syntax">) == </span><span class="constant-syntax">0</span><span class="plain-syntax">) </span><span class="reserved-syntax">return</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> #</span><span class="identifier-syntax">ifdef</span><span class="plain-syntax"> </span><span class="identifier-syntax">DOCUMENTATION_REFERENCE_PROBLEMS_CALLBACK</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">DOCUMENTATION_REFERENCE_PROBLEMS_CALLBACK</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">sigil_of_latest_unlinked_problem</span><span class="plain-syntax">);</span>
|
||||
|
@ -418,10 +433,10 @@ to remember whether to use the short or long form.
|
|||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="identifier-syntax">wording</span><span class="plain-syntax"> </span><span class="identifier-syntax">appended_source</span><span class="plain-syntax"> = </span><span class="identifier-syntax">EMPTY_WORDING</span><span class="plain-syntax">;</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Problems::append_source</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">Problems::append_source</span></span>:<br/><a href="2-pl2.html#SP12_1_2">§12.1.2</a></span></button><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="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Problems::append_source</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">Problems::append_source</span></span>:<br/><a href="2-pl2.html#SP12_1_2">§12.1.2</a></span></button><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="plain-syntax"> </span><span class="identifier-syntax">appended_source</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">void</span><span class="plain-syntax"> </span><span class="function-syntax">Problems::transcribe_appended_source</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">Problems::transcribe_appended_source</span></span>:<br/><a href="2-pl2.html#SP12_1_2">§12.1.2</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">Problems::transcribe_appended_source</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">Problems::transcribe_appended_source</span></span>:<br/><a href="2-pl2.html#SP12_1_2">§12.1.2</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">Wordings::nonempty</span><span class="plain-syntax">(</span><span class="identifier-syntax">appended_source</span><span class="plain-syntax">))</span>
|
||||
<span class="plain-syntax"> </span><a href="2-pl1.html#SP4" class="function-link"><span class="function-syntax">ProblemBuffer::copy_source_reference</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">appended_source</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
@ -433,7 +448,7 @@ to build up complicated messages.
|
|||
</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">Problems::issue_problem_segment</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">Problems::issue_problem_segment</span></span>:<br/>Problems, Level 3 - <a href="2-pl3.html#SP4">§4</a>, <a href="2-pl3.html#SP5">§5</a>, <a href="2-pl3.html#SP11">§11</a>, <a href="2-pl3.html#SP12">§12</a>, <a href="2-pl3.html#SP13">§13</a>, <a href="2-pl3.html#SP14">§14</a>, <a href="2-pl3.html#SP15">§15</a>, <a href="2-pl3.html#SP16">§16</a>, <a href="2-pl3.html#SP18">§18</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">char</span><span class="plain-syntax"> *</span><span class="identifier-syntax">message</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Problems::issue_problem_segment</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">Problems::issue_problem_segment</span></span>:<br/>Problems, Level 3 - <a href="2-pl3.html#SP4">§4</a>, <a href="2-pl3.html#SP5">§5</a>, <a href="2-pl3.html#SP11">§11</a>, <a href="2-pl3.html#SP12">§12</a>, <a href="2-pl3.html#SP13">§13</a>, <a href="2-pl3.html#SP14">§14</a>, <a href="2-pl3.html#SP15">§15</a>, <a href="2-pl3.html#SP16">§16</a>, <a href="2-pl3.html#SP18">§18</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">char</span><span class="plain-syntax"> *</span><span class="identifier-syntax">message</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">message</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">]; </span><span class="identifier-syntax">i</span><span class="plain-syntax">++) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">message</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">] == </span><span class="character-syntax">'%'</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">switch</span><span class="plain-syntax"> (</span><span class="identifier-syntax">message</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">+1]) {</span>
|
||||
|
@ -547,7 +562,11 @@ ourselves, and must delegate to:
|
|||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><a href="2-pl2.html#SP11" class="function-link"><span class="function-syntax">Problems::append_source</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">EMPTY_WORDING</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">OUT</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">problem_quotations</span><span class="plain-syntax">[</span><span class="identifier-syntax">t</span><span class="plain-syntax">].</span><span class="element-syntax">quotation_type</span><span class="plain-syntax"> == </span><span class="character-syntax">'r'</span><span class="plain-syntax">) </span><span class="identifier-syntax">HTML::begin_colour</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"800000"</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">problem_quotations</span><span class="plain-syntax">[</span><span class="identifier-syntax">t</span><span class="plain-syntax">].</span><span class="element-syntax">quotation_type</span><span class="plain-syntax"> == </span><span class="character-syntax">'g'</span><span class="plain-syntax">) </span><span class="identifier-syntax">HTML::begin_colour</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"008000"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> (</span><span class="identifier-syntax">problem_quotations</span><span class="plain-syntax">[</span><span class="identifier-syntax">t</span><span class="plain-syntax">].</span><span class="element-syntax">expander</span><span class="plain-syntax">)(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">problem_quotations</span><span class="plain-syntax">[</span><span class="identifier-syntax">t</span><span class="plain-syntax">].</span><span class="element-syntax">structure_quoted</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">problem_quotations</span><span class="plain-syntax">[</span><span class="identifier-syntax">t</span><span class="plain-syntax">].</span><span class="element-syntax">quotation_type</span><span class="plain-syntax"> == </span><span class="character-syntax">'r'</span><span class="plain-syntax">) </span><span class="identifier-syntax">HTML::end_colour</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">problem_quotations</span><span class="plain-syntax">[</span><span class="identifier-syntax">t</span><span class="plain-syntax">].</span><span class="element-syntax">quotation_type</span><span class="plain-syntax"> == </span><span class="character-syntax">'g'</span><span class="plain-syntax">) </span><span class="identifier-syntax">HTML::end_colour</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="2-pl2.html#SP12_1_1_1_1" class="named-paragraph-link"><span class="named-paragraph">Spool temporary stream text to the problem buffer</span><span class="named-paragraph-number">12.1.1.1.1</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">DISCARD_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><a href="2-pl2.html#SP11" class="function-link"><span class="function-syntax">Problems::transcribe_appended_source</span></a><span class="plain-syntax">();</span>
|
||||
|
@ -584,7 +603,7 @@ ourselves, and must delegate to:
|
|||
<span class="plain-syntax"> </span><a href="2-pl0.html#SP1" class="function-link"><span class="function-syntax">ProblemSigils::exit</span></a><span class="plain-syntax">(2);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Problems::fatal_on_file</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">Problems::fatal_on_file</span></span>:<br/>Telemetry - <a href="1-tlm.html#SP2">§2</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">char</span><span class="plain-syntax"> *</span><span class="identifier-syntax">message</span><span class="plain-syntax">, </span><span class="identifier-syntax">filename</span><span class="plain-syntax"> *</span><span class="identifier-syntax">F</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Problems::fatal_on_file</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">Problems::fatal_on_file</span></span>:<br/>Telemetry - <a href="1-tlm.html#SP2">§2</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">char</span><span class="plain-syntax"> *</span><span class="identifier-syntax">message</span><span class="plain-syntax">, </span><span class="identifier-syntax">filename</span><span class="plain-syntax"> *</span><span class="identifier-syntax">F</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="identifier-syntax">message</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">"\nOffending filename: <%f>\n"</span><span class="plain-syntax">, </span><span class="identifier-syntax">F</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">STREAM_FLUSH</span><span class="plain-syntax">(</span><span class="identifier-syntax">STDERR</span><span class="plain-syntax">);</span>
|
||||
|
|
|
@ -158,7 +158,7 @@ or should be, so the effect is the same.
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_pipeline</span><span class="plain-syntax"> *</span><span class="identifier-syntax">SS</span><span class="plain-syntax"> =</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">ParsingPipelines::from_file</span><span class="plain-syntax">(</span><span class="identifier-syntax">pipeline_as_file</span><span class="plain-syntax">, </span><span class="identifier-syntax">pipeline_vars</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">SS</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">linked_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">requirements_list</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NEW_LINKED_LIST</span><span class="plain-syntax">(</span><span class="identifier-syntax">inter_library</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">linked_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">requirements_list</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NEW_LINKED_LIST</span><span class="plain-syntax">(</span><span class="identifier-syntax">attachment_instruction</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">RunningPipelines::run</span><span class="plain-syntax">(</span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="identifier-syntax">SS</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="identifier-syntax">inter_paths</span><span class="plain-syntax">, </span><span class="identifier-syntax">requirements_list</span><span class="plain-syntax">, </span><span class="identifier-syntax">S</span><span class="plain-syntax">-></span><span class="element-syntax">for_vm</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">else</span><span class="plain-syntax"> {</span>
|
||||
|
@ -213,7 +213,7 @@ it defaults to <span class="extract"><span class="extract-syntax">compile</span>
|
|||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">RunningPipelines::run</span><span class="plain-syntax">(</span><span class="identifier-syntax">Filenames::up</span><span class="plain-syntax">(</span><span class="identifier-syntax">S</span><span class="plain-syntax">-></span><span class="element-syntax">vertex</span><span class="plain-syntax">-></span><span class="element-syntax">as_file</span><span class="plain-syntax">),</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">pipeline</span><span class="plain-syntax">, </span><span class="identifier-syntax">Emit::tree</span><span class="plain-syntax">(), </span><a href="5-ks.html#SP13" class="function-link"><span class="function-syntax">Kits::inter_paths</span></a><span class="plain-syntax">(</span><a href="5-ps2.html#SP6" class="function-link"><span class="function-syntax">Projects::nest_list</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">project</span><span class="plain-syntax">)),</span>
|
||||
<span class="plain-syntax"> </span><a href="5-ps2.html#SP24" class="function-link"><span class="function-syntax">Projects::list_of_link_instructions</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">project</span><span class="plain-syntax">), </span><span class="identifier-syntax">S</span><span class="plain-syntax">-></span><span class="element-syntax">for_vm</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="5-ps2.html#SP24" class="function-link"><span class="function-syntax">Projects::list_of_attachment_instructions</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">project</span><span class="plain-syntax">), </span><span class="identifier-syntax">S</span><span class="plain-syntax">-></span><span class="element-syntax">for_vm</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">"Back end elapsed time: %dcs\n"</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">clock</span><span class="plain-syntax">() - </span><span class="identifier-syntax">back_end</span><span class="plain-syntax">)) / (</span><span class="identifier-syntax">CLOCKS_PER_SEC</span><span class="plain-syntax">/100));</span>
|
||||
<span class="plain-syntax"> #</span><span class="identifier-syntax">ifdef</span><span class="plain-syntax"> </span><span class="identifier-syntax">CORE_MODULE</span>
|
||||
|
|
|
@ -622,14 +622,14 @@ details instead.
|
|||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax">#</span><span class="identifier-syntax">ifdef</span><span class="plain-syntax"> </span><span class="identifier-syntax">PIPELINE_MODULE</span>
|
||||
<span class="identifier-syntax">linked_list</span><span class="plain-syntax"> *</span><span class="function-syntax">Projects::list_of_link_instructions</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">Projects::list_of_link_instructions</span></span>:<br/>Inter Skill - <a href="3-is.html#SP4">§4</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inform_project</span><span class="plain-syntax"> *</span><span class="identifier-syntax">project</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">linked_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">requirements_list</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NEW_LINKED_LIST</span><span class="plain-syntax">(</span><span class="identifier-syntax">link_instruction</span><span class="plain-syntax">);</span>
|
||||
<span class="identifier-syntax">linked_list</span><span class="plain-syntax"> *</span><span class="function-syntax">Projects::list_of_attachment_instructions</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">Projects::list_of_attachment_instructions</span></span>:<br/>Inter Skill - <a href="3-is.html#SP4">§4</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inform_project</span><span class="plain-syntax"> *</span><span class="identifier-syntax">project</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">linked_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">requirements_list</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NEW_LINKED_LIST</span><span class="plain-syntax">(</span><span class="identifier-syntax">attachment_instruction</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">kit_dependency</span><span class="plain-syntax"> *</span><span class="identifier-syntax">kd</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER_LINKED_LIST</span><span class="plain-syntax">(</span><span class="identifier-syntax">kd</span><span class="plain-syntax">, </span><span class="reserved-syntax">kit_dependency</span><span class="plain-syntax">, </span><span class="identifier-syntax">project</span><span class="plain-syntax">-></span><span class="element-syntax">kits_to_include</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">inform_kit</span><span class="plain-syntax"> *</span><span class="identifier-syntax">K</span><span class="plain-syntax"> = </span><span class="identifier-syntax">kd</span><span class="plain-syntax">-></span><span class="element-syntax">kit</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">link_instruction</span><span class="plain-syntax"> *</span><span class="identifier-syntax">link</span><span class="plain-syntax"> = </span><span class="identifier-syntax">CodeGen::LinkInstructions::new</span><span class="plain-syntax">(</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">attachment_instruction</span><span class="plain-syntax"> *</span><span class="identifier-syntax">link</span><span class="plain-syntax"> = </span><span class="identifier-syntax">AttachStage::new</span><span class="plain-syntax">(</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">K</span><span class="plain-syntax">-></span><span class="element-syntax">as_copy</span><span class="plain-syntax">-></span><span class="element-syntax">location_if_path</span><span class="plain-syntax">, </span><span class="identifier-syntax">K</span><span class="plain-syntax">-></span><span class="element-syntax">attachment_point</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">ADD_TO_LINKED_LIST</span><span class="plain-syntax">(</span><span class="identifier-syntax">link</span><span class="plain-syntax">, </span><span class="identifier-syntax">link_instruction</span><span class="plain-syntax">, </span><span class="identifier-syntax">requirements_list</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">ADD_TO_LINKED_LIST</span><span class="plain-syntax">(</span><span class="identifier-syntax">link</span><span class="plain-syntax">, </span><span class="identifier-syntax">attachment_instruction</span><span class="plain-syntax">, </span><span class="identifier-syntax">requirements_list</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">requirements_list</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
|
|
@ -1372,7 +1372,6 @@ and those marked as "arithmetic operations".
|
|||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOG_DASH</span><span class="plain-syntax">(</span><span class="string-syntax">"(4I.a)"</span><span class="plain-syntax">);</span>
|
||||
<span class="identifier-syntax">LOGIF</span><span class="plain-syntax">(</span><span class="identifier-syntax">MATCHING</span><span class="plain-syntax">, </span><span class="string-syntax">"outcome = %d\n"</span><span class="plain-syntax">, </span><span class="identifier-syntax">outcome</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">IDTypeData::arithmetic_operation</span><span class="plain-syntax">(</span><span class="identifier-syntax">idb</span><span class="plain-syntax">) == </span><span class="identifier-syntax">TOTAL_OPERATION</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-dsh.html#SP10_9_1_1_2_1" class="named-paragraph-link"><span class="named-paragraph">Step (4I.a.1) "Total P of O" has kind the kind of P</span><span class="named-paragraph-number">10.9.1.1.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><span class="identifier-syntax">IDTypeData::is_arithmetic_phrase</span><span class="plain-syntax">(</span><span class="identifier-syntax">idb</span><span class="plain-syntax">)) </span><span class="named-paragraph-container code-font"><a href="5-dsh.html#SP10_9_1_1_2_2" class="named-paragraph-link"><span class="named-paragraph">Step (4I.a.2) Dimension-check arithmetic phrases</span><span class="named-paragraph-number">10.9.1.1.2.2</span></a></span><span class="plain-syntax">;</span>
|
||||
|
@ -2293,7 +2292,6 @@ to level 5.
|
|||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOG_DASH</span><span class="plain-syntax">(</span><span class="string-syntax">"(4S.a)"</span><span class="plain-syntax">);</span>
|
||||
<span class="identifier-syntax">LOGIF</span><span class="plain-syntax">(</span><span class="identifier-syntax">MATCHING</span><span class="plain-syntax">, </span><span class="string-syntax">"outcome = %d\n"</span><span class="plain-syntax">, </span><span class="identifier-syntax">outcome</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOG_INDENT</span><span class="plain-syntax">;</span>
|
||||
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">outcome</span><span class="plain-syntax"> = </span><a href="5-dsh.html#SP18" class="function-link"><span class="function-syntax">Dash::typecheck_single_node</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">p</span><span class="plain-syntax">, </span><span class="identifier-syntax">kind_needed</span><span class="plain-syntax">, </span><span class="identifier-syntax">condition_context</span><span class="plain-syntax">);</span>
|
||||
|
@ -2301,12 +2299,10 @@ to level 5.
|
|||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-dsh.html#SP10_9_1_2_1" class="named-paragraph-link"><span class="named-paragraph">Allow listed-in table references only where these are expected</span><span class="named-paragraph-number">10.9.1.2.1</span></a></span><span class="plain-syntax">;</span>
|
||||
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOG_DASH</span><span class="plain-syntax">(</span><span class="string-syntax">"(4S.b)"</span><span class="plain-syntax">);</span>
|
||||
<span class="identifier-syntax">LOGIF</span><span class="plain-syntax">(</span><span class="identifier-syntax">MATCHING</span><span class="plain-syntax">, </span><span class="string-syntax">"outcome was %d\n"</span><span class="plain-syntax">, </span><span class="identifier-syntax">outcome</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">arg</span><span class="plain-syntax"> = </span><span class="identifier-syntax">p</span><span class="plain-syntax">-></span><span class="identifier-syntax">down</span><span class="plain-syntax">; </span><span class="identifier-syntax">arg</span><span class="plain-syntax">; </span><span class="identifier-syntax">arg</span><span class="plain-syntax"> = </span><span class="identifier-syntax">arg</span><span class="plain-syntax">-></span><span class="element-syntax">next</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">outcome</span><span class="plain-syntax"> =</span>
|
||||
<span class="plain-syntax"> </span><a href="5-dsh.html#SP7" class="function-link"><span class="function-syntax">Dash::worst_case</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">outcome</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><a href="5-dsh.html#SP9" class="function-link"><span class="function-syntax">Dash::typecheck_recursive</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">arg</span><span class="plain-syntax">, </span><span class="identifier-syntax">p</span><span class="plain-syntax">, </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">));</span>
|
||||
<span class="identifier-syntax">LOGIF</span><span class="plain-syntax">(</span><span class="identifier-syntax">MATCHING</span><span class="plain-syntax">, </span><span class="string-syntax">"outcome is %d\n"</span><span class="plain-syntax">, </span><span class="identifier-syntax">outcome</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">outcome</span><span class="plain-syntax"> != </span><span class="identifier-syntax">NEVER_MATCH</span><span class="plain-syntax">) && (</span><span class="identifier-syntax">p</span><span class="plain-syntax">-></span><span class="identifier-syntax">down</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">Node::is</span><span class="plain-syntax">(</span><span class="identifier-syntax">p</span><span class="plain-syntax">, </span><span class="identifier-syntax">LIST_ENTRY_NT</span><span class="plain-syntax">))</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-dsh.html#SP10_9_1_2_2" class="named-paragraph-link"><span class="named-paragraph">Step (4S.c) Check arguments of a list entry</span><span class="named-paragraph-number">10.9.1.2.2</span></a></span><span class="plain-syntax">;</span>
|
||||
|
|
|
@ -84,7 +84,7 @@ int InterSkill::assimilate_internally(build_skill *skill, build_step *S,
|
|||
inter_pipeline *SS =
|
||||
ParsingPipelines::from_file(pipeline_as_file, pipeline_vars);
|
||||
if (SS) {
|
||||
linked_list *requirements_list = NEW_LINKED_LIST(inter_library);
|
||||
linked_list *requirements_list = NEW_LINKED_LIST(attachment_instruction);
|
||||
RunningPipelines::run(NULL, SS, NULL, inter_paths, requirements_list, S->for_vm);
|
||||
return TRUE;
|
||||
} else {
|
||||
|
@ -138,7 +138,7 @@ int InterSkill::code_generate_internally(build_skill *skill, build_step *S,
|
|||
}
|
||||
RunningPipelines::run(Filenames::up(S->vertex->as_file),
|
||||
pipeline, Emit::tree(), Kits::inter_paths(Projects::nest_list(project)),
|
||||
Projects::list_of_link_instructions(project), S->for_vm);
|
||||
Projects::list_of_attachment_instructions(project), S->for_vm);
|
||||
LOG("Back end elapsed time: %dcs\n",
|
||||
((int) (clock() - back_end)) / (CLOCKS_PER_SEC/100));
|
||||
#ifdef CORE_MODULE
|
||||
|
|
|
@ -491,14 +491,14 @@ details instead.
|
|||
|
||||
=
|
||||
#ifdef PIPELINE_MODULE
|
||||
linked_list *Projects::list_of_link_instructions(inform_project *project) {
|
||||
linked_list *requirements_list = NEW_LINKED_LIST(link_instruction);
|
||||
linked_list *Projects::list_of_attachment_instructions(inform_project *project) {
|
||||
linked_list *requirements_list = NEW_LINKED_LIST(attachment_instruction);
|
||||
kit_dependency *kd;
|
||||
LOOP_OVER_LINKED_LIST(kd, kit_dependency, project->kits_to_include) {
|
||||
inform_kit *K = kd->kit;
|
||||
link_instruction *link = CodeGen::LinkInstructions::new(
|
||||
attachment_instruction *link = AttachStage::new(
|
||||
K->as_copy->location_if_path, K->attachment_point);
|
||||
ADD_TO_LINKED_LIST(link, link_instruction, requirements_list);
|
||||
ADD_TO_LINKED_LIST(link, attachment_instruction, requirements_list);
|
||||
}
|
||||
return requirements_list;
|
||||
}
|
||||
|
|
|
@ -214,7 +214,7 @@ Total memory consumption was 399937K = 391 MB
|
|||
---- inform_pipeline 3 objects, 192 bytes
|
||||
---- kit_dependency 4 objects, 192 bytes
|
||||
---- plural_dictionary_entry 4 objects, 192 bytes
|
||||
---- link_instruction 4 objects, 160 bytes
|
||||
---- attachment_instruction 4 objects, 160 bytes
|
||||
---- inter_architecture 4 objects, 160 bytes
|
||||
---- imperative_defn_family 4 objects, 160 bytes
|
||||
---- inference_subject_family 5 objects, 160 bytes
|
||||
|
@ -238,7 +238,7 @@ Total memory consumption was 399937K = 391 MB
|
|||
|
||||
38.9% was used for memory not allocated for objects:
|
||||
|
||||
20.4% text stream storage 83670108 bytes in 543395 claims
|
||||
20.4% text stream storage 83670308 bytes in 543397 claims
|
||||
4.4% dictionary storage 18323456 bytes in 33302 claims
|
||||
---- sorting 736 bytes in 3 claims
|
||||
1.7% source text 7200000 bytes in 3 claims
|
||||
|
|
|
@ -1,38 +1,36 @@
|
|||
100.0% in inform7 run
|
||||
64.1% in compilation to Inter
|
||||
44.9% in //Sequence::undertake_queued_tasks//
|
||||
4.0% in //MajorNodes::pre_pass//
|
||||
63.3% in compilation to Inter
|
||||
45.7% in //Sequence::undertake_queued_tasks//
|
||||
3.9% in //MajorNodes::pre_pass//
|
||||
2.9% in //MajorNodes::pass_1//
|
||||
2.3% in //RTPhrasebook::compile_entries//
|
||||
2.4% in //RTPhrasebook::compile_entries//
|
||||
1.5% in //ImperativeDefinitions::assess_all//
|
||||
1.3% in //RTKindConstructors::compile//
|
||||
0.4% in //ImperativeDefinitions::compile_first_block//
|
||||
0.4% in //MajorNodes::pass_2//
|
||||
0.4% in //Sequence::undertake_queued_tasks//
|
||||
0.4% in //Sequence::undertake_queued_tasks//
|
||||
0.4% in //World::stage_V//
|
||||
0.3% in //CompletionModule::compile//
|
||||
0.5% in //MajorNodes::pass_2//
|
||||
0.5% in //Sequence::undertake_queued_tasks//
|
||||
0.5% in //World::stage_V//
|
||||
0.3% in //ImperativeDefinitions::compile_first_block//
|
||||
0.3% in //Sequence::undertake_queued_tasks//
|
||||
0.1% in //CompletionModule::compile//
|
||||
0.1% in //InferenceSubjects::emit_all//
|
||||
0.1% in //RTKindConstructors::compile_permissions//
|
||||
0.1% in //Task::make_built_in_kind_constructors//
|
||||
0.1% in //World::stages_II_and_III//
|
||||
3.7% not specifically accounted for
|
||||
33.8% in running Inter pipeline
|
||||
10.9% in inter step 7/16: consolidate-text
|
||||
8.9% in inter step 2/16: link
|
||||
7.5% in inter step 16/16: generate inform6 -> auto.inf
|
||||
2.4% not specifically accounted for
|
||||
34.3% in running Inter pipeline
|
||||
11.0% in inter step 7/16: consolidate-text
|
||||
9.1% in inter step 2/16: attach
|
||||
7.7% in inter step 16/16: generate inform6 -> auto.inf
|
||||
1.7% in inter step 11/16: make-identifiers-unique
|
||||
0.6% in step preparation
|
||||
0.4% in inter step 12/16: reconcile-verbs
|
||||
0.4% in inter step 6/16: assimilate
|
||||
0.3% in inter step 10/16: detect-indirect-calls
|
||||
0.5% in inter step 12/16: reconcile-verbs
|
||||
0.3% in inter step 14/16: eliminate-redundant-operations
|
||||
0.3% in inter step 6/16: assimilate
|
||||
0.3% in inter step 8/16: resolve-external-symbols
|
||||
0.3% in inter step 9/16: inspect-plugs
|
||||
0.1% in inter step 10/16: detect-indirect-calls
|
||||
0.1% in inter step 13/16: eliminate-redundant-labels
|
||||
0.1% in inter step 3/16: merge-template <- none
|
||||
0.1% in inter step 4/16: parse-linked-matter
|
||||
0.1% in inter step 5/16: resolve-conditional-compilation
|
||||
1.2% not specifically accounted for
|
||||
0.1% in inter step 9/16: inspect-plugs
|
||||
1.5% not specifically accounted for
|
||||
1.8% in supervisor
|
||||
0.2% not specifically accounted for
|
||||
0.4% not specifically accounted for
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
read <- *in
|
||||
link
|
||||
attach
|
||||
merge-template <- none
|
||||
parse-linked-matter
|
||||
resolve-conditional-compilation
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
read <- *in
|
||||
link
|
||||
attach
|
||||
merge-template <- none
|
||||
parse-linked-matter
|
||||
resolve-conditional-compilation
|
||||
|
|
|
@ -1056,7 +1056,6 @@ and those marked as "arithmetic operations".
|
|||
|
||||
@<Step (4I.a) Take care of arithmetic phrases@> =
|
||||
LOG_DASH("(4I.a)");
|
||||
LOGIF(MATCHING, "outcome = %d\n", outcome);
|
||||
if (IDTypeData::arithmetic_operation(idb) == TOTAL_OPERATION)
|
||||
@<Step (4I.a.1) "Total P of O" has kind the kind of P@>
|
||||
else if (IDTypeData::is_arithmetic_phrase(idb)) @<Step (4I.a.2) Dimension-check arithmetic phrases@>;
|
||||
|
@ -1790,7 +1789,6 @@ to level 5.
|
|||
|
||||
@<Step (4S) Verify anything else@> =
|
||||
LOG_DASH("(4S.a)");
|
||||
LOGIF(MATCHING, "outcome = %d\n", outcome);
|
||||
LOG_INDENT;
|
||||
|
||||
outcome = Dash::typecheck_single_node(p, kind_needed, condition_context);
|
||||
|
@ -1798,12 +1796,10 @@ LOGIF(MATCHING, "outcome = %d\n", outcome);
|
|||
@<Allow listed-in table references only where these are expected@>;
|
||||
|
||||
LOG_DASH("(4S.b)");
|
||||
LOGIF(MATCHING, "outcome was %d\n", outcome);
|
||||
for (parse_node *arg = p->down; arg; arg = arg->next)
|
||||
outcome =
|
||||
Dash::worst_case(outcome,
|
||||
Dash::typecheck_recursive(arg, p, TRUE));
|
||||
LOGIF(MATCHING, "outcome is %d\n", outcome);
|
||||
if ((outcome != NEVER_MATCH) && (p->down)) {
|
||||
if (Node::is(p, LIST_ENTRY_NT))
|
||||
@<Step (4S.c) Check arguments of a list entry@>;
|
||||
|
|
|
@ -99,7 +99,7 @@ form, which would be written to |*outt|.
|
|||
SS = ParsingPipelines::from_file(pipeline_as_file, pipeline_vars);
|
||||
else
|
||||
SS = ParsingPipelines::from_text(pipeline_as_text, pipeline_vars);
|
||||
linked_list *requirements_list = NEW_LINKED_LIST(inter_library);
|
||||
linked_list *requirements_list = NEW_LINKED_LIST(attachment_instruction);
|
||||
if (SS) RunningPipelines::run(domain_path, SS, NULL, inter_paths, requirements_list, NULL);
|
||||
else Errors::fatal("pipeline could not be parsed");
|
||||
|
||||
|
|
|
@ -17,7 +17,7 @@ which use this module:
|
|||
@e text_literal_holder_CLASS
|
||||
@e routine_body_request_CLASS
|
||||
@e pipeline_stage_CLASS
|
||||
@e link_instruction_CLASS
|
||||
@e attachment_instruction_CLASS
|
||||
@e tree_inventory_CLASS
|
||||
@e tree_inventory_item_CLASS
|
||||
|
||||
|
@ -29,7 +29,7 @@ DECLARE_CLASS(uniqueness_count)
|
|||
DECLARE_CLASS(text_literal_holder)
|
||||
DECLARE_CLASS(routine_body_request)
|
||||
DECLARE_CLASS(pipeline_stage)
|
||||
DECLARE_CLASS(link_instruction)
|
||||
DECLARE_CLASS(attachment_instruction)
|
||||
DECLARE_CLASS(tree_inventory)
|
||||
DECLARE_CLASS(tree_inventory_item)
|
||||
|
||||
|
|
|
@ -295,7 +295,7 @@ pipeline_stage *ParsingPipelines::parse_stage(text_stream *from) {
|
|||
SimpleStages::create_pipeline_stages();
|
||||
CodeGen::create_pipeline_stage();
|
||||
CodeGen::Architecture::create_pipeline_stage();
|
||||
CodeGen::LinkInstructions::create_pipeline_stage();
|
||||
AttachStage::create_pipeline_stage();
|
||||
CodeGen::Assimilate::create_pipeline_stage();
|
||||
DetectIndirectCalls::create_pipeline_stage();
|
||||
CodeGen::Eliminate::create_pipeline_stage();
|
||||
|
|
|
@ -28,15 +28,23 @@ int SimpleStages::run_move_stage(pipeline_step *step) {
|
|||
inter_package *pack = NULL;
|
||||
if (Regexp::match(&mr, step->step_argument, L"(%d):(%c+)")) {
|
||||
int from_rep = Str::atoi(mr.exp[0], 0);
|
||||
if (step->ephemera.pipeline->ephemera.repositories[from_rep] == NULL)
|
||||
internal_error("no such repository");
|
||||
if (step->ephemera.pipeline->ephemera.repositories[from_rep] == NULL) {
|
||||
RunningPipelines::error_with(step, "there is no Inter tree in slot %S", mr.exp[0]);
|
||||
return FALSE;
|
||||
}
|
||||
pack = Inter::Packages::by_url(
|
||||
step->ephemera.pipeline->ephemera.repositories[from_rep], mr.exp[1]);
|
||||
if (pack == NULL) {
|
||||
RunningPipelines::error_with(step, "that tree has no such package as '%S'", mr.exp[1]);
|
||||
return FALSE;
|
||||
}
|
||||
} else {
|
||||
RunningPipelines::error_with(step,
|
||||
"destination should take the form 'N:URL', not '%S'", mr.exp[1]);
|
||||
return FALSE;
|
||||
}
|
||||
Regexp::dispose_of(&mr);
|
||||
if (pack == NULL) internal_error("not a package");
|
||||
Inter::Transmigration::move(pack, Site::main_package(step->ephemera.repository), FALSE);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
|
|
@ -24,7 +24,7 @@ typedef struct pipeline_step_ephemera {
|
|||
int to_debugging_log;
|
||||
int from_memory;
|
||||
struct text_stream *to_stream;
|
||||
struct linked_list *requirements_list; /* of |inter_library| */
|
||||
struct linked_list *requirements_list; /* of |attachment_instruction| */
|
||||
struct inter_tree *repository;
|
||||
struct inter_pipeline *pipeline;
|
||||
struct target_vm *for_VM;
|
||||
|
@ -41,7 +41,7 @@ void RunningPipelines::clean_step(pipeline_step *step) {
|
|||
step->ephemera.the_PP = NULL;
|
||||
step->ephemera.repository = NULL;
|
||||
step->ephemera.pipeline = NULL;
|
||||
step->ephemera.requirements_list = NEW_LINKED_LIST(inter_library);
|
||||
step->ephemera.requirements_list = NEW_LINKED_LIST(attachment_instruction);
|
||||
step->ephemera.for_VM = NULL;
|
||||
step->ephemera.package_argument = NULL;
|
||||
for (int i=0; i<MAX_RPSYM; i++) {
|
||||
|
@ -107,7 +107,7 @@ avoid repeatedly linting the same tree, since that really would be slow.
|
|||
S->ephemera.repositories[step->repository_argument] = InterTree::new();
|
||||
inter_tree *I = S->ephemera.repositories[step->repository_argument];
|
||||
if (I == NULL) {
|
||||
RunningPipelines::error("no Inter tree to apply this step to");
|
||||
RunningPipelines::error(step, "no Inter tree to apply this step to");
|
||||
active = FALSE;
|
||||
} else {
|
||||
if (I != last_linted) { Inter::Defn::lint(I); last_linted = I; }
|
||||
|
@ -119,7 +119,7 @@ avoid repeatedly linting the same tree, since that really would be slow.
|
|||
if ((VM) && (step->take_generator_argument_from_VM)) {
|
||||
step->generator_argument = Generators::find_for(VM);
|
||||
if (step->generator_argument == NULL) {
|
||||
RunningPipelines::error("unable to guess a suitable code-generator");
|
||||
RunningPipelines::error(step, "unable to guess a suitable code-generator");
|
||||
active = FALSE;
|
||||
}
|
||||
}
|
||||
|
@ -128,7 +128,7 @@ avoid repeatedly linting the same tree, since that really would be slow.
|
|||
step->ephemera.package_argument =
|
||||
Inter::Packages::by_url(step->ephemera.repository, step->package_URL_argument);
|
||||
if (step->ephemera.package_argument == NULL) {
|
||||
RunningPipelines::error_with(
|
||||
RunningPipelines::error_with(step,
|
||||
"pipeline step applied to package which does not exist: '%S'",
|
||||
step->package_URL_argument);
|
||||
active = FALSE;
|
||||
|
@ -139,7 +139,7 @@ avoid repeatedly linting the same tree, since that really would be slow.
|
|||
if (ParsingPipelines::will_write_a_file(step)) {
|
||||
if (Str::len(step->step_argument) == 0) {
|
||||
if (step->step_stage->stage_arg != OPTIONAL_TEXT_OUT_STAGE_ARG) {
|
||||
RunningPipelines::error("no filename given in pipeline step");
|
||||
RunningPipelines::error(step, "no filename given in pipeline step");
|
||||
active = FALSE;
|
||||
}
|
||||
} else {
|
||||
|
@ -151,7 +151,7 @@ avoid repeatedly linting the same tree, since that really would be slow.
|
|||
text_stream text_output_struct;
|
||||
text_stream *T = &text_output_struct;
|
||||
if (STREAM_OPEN_TO_FILE(T, step->ephemera.parsed_filename, ISO_ENC) == FALSE) {
|
||||
RunningPipelines::error("unable to open file named in pipeline step");
|
||||
RunningPipelines::error(step, "unable to open file named in pipeline step");
|
||||
active = FALSE;
|
||||
} else {
|
||||
step->ephemera.to_stream = T;
|
||||
|
@ -162,11 +162,11 @@ avoid repeatedly linting the same tree, since that really would be slow.
|
|||
}
|
||||
} else if (ParsingPipelines::will_read_a_file(step)) {
|
||||
if (Str::len(step->step_argument) == 0) {
|
||||
RunningPipelines::error("no filename given in pipeline step");
|
||||
RunningPipelines::error(step, "no filename given in pipeline step");
|
||||
active = FALSE;
|
||||
} else if (Str::eq(step->step_argument, I"*memory")) {
|
||||
if (Str::eq(step->step_stage->stage_name, I"read") == FALSE) {
|
||||
RunningPipelines::error("'*memory' can be used only on reads");
|
||||
RunningPipelines::error(step, "'*memory' can be used only on reads");
|
||||
active = FALSE;
|
||||
} else {
|
||||
S->ephemera.repositories[step->repository_argument] =
|
||||
|
@ -368,38 +368,73 @@ The moment there is something wrong with the pipeline itself, we come to a
|
|||
complete halt. It's the kindest way.
|
||||
|
||||
=
|
||||
void RunningPipelines::error(char *erm) {
|
||||
#ifdef PROBLEMS_MODULE
|
||||
void RunningPipelines::error(pipeline_step *step, char *erm) {
|
||||
#ifdef CORE_MODULE
|
||||
@<Begin problem message using the module of the same name@>;
|
||||
TEMPORARY_TEXT(full)
|
||||
WRITE_TO(full, "%s", erm);
|
||||
do_not_locate_problems = TRUE;
|
||||
Problems::quote_stream(1, full);
|
||||
Problems::issue_problem_begin(NULL, erm);
|
||||
Problems::issue_problem_segment("I was unable to perform final code-generation: %1");
|
||||
Problems::issue_problem_end();
|
||||
do_not_locate_problems = FALSE;
|
||||
DISCARD_TEXT(full)
|
||||
@<End problem message using the module of the same name@>;
|
||||
#endif
|
||||
#ifndef PROBLEMS_MODULE
|
||||
#ifndef CORE_MODULE
|
||||
Errors::fatal(erm);
|
||||
exit(1);
|
||||
#endif
|
||||
}
|
||||
|
||||
void RunningPipelines::error_with(char *erm, text_stream *quoted) {
|
||||
#ifdef PROBLEMS_MODULE
|
||||
void RunningPipelines::error_with(pipeline_step *step, char *erm, text_stream *quoted) {
|
||||
#ifdef CORE_MODULE
|
||||
@<Begin problem message using the module of the same name@>;
|
||||
TEMPORARY_TEXT(full)
|
||||
WRITE_TO(full, erm, quoted);
|
||||
do_not_locate_problems = TRUE;
|
||||
Problems::quote_stream(1, full);
|
||||
Problems::issue_problem_begin(NULL, erm);
|
||||
Problems::issue_problem_segment("I was unable to perform final code-generation: %1");
|
||||
Problems::issue_problem_end();
|
||||
do_not_locate_problems = FALSE;
|
||||
@<End problem message using the module of the same name@>;
|
||||
DISCARD_TEXT(full)
|
||||
#endif
|
||||
#ifndef PROBLEMS_MODULE
|
||||
#ifndef CORE_MODULE
|
||||
Errors::fatal_with_text(erm, quoted);
|
||||
exit(1);
|
||||
#endif
|
||||
}
|
||||
|
||||
@<Begin problem message using the module of the same name@> =
|
||||
do_not_locate_problems = TRUE;
|
||||
Problems::issue_problem_begin(NULL, erm);
|
||||
Problems::issue_problem_segment(
|
||||
"Something went wrong late in compilation, when working through the "
|
||||
"'pipeline' of code-generation steps. (This should not normally happen "
|
||||
"unless your source text is making use of '(-' and '-)' and getting "
|
||||
"that wrong, or unless you are experimenting with non-standard pipelines.) "
|
||||
"The pipeline looks like so:");
|
||||
Problems::issue_problem_end();
|
||||
|
||||
@<End problem message using the module of the same name@> =
|
||||
if (step) {
|
||||
inter_pipeline *pipeline = step->pipeline;
|
||||
pipeline_step *some_step;
|
||||
int N = 1;
|
||||
LOOP_OVER_LINKED_LIST(some_step, pipeline_step, pipeline->steps) {
|
||||
TEMPORARY_TEXT(description)
|
||||
ParsingPipelines::write_step(description, some_step);
|
||||
Problems::issue_problem_begin(Task::syntax_tree(), "****");
|
||||
Problems::quote_number(1, &N);
|
||||
if (some_step == step) {
|
||||
Problems::quote_stream_tinted_red(2, description);
|
||||
Problems::issue_problem_segment("%1. %2");
|
||||
} else {
|
||||
Problems::quote_stream_tinted_green(2, description);
|
||||
Problems::issue_problem_segment("%1. %2");
|
||||
}
|
||||
DISCARD_TEXT(description)
|
||||
Problems::issue_problem_end();
|
||||
if (some_step == step) {
|
||||
Problems::issue_problem_begin(Task::syntax_tree(), "****");
|
||||
Problems::quote_stream(1, full);
|
||||
Problems::issue_problem_segment("Problem: %1");
|
||||
Problems::issue_problem_end();
|
||||
}
|
||||
N++;
|
||||
}
|
||||
}
|
||||
do_not_locate_problems = FALSE;
|
||||
|
|
62
inter/pipeline-module/Chapter 3/Attach Stage.w
Normal file
62
inter/pipeline-module/Chapter 3/Attach Stage.w
Normal file
|
@ -0,0 +1,62 @@
|
|||
[AttachStage::] Attach Stage.
|
||||
|
||||
Reading other Inter trees as binary files, and attaching them at given points
|
||||
in the main Inter tree.
|
||||
|
||||
@ Linking is not a symmetrical process: one Inter tree remains the primary one --
|
||||
usually this will be the tree still in memory which was compiled by Inform 7
|
||||
from source text. That needs to be linked to Inter from, for example, kits
|
||||
such as |WorldModelKit|. This is a non-trivial process, but begins easily
|
||||
enough, with each of those secondary Inter trees in turn being read in from
|
||||
a binary Inter file, and then attached to (i.e., made part of) the primary tree.
|
||||
|
||||
The primary tree cannot "know", of itself, where these secondary trees will
|
||||
live in the file system, so the |attach| stage needs to be given instructions
|
||||
on the side. This is done with the "requirements list" of the step.
|
||||
|
||||
=
|
||||
void AttachStage::create_pipeline_stage(void) {
|
||||
ParsingPipelines::new_stage(I"attach", AttachStage::run, NO_STAGE_ARG, FALSE);
|
||||
}
|
||||
|
||||
int AttachStage::run(pipeline_step *step) {
|
||||
attachment_instruction *req;
|
||||
LOOP_OVER_LINKED_LIST(req, attachment_instruction, step->ephemera.requirements_list) {
|
||||
inter_architecture *A = PipelineModule::get_architecture();
|
||||
if (A == NULL) Errors::fatal("no -architecture given");
|
||||
filename *arch_file = Architectures::canonical_binary(req->location, A);
|
||||
if (TextFiles::exists(arch_file) == FALSE)
|
||||
internal_error("no arch file for requirement");
|
||||
|
||||
inter_tree *sidecar = InterTree::new();
|
||||
if (Inter::Binary::test_file(arch_file)) Inter::Binary::read(sidecar, arch_file);
|
||||
else Inter::Textual::read(sidecar, arch_file);
|
||||
|
||||
inter_package *pack = Inter::Packages::by_url(sidecar, req->attachment_point);
|
||||
if (pack == NULL) {
|
||||
WRITE_TO(STDERR, "sought attachment material at: %S in %f\n",
|
||||
req->attachment_point, arch_file);
|
||||
internal_error("unable to find attachment point package");
|
||||
}
|
||||
Inter::Transmigration::move(pack,
|
||||
Site::main_package(step->ephemera.repository), FALSE);
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@ And this function is useful when building a requirements list, which is just
|
||||
a linked list of //attachment_instruction//s.
|
||||
|
||||
=
|
||||
typedef struct attachment_instruction {
|
||||
struct pathname *location;
|
||||
struct text_stream *attachment_point;
|
||||
CLASS_DEFINITION
|
||||
} attachment_instruction;
|
||||
|
||||
attachment_instruction *AttachStage::new(pathname *P, text_stream *attach) {
|
||||
attachment_instruction *link = CREATE(attachment_instruction);
|
||||
link->location = P;
|
||||
link->attachment_point = Str::duplicate(attach);
|
||||
return link;
|
||||
}
|
|
@ -1,49 +0,0 @@
|
|||
[CodeGen::LinkInstructions::] Link.
|
||||
|
||||
Inter often needs to assimilate or otherwise deal with architecture-neutral
|
||||
kits of linkable material, and this is where such requirements are noted.
|
||||
|
||||
@h
|
||||
|
||||
=
|
||||
typedef struct link_instruction {
|
||||
struct pathname *location;
|
||||
struct text_stream *attachment_point;
|
||||
CLASS_DEFINITION
|
||||
} link_instruction;
|
||||
|
||||
link_instruction *CodeGen::LinkInstructions::new(pathname *P, text_stream *attach) {
|
||||
link_instruction *link = CREATE(link_instruction);
|
||||
link->location = P;
|
||||
link->attachment_point = Str::duplicate(attach);
|
||||
return link;
|
||||
}
|
||||
|
||||
@h Link stage.
|
||||
|
||||
=
|
||||
void CodeGen::LinkInstructions::create_pipeline_stage(void) {
|
||||
ParsingPipelines::new_stage(I"link", CodeGen::LinkInstructions::run_link_stage, NO_STAGE_ARG, FALSE);
|
||||
}
|
||||
|
||||
int CodeGen::LinkInstructions::run_link_stage(pipeline_step *step) {
|
||||
link_instruction *req;
|
||||
LOOP_OVER_LINKED_LIST(req, link_instruction, step->ephemera.requirements_list) {
|
||||
inter_architecture *A = PipelineModule::get_architecture();
|
||||
if (A == NULL) Errors::fatal("no -architecture given");
|
||||
filename *arch_file = Architectures::canonical_binary(req->location, A);
|
||||
if (TextFiles::exists(arch_file) == FALSE) internal_error("no arch file for requirement");
|
||||
|
||||
inter_tree *sidecar = InterTree::new();
|
||||
if (Inter::Binary::test_file(arch_file)) Inter::Binary::read(sidecar, arch_file);
|
||||
else Inter::Textual::read(sidecar, arch_file);
|
||||
|
||||
inter_package *pack = Inter::Packages::by_url(sidecar, req->attachment_point);
|
||||
if (pack == NULL) {
|
||||
WRITE_TO(STDERR, "sought attachment material at: %S in %f\n", req->attachment_point, arch_file);
|
||||
internal_error("unable to find attachment point package");
|
||||
}
|
||||
Inter::Transmigration::move(pack, Site::main_package(step->ephemera.repository), FALSE);
|
||||
}
|
||||
return TRUE;
|
||||
}
|
|
@ -16,7 +16,7 @@ Chapter 2: Pipelines
|
|||
Read, Move, Wipe, Stop
|
||||
|
||||
Chapter 3: Linking
|
||||
Link
|
||||
Attach Stage
|
||||
Prepare
|
||||
Merge Template
|
||||
Template Reader
|
||||
|
|
|
@ -159,6 +159,15 @@ void Problems::problem_quote(int t, void *v, void (*f)(text_stream *, void *)) {
|
|||
problem_quotations[t].text_quoted = EMPTY_WORDING;
|
||||
}
|
||||
|
||||
void Problems::problem_quote_tinted(int t, void *v, void (*f)(text_stream *, void *), char type) {
|
||||
if ((t<0) || (t > 10)) internal_error("problem quotation number out of range");
|
||||
problem_quotations[t].structure_quoted = v;
|
||||
problem_quotations[t].expander = f;
|
||||
problem_quotations[t].quotation_type = type;
|
||||
problem_quotations[t].wording_based = FALSE;
|
||||
problem_quotations[t].text_quoted = EMPTY_WORDING;
|
||||
}
|
||||
|
||||
void Problems::problem_quote_textual(int t, char type, wording W) {
|
||||
if ((t<0) || (t > 10)) internal_error("problem quotation number out of range");
|
||||
problem_quotations[t].structure_quoted = NULL;
|
||||
|
@ -206,6 +215,12 @@ void Problems::expand_wide_text(OUTPUT_STREAM, void *p) {
|
|||
void Problems::quote_stream(int t, text_stream *p) {
|
||||
Problems::problem_quote(t, (void *) p, Problems::expand_stream);
|
||||
}
|
||||
void Problems::quote_stream_tinted_green(int t, text_stream *p) {
|
||||
Problems::problem_quote_tinted(t, (void *) p, Problems::expand_stream, 'g');
|
||||
}
|
||||
void Problems::quote_stream_tinted_red(int t, text_stream *p) {
|
||||
Problems::problem_quote_tinted(t, (void *) p, Problems::expand_stream, 'r');
|
||||
}
|
||||
void Problems::expand_stream(OUTPUT_STREAM, void *p) {
|
||||
WRITE("%S", (text_stream *) p);
|
||||
}
|
||||
|
@ -429,7 +444,11 @@ ourselves, and must delegate to:
|
|||
@<Expand structure-based escape@> =
|
||||
Problems::append_source(EMPTY_WORDING);
|
||||
TEMPORARY_TEXT(OUT)
|
||||
if (problem_quotations[t].quotation_type == 'r') HTML::begin_colour(OUT, I"800000");
|
||||
if (problem_quotations[t].quotation_type == 'g') HTML::begin_colour(OUT, I"008000");
|
||||
(problem_quotations[t].expander)(OUT, problem_quotations[t].structure_quoted);
|
||||
if (problem_quotations[t].quotation_type == 'r') HTML::end_colour(OUT);
|
||||
if (problem_quotations[t].quotation_type == 'g') HTML::end_colour(OUT);
|
||||
@<Spool temporary stream text to the problem buffer@>;
|
||||
DISCARD_TEXT(OUT)
|
||||
Problems::transcribe_appended_source();
|
||||
|
|
Loading…
Reference in a new issue