mirror of
https://github.com/ganelson/inform.git
synced 2024-06-16 15:20:43 +03:00
Further enhancements
This commit is contained in:
parent
0f37410f01
commit
a721e7ab48
|
@ -1,6 +1,6 @@
|
|||
# Inform 7
|
||||
|
||||
[Version](notes/versioning.md): 10.2.0-beta+6X16 'Krypton' (10 September 2023)
|
||||
[Version](notes/versioning.md): 10.2.0-beta+6X17 'Krypton' (12 September 2023)
|
||||
|
||||
## About Inform
|
||||
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
Prerelease: beta
|
||||
Build Date: 10 September 2023
|
||||
Build Number: 6X16
|
||||
Build Date: 12 September 2023
|
||||
Build Number: 6X17
|
||||
|
|
|
@ -58,7 +58,7 @@ function togglePopup(material_id) {
|
|||
<ul class="crumbs"><li><a href="../index.html">Home</a></li><li><a href="index.html">inbuild</a></li><li><a href="index.html#1">Chapter 1: Outside of inform7</a></li><li><b>Main</b></li></ul></div>
|
||||
<p class="purpose">A command-line interface for Inbuild functions which are not part of the normal operation of the Inform compiler.</p>
|
||||
|
||||
<ul class="toc"><li><a href="1-mn.html#SP1">§1. Settings variables</a></li><li><a href="1-mn.html#SP2">§2. Main routine</a></li><li><a href="1-mn.html#SP2_10">§2.10. Target list</a></li><li><a href="1-mn.html#SP2_12">§2.12. Command line</a></li><li><a href="1-mn.html#SP5">§5. JSON validation</a></li></ul><hr class="tocbar">
|
||||
<ul class="toc"><li><a href="1-mn.html#SP1">§1. Settings variables</a></li><li><a href="1-mn.html#SP2">§2. Main routine</a></li><li><a href="1-mn.html#SP2_11">§2.11. Target list</a></li><li><a href="1-mn.html#SP2_13">§2.13. Command line</a></li><li><a href="1-mn.html#SP5">§5. JSON validation</a></li></ul><hr class="tocbar">
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP1" class="paragraph-anchor"></a><b>§1. Settings variables. </b>The following will be set at the command line.
|
||||
</p>
|
||||
|
@ -79,6 +79,8 @@ function togglePopup(material_id) {
|
|||
<span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">preprocess_HTML_app</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
|
||||
<span class="reserved-syntax">inbuild_copy</span><span class="plain-syntax"> *</span><span class="identifier-syntax">to_install</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, *</span><span class="identifier-syntax">to_uninstall</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
|
||||
<span class="reserved-syntax">filename</span><span class="plain-syntax"> *</span><span class="identifier-syntax">documentation_source</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
|
||||
<span class="reserved-syntax">pathname</span><span class="plain-syntax"> *</span><span class="identifier-syntax">documentation_set</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
|
||||
<span class="reserved-syntax">filename</span><span class="plain-syntax"> *</span><span class="identifier-syntax">documentation_sitemap</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
|
||||
<span class="reserved-syntax">pathname</span><span class="plain-syntax"> *</span><span class="identifier-syntax">documentation_dest</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
|
||||
|
||||
<span class="reserved-syntax">typedef</span><span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="reserved-syntax">markdown_settings_struct</span><span class="plain-syntax"> {</span>
|
||||
|
@ -107,15 +109,16 @@ on; then to carry out that work, and then shut down again.
|
|||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">main</span><span class="plain-syntax">(</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">argc</span><span class="plain-syntax">, </span><span class="reserved-syntax">char</span><span class="plain-syntax"> **</span><span class="identifier-syntax">argv</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="1-mn.html#SP2_1" class="named-paragraph-link"><span class="named-paragraph">Start up the modules</span><span class="named-paragraph-number">2.1</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="1-mn.html#SP2_12" class="named-paragraph-link"><span class="named-paragraph">Read the command line</span><span class="named-paragraph-number">2.12</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="1-mn.html#SP2_13" class="named-paragraph-link"><span class="named-paragraph">Read the command line</span><span class="named-paragraph-number">2.13</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><a href="../../../inweb/foundation-module/3-cla.html#SP10" class="function-link"><span class="function-syntax">CommandLine::play_back_log</span></a><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="1-mn.html#SP2_2" class="named-paragraph-link"><span class="named-paragraph">Complete the list of targets</span><span class="named-paragraph-number">2.2</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">to_install</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="1-mn.html#SP2_3" class="named-paragraph-link"><span class="named-paragraph">Perform an extension installation</span><span class="named-paragraph-number">2.3</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">to_uninstall</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="1-mn.html#SP2_4" class="named-paragraph-link"><span class="named-paragraph">Perform an extension uninstallation</span><span class="named-paragraph-number">2.4</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">markdown_settings</span><span class="plain-syntax">.</span><span class="element-syntax">from</span><span class="plain-syntax">) || (</span><span class="identifier-syntax">markdown_settings</span><span class="plain-syntax">.</span><span class="element-syntax">from_dir</span><span class="plain-syntax">)) </span><span class="named-paragraph-container code-font"><a href="1-mn.html#SP2_5" class="named-paragraph-link"><span class="named-paragraph">Make HTML</span><span class="named-paragraph-number">2.5</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">documentation_set</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="1-mn.html#SP2_7" class="named-paragraph-link"><span class="named-paragraph">Document from a set</span><span class="named-paragraph-number">2.7</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">documentation_source</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="1-mn.html#SP2_6" class="named-paragraph-link"><span class="named-paragraph">Document from a file</span><span class="named-paragraph-number">2.6</span></a></span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="1-mn.html#SP2_7" class="named-paragraph-link"><span class="named-paragraph">Act on the targets</span><span class="named-paragraph-number">2.7</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="1-mn.html#SP2_8" class="named-paragraph-link"><span class="named-paragraph">Shut down the modules</span><span class="named-paragraph-number">2.8</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="1-mn.html#SP2_8" class="named-paragraph-link"><span class="named-paragraph">Act on the targets</span><span class="named-paragraph-number">2.8</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="1-mn.html#SP2_9" class="named-paragraph-link"><span class="named-paragraph">Shut down the modules</span><span class="named-paragraph-number">2.9</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="../../../inweb/foundation-module/3-em.html#SP1" class="function-link"><span class="function-syntax">Errors::have_occurred</span></a><span class="plain-syntax">()) </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="constant-syntax">1</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="constant-syntax">0</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
@ -160,7 +163,7 @@ error in this case.
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">linked_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">L</span><span class="plain-syntax"> = </span><a href="1-mn.html#SP2_11" class="function-link"><span class="function-syntax">Main::list_of_targets</span></a><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">L</span><span class="plain-syntax"> = </span><a href="1-mn.html#SP2_12" class="function-link"><span class="function-syntax">Main::list_of_targets</span></a><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">inbuild_copy</span><span class="plain-syntax"> *</span><span class="identifier-syntax">D</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, *</span><span class="identifier-syntax">C</span><span class="plain-syntax">; </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">others_exist</span><span class="plain-syntax"> = </span><span class="constant-syntax">FALSE</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">C</span><span class="plain-syntax">, </span><span class="reserved-syntax">inbuild_copy</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> ((</span><span class="identifier-syntax">C</span><span class="plain-syntax">-></span><span class="element-syntax">edition</span><span class="plain-syntax">-></span><span class="element-syntax">work</span><span class="plain-syntax">-></span><span class="element-syntax">genre</span><span class="plain-syntax"> == </span><span class="identifier-syntax">project_bundle_genre</span><span class="plain-syntax">) ||</span>
|
||||
|
@ -180,10 +183,10 @@ error in this case.
|
|||
<span class="plain-syntax"> </span><a href="../supervisor-module/1-ic.html#SP14" class="function-link"><span class="function-syntax">Supervisor::add_nest</span></a><span class="plain-syntax">(</span>
|
||||
<span class="plain-syntax"> </span><a href="../supervisor-module/1-ic.html#SP17" class="function-link"><span class="function-syntax">Supervisor::default_internal_path</span></a><span class="plain-syntax">(), </span><span class="constant-syntax">INTERNAL_NEST_TAG</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><a href="../supervisor-module/1-ic.html#SP10" class="function-link"><span class="function-syntax">Supervisor::optioneering_complete</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">D</span><span class="plain-syntax">, </span><span class="constant-syntax">FALSE</span><span class="plain-syntax">, &</span><a href="1-mn.html#SP2_9" class="function-link"><span class="function-syntax">Main::load_preform</span></a><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="../supervisor-module/1-ic.html#SP10" class="function-link"><span class="function-syntax">Supervisor::optioneering_complete</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">D</span><span class="plain-syntax">, </span><span class="constant-syntax">FALSE</span><span class="plain-syntax">, &</span><a href="1-mn.html#SP2_10" class="function-link"><span class="function-syntax">Main::load_preform</span></a><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">inform_project</span><span class="plain-syntax"> *</span><span class="identifier-syntax">proj</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER</span><span class="plain-syntax">(</span><span class="identifier-syntax">proj</span><span class="plain-syntax">, </span><span class="reserved-syntax">inform_project</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><a href="1-mn.html#SP2_10" class="function-link"><span class="function-syntax">Main::add_target</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">proj</span><span class="plain-syntax">-></span><span class="element-syntax">as_copy</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="1-mn.html#SP2_11" class="function-link"><span class="function-syntax">Main::add_target</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">proj</span><span class="plain-syntax">-></span><span class="element-syntax">as_copy</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">count</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER_LINKED_LIST</span><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">, </span><span class="reserved-syntax">inbuild_copy</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> ((</span><span class="identifier-syntax">C</span><span class="plain-syntax">-></span><span class="element-syntax">edition</span><span class="plain-syntax">-></span><span class="element-syntax">work</span><span class="plain-syntax">-></span><span class="element-syntax">genre</span><span class="plain-syntax"> == </span><span class="identifier-syntax">project_bundle_genre</span><span class="plain-syntax">) ||</span>
|
||||
|
@ -191,7 +194,7 @@ error in this case.
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">count</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">count</span><span class="plain-syntax"> > </span><span class="constant-syntax">1</span><span class="plain-syntax">) && (</span><span class="identifier-syntax">inbuild_task</span><span class="plain-syntax"> != </span><span class="constant-syntax">INSPECT_TTASK</span><span class="plain-syntax">))</span>
|
||||
<span class="plain-syntax"> </span><a href="../../../inweb/foundation-module/3-em.html#SP7" class="function-link"><span class="function-syntax">Errors::with_text</span></a><span class="plain-syntax">(</span><span class="string-syntax">"can only work on one project bundle at a time"</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><a href="../../../inweb/foundation-module/4-sm.html#SP8" class="function-link"><span class="function-syntax">Str::len</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">filter_text</span><span class="plain-syntax">) > </span><span class="constant-syntax">0</span><span class="plain-syntax">) </span><a href="1-mn.html#SP2_11" class="function-link"><span class="function-syntax">Main::add_search_results_as_targets</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">filter_text</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="../../../inweb/foundation-module/4-sm.html#SP8" class="function-link"><span class="function-syntax">Str::len</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">filter_text</span><span class="plain-syntax">) > </span><span class="constant-syntax">0</span><span class="plain-syntax">) </span><a href="1-mn.html#SP2_12" class="function-link"><span class="function-syntax">Main::add_search_results_as_targets</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">filter_text</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="1-mn.html#SP2">§2</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP2_3" class="paragraph-anchor"></a><b>§2.3. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Perform an extension installation</span><span class="named-paragraph-number">2.3</span></span><span class="comment-syntax"> =</span>
|
||||
|
@ -235,15 +238,26 @@ error in this case.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">documentation_dest</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><a href="../../../inweb/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">"need to specify '-document-to' directory"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">compiled_documentation</span><span class="plain-syntax"> *</span><span class="identifier-syntax">cd</span><span class="plain-syntax"> = </span><a href="../supervisor-module/7-dc.html#SP1" class="function-link"><span class="function-syntax">DocumentationCompiler::compile_from_file</span></a><span class="plain-syntax">(</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">documentation_source</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">documentation_source</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="identifier-syntax">documentation_sitemap</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">cd</span><span class="plain-syntax">) </span><a href="../supervisor-module/7-dr.html#SP2" class="function-link"><span class="function-syntax">DocumentationRenderer::as_HTML</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">documentation_dest</span><span class="plain-syntax">, </span><span class="identifier-syntax">cd</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="1-mn.html#SP2">§2</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP2_7" class="paragraph-anchor"></a><b>§2.7. </b>We make the function call <span class="extract"><span class="extract-syntax">Supervisor::go_operational</span></span> to signal to <span class="extract"><span class="extract-syntax">inbuild</span></span>
|
||||
<p class="commentary firstcommentary"><a id="SP2_7" class="paragraph-anchor"></a><b>§2.7. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Document from a set</span><span class="named-paragraph-number">2.7</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">documentation_dest</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><a href="../../../inweb/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">"need to specify '-document-to' directory"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">compiled_documentation</span><span class="plain-syntax"> *</span><span class="identifier-syntax">cd</span><span class="plain-syntax"> = </span><a href="../supervisor-module/7-dc.html#SP3" class="function-link"><span class="function-syntax">DocumentationCompiler::compile_from_path</span></a><span class="plain-syntax">(</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">documentation_set</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="identifier-syntax">documentation_sitemap</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">cd</span><span class="plain-syntax">) </span><a href="../supervisor-module/7-dr.html#SP2" class="function-link"><span class="function-syntax">DocumentationRenderer::as_HTML</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">documentation_dest</span><span class="plain-syntax">, </span><span class="identifier-syntax">cd</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="1-mn.html#SP2">§2</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP2_8" class="paragraph-anchor"></a><b>§2.8. </b>We make the function call <span class="extract"><span class="extract-syntax">Supervisor::go_operational</span></span> to signal to <span class="extract"><span class="extract-syntax">inbuild</span></span>
|
||||
that we want to start work now.
|
||||
</p>
|
||||
|
||||
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Act on the targets</span><span class="named-paragraph-number">2.7</span></span><span class="comment-syntax"> =</span>
|
||||
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Act on the targets</span><span class="named-paragraph-number">2.8</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
|
@ -256,10 +270,10 @@ that we want to start work now.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">build_trace_mode</span><span class="plain-syntax">) </span><a href="../supervisor-module/3-ib.html#SP6" class="function-link"><span class="function-syntax">IncrementalBuild::enable_trace</span></a><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">JSON_value</span><span class="plain-syntax"> *</span><span class="identifier-syntax">obj</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">JSON_file_format</span><span class="plain-syntax">) </span><span class="identifier-syntax">obj</span><span class="plain-syntax"> = </span><a href="../../../inweb/foundation-module/4-jsn.html#SP6" class="function-link"><span class="function-syntax">JSON::new_object</span></a><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">L</span><span class="plain-syntax"> = </span><a href="1-mn.html#SP2_11" class="function-link"><span class="function-syntax">Main::list_of_targets</span></a><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">L</span><span class="plain-syntax"> = </span><a href="1-mn.html#SP2_12" class="function-link"><span class="function-syntax">Main::list_of_targets</span></a><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">inbuild_copy</span><span class="plain-syntax"> *</span><span class="identifier-syntax">C</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">C</span><span class="plain-syntax">, </span><span class="reserved-syntax">inbuild_copy</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="1-mn.html#SP2_7_2" class="named-paragraph-link"><span class="named-paragraph">Carry out the required task on the copy C</span><span class="named-paragraph-number">2.7.2</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="1-mn.html#SP2_8_2" class="named-paragraph-link"><span class="named-paragraph">Carry out the required task on the copy C</span><span class="named-paragraph-number">2.8.2</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">obj</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><a href="1-mn.html#SP5" class="function-link"><span class="function-syntax">Main::validate_JSON</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">obj</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">JSON_file_to_output</span><span class="plain-syntax">) {</span>
|
||||
|
@ -275,7 +289,7 @@ that we want to start work now.
|
|||
<span class="plain-syntax"> }</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="1-mn.html#SP2">§2</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP2_7_1" class="paragraph-anchor"></a><b>§2.7.1. </b>The list of possible tasks is as follows; they basically all correspond to
|
||||
<p class="commentary firstcommentary"><a id="SP2_8_1" class="paragraph-anchor"></a><b>§2.8.1. </b>The list of possible tasks is as follows; they basically all correspond to
|
||||
utility functions in the <a href="../supervisor-module/index.html" class="internal">supervisor</a> module, which we call.
|
||||
</p>
|
||||
|
||||
|
@ -296,7 +310,7 @@ utility functions in the <a href="../supervisor-module/index.html" class="intern
|
|||
<span class="definition-keyword">enum</span> <span class="constant-syntax">DOCUMENT_TTASK</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">MODERNISE_TTASK</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP2_7_2" class="paragraph-anchor"></a><b>§2.7.2. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Carry out the required task on the copy C</span><span class="named-paragraph-number">2.7.2</span></span><span class="comment-syntax"> =</span>
|
||||
<p class="commentary firstcommentary"><a id="SP2_8_2" class="paragraph-anchor"></a><b>§2.8.2. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Carry out the required task on the copy C</span><span class="named-paragraph-number">2.8.2</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
|
@ -333,12 +347,12 @@ utility functions in the <a href="../supervisor-module/index.html" class="intern
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">DOCUMENT_TTASK:</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">documentation_dest</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><a href="../../../inweb/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">"need to specify '-document-to' directory"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="../supervisor-module/2-cps.html#SP16" class="function-link"><span class="function-syntax">Copies::document</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">, </span><span class="identifier-syntax">documentation_dest</span><span class="plain-syntax">); </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><a href="../supervisor-module/2-cps.html#SP16" class="function-link"><span class="function-syntax">Copies::document</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">, </span><span class="identifier-syntax">documentation_dest</span><span class="plain-syntax">, </span><span class="identifier-syntax">documentation_sitemap</span><span class="plain-syntax">); </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">MODERNISE_TTASK:</span><span class="plain-syntax"> </span><a href="../supervisor-module/2-cps.html#SP17" class="function-link"><span class="function-syntax">Copies::modernise</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">C</span><span class="plain-syntax">); </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="1-mn.html#SP2_7">§2.7</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP2_8" class="paragraph-anchor"></a><b>§2.8. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Shut down the modules</span><span class="named-paragraph-number">2.8</span></span><span class="comment-syntax"> =</span>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="1-mn.html#SP2_8">§2.8</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP2_9" class="paragraph-anchor"></a><b>§2.9. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Shut down the modules</span><span class="named-paragraph-number">2.9</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
|
@ -350,7 +364,7 @@ utility functions in the <a href="../supervisor-module/index.html" class="intern
|
|||
<span class="plain-syntax"> </span><a href="../../../inweb/foundation-module/1-fm.html#SP9" class="function-link"><span class="function-syntax">Foundation::end</span></a><span class="plain-syntax">(); </span><span class="comment-syntax"> must be ended last</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="1-mn.html#SP2">§2</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP2_9" class="paragraph-anchor"></a><b>§2.9. </b>Preform is the crowning jewel of the <span class="extract"><span class="extract-syntax">words</span></span> module, and parses excerpts of
|
||||
<p class="commentary firstcommentary"><a id="SP2_10" class="paragraph-anchor"></a><b>§2.10. </b>Preform is the crowning jewel of the <span class="extract"><span class="extract-syntax">words</span></span> module, and parses excerpts of
|
||||
natural-language text against a "grammar". The <span class="extract"><span class="extract-syntax">inform7</span></span> executable makes very
|
||||
heavy-duty use of Preform, and we can use that too provided we have access to
|
||||
the English Preform syntax file stored inside the core Inform distribution,
|
||||
|
@ -377,7 +391,7 @@ following is run, Preform is ready for use.
|
|||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP2_10" class="paragraph-anchor"></a><b>§2.10. Target list. </b>This where we keep the list of targets, in which no copy occurs more than
|
||||
<p class="commentary firstcommentary"><a id="SP2_11" class="paragraph-anchor"></a><b>§2.11. Target list. </b>This where we keep the list of targets, in which no copy occurs more than
|
||||
once. The following code runs quadratically in the number of targets, but for
|
||||
Inbuild this number is never likely to be more than about 100 at a time.
|
||||
</p>
|
||||
|
@ -385,7 +399,7 @@ Inbuild this number is never likely to be more than about 100 at a time.
|
|||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">linked_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">targets</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">; </span><span class="comment-syntax"> of </span><span class="extract"><span class="extract-syntax">inbuild_copy</span></span>
|
||||
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Main::add_target</span><button class="popup" onclick="togglePopup('usagePopup2')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup2">Usage of <span class="code-font"><span class="function-syntax">Main::add_target</span></span>:<br/><a href="1-mn.html#SP2_2">§2.2</a>, <a href="1-mn.html#SP2_11">§2.11</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inbuild_copy</span><span class="plain-syntax"> *</span><span class="identifier-syntax">to_add</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Main::add_target</span><button class="popup" onclick="togglePopup('usagePopup2')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup2">Usage of <span class="code-font"><span class="function-syntax">Main::add_target</span></span>:<br/><a href="1-mn.html#SP2_2">§2.2</a>, <a href="1-mn.html#SP2_12">§2.12</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inbuild_copy</span><span class="plain-syntax"> *</span><span class="identifier-syntax">to_add</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">targets</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) </span><span class="identifier-syntax">targets</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NEW_LINKED_LIST</span><span class="plain-syntax">(</span><span class="reserved-syntax">inbuild_copy</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">found</span><span class="plain-syntax"> = </span><span class="constant-syntax">FALSE</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">inbuild_copy</span><span class="plain-syntax"> *</span><span class="identifier-syntax">C</span><span class="plain-syntax">;</span>
|
||||
|
@ -395,7 +409,7 @@ Inbuild this number is never likely to be more than about 100 at a time.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">found</span><span class="plain-syntax"> == </span><span class="constant-syntax">FALSE</span><span class="plain-syntax">) </span><span class="identifier-syntax">ADD_TO_LINKED_LIST</span><span class="plain-syntax">(</span><span class="identifier-syntax">to_add</span><span class="plain-syntax">, </span><span class="reserved-syntax">inbuild_copy</span><span class="plain-syntax">, </span><span class="identifier-syntax">targets</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP2_11" class="paragraph-anchor"></a><b>§2.11. </b>The following sorts the list of targets before returning it. This is partly
|
||||
<p class="commentary firstcommentary"><a id="SP2_12" class="paragraph-anchor"></a><b>§2.12. </b>The following sorts the list of targets before returning it. This is partly
|
||||
to improve the quality of the output of <span class="extract"><span class="extract-syntax">-inspect</span></span>, but also to make the
|
||||
behaviour of <a href="index.html" class="internal">inbuild</a> more predictable across platforms — the raw target
|
||||
list tends to be in order of discovery of the copies, which in turn depends on
|
||||
|
@ -403,7 +417,7 @@ the order in which filenames are read from a directory listing.
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">linked_list</span><span class="plain-syntax"> *</span><span class="function-syntax">Main::list_of_targets</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">Main::list_of_targets</span></span>:<br/><a href="1-mn.html#SP2_2">§2.2</a>, <a href="1-mn.html#SP2_7">§2.7</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">void</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">linked_list</span><span class="plain-syntax"> *</span><span class="function-syntax">Main::list_of_targets</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">Main::list_of_targets</span></span>:<br/><a href="1-mn.html#SP2_2">§2.2</a>, <a href="1-mn.html#SP2_8">§2.8</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">void</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">targets</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) </span><span class="identifier-syntax">targets</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NEW_LINKED_LIST</span><span class="plain-syntax">(</span><span class="reserved-syntax">inbuild_copy</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">no_entries</span><span class="plain-syntax"> = </span><a href="../../../inweb/foundation-module/2-llas.html#SP7" class="function-link"><span class="function-syntax">LinkedLists::len</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">targets</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_entries</span><span class="plain-syntax"> == </span><span class="constant-syntax">0</span><span class="plain-syntax">) </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">targets</span><span class="plain-syntax">;</span>
|
||||
|
@ -431,7 +445,7 @@ the order in which filenames are read from a directory listing.
|
|||
<span class="plain-syntax"> </span><a href="../supervisor-module/2-nst.html#SP9" class="function-link"><span class="function-syntax">Nests::search_for</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">req</span><span class="plain-syntax">, </span><a href="../supervisor-module/1-ic.html#SP16" class="function-link"><span class="function-syntax">Supervisor::shared_nest_list</span></a><span class="plain-syntax">(), </span><span class="identifier-syntax">L</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">inbuild_search_result</span><span class="plain-syntax"> *</span><span class="identifier-syntax">R</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER_LINKED_LIST</span><span class="plain-syntax">(</span><span class="identifier-syntax">R</span><span class="plain-syntax">, </span><span class="reserved-syntax">inbuild_search_result</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><a href="1-mn.html#SP2_10" class="function-link"><span class="function-syntax">Main::add_target</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">R</span><span class="plain-syntax">-></span><span class="element-syntax">copy</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="1-mn.html#SP2_11" class="function-link"><span class="function-syntax">Main::add_target</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">R</span><span class="plain-syntax">-></span><span class="element-syntax">copy</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">errors</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
@ -442,7 +456,7 @@ the order in which filenames are read from a directory listing.
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER_LINKED_LIST</span><span class="plain-syntax">(</span><span class="identifier-syntax">entry</span><span class="plain-syntax">, </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">FILENAME</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">FILENAME</span><span class="plain-syntax">, </span><span class="string-syntax">"%p%c%S"</span><span class="plain-syntax">, </span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="constant-syntax">FOLDER_SEPARATOR</span><span class="plain-syntax">, </span><span class="identifier-syntax">entry</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="1-mn.html#SP2_11" class="function-link"><span class="function-syntax">Main::add_file_or_path_as_target</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">FILENAME</span><span class="plain-syntax">, </span><span class="constant-syntax">FALSE</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="1-mn.html#SP2_12" class="function-link"><span class="function-syntax">Main::add_file_or_path_as_target</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">FILENAME</span><span class="plain-syntax">, </span><span class="constant-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">FILENAME</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
@ -478,9 +492,9 @@ the order in which filenames are read from a directory listing.
|
|||
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Main::add_file_or_path_as_target</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">Main::add_file_or_path_as_target</span></span>:<br/><a href="1-mn.html#SP4">§4</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">text_stream</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">throwing_error</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">is_folder</span><span class="plain-syntax"> = </span><a href="../../../inweb/foundation-module/1-wp.html#SP3" class="function-link"><span class="function-syntax">Platform::is_folder_separator</span></a><span class="plain-syntax">(</span><a href="../../../inweb/foundation-module/4-sm.html#SP13" class="function-link"><span class="function-syntax">Str::get_last_char</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">arg</span><span class="plain-syntax">));</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">inbuild_copy</span><span class="plain-syntax"> *</span><span class="identifier-syntax">C</span><span class="plain-syntax"> = </span><a href="1-mn.html#SP2_11" class="function-link"><span class="function-syntax">Main::file_or_path_to_copy</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">arg</span><span class="plain-syntax">, </span><span class="identifier-syntax">throwing_error</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">inbuild_copy</span><span class="plain-syntax"> *</span><span class="identifier-syntax">C</span><span class="plain-syntax"> = </span><a href="1-mn.html#SP2_12" class="function-link"><span class="function-syntax">Main::file_or_path_to_copy</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">arg</span><span class="plain-syntax">, </span><span class="identifier-syntax">throwing_error</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">C</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><a href="1-mn.html#SP2_10" class="function-link"><span class="function-syntax">Main::add_target</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="1-mn.html#SP2_11" class="function-link"><span class="function-syntax">Main::add_target</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">C</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">recursive</span><span class="plain-syntax">) && (</span><span class="identifier-syntax">is_folder</span><span class="plain-syntax">)) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">pathname</span><span class="plain-syntax"> *</span><span class="identifier-syntax">P</span><span class="plain-syntax"> = </span><a href="../../../inweb/foundation-module/3-pth.html#SP5" class="function-link"><span class="function-syntax">Pathnames::from_text</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">arg</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">L</span><span class="plain-syntax"> = </span><a href="../../../inweb/foundation-module/3-drc.html#SP4" class="function-link"><span class="function-syntax">Directories::listing</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">P</span><span class="plain-syntax">);</span>
|
||||
|
@ -488,13 +502,13 @@ the order in which filenames are read from a directory listing.
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER_LINKED_LIST</span><span class="plain-syntax">(</span><span class="identifier-syntax">entry</span><span class="plain-syntax">, </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">FILENAME</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">FILENAME</span><span class="plain-syntax">, </span><span class="string-syntax">"%p%c%S"</span><span class="plain-syntax">, </span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="constant-syntax">FOLDER_SEPARATOR</span><span class="plain-syntax">, </span><span class="identifier-syntax">entry</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="1-mn.html#SP2_11" class="function-link"><span class="function-syntax">Main::add_file_or_path_as_target</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">FILENAME</span><span class="plain-syntax">, </span><span class="identifier-syntax">throwing_error</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="1-mn.html#SP2_12" class="function-link"><span class="function-syntax">Main::add_file_or_path_as_target</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">FILENAME</span><span class="plain-syntax">, </span><span class="identifier-syntax">throwing_error</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">FILENAME</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP2_12" class="paragraph-anchor"></a><b>§2.12. Command line. </b>Note the call below to <span class="extract"><span class="extract-syntax">Supervisor::declare_options</span></span>, which adds a whole lot of
|
||||
<p class="commentary firstcommentary"><a id="SP2_13" class="paragraph-anchor"></a><b>§2.13. Command line. </b>Note the call below to <span class="extract"><span class="extract-syntax">Supervisor::declare_options</span></span>, which adds a whole lot of
|
||||
other options to the selection defined here.
|
||||
</p>
|
||||
|
||||
|
@ -533,10 +547,13 @@ other options to the selection defined here.
|
|||
<span class="definition-keyword">enum</span> <span class="constant-syntax">VERBOSE_CLSW</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">VERBOSITY_CLSW</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">JSON_CLSW</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">MODERNISE_CLSW</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">DOCUMENTATION_SUITE_CLSG</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">DOCUMENT_CLSW</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">DOCUMENT_FROM_CLSW</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">DOCUMENT_SET_CLSW</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">DOCUMENT_SITEMAP_CLSW</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">DOCUMENT_TO_CLSW</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">MODERNISE_CLSW</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">MARKDOWN_SUITE_CLSG</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">MARKDOWN_FROM_CLSW</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">MARKDOWN_TO_CLSW</span>
|
||||
|
@ -545,7 +562,7 @@ other options to the selection defined here.
|
|||
<span class="definition-keyword">enum</span> <span class="constant-syntax">MARKDOWN_MODEL_CLSW</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">MARKDOWN_VARIATION_CLSW</span>
|
||||
</pre>
|
||||
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Read the command line</span><span class="named-paragraph-number">2.12</span></span><span class="comment-syntax"> =</span>
|
||||
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Read the command line</span><span class="named-paragraph-number">2.13</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
|
@ -620,14 +637,22 @@ other options to the selection defined here.
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">U</span><span class="string-syntax">"how much explanation to print: lowest is 0 (default), highest is 3"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="../../../inweb/foundation-module/3-cla.html#SP5" class="function-link"><span class="function-syntax">CommandLine::declare_switch</span></a><span class="plain-syntax">(</span><span class="constant-syntax">JSON_CLSW</span><span class="plain-syntax">, </span><span class="identifier-syntax">U</span><span class="string-syntax">"json"</span><span class="plain-syntax">, </span><span class="constant-syntax">2</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">U</span><span class="string-syntax">"write output of -inspect to a JSON file in X (or '-' for stdout)"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="../../../inweb/foundation-module/3-cla.html#SP5" class="function-link"><span class="function-syntax">CommandLine::declare_switch</span></a><span class="plain-syntax">(</span><span class="constant-syntax">MODERNISE_CLSW</span><span class="plain-syntax">, </span><span class="identifier-syntax">U</span><span class="string-syntax">"modernise"</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">U</span><span class="string-syntax">"update copies to the newest available format"</span><span class="plain-syntax">);</span>
|
||||
|
||||
<span class="plain-syntax"> </span><a href="../../../inweb/foundation-module/3-cla.html#SP5" class="function-link"><span class="function-syntax">CommandLine::begin_group</span></a><span class="plain-syntax">(</span><span class="constant-syntax">DOCUMENTATION_SUITE_CLSG</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">I</span><span class="string-syntax">"for generating extension or kit documentation"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="../../../inweb/foundation-module/3-cla.html#SP5" class="function-link"><span class="function-syntax">CommandLine::declare_switch</span></a><span class="plain-syntax">(</span><span class="constant-syntax">DOCUMENT_CLSW</span><span class="plain-syntax">, </span><span class="identifier-syntax">U</span><span class="string-syntax">"document"</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">U</span><span class="string-syntax">"(re-)generate documentation on this within current project"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="../../../inweb/foundation-module/3-cla.html#SP5" class="function-link"><span class="function-syntax">CommandLine::declare_switch</span></a><span class="plain-syntax">(</span><span class="constant-syntax">DOCUMENT_FROM_CLSW</span><span class="plain-syntax">, </span><span class="identifier-syntax">U</span><span class="string-syntax">"document-from"</span><span class="plain-syntax">, </span><span class="constant-syntax">2</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">U</span><span class="string-syntax">"generate documentation from documentation source file X"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">U</span><span class="string-syntax">"generate documentation from documentation in a single Markdown file X"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="../../../inweb/foundation-module/3-cla.html#SP5" class="function-link"><span class="function-syntax">CommandLine::declare_switch</span></a><span class="plain-syntax">(</span><span class="constant-syntax">DOCUMENT_SET_CLSW</span><span class="plain-syntax">, </span><span class="identifier-syntax">U</span><span class="string-syntax">"document-set"</span><span class="plain-syntax">, </span><span class="constant-syntax">2</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">U</span><span class="string-syntax">"generate documentation from a full documentation set in the path X"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="../../../inweb/foundation-module/3-cla.html#SP5" class="function-link"><span class="function-syntax">CommandLine::declare_switch</span></a><span class="plain-syntax">(</span><span class="constant-syntax">DOCUMENT_SITEMAP_CLSW</span><span class="plain-syntax">, </span><span class="identifier-syntax">U</span><span class="string-syntax">"document-sitemap"</span><span class="plain-syntax">, </span><span class="constant-syntax">2</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">U</span><span class="string-syntax">"use file X as the 'sitemap.txt' when generating documentation sets"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="../../../inweb/foundation-module/3-cla.html#SP5" class="function-link"><span class="function-syntax">CommandLine::declare_switch</span></a><span class="plain-syntax">(</span><span class="constant-syntax">DOCUMENT_TO_CLSW</span><span class="plain-syntax">, </span><span class="identifier-syntax">U</span><span class="string-syntax">"document-to"</span><span class="plain-syntax">, </span><span class="constant-syntax">2</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">U</span><span class="string-syntax">"divert generated documentation to directory X"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="../../../inweb/foundation-module/3-cla.html#SP5" class="function-link"><span class="function-syntax">CommandLine::declare_switch</span></a><span class="plain-syntax">(</span><span class="constant-syntax">MODERNISE_CLSW</span><span class="plain-syntax">, </span><span class="identifier-syntax">U</span><span class="string-syntax">"modernise"</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">U</span><span class="string-syntax">"update copies to the newest available format"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="../../../inweb/foundation-module/3-cla.html#SP5" class="function-link"><span class="function-syntax">CommandLine::end_group</span></a><span class="plain-syntax">();</span>
|
||||
|
||||
<span class="plain-syntax"> </span><a href="../../../inweb/foundation-module/3-cla.html#SP5" class="function-link"><span class="function-syntax">CommandLine::begin_group</span></a><span class="plain-syntax">(</span><span class="constant-syntax">MARKDOWN_SUITE_CLSG</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"for generating HTML from Markdown"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="../../../inweb/foundation-module/3-cla.html#SP5" class="function-link"><span class="function-syntax">CommandLine::declare_switch</span></a><span class="plain-syntax">(</span><span class="constant-syntax">MARKDOWN_FROM_CLSW</span><span class="plain-syntax">, </span><span class="identifier-syntax">U</span><span class="string-syntax">"markdown-from"</span><span class="plain-syntax">, </span><span class="constant-syntax">2</span><span class="plain-syntax">,</span>
|
||||
|
@ -655,7 +680,7 @@ other options to the selection defined here.
|
|||
</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">Main::option</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">Main::option</span></span>:<br/><a href="1-mn.html#SP2_12">§2.12</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">id</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">val</span><span class="plain-syntax">, </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">arg</span><span class="plain-syntax">, </span><span class="reserved-syntax">void</span><span class="plain-syntax"> *</span><span class="identifier-syntax">state</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Main::option</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">Main::option</span></span>:<br/><a href="1-mn.html#SP2_13">§2.13</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">id</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">val</span><span class="plain-syntax">, </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">arg</span><span class="plain-syntax">, </span><span class="reserved-syntax">void</span><span class="plain-syntax"> *</span><span class="identifier-syntax">state</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">switch</span><span class="plain-syntax"> (</span><span class="identifier-syntax">id</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">BUILD_CLSW:</span><span class="plain-syntax"> </span><span class="identifier-syntax">inbuild_task</span><span class="plain-syntax"> = </span><span class="constant-syntax">BUILD_TTASK</span><span class="plain-syntax">; </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">REBUILD_CLSW:</span><span class="plain-syntax"> </span><span class="identifier-syntax">inbuild_task</span><span class="plain-syntax"> = </span><span class="constant-syntax">REBUILD_TTASK</span><span class="plain-syntax">; </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
|
||||
|
@ -679,7 +704,7 @@ other options to the selection defined here.
|
|||
<span class="plain-syntax"> </span><a href="../supervisor-module/1-ic.html#SP17" class="function-link"><span class="function-syntax">Supervisor::set_tools_location</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">path_to_tools</span><span class="plain-syntax">); </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">MATCHING_CLSW:</span><span class="plain-syntax"> </span><span class="identifier-syntax">filter_text</span><span class="plain-syntax"> = </span><a href="../../../inweb/foundation-module/4-sm.html#SP3" class="function-link"><span class="function-syntax">Str::duplicate</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">arg</span><span class="plain-syntax">); </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">CONTENTS_OF_CLSW:</span><span class="plain-syntax"> </span><span class="identifier-syntax">contents_of_used</span><span class="plain-syntax"> = </span><span class="constant-syntax">TRUE</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><a href="1-mn.html#SP2_11" class="function-link"><span class="function-syntax">Main::add_directory_contents_targets</span></a><span class="plain-syntax">(</span><a href="../../../inweb/foundation-module/3-pth.html#SP5" class="function-link"><span class="function-syntax">Pathnames::from_text</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">arg</span><span class="plain-syntax">)); </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><a href="1-mn.html#SP2_12" class="function-link"><span class="function-syntax">Main::add_directory_contents_targets</span></a><span class="plain-syntax">(</span><a href="../../../inweb/foundation-module/3-pth.html#SP5" class="function-link"><span class="function-syntax">Pathnames::from_text</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">arg</span><span class="plain-syntax">)); </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">RECURSIVE_CLSW:</span><span class="plain-syntax"> </span><span class="identifier-syntax">recursive</span><span class="plain-syntax"> = </span><span class="identifier-syntax">val</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">contents_of_used</span><span class="plain-syntax">) </span><a href="../../../inweb/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">"-recursive must be used before -contents-of"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
|
||||
|
@ -714,8 +739,8 @@ other options to the selection defined here.
|
|||
<span class="plain-syntax"> </span><a href="../supervisor-module/2-rgs.html#SP28" class="function-link"><span class="function-syntax">Registries::preprocess_HTML</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">T</span><span class="plain-syntax">, </span><span class="identifier-syntax">F</span><span class="plain-syntax">, </span><span class="identifier-syntax">preprocess_HTML_app</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">REPAIR_CLSW:</span><span class="plain-syntax"> </span><span class="identifier-syntax">repair_mode</span><span class="plain-syntax"> = </span><span class="identifier-syntax">val</span><span class="plain-syntax">; </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">INSTALL_CLSW:</span><span class="plain-syntax"> </span><span class="identifier-syntax">to_install</span><span class="plain-syntax"> = </span><a href="1-mn.html#SP2_11" class="function-link"><span class="function-syntax">Main::file_or_path_to_copy</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">arg</span><span class="plain-syntax">, </span><span class="constant-syntax">TRUE</span><span class="plain-syntax">); </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">UNINSTALL_CLSW:</span><span class="plain-syntax"> </span><span class="identifier-syntax">to_uninstall</span><span class="plain-syntax"> = </span><a href="1-mn.html#SP2_11" class="function-link"><span class="function-syntax">Main::file_or_path_to_copy</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">arg</span><span class="plain-syntax">, </span><span class="constant-syntax">TRUE</span><span class="plain-syntax">); </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">INSTALL_CLSW:</span><span class="plain-syntax"> </span><span class="identifier-syntax">to_install</span><span class="plain-syntax"> = </span><a href="1-mn.html#SP2_12" class="function-link"><span class="function-syntax">Main::file_or_path_to_copy</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">arg</span><span class="plain-syntax">, </span><span class="constant-syntax">TRUE</span><span class="plain-syntax">); </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">UNINSTALL_CLSW:</span><span class="plain-syntax"> </span><span class="identifier-syntax">to_uninstall</span><span class="plain-syntax"> = </span><a href="1-mn.html#SP2_12" class="function-link"><span class="function-syntax">Main::file_or_path_to_copy</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">arg</span><span class="plain-syntax">, </span><span class="constant-syntax">TRUE</span><span class="plain-syntax">); </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">RESULTS_CLSW:</span><span class="plain-syntax"> </span><a href="../supervisor-module/7-ti.html#SP1" class="function-link"><span class="function-syntax">ExtensionInstaller::set_filename</span></a><span class="plain-syntax">(</span><a href="../../../inweb/foundation-module/3-fln.html#SP3" class="function-link"><span class="function-syntax">Filenames::from_text</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">arg</span><span class="plain-syntax">)); </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">CONFIRMED_CLSW:</span><span class="plain-syntax"> </span><span class="identifier-syntax">confirmed</span><span class="plain-syntax"> = </span><span class="identifier-syntax">val</span><span class="plain-syntax">; </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">VERBOSE_CLSW:</span><span class="plain-syntax"> </span><a href="../supervisor-module/1-ic.html#SP2" class="function-link"><span class="function-syntax">Supervisor::set_verbosity</span></a><span class="plain-syntax">(1); </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
|
||||
|
@ -726,6 +751,8 @@ other options to the selection defined here.
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">JSON_file_to_output</span><span class="plain-syntax"> = </span><a href="../../../inweb/foundation-module/3-fln.html#SP3" class="function-link"><span class="function-syntax">Filenames::from_text</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">arg</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">DOCUMENT_FROM_CLSW:</span><span class="plain-syntax"> </span><span class="identifier-syntax">documentation_source</span><span class="plain-syntax"> = </span><a href="../../../inweb/foundation-module/3-fln.html#SP3" class="function-link"><span class="function-syntax">Filenames::from_text</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">arg</span><span class="plain-syntax">); </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">DOCUMENT_SET_CLSW:</span><span class="plain-syntax"> </span><span class="identifier-syntax">documentation_set</span><span class="plain-syntax"> = </span><a href="../../../inweb/foundation-module/3-pth.html#SP5" class="function-link"><span class="function-syntax">Pathnames::from_text</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">arg</span><span class="plain-syntax">); </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">DOCUMENT_SITEMAP_CLSW:</span><span class="plain-syntax"> </span><span class="identifier-syntax">documentation_sitemap</span><span class="plain-syntax"> = </span><a href="../../../inweb/foundation-module/3-fln.html#SP3" class="function-link"><span class="function-syntax">Filenames::from_text</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">arg</span><span class="plain-syntax">); </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">DOCUMENT_TO_CLSW:</span><span class="plain-syntax"> </span><span class="identifier-syntax">documentation_dest</span><span class="plain-syntax"> = </span><a href="../../../inweb/foundation-module/3-pth.html#SP5" class="function-link"><span class="function-syntax">Pathnames::from_text</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">arg</span><span class="plain-syntax">); </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
|
||||
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">MARKDOWN_FROM_CLSW:</span><span class="plain-syntax"> </span><span class="identifier-syntax">markdown_settings</span><span class="plain-syntax">.</span><span class="element-syntax">from</span><span class="plain-syntax"> = </span><a href="../../../inweb/foundation-module/3-fln.html#SP3" class="function-link"><span class="function-syntax">Filenames::from_text</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">arg</span><span class="plain-syntax">); </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
|
||||
|
@ -753,8 +780,8 @@ subordinate to any switch; we take it as the name of a copy.
|
|||
</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">Main::bareword</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">Main::bareword</span></span>:<br/><a href="1-mn.html#SP2_12">§2.12</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">id</span><span class="plain-syntax">, </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">arg</span><span class="plain-syntax">, </span><span class="reserved-syntax">void</span><span class="plain-syntax"> *</span><span class="identifier-syntax">state</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><a href="1-mn.html#SP2_11" class="function-link"><span class="function-syntax">Main::add_file_or_path_as_target</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">arg</span><span class="plain-syntax">, </span><span class="constant-syntax">TRUE</span><span class="plain-syntax">);</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Main::bareword</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">Main::bareword</span></span>:<br/><a href="1-mn.html#SP2_13">§2.13</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">id</span><span class="plain-syntax">, </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">arg</span><span class="plain-syntax">, </span><span class="reserved-syntax">void</span><span class="plain-syntax"> *</span><span class="identifier-syntax">state</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><a href="1-mn.html#SP2_12" class="function-link"><span class="function-syntax">Main::add_file_or_path_as_target</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">arg</span><span class="plain-syntax">, </span><span class="constant-syntax">TRUE</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP5" class="paragraph-anchor"></a><b>§5. JSON validation. </b>For options which output JSON, we perform a check that what we've made
|
||||
|
@ -762,7 +789,7 @@ conforms to what we say we make.
|
|||
</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">Main::validate_JSON</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">Main::validate_JSON</span></span>:<br/><a href="1-mn.html#SP2_7">§2.7</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">JSON_value</span><span class="plain-syntax"> *</span><span class="identifier-syntax">obj</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Main::validate_JSON</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">Main::validate_JSON</span></span>:<br/><a href="1-mn.html#SP2_8">§2.8</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">JSON_value</span><span class="plain-syntax"> *</span><span class="identifier-syntax">obj</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">filename</span><span class="plain-syntax"> *</span><span class="identifier-syntax">F</span><span class="plain-syntax"> = </span><a href="../html-module/2-if.html#SP1" class="function-link"><span class="function-syntax">InstalledFiles::filename</span></a><span class="plain-syntax">(</span><span class="constant-syntax">INBUILD_JSON_REQS_IRES</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">D</span><span class="plain-syntax"> = </span><a href="../../../inweb/foundation-module/4-jsn.html#SP37" class="function-link"><span class="function-syntax">JSON::read_requirements_file</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="identifier-syntax">F</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">JSON_requirement</span><span class="plain-syntax"> *</span><span class="identifier-syntax">req</span><span class="plain-syntax"> = </span><a href="../../../inweb/foundation-module/4-jsn.html#SP38" class="function-link"><span class="function-syntax">JSON::look_up_requirements</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">D</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"inbuild-output"</span><span class="plain-syntax">);</span>
|
||||
|
|
|
@ -71,9 +71,6 @@ and those not documented in this manual are covered in that one.
|
|||
<span class="plain-syntax">-no-confirmed don't confirm installation in the Inform GUI apps (default is -confirmed)</span>
|
||||
<span class="plain-syntax">-contents-of X apply to all targets in the directory X</span>
|
||||
<span class="plain-syntax">-copy-to X copy target(s) to nest X</span>
|
||||
<span class="plain-syntax">-document (re-)generate documentation on this within current project</span>
|
||||
<span class="plain-syntax">-document-from X generate documentation from documentation source file X</span>
|
||||
<span class="plain-syntax">-document-to X divert generated documentation to directory X</span>
|
||||
<span class="plain-syntax">-dry make this a dry run (print but do not execute shell commands) (default is -no-dry)</span>
|
||||
<span class="plain-syntax">-graph show dependency graph of target(s) but take no action</span>
|
||||
<span class="plain-syntax">-inspect show target(s) but take no action</span>
|
||||
|
@ -124,6 +121,13 @@ and those not documented in this manual are covered in that one.
|
|||
<span class="plain-syntax"> -pipeline-file X specify code-generation pipeline as file X</span>
|
||||
<span class="plain-syntax"> -variable X set pipeline variable X (in form name=value)</span>
|
||||
|
||||
<span class="plain-syntax">for generating extension or kit documentation:</span>
|
||||
<span class="plain-syntax"> -document (re-)generate documentation on this within current project</span>
|
||||
<span class="plain-syntax"> -document-from X generate documentation from documentation in a single Markdown file X</span>
|
||||
<span class="plain-syntax"> -document-set X generate documentation from a full documentation set in the path X</span>
|
||||
<span class="plain-syntax"> -document-sitemap X use file X as the 'sitemap.txt' when generating documentation sets</span>
|
||||
<span class="plain-syntax"> -document-to X divert generated documentation to directory X</span>
|
||||
|
||||
<span class="plain-syntax">for generating HTML from Markdown:</span>
|
||||
<span class="plain-syntax"> -markdown-from X generate HTML file from Markdown source file X</span>
|
||||
<span class="plain-syntax"> -markdown-from-dir X generate HTML files from all Markdown sources in X</span>
|
||||
|
|
|
@ -412,8 +412,8 @@ its main task: building an Inform project.
|
|||
</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">Copies::document</span><span class="plain-syntax">(</span><span class="reserved-syntax">inbuild_copy</span><span class="plain-syntax"> *</span><span class="identifier-syntax">C</span><span class="plain-syntax">, </span><span class="identifier-syntax">pathname</span><span class="plain-syntax"> *</span><span class="identifier-syntax">dest</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">VOID_METHOD_CALL</span><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">-></span><span class="element-syntax">edition</span><span class="plain-syntax">-></span><span class="element-syntax">work</span><span class="plain-syntax">-></span><span class="element-syntax">genre</span><span class="plain-syntax">, </span><span class="constant-syntax">GENRE_DOCUMENT_MTID</span><span class="plain-syntax">, </span><span class="identifier-syntax">C</span><span class="plain-syntax">, </span><span class="identifier-syntax">dest</span><span class="plain-syntax">);</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Copies::document</span><span class="plain-syntax">(</span><span class="reserved-syntax">inbuild_copy</span><span class="plain-syntax"> *</span><span class="identifier-syntax">C</span><span class="plain-syntax">, </span><span class="identifier-syntax">pathname</span><span class="plain-syntax"> *</span><span class="identifier-syntax">dest</span><span class="plain-syntax">, </span><span class="identifier-syntax">filename</span><span class="plain-syntax"> *</span><span class="identifier-syntax">sitemap</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">VOID_METHOD_CALL</span><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">-></span><span class="element-syntax">edition</span><span class="plain-syntax">-></span><span class="element-syntax">work</span><span class="plain-syntax">-></span><span class="element-syntax">genre</span><span class="plain-syntax">, </span><span class="constant-syntax">GENRE_DOCUMENT_MTID</span><span class="plain-syntax">, </span><span class="identifier-syntax">C</span><span class="plain-syntax">, </span><span class="identifier-syntax">dest</span><span class="plain-syntax">, </span><span class="identifier-syntax">sitemap</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP17" class="paragraph-anchor"></a><b>§17. </b>And <span class="extract"><span class="extract-syntax">-modernise</span></span>:
|
||||
|
|
|
@ -270,7 +270,7 @@ the Inbuild command-line options <span class="extract"><span class="extract-synt
|
|||
</pre>
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="identifier-syntax">VOID_METHOD_TYPE</span><span class="plain-syntax">(</span><span class="constant-syntax">GENRE_DOCUMENT_MTID</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">inbuild_genre</span><span class="plain-syntax"> *</span><span class="identifier-syntax">gen</span><span class="plain-syntax">, </span><span class="reserved-syntax">inbuild_copy</span><span class="plain-syntax"> *</span><span class="identifier-syntax">C</span><span class="plain-syntax">, </span><span class="identifier-syntax">pathname</span><span class="plain-syntax"> *</span><span class="identifier-syntax">dest</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">inbuild_genre</span><span class="plain-syntax"> *</span><span class="identifier-syntax">gen</span><span class="plain-syntax">, </span><span class="reserved-syntax">inbuild_copy</span><span class="plain-syntax"> *</span><span class="identifier-syntax">C</span><span class="plain-syntax">, </span><span class="identifier-syntax">pathname</span><span class="plain-syntax"> *</span><span class="identifier-syntax">dest</span><span class="plain-syntax">, </span><span class="identifier-syntax">filename</span><span class="plain-syntax"> *</span><span class="identifier-syntax">sitemap</span><span class="plain-syntax">)</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP14" class="paragraph-anchor"></a><b>§14. </b>This performs some sort of automatic-update to the latest format:
|
||||
</p>
|
||||
|
|
|
@ -568,8 +568,9 @@ directory, we need to <span class="extract"><span class="extract-syntax">rsync</
|
|||
<p class="commentary firstcommentary"><a id="SP10" class="paragraph-anchor"></a><b>§10. Documentation. </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">ExtensionBundleManager::document</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">ExtensionBundleManager::document</span></span>:<br/><a href="4-ebm.html#SP1">§1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inbuild_genre</span><span class="plain-syntax"> *</span><span class="identifier-syntax">gen</span><span class="plain-syntax">, </span><span class="reserved-syntax">inbuild_copy</span><span class="plain-syntax"> *</span><span class="identifier-syntax">C</span><span class="plain-syntax">, </span><span class="identifier-syntax">pathname</span><span class="plain-syntax"> *</span><span class="identifier-syntax">dest</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><a href="5-es.html#SP13" class="function-link"><span class="function-syntax">Extensions::document</span></a><span class="plain-syntax">(</span><a href="5-es.html#SP4" class="function-link"><span class="function-syntax">Extensions::from_copy</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">), </span><span class="identifier-syntax">dest</span><span class="plain-syntax">);</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">ExtensionBundleManager::document</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">ExtensionBundleManager::document</span></span>:<br/><a href="4-ebm.html#SP1">§1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inbuild_genre</span><span class="plain-syntax"> *</span><span class="identifier-syntax">gen</span><span class="plain-syntax">, </span><span class="reserved-syntax">inbuild_copy</span><span class="plain-syntax"> *</span><span class="identifier-syntax">C</span><span class="plain-syntax">, </span><span class="identifier-syntax">pathname</span><span class="plain-syntax"> *</span><span class="identifier-syntax">dest</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">sitemap</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><a href="5-es.html#SP13" class="function-link"><span class="function-syntax">Extensions::document</span></a><span class="plain-syntax">(</span><a href="5-es.html#SP4" class="function-link"><span class="function-syntax">Extensions::from_copy</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">), </span><span class="identifier-syntax">dest</span><span class="plain-syntax">, </span><span class="identifier-syntax">sitemap</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP11" class="paragraph-anchor"></a><b>§11. Modernisation. </b></p>
|
||||
|
|
|
@ -328,8 +328,9 @@ the current VM settings.
|
|||
<p class="commentary firstcommentary"><a id="SP10" class="paragraph-anchor"></a><b>§10. Documentation. </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">ExtensionManager::document</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">ExtensionManager::document</span></span>:<br/><a href="4-em.html#SP2">§2</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inbuild_genre</span><span class="plain-syntax"> *</span><span class="identifier-syntax">gen</span><span class="plain-syntax">, </span><span class="reserved-syntax">inbuild_copy</span><span class="plain-syntax"> *</span><span class="identifier-syntax">C</span><span class="plain-syntax">, </span><span class="identifier-syntax">pathname</span><span class="plain-syntax"> *</span><span class="identifier-syntax">dest</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><a href="5-es.html#SP13" class="function-link"><span class="function-syntax">Extensions::document</span></a><span class="plain-syntax">(</span><a href="5-es.html#SP4" class="function-link"><span class="function-syntax">Extensions::from_copy</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">), </span><span class="identifier-syntax">dest</span><span class="plain-syntax">);</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">ExtensionManager::document</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">ExtensionManager::document</span></span>:<br/><a href="4-em.html#SP2">§2</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inbuild_genre</span><span class="plain-syntax"> *</span><span class="identifier-syntax">gen</span><span class="plain-syntax">, </span><span class="reserved-syntax">inbuild_copy</span><span class="plain-syntax"> *</span><span class="identifier-syntax">C</span><span class="plain-syntax">, </span><span class="identifier-syntax">pathname</span><span class="plain-syntax"> *</span><span class="identifier-syntax">dest</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">sitemap</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><a href="5-es.html#SP13" class="function-link"><span class="function-syntax">Extensions::document</span></a><span class="plain-syntax">(</span><a href="5-es.html#SP4" class="function-link"><span class="function-syntax">Extensions::from_copy</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">), </span><span class="identifier-syntax">dest</span><span class="plain-syntax">, </span><span class="identifier-syntax">sitemap</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP11" class="paragraph-anchor"></a><b>§11. Modernisation. </b></p>
|
||||
|
|
|
@ -955,7 +955,7 @@ This is that time.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">E</span><span class="plain-syntax">-></span><span class="element-syntax">read_into_file</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">doc</span><span class="plain-syntax"> = </span><span class="identifier-syntax">TextFromFiles::torn_off_documentation</span><span class="plain-syntax">(</span><span class="identifier-syntax">E</span><span class="plain-syntax">-></span><span class="element-syntax">read_into_file</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">doc</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">E</span><span class="plain-syntax">-></span><span class="element-syntax">documentation</span><span class="plain-syntax"> = </span><a href="7-dc.html#SP2" class="function-link"><span class="function-syntax">DocumentationCompiler::compile_from_text</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">doc</span><span class="plain-syntax">, </span><span class="identifier-syntax">E</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">E</span><span class="plain-syntax">-></span><span class="element-syntax">documentation</span><span class="plain-syntax"> = </span><a href="7-dc.html#SP2" class="function-link"><span class="function-syntax">DocumentationCompiler::compile_from_text</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">doc</span><span class="plain-syntax">, </span><span class="identifier-syntax">E</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="identifier-syntax">E</span><span class="plain-syntax">-></span><span class="element-syntax">documentation</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">E</span><span class="plain-syntax">-></span><span class="element-syntax">read_into_file</span><span class="plain-syntax">-></span><span class="identifier-syntax">your_ref</span><span class="plain-syntax"> = </span><span class="identifier-syntax">STORE_POINTER_inbuild_copy</span><span class="plain-syntax">(</span><span class="identifier-syntax">E</span><span class="plain-syntax">-></span><span class="element-syntax">as_copy</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-es.html#SP10_2" class="named-paragraph-link"><span class="named-paragraph">Break the text into sentences</span><span class="named-paragraph-number">10.2</span></a></span><span class="plain-syntax">;</span>
|
||||
|
@ -1025,7 +1025,8 @@ then its sentences will go to the extension's own tree.
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">compiled_documentation</span><span class="plain-syntax"> *</span><span class="function-syntax">Extensions::get_documentation</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">Extensions::get_documentation</span></span>:<br/><a href="5-es.html#SP13">§13</a><br/>The Mini-Website - <a href="7-tm.html#SP7">§7</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inform_extension</span><span class="plain-syntax"> *</span><span class="identifier-syntax">E</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">compiled_documentation</span><span class="plain-syntax"> *</span><span class="function-syntax">Extensions::get_documentation</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">Extensions::get_documentation</span></span>:<br/><a href="5-es.html#SP13">§13</a><br/>The Mini-Website - <a href="7-tm.html#SP7">§7</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inform_extension</span><span class="plain-syntax"> *</span><span class="identifier-syntax">E</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">filename</span><span class="plain-syntax"> *</span><span class="identifier-syntax">sitemap</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">E</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><a href="2-cps.html#SP7" class="function-link"><span class="function-syntax">Copies::get_source_text</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">E</span><span class="plain-syntax">-></span><span class="element-syntax">as_copy</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"getting documentation"</span><span class="plain-syntax">); </span><span class="comment-syntax"> in the unlikely event this has not happened yet</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">E</span><span class="plain-syntax">-></span><span class="element-syntax">documentation_sought</span><span class="plain-syntax"> == </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">) {</span>
|
||||
|
@ -1049,7 +1050,7 @@ then its sentences will go to the extension's own tree.
|
|||
<span class="plain-syntax"> </span><a href="2-cps.html#SP5" class="function-link"><span class="function-syntax">Copies::attach_error</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">E</span><span class="plain-syntax">-></span><span class="element-syntax">as_copy</span><span class="plain-syntax">, </span><a href="2-ce.html#SP2" class="function-link"><span class="function-syntax">CopyErrors::new_T</span></a><span class="plain-syntax">(</span><span class="constant-syntax">EXT_MISWORDED_CE</span><span class="plain-syntax">, -1, </span><span class="identifier-syntax">error_text</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">error_text</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">E</span><span class="plain-syntax">-></span><span class="element-syntax">documentation</span><span class="plain-syntax"> = </span><a href="7-dc.html#SP3" class="function-link"><span class="function-syntax">DocumentationCompiler::compile_from_path</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">D</span><span class="plain-syntax">, </span><span class="identifier-syntax">E</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">E</span><span class="plain-syntax">-></span><span class="element-syntax">documentation</span><span class="plain-syntax"> = </span><a href="7-dc.html#SP3" class="function-link"><span class="function-syntax">DocumentationCompiler::compile_from_path</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">D</span><span class="plain-syntax">, </span><span class="identifier-syntax">E</span><span class="plain-syntax">, </span><span class="identifier-syntax">sitemap</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="5-es.html#SP12">§12</a>.</li></ul>
|
||||
|
@ -1057,9 +1058,9 @@ then its sentences will go to the extension's own tree.
|
|||
</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">Extensions::document</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">Extensions::document</span></span>:<br/>Extension Manager - <a href="4-em.html#SP10">§10</a><br/>Extension Bundle Manager - <a href="4-ebm.html#SP10">§10</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inform_extension</span><span class="plain-syntax"> *</span><span class="identifier-syntax">E</span><span class="plain-syntax">, </span><span class="identifier-syntax">pathname</span><span class="plain-syntax"> *</span><span class="identifier-syntax">dest</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Extensions::document</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">Extensions::document</span></span>:<br/>Extension Manager - <a href="4-em.html#SP10">§10</a><br/>Extension Bundle Manager - <a href="4-ebm.html#SP10">§10</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inform_extension</span><span class="plain-syntax"> *</span><span class="identifier-syntax">E</span><span class="plain-syntax">, </span><span class="identifier-syntax">pathname</span><span class="plain-syntax"> *</span><span class="identifier-syntax">dest</span><span class="plain-syntax">, </span><span class="identifier-syntax">filename</span><span class="plain-syntax"> *</span><span class="identifier-syntax">sitemap</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">SVEXPLAIN</span><span class="plain-syntax">(1, </span><span class="string-syntax">"(documenting %X to %p)\n"</span><span class="plain-syntax">, </span><span class="identifier-syntax">E</span><span class="plain-syntax">-></span><span class="element-syntax">as_copy</span><span class="plain-syntax">-></span><span class="element-syntax">edition</span><span class="plain-syntax">-></span><span class="element-syntax">work</span><span class="plain-syntax">, </span><span class="identifier-syntax">dest</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">compiled_documentation</span><span class="plain-syntax"> *</span><span class="identifier-syntax">cd</span><span class="plain-syntax"> = </span><a href="5-es.html#SP12" class="function-link"><span class="function-syntax">Extensions::get_documentation</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">E</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">compiled_documentation</span><span class="plain-syntax"> *</span><span class="identifier-syntax">cd</span><span class="plain-syntax"> = </span><a href="5-es.html#SP12" class="function-link"><span class="function-syntax">Extensions::get_documentation</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">E</span><span class="plain-syntax">, </span><span class="identifier-syntax">sitemap</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="7-dr.html#SP2" class="function-link"><span class="function-syntax">DocumentationRenderer::as_HTML</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">dest</span><span class="plain-syntax">, </span><span class="identifier-syntax">cd</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
|
|
|
@ -69,11 +69,11 @@ ways to make one of these.
|
|||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">compiled_documentation</span><span class="plain-syntax"> *</span><span class="function-syntax">DocumentationCompiler::compile_from_file</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="reserved-syntax">inform_extension</span><span class="plain-syntax"> *</span><span class="identifier-syntax">associated_extension</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">inform_extension</span><span class="plain-syntax"> *</span><span class="identifier-syntax">associated_extension</span><span class="plain-syntax">, </span><span class="identifier-syntax">filename</span><span class="plain-syntax"> *</span><span class="identifier-syntax">sitemap</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">temp</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TextFiles::write_file_contents</span><span class="plain-syntax">(</span><span class="identifier-syntax">temp</span><span class="plain-syntax">, </span><span class="identifier-syntax">F</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">compiled_documentation</span><span class="plain-syntax"> *</span><span class="identifier-syntax">cd</span><span class="plain-syntax"> =</span>
|
||||
<span class="plain-syntax"> </span><a href="7-dc.html#SP2" class="function-link"><span class="function-syntax">DocumentationCompiler::compile_from_text</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">temp</span><span class="plain-syntax">, </span><span class="identifier-syntax">associated_extension</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="7-dc.html#SP2" class="function-link"><span class="function-syntax">DocumentationCompiler::compile_from_text</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">temp</span><span class="plain-syntax">, </span><span class="identifier-syntax">associated_extension</span><span class="plain-syntax">, </span><span class="identifier-syntax">sitemap</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">temp</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">cd</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
@ -84,9 +84,9 @@ torn-off documentation is found:
|
|||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">compiled_documentation</span><span class="plain-syntax"> *</span><span class="function-syntax">DocumentationCompiler::compile_from_text</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">DocumentationCompiler::compile_from_text</span></span>:<br/><a href="7-dc.html#SP1">§1</a><br/>Extension Services - <a href="5-es.html#SP10">§10</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">scrap</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">inform_extension</span><span class="plain-syntax"> *</span><span class="identifier-syntax">associated_extension</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">inform_extension</span><span class="plain-syntax"> *</span><span class="identifier-syntax">associated_extension</span><span class="plain-syntax">, </span><span class="identifier-syntax">filename</span><span class="plain-syntax"> *</span><span class="identifier-syntax">sitemap</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">SVEXPLAIN</span><span class="plain-syntax">(1, </span><span class="string-syntax">"(compiling documentation: %d chars)\n"</span><span class="plain-syntax">, </span><span class="identifier-syntax">Str::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">scrap</span><span class="plain-syntax">));</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">compiled_documentation</span><span class="plain-syntax"> *</span><span class="identifier-syntax">cd</span><span class="plain-syntax"> = </span><a href="7-dc.html#SP10" class="function-link"><span class="function-syntax">DocumentationCompiler::new_cd</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="identifier-syntax">associated_extension</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">compiled_documentation</span><span class="plain-syntax"> *</span><span class="identifier-syntax">cd</span><span class="plain-syntax"> = </span><a href="7-dc.html#SP10" class="function-link"><span class="function-syntax">DocumentationCompiler::new_cd</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="identifier-syntax">associated_extension</span><span class="plain-syntax">, </span><span class="identifier-syntax">sitemap</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">cd_volume</span><span class="plain-syntax"> *</span><span class="identifier-syntax">vol</span><span class="plain-syntax"> = </span><span class="identifier-syntax">FIRST_IN_LINKED_LIST</span><span class="plain-syntax">(</span><span class="reserved-syntax">cd_volume</span><span class="plain-syntax">, </span><span class="identifier-syntax">cd</span><span class="plain-syntax">-></span><span class="element-syntax">volumes</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">cd_pageset</span><span class="plain-syntax"> *</span><span class="identifier-syntax">page</span><span class="plain-syntax"> = </span><span class="identifier-syntax">FIRST_IN_LINKED_LIST</span><span class="plain-syntax">(</span><span class="reserved-syntax">cd_pageset</span><span class="plain-syntax">, </span><span class="identifier-syntax">vol</span><span class="plain-syntax">-></span><span class="element-syntax">pagesets</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">page</span><span class="plain-syntax">-></span><span class="element-syntax">nonfile_content</span><span class="plain-syntax"> = </span><span class="identifier-syntax">scrap</span><span class="plain-syntax">;</span>
|
||||
|
@ -101,8 +101,8 @@ the documentation for a directory-format extension.
|
|||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">compiled_documentation</span><span class="plain-syntax"> *</span><span class="function-syntax">DocumentationCompiler::compile_from_path</span><button class="popup" onclick="togglePopup('usagePopup2')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup2">Usage of <span class="code-font"><span class="function-syntax">DocumentationCompiler::compile_from_path</span></span>:<br/>Extension Services - <a href="5-es.html#SP12_1">§12.1</a><br/>The Mini-Website - <a href="7-tm.html#SP7_1_2">§7.1.2</a></span></button><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="plain-syntax"> </span><span class="reserved-syntax">inform_extension</span><span class="plain-syntax"> *</span><span class="identifier-syntax">associated_extension</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">compiled_documentation</span><span class="plain-syntax"> *</span><span class="identifier-syntax">cd</span><span class="plain-syntax"> = </span><a href="7-dc.html#SP10" class="function-link"><span class="function-syntax">DocumentationCompiler::new_cd</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="identifier-syntax">associated_extension</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">inform_extension</span><span class="plain-syntax"> *</span><span class="identifier-syntax">associated_extension</span><span class="plain-syntax">, </span><span class="identifier-syntax">filename</span><span class="plain-syntax"> *</span><span class="identifier-syntax">sitemap</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">compiled_documentation</span><span class="plain-syntax"> *</span><span class="identifier-syntax">cd</span><span class="plain-syntax"> = </span><a href="7-dc.html#SP10" class="function-link"><span class="function-syntax">DocumentationCompiler::new_cd</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="identifier-syntax">associated_extension</span><span class="plain-syntax">, </span><span class="identifier-syntax">sitemap</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="7-dc.html#SP19" class="function-link"><span class="function-syntax">DocumentationCompiler::compile_inner</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">cd</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">cd</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
@ -324,15 +324,16 @@ index page and otherwise not producting documentation at all:
|
|||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">compiled_documentation</span><span class="plain-syntax"> *</span><span class="function-syntax">DocumentationCompiler::new_cd</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">DocumentationCompiler::new_cd</span></span>:<br/><a href="7-dc.html#SP2">§2</a>, <a href="7-dc.html#SP3">§3</a></span></button><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="plain-syntax"> </span><span class="reserved-syntax">inform_extension</span><span class="plain-syntax"> *</span><span class="identifier-syntax">associated_extension</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">inform_extension</span><span class="plain-syntax"> *</span><span class="identifier-syntax">associated_extension</span><span class="plain-syntax">, </span><span class="identifier-syntax">filename</span><span class="plain-syntax"> *</span><span class="identifier-syntax">sitemap</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">compiled_documentation</span><span class="plain-syntax"> *</span><span class="identifier-syntax">cd</span><span class="plain-syntax"> = </span><span class="identifier-syntax">CREATE</span><span class="plain-syntax">(</span><span class="reserved-syntax">compiled_documentation</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="7-dc.html#SP10_1" class="named-paragraph-link"><span class="named-paragraph">Initialise the cd structure</span><span class="named-paragraph-number">10.1</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">P</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">cd_source_file</span><span class="plain-syntax"> *</span><span class="identifier-syntax">Documentation_md_cdsf</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="7-dc.html#SP10_2" class="named-paragraph-link"><span class="named-paragraph">Find the possible Markdown source files</span><span class="named-paragraph-number">10.2</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="7-dc.html#SP10_3" class="named-paragraph-link"><span class="named-paragraph">Read the layout file, if there is one</span><span class="named-paragraph-number">10.3</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="7-dc.html#SP10_3" class="named-paragraph-link"><span class="named-paragraph">Read the contents and sitemap files, if they exist</span><span class="named-paragraph-number">10.3</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><a href="7-gi.html#SP1" class="function-link"><span class="function-syntax">Indexes::add_indexing_notation</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">cd</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"standard"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="7-gi.html#SP1" class="function-link"><span class="function-syntax">Indexes::add_indexing_notation</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">cd</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"@"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"name"</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"(invert)"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">LinkedLists::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">cd</span><span class="plain-syntax">-></span><span class="element-syntax">volumes</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">cd_volume</span><span class="plain-syntax"> *</span><span class="identifier-syntax">implied</span><span class="plain-syntax"> = </span><a href="7-dc.html#SP6" class="function-link"><span class="function-syntax">DocumentationCompiler::add_volume</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">cd</span><span class="plain-syntax">, </span><span class="identifier-syntax">cd</span><span class="plain-syntax">-></span><span class="element-syntax">title</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"index.html"</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">I</span><span class="string-syntax">"Documentation.md"</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax">, </span><span class="identifier-syntax">implied</span><span class="plain-syntax">-></span><span class="element-syntax">source_files</span><span class="plain-syntax">);</span>
|
||||
|
@ -413,18 +414,18 @@ index page and otherwise not producting documentation at all:
|
|||
<span class="plain-syntax"> }</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="7-dc.html#SP10">§10</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP10_3" class="paragraph-anchor"></a><b>§10.3. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Read the layout file, if there is one</span><span class="named-paragraph-number">10.3</span></span><span class="comment-syntax"> =</span>
|
||||
<p class="commentary firstcommentary"><a id="SP10_3" class="paragraph-anchor"></a><b>§10.3. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Read the contents and sitemap files, if they exist</span><span class="named-paragraph-number">10.3</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">filename</span><span class="plain-syntax"> *</span><span class="identifier-syntax">layout_file</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Filenames::in</span><span class="plain-syntax">(</span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"contents.txt"</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">sitemap_file</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Filenames::in</span><span class="plain-syntax">(</span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"sitemap.txt"</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">sitemap</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) </span><span class="identifier-syntax">sitemap</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Filenames::in</span><span class="plain-syntax">(</span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"sitemap.txt"</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">layout_file</span><span class="plain-syntax">))</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TextFiles::read</span><span class="plain-syntax">(</span><span class="identifier-syntax">layout_file</span><span class="plain-syntax">, </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">, </span><span class="string-syntax">"can't open layout file"</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">, </span><a href="7-dc.html#SP11" class="function-link"><span class="function-syntax">DocumentationCompiler::read_contents_helper</span></a><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="identifier-syntax">cd</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">Documentation_md_cdsf</span><span class="plain-syntax">) </span><span class="identifier-syntax">Documentation_md_cdsf</span><span class="plain-syntax">-></span><span class="element-syntax">used</span><span class="plain-syntax"> = </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">TextFiles::exists</span><span class="plain-syntax">(</span><span class="identifier-syntax">sitemap_file</span><span class="plain-syntax">))</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TextFiles::read</span><span class="plain-syntax">(</span><span class="identifier-syntax">sitemap_file</span><span class="plain-syntax">, </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">, </span><span class="string-syntax">"can't open sitemap file"</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">sitemap</span><span class="plain-syntax">))</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TextFiles::read</span><span class="plain-syntax">(</span><span class="identifier-syntax">sitemap</span><span class="plain-syntax">, </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">, </span><span class="string-syntax">"can't open sitemap file"</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">, </span><a href="7-dc.html#SP12" class="function-link"><span class="function-syntax">DocumentationCompiler::read_sitemap_helper</span></a><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="identifier-syntax">cd</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="7-dc.html#SP10">§10</a>.</li></ul>
|
||||
|
@ -671,7 +672,9 @@ index page and otherwise not producting documentation at all:
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">expanded_dest</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">Str::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">dest</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">Str::get_at</span><span class="plain-syntax">(</span><span class="identifier-syntax">dest</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="identifier-syntax">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">expanded_dest</span><span class="plain-syntax">, </span><span class="string-syntax">"%S"</span><span class="plain-syntax">, </span><span class="identifier-syntax">sf</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">j</span><span class="plain-syntax">=0; </span><span class="identifier-syntax">j</span><span class="plain-syntax"><</span><span class="identifier-syntax">Str::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">sf</span><span class="plain-syntax">)-3; </span><span class="identifier-syntax">j</span><span class="plain-syntax">++)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">PUT_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">expanded_dest</span><span class="plain-syntax">, </span><span class="identifier-syntax">Str::get_at</span><span class="plain-syntax">(</span><span class="identifier-syntax">sf</span><span class="plain-syntax">, </span><span class="identifier-syntax">j</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">PUT_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">expanded_dest</span><span class="plain-syntax">, </span><span class="identifier-syntax">Str::get_at</span><span class="plain-syntax">(</span><span class="identifier-syntax">dest</span><span class="plain-syntax">, </span><span class="identifier-syntax">i</span><span class="plain-syntax">));</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
|
|
|
@ -147,6 +147,9 @@ and turn out to have a lot of fiddly options added.
|
|||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Indexes::add_category</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">Indexes::add_category</span></span>:<br/><a href="7-gi.html#SP1">§1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">compiled_documentation</span><span class="plain-syntax"> *</span><span class="identifier-syntax">cd</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">name</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">options</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">redirect</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">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>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">options</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Str::duplicate</span><span class="plain-syntax">(</span><span class="identifier-syntax">options</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">redirect</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Str::duplicate</span><span class="plain-syntax">(</span><span class="identifier-syntax">redirect</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">redirect</span><span class="plain-syntax">) > </span><span class="constant-syntax">0</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="7-gi.html#SP3_1" class="named-paragraph-link"><span class="named-paragraph">This is a redirection</span><span class="named-paragraph-number">3.1</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Dictionaries::find</span><span class="plain-syntax">(</span><span class="identifier-syntax">cd</span><span class="plain-syntax">-></span><span class="element-syntax">id</span><span class="plain-syntax">.</span><span class="element-syntax">categories_by_name</span><span class="plain-syntax">, </span><span class="identifier-syntax">name</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">indexing_category</span><span class="plain-syntax"> *</span><span class="identifier-syntax">ic</span><span class="plain-syntax"> = </span><span class="identifier-syntax">CREATE</span><span class="plain-syntax">(</span><span class="reserved-syntax">indexing_category</span><span class="plain-syntax">);</span>
|
||||
|
|
|
@ -218,7 +218,7 @@ examples provided in the extension.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">F</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) </span><span class="reserved-syntax">return</span><span class="plain-syntax">;</span>
|
||||
<span class="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">Filenames::up</span><span class="plain-syntax">(</span><span class="identifier-syntax">F</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">Pathnames::create_in_file_system</span><span class="plain-syntax">(</span><span class="identifier-syntax">P</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="reserved-syntax">compiled_documentation</span><span class="plain-syntax"> *</span><span class="identifier-syntax">doc</span><span class="plain-syntax"> = </span><a href="5-es.html#SP12" class="function-link"><span class="function-syntax">Extensions::get_documentation</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">E</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">compiled_documentation</span><span class="plain-syntax"> *</span><span class="identifier-syntax">doc</span><span class="plain-syntax"> = </span><a href="5-es.html#SP12" class="function-link"><span class="function-syntax">Extensions::get_documentation</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">E</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="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="identifier-syntax">ifdef</span><span class="plain-syntax"> </span><span class="identifier-syntax">CORE_MODULE</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">details</span><span class="plain-syntax">)</span>
|
||||
|
@ -298,7 +298,7 @@ examples provided in the extension.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Pathnames::create_in_file_system</span><span class="plain-syntax">(</span><span class="identifier-syntax">KP</span><span class="plain-syntax">)) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">pathname</span><span class="plain-syntax"> *</span><span class="identifier-syntax">KD</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Pathnames::down</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">I</span><span class="string-syntax">"Documentation"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">compiled_documentation</span><span class="plain-syntax"> *</span><span class="identifier-syntax">doc</span><span class="plain-syntax"> =</span>
|
||||
<span class="plain-syntax"> </span><a href="7-dc.html#SP3" class="function-link"><span class="function-syntax">DocumentationCompiler::compile_from_path</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">KD</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="7-dc.html#SP3" class="function-link"><span class="function-syntax">DocumentationCompiler::compile_from_path</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">KD</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</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">doc</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">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">OUT</span><span class="plain-syntax"> = </span><a href="7-dr.html#SP1" class="function-link"><span class="function-syntax">DocumentationRenderer::open_subpage</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">KP</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"index.html"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="7-dr.html#SP5" class="function-link"><span class="function-syntax">DocumentationRenderer::render_header</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</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">edition</span><span class="plain-syntax">-></span><span class="element-syntax">work</span><span class="plain-syntax">-></span><span class="element-syntax">title</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="identifier-syntax">E</span><span class="plain-syntax">);</span>
|
||||
|
|
|
@ -22,6 +22,8 @@ pathname *preprocess_HTML_destination = NULL;
|
|||
text_stream *preprocess_HTML_app = NULL;
|
||||
inbuild_copy *to_install = NULL, *to_uninstall = NULL;
|
||||
filename *documentation_source = NULL;
|
||||
pathname *documentation_set = NULL;
|
||||
filename *documentation_sitemap = NULL;
|
||||
pathname *documentation_dest = NULL;
|
||||
|
||||
typedef struct markdown_settings_struct {
|
||||
|
@ -54,6 +56,7 @@ int main(int argc, char **argv) {
|
|||
if (to_install) @<Perform an extension installation@>
|
||||
else if (to_uninstall) @<Perform an extension uninstallation@>
|
||||
else if ((markdown_settings.from) || (markdown_settings.from_dir)) @<Make HTML@>
|
||||
else if (documentation_set) @<Document from a set@>
|
||||
else if (documentation_source) @<Document from a file@>
|
||||
else @<Act on the targets@>;
|
||||
@<Shut down the modules@>;
|
||||
|
@ -151,7 +154,14 @@ error in this case.
|
|||
if (documentation_dest == NULL)
|
||||
Errors::fatal("need to specify '-document-to' directory");
|
||||
compiled_documentation *cd = DocumentationCompiler::compile_from_file(
|
||||
documentation_source, NULL);
|
||||
documentation_source, NULL, documentation_sitemap);
|
||||
if (cd) DocumentationRenderer::as_HTML(documentation_dest, cd, NULL);
|
||||
|
||||
@<Document from a set@> =
|
||||
if (documentation_dest == NULL)
|
||||
Errors::fatal("need to specify '-document-to' directory");
|
||||
compiled_documentation *cd = DocumentationCompiler::compile_from_path(
|
||||
documentation_set, NULL, documentation_sitemap);
|
||||
if (cd) DocumentationRenderer::as_HTML(documentation_dest, cd, NULL);
|
||||
|
||||
@ We make the function call |Supervisor::go_operational| to signal to |inbuild|
|
||||
|
@ -239,7 +249,7 @@ utility functions in the //supervisor// module, which we call.
|
|||
case DOCUMENT_TTASK:
|
||||
if (documentation_dest == NULL)
|
||||
Errors::fatal("need to specify '-document-to' directory");
|
||||
Copies::document(C, documentation_dest); break;
|
||||
Copies::document(C, documentation_dest, documentation_sitemap); break;
|
||||
case MODERNISE_TTASK: Copies::modernise(OUT, C); break;
|
||||
}
|
||||
|
||||
|
@ -432,10 +442,15 @@ other options to the selection defined here.
|
|||
@e VERBOSE_CLSW
|
||||
@e VERBOSITY_CLSW
|
||||
@e JSON_CLSW
|
||||
@e MODERNISE_CLSW
|
||||
|
||||
@e DOCUMENTATION_SUITE_CLSG
|
||||
|
||||
@e DOCUMENT_CLSW
|
||||
@e DOCUMENT_FROM_CLSW
|
||||
@e DOCUMENT_SET_CLSW
|
||||
@e DOCUMENT_SITEMAP_CLSW
|
||||
@e DOCUMENT_TO_CLSW
|
||||
@e MODERNISE_CLSW
|
||||
|
||||
@e MARKDOWN_SUITE_CLSG
|
||||
|
||||
|
@ -518,14 +533,22 @@ other options to the selection defined here.
|
|||
U"how much explanation to print: lowest is 0 (default), highest is 3");
|
||||
CommandLine::declare_switch(JSON_CLSW, U"json", 2,
|
||||
U"write output of -inspect to a JSON file in X (or '-' for stdout)");
|
||||
CommandLine::declare_switch(MODERNISE_CLSW, U"modernise", 1,
|
||||
U"update copies to the newest available format");
|
||||
|
||||
CommandLine::begin_group(DOCUMENTATION_SUITE_CLSG,
|
||||
I"for generating extension or kit documentation");
|
||||
CommandLine::declare_switch(DOCUMENT_CLSW, U"document", 1,
|
||||
U"(re-)generate documentation on this within current project");
|
||||
CommandLine::declare_switch(DOCUMENT_FROM_CLSW, U"document-from", 2,
|
||||
U"generate documentation from documentation source file X");
|
||||
U"generate documentation from documentation in a single Markdown file X");
|
||||
CommandLine::declare_switch(DOCUMENT_SET_CLSW, U"document-set", 2,
|
||||
U"generate documentation from a full documentation set in the path X");
|
||||
CommandLine::declare_switch(DOCUMENT_SITEMAP_CLSW, U"document-sitemap", 2,
|
||||
U"use file X as the 'sitemap.txt' when generating documentation sets");
|
||||
CommandLine::declare_switch(DOCUMENT_TO_CLSW, U"document-to", 2,
|
||||
U"divert generated documentation to directory X");
|
||||
CommandLine::declare_switch(MODERNISE_CLSW, U"modernise", 1,
|
||||
U"update copies to the newest available format");
|
||||
CommandLine::end_group();
|
||||
|
||||
CommandLine::begin_group(MARKDOWN_SUITE_CLSG, I"for generating HTML from Markdown");
|
||||
CommandLine::declare_switch(MARKDOWN_FROM_CLSW, U"markdown-from", 2,
|
||||
|
@ -622,6 +645,8 @@ void Main::option(int id, int val, text_stream *arg, void *state) {
|
|||
JSON_file_to_output = Filenames::from_text(arg);
|
||||
break;
|
||||
case DOCUMENT_FROM_CLSW: documentation_source = Filenames::from_text(arg); break;
|
||||
case DOCUMENT_SET_CLSW: documentation_set = Pathnames::from_text(arg); break;
|
||||
case DOCUMENT_SITEMAP_CLSW: documentation_sitemap = Filenames::from_text(arg); break;
|
||||
case DOCUMENT_TO_CLSW: documentation_dest = Pathnames::from_text(arg); break;
|
||||
|
||||
case MARKDOWN_FROM_CLSW: markdown_settings.from = Filenames::from_text(arg); break;
|
||||
|
|
|
@ -13,9 +13,6 @@ usage: inbuild [-TASK] TARGET1 TARGET2 ...
|
|||
-no-confirmed don't confirm installation in the Inform GUI apps (default is -confirmed)
|
||||
-contents-of X apply to all targets in the directory X
|
||||
-copy-to X copy target(s) to nest X
|
||||
-document (re-)generate documentation on this within current project
|
||||
-document-from X generate documentation from documentation source file X
|
||||
-document-to X divert generated documentation to directory X
|
||||
-dry make this a dry run (print but do not execute shell commands) (default is -no-dry)
|
||||
-graph show dependency graph of target(s) but take no action
|
||||
-inspect show target(s) but take no action
|
||||
|
@ -66,6 +63,13 @@ for tweaking code generation from Inter:
|
|||
-pipeline-file X specify code-generation pipeline as file X
|
||||
-variable X set pipeline variable X (in form name=value)
|
||||
|
||||
for generating extension or kit documentation:
|
||||
-document (re-)generate documentation on this within current project
|
||||
-document-from X generate documentation from documentation in a single Markdown file X
|
||||
-document-set X generate documentation from a full documentation set in the path X
|
||||
-document-sitemap X use file X as the 'sitemap.txt' when generating documentation sets
|
||||
-document-to X divert generated documentation to directory X
|
||||
|
||||
for generating HTML from Markdown:
|
||||
-markdown-from X generate HTML file from Markdown source file X
|
||||
-markdown-from-dir X generate HTML files from all Markdown sources in X
|
||||
|
|
|
@ -342,8 +342,8 @@ void Copies::overwrite_error(inbuild_copy *C, inbuild_nest *N) {
|
|||
@ And |-document|:
|
||||
|
||||
=
|
||||
void Copies::document(inbuild_copy *C, pathname *dest) {
|
||||
VOID_METHOD_CALL(C->edition->work->genre, GENRE_DOCUMENT_MTID, C, dest);
|
||||
void Copies::document(inbuild_copy *C, pathname *dest, filename *sitemap) {
|
||||
VOID_METHOD_CALL(C->edition->work->genre, GENRE_DOCUMENT_MTID, C, dest, sitemap);
|
||||
}
|
||||
|
||||
@ And |-modernise|:
|
||||
|
|
|
@ -194,7 +194,7 @@ VOID_METHOD_TYPE(GENRE_COPY_TO_NEST_MTID,
|
|||
|
||||
=
|
||||
VOID_METHOD_TYPE(GENRE_DOCUMENT_MTID,
|
||||
inbuild_genre *gen, inbuild_copy *C, pathname *dest)
|
||||
inbuild_genre *gen, inbuild_copy *C, pathname *dest, filename *sitemap)
|
||||
|
||||
@ This performs some sort of automatic-update to the latest format:
|
||||
|
||||
|
|
|
@ -487,8 +487,9 @@ void ExtensionBundleManager::read_source_text_for(inbuild_genre *G, inbuild_copy
|
|||
@h Documentation.
|
||||
|
||||
=
|
||||
void ExtensionBundleManager::document(inbuild_genre *gen, inbuild_copy *C, pathname *dest) {
|
||||
Extensions::document(Extensions::from_copy(C), dest);
|
||||
void ExtensionBundleManager::document(inbuild_genre *gen, inbuild_copy *C, pathname *dest,
|
||||
filename *sitemap) {
|
||||
Extensions::document(Extensions::from_copy(C), dest, sitemap);
|
||||
}
|
||||
|
||||
@h Modernisation.
|
||||
|
|
|
@ -261,8 +261,9 @@ void ExtensionManager::read_source_text_for(inbuild_genre *G, inbuild_copy *C) {
|
|||
@h Documentation.
|
||||
|
||||
=
|
||||
void ExtensionManager::document(inbuild_genre *gen, inbuild_copy *C, pathname *dest) {
|
||||
Extensions::document(Extensions::from_copy(C), dest);
|
||||
void ExtensionManager::document(inbuild_genre *gen, inbuild_copy *C, pathname *dest,
|
||||
filename *sitemap) {
|
||||
Extensions::document(Extensions::from_copy(C), dest, sitemap);
|
||||
}
|
||||
|
||||
@h Modernisation.
|
||||
|
|
|
@ -779,7 +779,7 @@ void Extensions::read_source_text_for(inform_extension *E) {
|
|||
if (E->read_into_file) {
|
||||
text_stream *doc = TextFromFiles::torn_off_documentation(E->read_into_file);
|
||||
if (Str::len(doc) > 0)
|
||||
E->documentation = DocumentationCompiler::compile_from_text(doc, E);
|
||||
E->documentation = DocumentationCompiler::compile_from_text(doc, E, NULL);
|
||||
else E->documentation = NULL;
|
||||
E->read_into_file->your_ref = STORE_POINTER_inbuild_copy(E->as_copy);
|
||||
@<Break the text into sentences@>;
|
||||
|
@ -835,7 +835,8 @@ source_location Extensions::top_line_location(inform_extension *E) {
|
|||
@ In directory extensions, documentation can be stored separately:
|
||||
|
||||
=
|
||||
compiled_documentation *Extensions::get_documentation(inform_extension *E) {
|
||||
compiled_documentation *Extensions::get_documentation(inform_extension *E,
|
||||
filename *sitemap) {
|
||||
if (E == NULL) return NULL;
|
||||
Copies::get_source_text(E->as_copy, I"getting documentation"); /* in the unlikely event this has not happened yet */
|
||||
if (E->documentation_sought == FALSE) {
|
||||
|
@ -856,15 +857,15 @@ compiled_documentation *Extensions::get_documentation(inform_extension *E) {
|
|||
Copies::attach_error(E->as_copy, CopyErrors::new_T(EXT_MISWORDED_CE, -1, error_text));
|
||||
DISCARD_TEXT(error_text)
|
||||
} else {
|
||||
E->documentation = DocumentationCompiler::compile_from_path(D, E);
|
||||
E->documentation = DocumentationCompiler::compile_from_path(D, E, sitemap);
|
||||
}
|
||||
|
||||
@ And this serves the |-document| feature of inbuild:
|
||||
|
||||
=
|
||||
void Extensions::document(inform_extension *E, pathname *dest) {
|
||||
void Extensions::document(inform_extension *E, pathname *dest, filename *sitemap) {
|
||||
SVEXPLAIN(1, "(documenting %X to %p)\n", E->as_copy->edition->work, dest);
|
||||
compiled_documentation *cd = Extensions::get_documentation(E);
|
||||
compiled_documentation *cd = Extensions::get_documentation(E, sitemap);
|
||||
DocumentationRenderer::as_HTML(dest, cd, NULL);
|
||||
}
|
||||
|
||||
|
|
|
@ -11,11 +11,11 @@ We can compile either from a single one-off file:
|
|||
|
||||
=
|
||||
compiled_documentation *DocumentationCompiler::compile_from_file(filename *F,
|
||||
inform_extension *associated_extension) {
|
||||
inform_extension *associated_extension, filename *sitemap) {
|
||||
TEMPORARY_TEXT(temp)
|
||||
TextFiles::write_file_contents(temp, F);
|
||||
compiled_documentation *cd =
|
||||
DocumentationCompiler::compile_from_text(temp, associated_extension);
|
||||
DocumentationCompiler::compile_from_text(temp, associated_extension, sitemap);
|
||||
DISCARD_TEXT(temp)
|
||||
return cd;
|
||||
}
|
||||
|
@ -25,9 +25,9 @@ torn-off documentation is found:
|
|||
|
||||
=
|
||||
compiled_documentation *DocumentationCompiler::compile_from_text(text_stream *scrap,
|
||||
inform_extension *associated_extension) {
|
||||
inform_extension *associated_extension, filename *sitemap) {
|
||||
SVEXPLAIN(1, "(compiling documentation: %d chars)\n", Str::len(scrap));
|
||||
compiled_documentation *cd = DocumentationCompiler::new_cd(NULL, associated_extension);
|
||||
compiled_documentation *cd = DocumentationCompiler::new_cd(NULL, associated_extension, sitemap);
|
||||
cd_volume *vol = FIRST_IN_LINKED_LIST(cd_volume, cd->volumes);
|
||||
cd_pageset *page = FIRST_IN_LINKED_LIST(cd_pageset, vol->pagesets);
|
||||
page->nonfile_content = scrap;
|
||||
|
@ -41,8 +41,8 @@ the documentation for a directory-format extension.
|
|||
|
||||
=
|
||||
compiled_documentation *DocumentationCompiler::compile_from_path(pathname *P,
|
||||
inform_extension *associated_extension) {
|
||||
compiled_documentation *cd = DocumentationCompiler::new_cd(P, associated_extension);
|
||||
inform_extension *associated_extension, filename *sitemap) {
|
||||
compiled_documentation *cd = DocumentationCompiler::new_cd(P, associated_extension, sitemap);
|
||||
DocumentationCompiler::compile_inner(cd);
|
||||
return cd;
|
||||
}
|
||||
|
@ -252,15 +252,16 @@ int DocumentationCompiler::scold(OUTPUT_STREAM, compiled_documentation *cd) {
|
|||
|
||||
=
|
||||
compiled_documentation *DocumentationCompiler::new_cd(pathname *P,
|
||||
inform_extension *associated_extension) {
|
||||
inform_extension *associated_extension, filename *sitemap) {
|
||||
compiled_documentation *cd = CREATE(compiled_documentation);
|
||||
@<Initialise the cd structure@>;
|
||||
if (P) {
|
||||
cd_source_file *Documentation_md_cdsf = NULL;
|
||||
@<Find the possible Markdown source files@>;
|
||||
@<Read the layout file, if there is one@>;
|
||||
@<Read the contents and sitemap files, if they exist@>;
|
||||
}
|
||||
Indexes::add_indexing_notation(cd, NULL, NULL, I"standard", NULL);
|
||||
Indexes::add_indexing_notation(cd, I"@", NULL, I"name", I"(invert)");
|
||||
if (LinkedLists::len(cd->volumes) == 0) {
|
||||
cd_volume *implied = DocumentationCompiler::add_volume(cd, cd->title, NULL, I"index.html");
|
||||
ADD_TO_LINKED_LIST(I"Documentation.md", text_stream, implied->source_files);
|
||||
|
@ -333,15 +334,15 @@ compiled_documentation *DocumentationCompiler::new_cd(pathname *P,
|
|||
}
|
||||
}
|
||||
|
||||
@<Read the layout file, if there is one@> =
|
||||
@<Read the contents and sitemap files, if they exist@> =
|
||||
filename *layout_file = Filenames::in(P, I"contents.txt");
|
||||
filename *sitemap_file = Filenames::in(P, I"sitemap.txt");
|
||||
if (sitemap == NULL) sitemap = Filenames::in(P, I"sitemap.txt");
|
||||
if (TextFiles::exists(layout_file))
|
||||
TextFiles::read(layout_file, FALSE, "can't open layout file",
|
||||
TRUE, DocumentationCompiler::read_contents_helper, NULL, cd);
|
||||
else if (Documentation_md_cdsf) Documentation_md_cdsf->used = TRUE;
|
||||
if (TextFiles::exists(sitemap_file))
|
||||
TextFiles::read(sitemap_file, FALSE, "can't open sitemap file",
|
||||
if (TextFiles::exists(sitemap))
|
||||
TextFiles::read(sitemap, FALSE, "can't open sitemap file",
|
||||
TRUE, DocumentationCompiler::read_sitemap_helper, NULL, cd);
|
||||
|
||||
@ =
|
||||
|
@ -566,7 +567,9 @@ void DocumentationCompiler::read_sitemap_helper(text_stream *cl, text_file_posit
|
|||
TEMPORARY_TEXT(expanded_dest)
|
||||
for (int i=0; i<Str::len(dest); i++)
|
||||
if (Str::get_at(dest, i) == '*') {
|
||||
WRITE_TO(expanded_dest, "%S", sf);
|
||||
for (int j=0; j<Str::len(sf)-3; j++)
|
||||
PUT_TO(expanded_dest, Str::get_at(sf, j));
|
||||
|
||||
} else {
|
||||
PUT_TO(expanded_dest, Str::get_at(dest, i));
|
||||
}
|
||||
|
|
|
@ -85,6 +85,9 @@ dictionary *categories_redirect = NULL; /* for the built-in categories only */
|
|||
|
||||
=
|
||||
void Indexes::add_category(compiled_documentation *cd, text_stream *name, text_stream *options, text_stream *redirect) {
|
||||
name = Str::duplicate(name);
|
||||
options = Str::duplicate(options);
|
||||
redirect = Str::duplicate(redirect);
|
||||
if (Str::len(redirect) > 0) @<This is a redirection@>;
|
||||
if (Dictionaries::find(cd->id.categories_by_name, name) == NULL) {
|
||||
indexing_category *ic = CREATE(indexing_category);
|
||||
|
|
|
@ -153,7 +153,7 @@ void ExtensionWebsite::document_extension(inform_extension *E, inform_project *p
|
|||
if (F == NULL) return;
|
||||
pathname *P = Filenames::up(F);
|
||||
if (Pathnames::create_in_file_system(P) == 0) return;
|
||||
compiled_documentation *doc = Extensions::get_documentation(E);
|
||||
compiled_documentation *doc = Extensions::get_documentation(E, NULL);
|
||||
TEMPORARY_TEXT(OUT)
|
||||
#ifdef CORE_MODULE
|
||||
TEMPORARY_TEXT(details)
|
||||
|
@ -222,7 +222,7 @@ void ExtensionWebsite::document_extension(inform_extension *E, inform_project *p
|
|||
if (Pathnames::create_in_file_system(KP)) {
|
||||
pathname *KD = Pathnames::down(K->as_copy->location_if_path, I"Documentation");
|
||||
compiled_documentation *doc =
|
||||
DocumentationCompiler::compile_from_path(KD, NULL);
|
||||
DocumentationCompiler::compile_from_path(KD, NULL, NULL);
|
||||
if (doc == NULL) {
|
||||
text_stream *OUT = DocumentationRenderer::open_subpage(KP, I"index.html");
|
||||
DocumentationRenderer::render_header(OUT, K->as_copy->edition->work->title, NULL, E);
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
Total memory consumption was 139592K = 136 MB
|
||||
Total memory consumption was 139597K = 136 MB
|
||||
|
||||
---- was used for 2127247 objects, in 374801 frames in 0 x 800K = 0K = 0 MB:
|
||||
---- was used for 2127253 objects, in 374807 frames in 0 x 800K = 0K = 0 MB:
|
||||
|
||||
30.2% inter_tree_node_array 60 x 8192 = 491520 objects, 43255680 bytes
|
||||
19.4% text_stream_array 4926 x 100 = 492600 objects, 27743232 bytes
|
||||
|
@ -78,24 +78,24 @@ Total memory consumption was 139592K = 136 MB
|
|||
---- property_inference_data 1317 objects, 52680 bytes
|
||||
---- response_message 408 objects, 52224 bytes
|
||||
---- ap_clause_array 2 x 400 = 800 objects, 51264 bytes
|
||||
---- span_notation 6 objects, 49440 bytes
|
||||
---- HTML_tag_array 1 x 1000 objects, 48032 bytes
|
||||
---- heading 213 objects, 47712 bytes
|
||||
---- to_family_data 528 objects, 42240 bytes
|
||||
---- text_substitution 438 objects, 42048 bytes
|
||||
---- activity_list_array 1 x 1000 objects, 40032 bytes
|
||||
---- anl_clause_array 1 x 1000 objects, 40032 bytes
|
||||
---- activity_list_array 1 x 1000 objects, 40032 bytes
|
||||
---- shared_variable_access_list_array 12 x 100 = 1200 objects, 38784 bytes
|
||||
---- parsing_data 677 objects, 37912 bytes
|
||||
---- production_list 627 objects, 35112 bytes
|
||||
---- counting_data 677 objects, 32496 bytes
|
||||
---- regions_data 677 objects, 32496 bytes
|
||||
---- counting_data 677 objects, 32496 bytes
|
||||
---- property_permission 96 objects, 31488 bytes
|
||||
---- stack_frame_box 307 objects, 29472 bytes
|
||||
---- verb_sense 407 objects, 29304 bytes
|
||||
---- action_pattern_array 7 x 100 = 700 objects, 28224 bytes
|
||||
---- filename 705 objects, 28200 bytes
|
||||
---- pathname 662 objects, 26480 bytes
|
||||
---- span_notation 3 objects, 24720 bytes
|
||||
---- shared_variable_set_array 6 x 100 = 600 objects, 24192 bytes
|
||||
---- parse_node_tree 27 objects, 23544 bytes
|
||||
---- property 148 objects, 22496 bytes
|
||||
|
@ -111,8 +111,8 @@ Total memory consumption was 139592K = 136 MB
|
|||
---- pcalc_prop_deferral 86 objects, 17888 bytes
|
||||
---- to_phrase_request 63 objects, 17136 bytes
|
||||
---- understanding_reference_array 2 x 100 = 200 objects, 16064 bytes
|
||||
---- match_avinue_array 1 x 1000 objects, 16032 bytes
|
||||
---- action_name_list_array 1 x 1000 objects, 16032 bytes
|
||||
---- match_avinue_array 1 x 1000 objects, 16032 bytes
|
||||
---- md_doc_state 3 objects, 15720 bytes
|
||||
---- adjective 140 objects, 15680 bytes
|
||||
---- JSON_value 174 objects, 15312 bytes
|
||||
|
@ -141,13 +141,13 @@ Total memory consumption was 139592K = 136 MB
|
|||
---- explicit_action_array 1 x 100 objects, 4832 bytes
|
||||
---- value_property_data 86 objects, 4816 bytes
|
||||
---- compatibility_specification 100 objects, 4800 bytes
|
||||
---- method_set 144 objects, 4608 bytes
|
||||
---- parsing_pp_data 96 objects, 4608 bytes
|
||||
---- method_set 144 objects, 4608 bytes
|
||||
---- command_line_switch 56 objects, 4480 bytes
|
||||
---- semver_range 42 objects, 4368 bytes
|
||||
---- use_option 31 objects, 4216 bytes
|
||||
---- either_or_property_data 62 objects, 3968 bytes
|
||||
---- parse_node_annotation_type 124 objects, 3968 bytes
|
||||
---- either_or_property_data 62 objects, 3968 bytes
|
||||
---- definition 48 objects, 3456 bytes
|
||||
---- submodule_request 86 objects, 3440 bytes
|
||||
---- property_setting_bp_data 86 objects, 3440 bytes
|
||||
|
@ -155,8 +155,8 @@ Total memory consumption was 139592K = 136 MB
|
|||
---- target_vm 21 objects, 3024 bytes
|
||||
---- JSON_type 39 objects, 2808 bytes
|
||||
---- JSON_single_requirement 55 objects, 2640 bytes
|
||||
---- parentage_inference_data 79 objects, 2528 bytes
|
||||
---- part_of_inference_data 79 objects, 2528 bytes
|
||||
---- parentage_inference_data 79 objects, 2528 bytes
|
||||
---- kind_constructor_instance_rule_array 1 x 100 objects, 2432 bytes
|
||||
---- kind_constructor_casting_rule_array 1 x 100 objects, 2432 bytes
|
||||
---- equation_symbol 30 objects, 2400 bytes
|
||||
|
@ -169,11 +169,11 @@ Total memory consumption was 139592K = 136 MB
|
|||
---- inform_pipeline 24 objects, 1536 bytes
|
||||
---- inbuild_requirement 37 objects, 1480 bytes
|
||||
---- noun_filter_token 22 objects, 1408 bytes
|
||||
---- inter_node_array 35 objects, 1400 bytes
|
||||
---- special_meaning_holder 35 objects, 1400 bytes
|
||||
---- inter_node_array 35 objects, 1400 bytes
|
||||
---- JSON_requirement 42 objects, 1344 bytes
|
||||
---- table_column 16 objects, 1280 bytes
|
||||
---- constant_phrase 20 objects, 1280 bytes
|
||||
---- table_column 16 objects, 1280 bytes
|
||||
---- invocation_options_array 1 x 100 objects, 1224 bytes
|
||||
---- direction_inference_data 30 objects, 1200 bytes
|
||||
---- inbuild_search_result 29 objects, 1160 bytes
|
||||
|
@ -197,34 +197,34 @@ Total memory consumption was 139592K = 136 MB
|
|||
---- implication 13 objects, 624 bytes
|
||||
---- chapter_md 7 objects, 616 bytes
|
||||
---- code_generation 1 object, 576 bytes
|
||||
---- inter_warehouse_room 10 objects, 560 bytes
|
||||
---- generated_segment 14 objects, 560 bytes
|
||||
---- module 7 objects, 560 bytes
|
||||
---- inter_annotation_form 14 objects, 560 bytes
|
||||
---- module 7 objects, 560 bytes
|
||||
---- generated_segment 14 objects, 560 bytes
|
||||
---- inter_warehouse_room 10 objects, 560 bytes
|
||||
---- rulebook_outcome 17 objects, 544 bytes
|
||||
---- small_word_set 11 objects, 528 bytes
|
||||
---- indexing_category 6 objects, 528 bytes
|
||||
---- markdown_variation 3 objects, 528 bytes
|
||||
---- small_word_set 11 objects, 528 bytes
|
||||
---- IFM_example 4 objects, 512 bytes
|
||||
---- equation 4 objects, 480 bytes
|
||||
---- i6_memory_setting 15 objects, 480 bytes
|
||||
---- equation 4 objects, 480 bytes
|
||||
---- bp_family 14 objects, 448 bytes
|
||||
---- inbuild_genre 8 objects, 448 bytes
|
||||
---- inference_family 11 objects, 440 bytes
|
||||
---- source_file 5 objects, 440 bytes
|
||||
---- inference_family 11 objects, 440 bytes
|
||||
---- article_usage 8 objects, 384 bytes
|
||||
---- pronoun 8 objects, 320 bytes
|
||||
---- door_dir_notice 5 objects, 320 bytes
|
||||
---- tree_inventory 1 object, 320 bytes
|
||||
---- module_request 8 objects, 320 bytes
|
||||
---- grammatical_category 8 objects, 320 bytes
|
||||
---- pronoun 8 objects, 320 bytes
|
||||
---- cached_kind_declaration 8 objects, 320 bytes
|
||||
---- grammatical_category 8 objects, 320 bytes
|
||||
---- inter_pipeline 1 object, 312 bytes
|
||||
---- up_family 9 objects, 288 bytes
|
||||
---- contents_entry 7 objects, 280 bytes
|
||||
---- explicit_bp_data 5 objects, 280 bytes
|
||||
---- door_to_notice 5 objects, 280 bytes
|
||||
---- compilation_unit 5 objects, 280 bytes
|
||||
---- indexing_category 3 objects, 264 bytes
|
||||
---- verb_usage_tier 5 objects, 240 bytes
|
||||
---- kit_dependency 5 objects, 240 bytes
|
||||
---- inform_project 1 object, 232 bytes
|
||||
|
@ -238,8 +238,8 @@ Total memory consumption was 139592K = 136 MB
|
|||
---- build_skill 5 objects, 200 bytes
|
||||
---- attachment_instruction 5 objects, 200 bytes
|
||||
---- code_generator 5 objects, 200 bytes
|
||||
---- element_activation 6 objects, 192 bytes
|
||||
---- plural_dictionary_entry 4 objects, 192 bytes
|
||||
---- element_activation 6 objects, 192 bytes
|
||||
---- inter_architecture 4 objects, 160 bytes
|
||||
---- inference_subject_family 5 objects, 160 bytes
|
||||
---- imperative_defn_family 4 objects, 160 bytes
|
||||
|
@ -262,9 +262,9 @@ Total memory consumption was 139592K = 136 MB
|
|||
---- by_function_bp_data 1 object, 40 bytes
|
||||
---- target_pragma_setting 1 object, 40 bytes
|
||||
|
||||
100.0% was used for memory not allocated for objects:
|
||||
99.9% was used for memory not allocated for objects:
|
||||
|
||||
62.3% text stream storage 89193940 bytes in 512654 claims
|
||||
62.3% text stream storage 89198656 bytes in 512697 claims
|
||||
3.8% dictionary storage 5497920 bytes in 7767 claims
|
||||
---- sorting 2624 bytes in 531 claims
|
||||
5.0% source text 7200000 bytes in 3 claims
|
||||
|
@ -282,5 +282,5 @@ Total memory consumption was 139592K = 136 MB
|
|||
---- code generation workspace for objects 3528 bytes in 19 claims
|
||||
0.1% emitter array storage 281184 bytes in 2006 claims
|
||||
|
||||
-136.-5% was overhead - -195230424 bytes = -190654K = -186 MB
|
||||
-136.-5% was overhead - -195255408 bytes = -190679K = -186 MB
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
100.0% in inform7 run
|
||||
67.6% in compilation to Inter
|
||||
46.3% in //Sequence::undertake_queued_tasks//
|
||||
68.0% in compilation to Inter
|
||||
46.6% in //Sequence::undertake_queued_tasks//
|
||||
4.4% in //MajorNodes::pre_pass//
|
||||
3.6% in //MajorNodes::pass_1//
|
||||
1.8% in //ImperativeDefinitions::assess_all//
|
||||
|
@ -10,20 +10,20 @@
|
|||
0.7% in //ImperativeDefinitions::compile_first_block//
|
||||
0.7% in //Sequence::undertake_queued_tasks//
|
||||
0.3% in //CompletionModule::compile//
|
||||
0.3% in //InferenceSubjects::emit_all//
|
||||
0.3% in //MajorNodes::pass_2//
|
||||
0.3% in //Sequence::undertake_queued_tasks//
|
||||
0.3% in //World::stage_V//
|
||||
4.0% not specifically accounted for
|
||||
4.4% not specifically accounted for
|
||||
27.2% in running Inter pipeline
|
||||
8.8% in step 14/15: generate inform6 -> auto.inf
|
||||
6.9% in step 5/15: load-binary-kits
|
||||
5.8% in step 6/15: make-synoptic-module
|
||||
1.8% in step 9/15: make-identifiers-unique
|
||||
0.3% in step 11/15: eliminate-redundant-labels
|
||||
0.3% in step 12/15: eliminate-redundant-operations
|
||||
0.3% in step 4/15: compile-splats
|
||||
0.3% in step 7/15: shorten-wiring
|
||||
0.3% in step 8/15: detect-indirect-calls
|
||||
2.2% not specifically accounted for
|
||||
1.9% not specifically accounted for
|
||||
4.0% in supervisor
|
||||
1.2% not specifically accounted for
|
||||
0.8% not specifically accounted for
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
"is": {
|
||||
"type": "kit",
|
||||
"title": "Architecture16Kit",
|
||||
"version": "10.2.0-beta+6X16"
|
||||
"version": "10.2.0-beta+6X17"
|
||||
},
|
||||
"compatibility": "16-bit",
|
||||
"kit-details": {
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
"is": {
|
||||
"type": "kit",
|
||||
"title": "Architecture32Kit",
|
||||
"version": "10.2.0-beta+6X16"
|
||||
"version": "10.2.0-beta+6X17"
|
||||
},
|
||||
"compatibility": "32-bit",
|
||||
"kit-details": {
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
"is": {
|
||||
"type": "kit",
|
||||
"title": "BasicInformKit",
|
||||
"version": "10.2.0-beta+6X16"
|
||||
"version": "10.2.0-beta+6X17"
|
||||
},
|
||||
"needs": [ {
|
||||
"need": {
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
"is": {
|
||||
"type": "kit",
|
||||
"title": "CommandParserKit",
|
||||
"version": "10.2.0-beta+6X16"
|
||||
"version": "10.2.0-beta+6X17"
|
||||
},
|
||||
"needs": [ {
|
||||
"need": {
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
"is": {
|
||||
"type": "kit",
|
||||
"title": "EnglishLanguageKit",
|
||||
"version": "10.2.0-beta+6X16"
|
||||
"version": "10.2.0-beta+6X17"
|
||||
},
|
||||
"needs": [ {
|
||||
"need": {
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
"is": {
|
||||
"type": "kit",
|
||||
"title": "WorldModelKit",
|
||||
"version": "10.2.0-beta+6X16"
|
||||
"version": "10.2.0-beta+6X17"
|
||||
},
|
||||
"needs": [ {
|
||||
"need": {
|
||||
|
|
Loading…
Reference in a new issue