mirror of
https://github.com/ganelson/inform.git
synced 2024-04-26 06:09:40 +03:00
Indexing support for IE-0004
This commit is contained in:
parent
24988c7383
commit
a9686a186e
|
@ -1,6 +1,6 @@
|
|||
# Inform 7
|
||||
|
||||
[Version](notes/versioning.md): 10.2.0-beta+6V93 'Krypton' (3 November 2022)
|
||||
[Version](notes/versioning.md): 10.2.0-beta+6V94 'Krypton' (5 November 2022)
|
||||
|
||||
## About Inform
|
||||
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
Prerelease: beta
|
||||
Build Date: 3 November 2022
|
||||
Build Number: 6V93
|
||||
Build Date: 5 November 2022
|
||||
Build Number: 6V94
|
||||
|
|
|
@ -141,7 +141,7 @@ the source text in the application.
|
|||
<span class="plain-syntax"> </span><a href="2-iu.html#SP2" class="function-link"><span class="function-syntax">IndexUtilities::link_to_location</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">Lexer::word_location</span><span class="plain-syntax">(</span><span class="identifier-syntax">wn</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">void</span><span class="plain-syntax"> </span><span class="function-syntax">IndexUtilities::link_package</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">IndexUtilities::link_package</span></span>:<br/><a href="2-iu.html#SP11">§11</a><br/>Index Rules - <a href="2-ir.html#SP8_2">§8.2</a>, <a href="2-ir.html#SP12_6">§12.6</a>, <a href="2-ir.html#SP12_8">§12.8</a>, <a href="2-ir.html#SP14">§14</a>, <a href="2-ir.html#SP15">§15</a>, <a href="2-ir.html#SP15_1">§15.1</a><br/>Arithmetic Element - <a href="3-ae2.html#SP1_3">§1.3</a><br/>Behaviour Element - <a href="3-be.html#SP1">§1</a><br/>Chart Element - <a href="3-ce2.html#SP6_4">§6.4</a>, <a href="3-ce2.html#SP7_1">§7.1</a><br/>Commands Element - <a href="3-ce3.html#SP2">§2</a><br/>Contents Element - <a href="3-ce4.html#SP1_2_1">§1.2.1</a>, <a href="3-ce4.html#SP2_1">§2.1</a><br/>Events Element - <a href="3-ee.html#SP1_1">§1.1</a>, <a href="3-ee.html#SP1_2">§1.2</a><br/>Figures Element - <a href="3-fe.html#SP1_1_1_2">§1.1.1.2</a>, <a href="3-fe.html#SP1_2_1_2">§1.2.1.2</a>, <a href="3-fe.html#SP1_3_1">§1.3.1</a><br/>Grouped Element - <a href="3-ge2.html#SP1">§1</a>, <a href="3-ge2.html#SP2_1_2">§2.1.2</a>, <a href="3-ge2.html#SP3">§3</a><br/>Plot Element - <a href="3-pe2.html#SP1_3_1_1">§1.3.1.1</a><br/>Relations Element - <a href="3-re.html#SP1">§1</a><br/>Tables Element - <a href="3-te.html#SP1_3_1_1">§1.3.1.1</a><br/>Tokens Element - <a href="3-te2.html#SP2">§2</a><br/>Values Element - <a href="3-ve.html#SP1_1_2">§1.1.2</a><br/>Verbs Element - <a href="3-ve2.html#SP1">§1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">IndexUtilities::link_package</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">IndexUtilities::link_package</span></span>:<br/><a href="2-iu.html#SP11">§11</a><br/>Index Rules - <a href="2-ir.html#SP8_2">§8.2</a>, <a href="2-ir.html#SP12_6">§12.6</a>, <a href="2-ir.html#SP12_8">§12.8</a>, <a href="2-ir.html#SP14">§14</a>, <a href="2-ir.html#SP15">§15</a>, <a href="2-ir.html#SP15_1">§15.1</a><br/>Arithmetic Element - <a href="3-ae2.html#SP1_3">§1.3</a><br/>Behaviour Element - <a href="3-be.html#SP1">§1</a><br/>Chart Element - <a href="3-ce2.html#SP6_4">§6.4</a>, <a href="3-ce2.html#SP7_1">§7.1</a><br/>Commands Element - <a href="3-ce3.html#SP2">§2</a><br/>Contents Element - <a href="3-ce4.html#SP1_2_1">§1.2.1</a>, <a href="3-ce4.html#SP2_1">§2.1</a><br/>Events Element - <a href="3-ee.html#SP1_1">§1.1</a>, <a href="3-ee.html#SP1_2">§1.2</a><br/>Figures Element - <a href="3-fe.html#SP1_1_1_2">§1.1.1.2</a>, <a href="3-fe.html#SP1_2_1_2">§1.2.1.2</a>, <a href="3-fe.html#SP1_3_1_2">§1.3.1.2</a>, <a href="3-fe.html#SP1_4_1">§1.4.1</a><br/>Grouped Element - <a href="3-ge2.html#SP1">§1</a>, <a href="3-ge2.html#SP2_1_2">§2.1.2</a>, <a href="3-ge2.html#SP3">§3</a><br/>Plot Element - <a href="3-pe2.html#SP1_3_1_1">§1.3.1.1</a><br/>Relations Element - <a href="3-re.html#SP1">§1</a><br/>Tables Element - <a href="3-te.html#SP1_3_1_1">§1.3.1.1</a><br/>Tokens Element - <a href="3-te2.html#SP2">§2</a><br/>Values Element - <a href="3-ve.html#SP1_1_2">§1.1.2</a><br/>Verbs Element - <a href="3-ve2.html#SP1">§1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">at</span><span class="plain-syntax"> = (</span><span class="reserved-syntax">int</span><span class="plain-syntax">) </span><span class="identifier-syntax">Metadata::read_optional_numeric</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^at"</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">at</span><span class="plain-syntax"> > </span><span class="constant-syntax">0</span><span class="plain-syntax">) </span><a href="2-iu.html#SP2" class="function-link"><span class="function-syntax">IndexUtilities::link</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">at</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
|
|
@ -59,7 +59,7 @@ function togglePopup(material_id) {
|
|||
<ul class="crumbs"><li><a href="../index.html">Home</a></li><li><a href="../intern.html">Inter Modules</a></li><li><a href="index.html">index</a></li><li><a href="index.html#3">Chapter 3: Elements</a></li><li><b>Figures Element</b></li></ul></div>
|
||||
<p class="purpose">To write the Figures element (Fi) in the index.</p>
|
||||
|
||||
<ul class="toc"><li><a href="3-fe.html#SP1_1">§1.1. Figures</a></li><li><a href="3-fe.html#SP1_2">§1.2. Sounds</a></li><li><a href="3-fe.html#SP1_3">§1.3. Files</a></li></ul><hr class="tocbar">
|
||||
<ul class="toc"><li><a href="3-fe.html#SP1_1">§1.1. Figures</a></li><li><a href="3-fe.html#SP1_2">§1.2. Sounds</a></li><li><a href="3-fe.html#SP1_3">§1.3. Internal files</a></li><li><a href="3-fe.html#SP1_4">§1.4. Files</a></li></ul><hr class="tocbar">
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP1" class="paragraph-anchor"></a><b>§1. </b>Not only figures but also sounds and external files, a little questionably.
|
||||
</p>
|
||||
|
@ -74,7 +74,8 @@ function togglePopup(material_id) {
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">InterNodeList::array_sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">file_nodes</span><span class="plain-syntax">, </span><span class="identifier-syntax">MakeSynopticModuleStage::module_order</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-fe.html#SP1_1" class="named-paragraph-link"><span class="named-paragraph">Index the figures</span><span class="named-paragraph-number">1.1</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-fe.html#SP1_2" class="named-paragraph-link"><span class="named-paragraph">Index the sounds</span><span class="named-paragraph-number">1.2</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-fe.html#SP1_3" class="named-paragraph-link"><span class="named-paragraph">Index the files</span><span class="named-paragraph-number">1.3</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-fe.html#SP1_3" class="named-paragraph-link"><span class="named-paragraph">Index the internal files</span><span class="named-paragraph-number">1.3</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-fe.html#SP1_4" class="named-paragraph-link"><span class="named-paragraph">Index the files</span><span class="named-paragraph-number">1.4</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP1_1" class="paragraph-anchor"></a><b>§1.1. Figures. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Index the figures</span><span class="named-paragraph-number">1.1</span></span><span class="comment-syntax"> =</span>
|
||||
|
@ -203,11 +204,11 @@ to match this width, preserving the aspect ratio.
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Localisation::bold</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.Fi.ListOfSounds"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">InterNodeList::array_len</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">sound_nodes</span><span class="plain-syntax">) == </span><span class="constant-syntax">0</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Localisation::bold</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.Fi.ListOfSounds"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Localisation::roman</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.Fi.NoSounds"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> } </span><span class="reserved-syntax">else</span><span class="plain-syntax"> {</span>
|
||||
|
@ -366,26 +367,180 @@ to match this width, preserving the aspect ratio.
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::end_html_row</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="3-fe.html#SP1_2_1">§1.2.1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_3" class="paragraph-anchor"></a><b>§1.3. Files. </b>This is more or less perfunctory, but still of some use, if only as a list.
|
||||
</p>
|
||||
<p class="commentary firstcommentary"><a id="SP1_3" class="paragraph-anchor"></a><b>§1.3. Internal files. </b></p>
|
||||
|
||||
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Index the files</span><span class="named-paragraph-number">1.3</span></span><span class="comment-syntax"> =</span>
|
||||
<pre class="definitions code-font"><span class="definition-keyword">define</span> <span class="constant-syntax">EXTERNAL_TEXT_FILE_NFSMF</span><span class="plain-syntax"> </span><span class="constant-syntax">0</span>
|
||||
<span class="definition-keyword">define</span> <span class="constant-syntax">EXTERNAL_BINARY_FILE_NFSMF</span><span class="plain-syntax"> </span><span class="constant-syntax">1</span>
|
||||
<span class="definition-keyword">define</span> <span class="constant-syntax">INTERNAL_TEXT_FILE_NFSMF</span><span class="plain-syntax"> </span><span class="constant-syntax">2</span>
|
||||
<span class="definition-keyword">define</span> <span class="constant-syntax">INTERNAL_BINARY_FILE_NFSMF</span><span class="plain-syntax"> </span><span class="constant-syntax">3</span>
|
||||
<span class="definition-keyword">define</span> <span class="constant-syntax">INTERNAL_FORM_FILE_NFSMF</span><span class="plain-syntax"> </span><span class="constant-syntax">4</span>
|
||||
</pre>
|
||||
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Index the internal files</span><span class="named-paragraph-number">1.3</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Localisation::bold</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.Fi.ListOfInternalFiles"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">InterNodeList::array_len</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">internal_file_nodes</span><span class="plain-syntax">) == </span><span class="constant-syntax">0</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Localisation::roman</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.Fi.NoInternalFiles"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> } </span><span class="reserved-syntax">else</span><span class="plain-syntax"> {</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-fe.html#SP1_3_1" class="named-paragraph-link"><span class="named-paragraph">Tabulate the internal files</span><span class="named-paragraph-number">1.3.1</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="3-fe.html#SP1">§1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_3_1" class="paragraph-anchor"></a><b>§1.3.1. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Tabulate the internal files</span><span class="named-paragraph-number">1.3.1</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::begin_html_table</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">, </span><span class="constant-syntax">0</span><span class="plain-syntax">, </span><span class="constant-syntax">0</span><span class="plain-syntax">, </span><span class="constant-syntax">0</span><span class="plain-syntax">, </span><span class="constant-syntax">0</span><span class="plain-syntax">, </span><span class="constant-syntax">0</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER_INVENTORY_PACKAGES</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">i</span><span class="plain-syntax">, </span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">internal_file_nodes</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">id</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Metadata::read_numeric</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^resource_id"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">filename_as_text</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Metadata::required_textual</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^filename"</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">F</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Filenames::from_text</span><span class="plain-syntax">(</span><span class="identifier-syntax">filename_as_text</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">format</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Metadata::read_numeric</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^internal_file_format"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">description</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">preview</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-fe.html#SP1_3_1_1" class="named-paragraph-link"><span class="named-paragraph">Find internal file preview</span><span class="named-paragraph-number">1.3.1.1</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-fe.html#SP1_3_1_2" class="named-paragraph-link"><span class="named-paragraph">Render a table row for the internal file</span><span class="named-paragraph-number">1.3.1.2</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">DISCARD_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">description</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">preview</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::end_html_table</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="3-fe.html#SP1_3">§1.3</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_3_1_1" class="paragraph-anchor"></a><b>§1.3.1.1. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Find internal file preview</span><span class="named-paragraph-number">1.3.1.1</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">FILE</span><span class="plain-syntax"> *</span><span class="identifier-syntax">INTERNAL_FILE</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Filenames::fopen</span><span class="plain-syntax">(</span><span class="identifier-syntax">F</span><span class="plain-syntax">, </span><span class="string-syntax">"rb"</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">INTERNAL_FILE</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">format</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">INTERNAL_TEXT_FILE_NFSMF:</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">description</span><span class="plain-syntax">, </span><span class="string-syntax">"%S"</span><span class="plain-syntax">, </span><span class="identifier-syntax">filename_as_text</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-fe.html#SP1_3_1_1_1" class="named-paragraph-link"><span class="named-paragraph">Offer a textual preview</span><span class="named-paragraph-number">1.3.1.1.1</span></a></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">INTERNAL_BINARY_FILE_NFSMF:</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">description</span><span class="plain-syntax">, </span><span class="string-syntax">"%S"</span><span class="plain-syntax">, </span><span class="identifier-syntax">filename_as_text</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-fe.html#SP1_3_1_1_2" class="named-paragraph-link"><span class="named-paragraph">Offer a binary preview</span><span class="named-paragraph-number">1.3.1.1.2</span></a></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">INTERNAL_FORM_FILE_NFSMF:</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">description</span><span class="plain-syntax">, </span><span class="string-syntax">"%S"</span><span class="plain-syntax">, </span><span class="identifier-syntax">filename_as_text</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-fe.html#SP1_3_1_1_2" class="named-paragraph-link"><span class="named-paragraph">Offer a binary preview</span><span class="named-paragraph-number">1.3.1.1.2</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> } </span><span class="reserved-syntax">else</span><span class="plain-syntax"> {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Localisation::italic</span><span class="plain-syntax">(</span><span class="identifier-syntax">description</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.Fi.MissingInternalFile"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="3-fe.html#SP1_3_1">§1.3.1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_3_1_1_1" class="paragraph-anchor"></a><b>§1.3.1.1.1. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Offer a textual preview</span><span class="named-paragraph-number">1.3.1.1.1</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">row</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">; </span><span class="identifier-syntax">row</span><span class="plain-syntax"> < </span><span class="constant-syntax">6</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">col</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">unsigned</span><span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">B</span><span class="plain-syntax">, </span><span class="identifier-syntax">line_ended</span><span class="plain-syntax"> = </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">while</span><span class="plain-syntax"> (</span><span class="identifier-syntax">BinaryFiles::read_int8</span><span class="plain-syntax">(</span><span class="identifier-syntax">INTERNAL_FILE</span><span class="plain-syntax">, &</span><span class="identifier-syntax">B</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">B</span><span class="plain-syntax"> == </span><span class="constant-syntax">10</span><span class="plain-syntax">) || (</span><span class="identifier-syntax">B</span><span class="plain-syntax"> == </span><span class="constant-syntax">13</span><span class="plain-syntax">)) { </span><span class="identifier-syntax">line_ended</span><span class="plain-syntax"> = </span><span class="identifier-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">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">col</span><span class="plain-syntax">++ >= </span><span class="constant-syntax">80</span><span class="plain-syntax">) { </span><span class="identifier-syntax">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">preview</span><span class="plain-syntax">, </span><span class="string-syntax">"[...]"</span><span class="plain-syntax">); </span><span class="identifier-syntax">line_ended</span><span class="plain-syntax"> = </span><span class="identifier-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">if</span><span class="plain-syntax"> ((</span><span class="identifier-syntax">B</span><span class="plain-syntax"> >= </span><span class="constant-syntax">0x20</span><span class="plain-syntax">) && (</span><span class="identifier-syntax">B</span><span class="plain-syntax"> <= </span><span class="constant-syntax">0x7E</span><span class="plain-syntax">)) </span><span class="identifier-syntax">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">preview</span><span class="plain-syntax">, </span><span class="string-syntax">"%c"</span><span class="plain-syntax">, </span><span class="identifier-syntax">B</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">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">preview</span><span class="plain-syntax">, </span><span class="string-syntax">"?"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">line_ended</span><span class="plain-syntax"> == </span><span class="identifier-syntax">FALSE</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">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">col</span><span class="plain-syntax"> > </span><span class="constant-syntax">0</span><span class="plain-syntax">) </span><span class="identifier-syntax">row</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">preview</span><span class="plain-syntax">, </span><span class="string-syntax">"\n"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="3-fe.html#SP1_3_1_1">§1.3.1.1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_3_1_1_2" class="paragraph-anchor"></a><b>§1.3.1.1.2. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Offer a binary preview</span><span class="named-paragraph-number">1.3.1.1.2</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">row</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">; </span><span class="identifier-syntax">row</span><span class="plain-syntax"> < </span><span class="constant-syntax">6</span><span class="plain-syntax">; </span><span class="identifier-syntax">row</span><span class="plain-syntax">++) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">unsigned</span><span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">bytes</span><span class="plain-syntax">[16];</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">col</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">; </span><span class="identifier-syntax">col</span><span class="plain-syntax"> < </span><span class="constant-syntax">16</span><span class="plain-syntax">; </span><span class="identifier-syntax">col</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">BinaryFiles::read_int8</span><span class="plain-syntax">(</span><span class="identifier-syntax">INTERNAL_FILE</span><span class="plain-syntax">, &(</span><span class="identifier-syntax">bytes</span><span class="plain-syntax">[</span><span class="identifier-syntax">col</span><span class="plain-syntax">]))) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (; </span><span class="identifier-syntax">col</span><span class="plain-syntax"> < </span><span class="constant-syntax">16</span><span class="plain-syntax">; </span><span class="identifier-syntax">col</span><span class="plain-syntax">++) </span><span class="identifier-syntax">bytes</span><span class="plain-syntax">[</span><span class="identifier-syntax">col</span><span class="plain-syntax">] = </span><span class="constant-syntax">256</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">row</span><span class="plain-syntax"> = </span><span class="constant-syntax">6</span><span class="plain-syntax">; </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">col</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">; </span><span class="identifier-syntax">col</span><span class="plain-syntax"> < </span><span class="constant-syntax">16</span><span class="plain-syntax">; </span><span class="identifier-syntax">col</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">bytes</span><span class="plain-syntax">[</span><span class="identifier-syntax">col</span><span class="plain-syntax">] < </span><span class="constant-syntax">256</span><span class="plain-syntax">) </span><span class="identifier-syntax">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">preview</span><span class="plain-syntax">, </span><span class="string-syntax">"%02x "</span><span class="plain-syntax">, </span><span class="identifier-syntax">bytes</span><span class="plain-syntax">[</span><span class="identifier-syntax">col</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">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">preview</span><span class="plain-syntax">, </span><span class="string-syntax">".. "</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">col</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">; </span><span class="identifier-syntax">col</span><span class="plain-syntax"> < </span><span class="constant-syntax">16</span><span class="plain-syntax">; </span><span class="identifier-syntax">col</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">bytes</span><span class="plain-syntax">[</span><span class="identifier-syntax">col</span><span class="plain-syntax">] >= </span><span class="constant-syntax">0x20</span><span class="plain-syntax">) && (</span><span class="identifier-syntax">bytes</span><span class="plain-syntax">[</span><span class="identifier-syntax">col</span><span class="plain-syntax">] <= </span><span class="constant-syntax">0x7E</span><span class="plain-syntax">)) </span><span class="identifier-syntax">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">preview</span><span class="plain-syntax">, </span><span class="string-syntax">"%c"</span><span class="plain-syntax">, </span><span class="identifier-syntax">bytes</span><span class="plain-syntax">[</span><span class="identifier-syntax">col</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">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">preview</span><span class="plain-syntax">, </span><span class="string-syntax">"."</span><span class="plain-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">preview</span><span class="plain-syntax">, </span><span class="string-syntax">"\n"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="3-fe.html#SP1_3_1_1">§1.3.1.1</a> (twice).</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_3_1_2" class="paragraph-anchor"></a><b>§1.3.1.2. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Render a table row for the internal file</span><span class="named-paragraph-number">1.3.1.2</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::first_html_column</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="constant-syntax">THUMBNAIL_WIDTH</span><span class="plain-syntax">+10);</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">description</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">HTML_TAG_WITH</span><span class="plain-syntax">(</span><span class="string-syntax">"img"</span><span class="plain-syntax">, </span><span class="string-syntax">"border=\"0\" src=\"inform:/doc_images/image_problem.png\""</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">HTML_TAG_WITH</span><span class="plain-syntax">(</span><span class="string-syntax">"img"</span><span class="plain-syntax">, </span><span class="string-syntax">"border=\"0\" src=\"inform:/doc_images/data.png\""</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"&nbsp;"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::next_html_column</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</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">HTML_OPEN_WITH</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">, </span><span class="string-syntax">"class=\"hang\""</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">format</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">INTERNAL_TEXT_FILE_NFSMF:</span><span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"(text) "</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">INTERNAL_BINARY_FILE_NFSMF:</span><span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"(binary) "</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">INTERNAL_FORM_FILE_NFSMF:</span><span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"(form) "</span><span class="plain-syntax">); </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"%S"</span><span class="plain-syntax">, </span><span class="identifier-syntax">Metadata::required_textual</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^name"</span><span class="plain-syntax">));</span>
|
||||
<span class="plain-syntax"> </span><a href="2-iu.html#SP2" class="function-link"><span class="function-syntax">IndexUtilities::link_package</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">pack</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">description</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">HTML_TAG</span><span class="plain-syntax">(</span><span class="string-syntax">"br"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"%S"</span><span class="plain-syntax">, </span><span class="identifier-syntax">description</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">preview</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">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"pre"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">N</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Streams::get_indentation</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">Streams::set_indentation</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="constant-syntax">0</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"\n%S"</span><span class="plain-syntax">, </span><span class="identifier-syntax">preview</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Streams::set_indentation</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">N</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"pre"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"\n"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Localisation::roman_ti</span><span class="plain-syntax">(</span><span class="identifier-syntax">description</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.Fi.Resource"</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Filenames::get_leafname</span><span class="plain-syntax">(</span><span class="identifier-syntax">F</span><span class="plain-syntax">), (</span><span class="reserved-syntax">int</span><span class="plain-syntax">) </span><span class="identifier-syntax">id</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::end_html_row</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="3-fe.html#SP1_3_1">§1.3.1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_4" class="paragraph-anchor"></a><b>§1.4. Files. </b>This is more or less perfunctory, but still of some use, if only as a list.
|
||||
</p>
|
||||
|
||||
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Index the files</span><span class="named-paragraph-number">1.4</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Localisation::bold</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.Fi.ListOfFiles"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">InterNodeList::array_len</span><span class="plain-syntax">(</span><span class="identifier-syntax">inv</span><span class="plain-syntax">-></span><span class="identifier-syntax">file_nodes</span><span class="plain-syntax">) == </span><span class="constant-syntax">0</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Localisation::roman</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.Fi.NoFiles"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> } </span><span class="reserved-syntax">else</span><span class="plain-syntax"> {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Localisation::bold</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">LD</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Index.Elements.Fi.ListOfFiles"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-fe.html#SP1_3_1" class="named-paragraph-link"><span class="named-paragraph">Tabulate the files</span><span class="named-paragraph-number">1.3.1</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-fe.html#SP1_4_1" class="named-paragraph-link"><span class="named-paragraph">Tabulate the files</span><span class="named-paragraph-number">1.4.1</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="3-fe.html#SP1">§1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP1_3_1" class="paragraph-anchor"></a><b>§1.3.1. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Tabulate the files</span><span class="named-paragraph-number">1.3.1</span></span><span class="comment-syntax"> =</span>
|
||||
<p class="commentary firstcommentary"><a id="SP1_4_1" class="paragraph-anchor"></a><b>§1.4.1. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Tabulate the files</span><span class="named-paragraph-number">1.4.1</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
|
@ -423,7 +578,7 @@ to match this width, preserving the aspect ratio.
|
|||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::end_html_table</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="3-fe.html#SP1_3">§1.3</a>.</li></ul>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="3-fe.html#SP1_4">§1.4</a>.</li></ul>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="3-ee2.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-im.html">1</a></li><li class="progresschapter"><a href="2-il.html">2</a></li><li class="progresscurrentchapter">3</li><li class="progresssection"><a href="3-tpt.html">tpt</a></li><li class="progresssection"><a href="3-ae.html">ae</a></li><li class="progresssection"><a href="3-ae2.html">ae2</a></li><li class="progresssection"><a href="3-be.html">be</a></li><li class="progresssection"><a href="3-ce.html">ce</a></li><li class="progresssection"><a href="3-ce2.html">ce2</a></li><li class="progresssection"><a href="3-ce3.html">ce3</a></li><li class="progresssection"><a href="3-ce4.html">ce4</a></li><li class="progresssection"><a href="3-ee.html">ee</a></li><li class="progresssection"><a href="3-ee2.html">ee2</a></li><li class="progresscurrent">fe</li><li class="progresssection"><a href="3-ge.html">ge</a></li><li class="progresssection"><a href="3-ge2.html">ge2</a></li><li class="progresssection"><a href="3-ie.html">ie</a></li><li class="progresssection"><a href="3-le.html">le</a></li><li class="progresssection"><a href="3-me.html">me</a></li><li class="progresssection"><a href="3-pe.html">pe</a></li><li class="progresssection"><a href="3-pe2.html">pe2</a></li><li class="progresssection"><a href="3-re.html">re</a></li><li class="progresssection"><a href="3-rfse.html">rfse</a></li><li class="progresssection"><a href="3-se.html">se</a></li><li class="progresssection"><a href="3-te.html">te</a></li><li class="progresssection"><a href="3-te2.html">te2</a></li><li class="progresssection"><a href="3-ve.html">ve</a></li><li class="progresssection"><a href="3-ve2.html">ve2</a></li><li class="progresschapter"><a href="4-mc.html">4</a></li><li class="progressnext"><a href="3-ge.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
|
|
@ -120,12 +120,6 @@ function togglePopup(material_id) {
|
|||
<p class="commentary firstcommentary"><a id="SP3" class="paragraph-anchor"></a><b>§3. </b>And this is the Preform grammar needed for the subject phrase:
|
||||
</p>
|
||||
|
||||
<pre class="definitions code-font"><span class="definition-keyword">define</span> <span class="constant-syntax">EXTERNAL_TEXT_FILE_NFSMF</span><span class="plain-syntax"> </span><span class="constant-syntax">0</span>
|
||||
<span class="definition-keyword">define</span> <span class="constant-syntax">EXTERNAL_BINARY_FILE_NFSMF</span><span class="plain-syntax"> </span><span class="constant-syntax">1</span>
|
||||
<span class="definition-keyword">define</span> <span class="constant-syntax">INTERNAL_TEXT_FILE_NFSMF</span><span class="plain-syntax"> </span><span class="constant-syntax">2</span>
|
||||
<span class="definition-keyword">define</span> <span class="constant-syntax">INTERNAL_BINARY_FILE_NFSMF</span><span class="plain-syntax"> </span><span class="constant-syntax">3</span>
|
||||
<span class="definition-keyword">define</span> <span class="constant-syntax">INTERNAL_FORM_FILE_NFSMF</span><span class="plain-syntax"> </span><span class="constant-syntax">4</span>
|
||||
</pre>
|
||||
<pre class="Preform-displayed-code all-displayed-code code-font">
|
||||
<span class="Preform-function-syntax"><external-file-sentence-subject></span><span class="Preform-plain-syntax"> </span><span class="Preform-reserved-syntax">::=</span>
|
||||
<span class="Preform-plain-syntax"> </span><span class="Preform-function-syntax"><definite-article></span><span class="Preform-plain-syntax"> </span><span class="Preform-function-syntax"><external-file-sentence-subject></span><span class="Preform-plain-syntax"> </span><span class="Preform-reserved-syntax">|</span><span class="Preform-plain-syntax"> </span><span class="Preform-reserved-syntax">==></span><span class="Preform-plain-syntax"> { pass 2 }</span>
|
||||
|
@ -214,7 +208,7 @@ has been found to create a file:
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">switch</span><span class="plain-syntax"> (</span><span class="identifier-syntax">format</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">EXTERNAL_TEXT_FILE_NFSMF:</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">EXTERNAL_BINARY_FILE_NFSMF:</span><span class="plain-syntax"> {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">format</span><span class="plain-syntax"> == </span><span class="constant-syntax">EXTERNAL_BINARY_FILE_NFSMF</span><span class="plain-syntax">) </span><span class="identifier-syntax">binary</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">format</span><span class="plain-syntax"> == </span><span class="identifier-syntax">EXTERNAL_BINARY_FILE_NFSMF</span><span class="plain-syntax">) </span><span class="identifier-syntax">binary</span><span class="plain-syntax"> = </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">ifid_of_file</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="2-ef.html#SP5_2" class="named-paragraph-link"><span class="named-paragraph">Determine the ownership</span><span class="named-paragraph-number">5.2</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><a href="2-ef.html#SP9" class="function-link"><span class="function-syntax">ExternalFiles::files_create</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">W</span><span class="plain-syntax">, </span><span class="identifier-syntax">binary</span><span class="plain-syntax">, </span><span class="identifier-syntax">ownership</span><span class="plain-syntax">, </span><span class="identifier-syntax">ifid_of_file</span><span class="plain-syntax">, </span><span class="identifier-syntax">FN</span><span class="plain-syntax">);</span>
|
||||
|
@ -247,9 +241,9 @@ has been found to create a file:
|
|||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">i</span><span class="plain-syntax">>24) </span><span class="identifier-syntax">bad_filename</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">isalpha</span><span class="plain-syntax">(</span><span class="identifier-syntax">p</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">])) || (</span><span class="identifier-syntax">Characters::isdigit</span><span class="plain-syntax">(</span><span class="identifier-syntax">p</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">]))) </span><span class="reserved-syntax">continue</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> ((</span><span class="identifier-syntax">format</span><span class="plain-syntax"> == </span><span class="constant-syntax">INTERNAL_TEXT_FILE_NFSMF</span><span class="plain-syntax">) ||</span>
|
||||
<span class="plain-syntax"> (</span><span class="identifier-syntax">format</span><span class="plain-syntax"> == </span><span class="constant-syntax">INTERNAL_BINARY_FILE_NFSMF</span><span class="plain-syntax">) ||</span>
|
||||
<span class="plain-syntax"> (</span><span class="identifier-syntax">format</span><span class="plain-syntax"> == </span><span class="constant-syntax">INTERNAL_FORM_FILE_NFSMF</span><span class="plain-syntax">))</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> ((</span><span class="identifier-syntax">format</span><span class="plain-syntax"> == </span><span class="identifier-syntax">INTERNAL_TEXT_FILE_NFSMF</span><span class="plain-syntax">) ||</span>
|
||||
<span class="plain-syntax"> (</span><span class="identifier-syntax">format</span><span class="plain-syntax"> == </span><span class="identifier-syntax">INTERNAL_BINARY_FILE_NFSMF</span><span class="plain-syntax">) ||</span>
|
||||
<span class="plain-syntax"> (</span><span class="identifier-syntax">format</span><span class="plain-syntax"> == </span><span class="identifier-syntax">INTERNAL_FORM_FILE_NFSMF</span><span class="plain-syntax">))</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> ((</span><span class="identifier-syntax">p</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">] == </span><span class="character-syntax">'.'</span><span class="plain-syntax">) || (</span><span class="identifier-syntax">p</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">] == </span><span class="character-syntax">'_'</span><span class="plain-syntax">) || (</span><span class="identifier-syntax">p</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">] == </span><span class="character-syntax">' '</span><span class="plain-syntax">)) </span><span class="reserved-syntax">continue</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOG</span><span class="plain-syntax">(</span><span class="string-syntax">"Objected to character %c\n"</span><span class="plain-syntax">, </span><span class="identifier-syntax">p</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">]);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">bad_filename</span><span class="plain-syntax"> = </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">;</span>
|
||||
|
|
|
@ -1021,6 +1021,7 @@ and <a href="../pipeline-module/4-tsk.html" class="internal">The Standard Kits (
|
|||
<span class="definition-keyword">enum</span> <span class="constant-syntax">INSTANCE_IS_INF_MD_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">INSTANCE_FILE_VALUE_MD_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">INSTANCE_INTERNAL_FILE_FORMAT_MD_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">INSTANCE_INTERNAL_FILE_ID_MD_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">INSTANCE_FILE_IS_BINARY_MD_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">INSTANCE_FILE_OWNED_MD_HL</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">INSTANCE_FILE_OWNED_BY_OTHER_MD_HL</span>
|
||||
|
@ -1164,8 +1165,9 @@ and <a href="../pipeline-module/4-tsk.html" class="internal">The Standard Kits (
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">H_C_U</span><span class="plain-syntax">(</span><span class="constant-syntax">INSTANCE_FILE_OWNED_BY_OTHER_MD_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^file_owned_by_other"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">H_C_U</span><span class="plain-syntax">(</span><span class="constant-syntax">INSTANCE_FILE_OWNER_MD_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^file_owner"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">H_C_U</span><span class="plain-syntax">(</span><span class="constant-syntax">INSTANCE_INTERNAL_FILE_FORMAT_MD_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^internal_file_format"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">H_C_U</span><span class="plain-syntax">(</span><span class="constant-syntax">INSTANCE_INTERNAL_FILE_ID_MD_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^resource_id"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">H_C_U</span><span class="plain-syntax">(</span><span class="constant-syntax">INSTANCE_FILE_IS_BINARY_MD_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^is_binary"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">H_C_U</span><span class="plain-syntax">(</span><span class="constant-syntax">INSTANCE_LEAFNAME_MD_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^leafname"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">H_C_U</span><span class="plain-syntax">(</span><span class="constant-syntax">INSTANCE_LEAFNAME_MD_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^filename"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">H_C_U</span><span class="plain-syntax">(</span><span class="constant-syntax">INSTANCE_IS_FIGURE_MD_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^is_figure"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">H_C_U</span><span class="plain-syntax">(</span><span class="constant-syntax">INSTANCE_FIGURE_FILENAME_MD_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^filename"</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">H_C_U</span><span class="plain-syntax">(</span><span class="constant-syntax">INSTANCE_FIGURE_ID_MD_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^resource_id"</span><span class="plain-syntax">)</span>
|
||||
|
@ -2559,14 +2561,14 @@ point system, and for those:
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">DISCARD_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">ANT</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Hierarchy::apply_metadata_from_raw_wording</span><button class="popup" onclick="togglePopup('usagePopup22')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup22">Usage of <span class="code-font"><span class="function-syntax">Hierarchy::apply_metadata_from_raw_wording</span></span>:<br/>Completion Module - <a href="3-cm.html#SP1_11_1">§1.11.1</a><br/>Use Options - <a href="3-uo.html#SP1">§1</a><br/>Activities - <a href="5-act.html#SP8">§8</a><br/>Adjectives - <a href="5-adj.html#SP6">§6</a><br/>Equations - <a href="5-eqt.html#SP1">§1</a><br/>Scene Instances - <a href="5-si.html#SP1">§1</a><br/>Multimedia - <a href="5-mlt.html#SP2_3">§2.3</a>, <a href="5-mlt.html#SP3_1">§3.1</a><br/>Tables - <a href="5-tbl.html#SP2_3">§2.3</a><br/>Table Columns - <a href="5-tc.html#SP2">§2</a><br/>Rules - <a href="5-rls.html#SP12_1">§12.1</a>, <a href="5-rls.html#SP12_2">§12.2</a><br/>Rulebooks - <a href="5-rlb.html#SP8_1">§8.1</a><br/>Variables - <a href="5-vrb.html#SP14">§14</a><br/>Actions - <a href="5-act2.html#SP8_3">§8.3</a>, <a href="5-act2.html#SP9">§9</a><br/>Phrasebook Index - <a href="6-pi.html#SP1_2_3">§1.2.3</a><br/>Command Grammars - <a href="7-cg.html#SP16">§16</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">package_request</span><span class="plain-syntax"> *</span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">id</span><span class="plain-syntax">, </span><span class="identifier-syntax">wording</span><span class="plain-syntax"> </span><span class="identifier-syntax">W</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Hierarchy::apply_metadata_from_raw_wording</span><button class="popup" onclick="togglePopup('usagePopup22')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup22">Usage of <span class="code-font"><span class="function-syntax">Hierarchy::apply_metadata_from_raw_wording</span></span>:<br/>Completion Module - <a href="3-cm.html#SP1_11_1">§1.11.1</a><br/>Use Options - <a href="3-uo.html#SP1">§1</a><br/>Activities - <a href="5-act.html#SP8">§8</a><br/>Adjectives - <a href="5-adj.html#SP6">§6</a><br/>Equations - <a href="5-eqt.html#SP1">§1</a><br/>Scene Instances - <a href="5-si.html#SP1">§1</a><br/>Multimedia - <a href="5-mlt.html#SP2_3">§2.3</a><br/>Tables - <a href="5-tbl.html#SP2_3">§2.3</a><br/>Table Columns - <a href="5-tc.html#SP2">§2</a><br/>Rules - <a href="5-rls.html#SP12_1">§12.1</a>, <a href="5-rls.html#SP12_2">§12.2</a><br/>Rulebooks - <a href="5-rlb.html#SP8_1">§8.1</a><br/>Variables - <a href="5-vrb.html#SP14">§14</a><br/>Actions - <a href="5-act2.html#SP8_3">§8.3</a>, <a href="5-act2.html#SP9">§9</a><br/>Phrasebook Index - <a href="6-pi.html#SP1_2_3">§1.2.3</a><br/>Command Grammars - <a href="7-cg.html#SP16">§16</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">package_request</span><span class="plain-syntax"> *</span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">id</span><span class="plain-syntax">, </span><span class="identifier-syntax">wording</span><span class="plain-syntax"> </span><span class="identifier-syntax">W</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">ANT</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">ANT</span><span class="plain-syntax">, </span><span class="string-syntax">"%+W"</span><span class="plain-syntax">, </span><span class="identifier-syntax">W</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-hrr.html#SP23" class="function-link"><span class="function-syntax">Hierarchy::apply_metadata</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="identifier-syntax">id</span><span class="plain-syntax">, </span><span class="identifier-syntax">ANT</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">ANT</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Hierarchy::apply_metadata_from_filename</span><button class="popup" onclick="togglePopup('usagePopup23')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup23">Usage of <span class="code-font"><span class="function-syntax">Hierarchy::apply_metadata_from_filename</span></span>:<br/>Multimedia - <a href="5-mlt.html#SP1">§1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">package_request</span><span class="plain-syntax"> *</span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">id</span><span class="plain-syntax">, </span><span class="identifier-syntax">filename</span><span class="plain-syntax"> *</span><span class="identifier-syntax">F</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Hierarchy::apply_metadata_from_filename</span><button class="popup" onclick="togglePopup('usagePopup23')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup23">Usage of <span class="code-font"><span class="function-syntax">Hierarchy::apply_metadata_from_filename</span></span>:<br/>Multimedia - <a href="5-mlt.html#SP1">§1</a>, <a href="5-mlt.html#SP3_1">§3.1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">package_request</span><span class="plain-syntax"> *</span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">id</span><span class="plain-syntax">, </span><span class="identifier-syntax">filename</span><span class="plain-syntax"> *</span><span class="identifier-syntax">F</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">as_text</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">as_text</span><span class="plain-syntax">, </span><span class="string-syntax">"%f"</span><span class="plain-syntax">, </span><span class="identifier-syntax">F</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-hrr.html#SP23" class="function-link"><span class="function-syntax">Hierarchy::apply_metadata</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="identifier-syntax">id</span><span class="plain-syntax">, </span><span class="identifier-syntax">as_text</span><span class="plain-syntax">);</span>
|
||||
|
|
|
@ -204,10 +204,12 @@ function togglePopup(material_id) {
|
|||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">package_request</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax"> = </span><a href="5-ins.html#SP1" class="function-link"><span class="function-syntax">RTInstances::package</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">inf</span><span class="plain-syntax">-></span><span class="identifier-syntax">as_instance</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-hrr.html#SP23" class="function-link"><span class="function-syntax">Hierarchy::apply_metadata_from_iname</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="constant-syntax">INSTANCE_FILE_VALUE_MD_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">inf_iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-hrr.html#SP23" class="function-link"><span class="function-syntax">Hierarchy::apply_metadata_from_raw_wording</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="constant-syntax">INSTANCE_LEAFNAME_MD_HL</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Wordings::one_word</span><span class="plain-syntax">(</span><span class="identifier-syntax">inf</span><span class="plain-syntax">-></span><span class="identifier-syntax">unextended_filename</span><span class="plain-syntax">));</span>
|
||||
<span class="plain-syntax"> </span><a href="2-hrr.html#SP23" class="function-link"><span class="function-syntax">Hierarchy::apply_metadata_from_filename</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="constant-syntax">INSTANCE_LEAFNAME_MD_HL</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inf</span><span class="plain-syntax">-></span><span class="identifier-syntax">local_filename</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-hrr.html#SP23" class="function-link"><span class="function-syntax">Hierarchy::apply_metadata_from_number</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="constant-syntax">INSTANCE_INTERNAL_FILE_FORMAT_MD_HL</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> (</span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax">) </span><span class="identifier-syntax">inf</span><span class="plain-syntax">-></span><span class="identifier-syntax">file_format</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-hrr.html#SP23" class="function-link"><span class="function-syntax">Hierarchy::apply_metadata_from_number</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="constant-syntax">INSTANCE_INTERNAL_FILE_ID_MD_HL</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> (</span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax">) </span><span class="identifier-syntax">inf</span><span class="plain-syntax">-></span><span class="identifier-syntax">resource_id</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="5-mlt.html#SP3">§3</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP3_2" class="paragraph-anchor"></a><b>§3.2. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Make the internal file metadata array</span><span class="named-paragraph-number">3.2</span></span><span class="comment-syntax"> =</span>
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
Total memory consumption was 123398K = 121 MB
|
||||
Total memory consumption was 123401K = 121 MB
|
||||
|
||||
---- was used for 2055375 objects, in 366318 frames in 0 x 800K = 0K = 0 MB:
|
||||
---- was used for 2055476 objects, in 366320 frames in 0 x 800K = 0K = 0 MB:
|
||||
|
||||
33.0% inter_tree_node_array 58 x 8192 = 475136 objects, 41813824 bytes
|
||||
20.6% text_stream_array 4637 x 100 = 463700 objects, 26115584 bytes
|
||||
20.6% text_stream_array 4638 x 100 = 463800 objects, 26121216 bytes
|
||||
19.5% linked_list 44083 objects, 24686480 bytes
|
||||
11.2% inter_symbol_array 133 x 1024 = 136192 objects, 14168224 bytes
|
||||
10.4% inter_error_stash_array 101 x 1024 = 103424 objects, 13241504 bytes
|
||||
|
@ -44,7 +44,7 @@ Total memory consumption was 123398K = 121 MB
|
|||
0.2% inter_annotation_array 2 x 8192 = 16384 objects, 262208 bytes
|
||||
0.1% vanilla_function 3703 objects, 236992 bytes
|
||||
0.1% binary_predicate 326 objects, 172128 bytes
|
||||
0.1% hierarchy_location 1171 objects, 168624 bytes
|
||||
0.1% hierarchy_location 1172 objects, 168768 bytes
|
||||
0.1% linguistic_stock_item 3329 objects, 159792 bytes
|
||||
0.1% rule_family_data 401 objects, 147568 bytes
|
||||
0.1% nonterminal 773 objects, 142232 bytes
|
||||
|
@ -56,7 +56,7 @@ Total memory consumption was 123398K = 121 MB
|
|||
---- anl_entry_array 2 x 1000 = 2000 objects, 96064 bytes
|
||||
---- preposition 274 objects, 87680 bytes
|
||||
---- inter_schema 1524 objects, 85344 bytes
|
||||
---- inter_tree 6 objects, 81696 bytes
|
||||
---- inter_tree 6 objects, 81744 bytes
|
||||
---- lexical_cluster 2526 objects, 80832 bytes
|
||||
---- pcalc_term_array 2 x 1000 = 2000 objects, 80064 bytes
|
||||
---- kind_variable_declaration 1655 objects, 79440 bytes
|
||||
|
@ -247,7 +247,7 @@ Total memory consumption was 123398K = 121 MB
|
|||
|
||||
100.0% was used for memory not allocated for objects:
|
||||
|
||||
57.6% text stream storage 72805768 bytes in 481244 claims
|
||||
57.6% text stream storage 72808420 bytes in 481254 claims
|
||||
4.2% dictionary storage 5311488 bytes in 7618 claims
|
||||
---- sorting 1568 bytes in 159 claims
|
||||
5.6% source text 7200000 bytes in 3 claims
|
||||
|
@ -265,5 +265,5 @@ Total memory consumption was 123398K = 121 MB
|
|||
---- code generation workspace for objects 3480 bytes in 19 claims
|
||||
0.2% emitter array storage 280544 bytes in 2001 claims
|
||||
|
||||
-147.-7% was overhead - -186754840 bytes = -182377K = -178 MB
|
||||
-147.-7% was overhead - -186760664 bytes = -182383K = -178 MB
|
||||
|
||||
|
|
|
@ -1,33 +1,33 @@
|
|||
100.0% in inform7 run
|
||||
70.9% in compilation to Inter
|
||||
49.6% in //Sequence::undertake_queued_tasks//
|
||||
4.8% in //MajorNodes::pre_pass//
|
||||
71.3% in compilation to Inter
|
||||
50.7% in //Sequence::undertake_queued_tasks//
|
||||
5.0% in //MajorNodes::pre_pass//
|
||||
3.4% in //MajorNodes::pass_1//
|
||||
2.0% in //RTPhrasebook::compile_entries//
|
||||
1.8% in //ImperativeDefinitions::assess_all//
|
||||
1.4% in //RTKindConstructors::compile//
|
||||
1.2% in //Sequence::lint_inter//
|
||||
0.6% in //MajorNodes::pass_2//
|
||||
0.6% in //Sequence::undertake_queued_tasks//
|
||||
0.6% in //World::stage_V//
|
||||
0.4% in //ImperativeDefinitions::compile_first_block//
|
||||
0.4% in //Sequence::undertake_queued_tasks//
|
||||
0.2% in //CompletionModule::compile//
|
||||
0.2% in //InferenceSubjects::emit_all//
|
||||
0.2% in //RTKindConstructors::compile_permissions//
|
||||
0.2% in //Task::make_built_in_kind_constructors//
|
||||
0.2% in //World::stages_II_and_III//
|
||||
2.8% not specifically accounted for
|
||||
25.9% in running Inter pipeline
|
||||
9.9% in step 14/15: generate inform6 -> auto.inf
|
||||
5.6% in step 5/15: load-binary-kits
|
||||
5.4% in step 6/15: make-synoptic-module
|
||||
1.8% in step 9/15: make-identifiers-unique
|
||||
0.4% in step 12/15: eliminate-redundant-operations
|
||||
0.4% in step 4/15: compile-splats
|
||||
0.4% in step 7/15: shorten-wiring
|
||||
0.2% in step 11/15: eliminate-redundant-labels
|
||||
0.2% in step 8/15: detect-indirect-calls
|
||||
1.4% not specifically accounted for
|
||||
2.6% in supervisor
|
||||
0.5% not specifically accounted for
|
||||
1.9% in //RTPhrasebook::compile_entries//
|
||||
1.7% in //ImperativeDefinitions::assess_all//
|
||||
1.5% in //RTKindConstructors::compile//
|
||||
0.9% in //Sequence::lint_inter//
|
||||
0.5% in //MajorNodes::pass_2//
|
||||
0.5% in //Sequence::undertake_queued_tasks//
|
||||
0.5% in //Sequence::undertake_queued_tasks//
|
||||
0.5% in //World::stage_V//
|
||||
0.3% in //ImperativeDefinitions::compile_first_block//
|
||||
0.1% in //CompletionModule::compile//
|
||||
0.1% in //InferenceSubjects::emit_all//
|
||||
0.1% in //RTKindConstructors::compile_permissions//
|
||||
0.1% in //Task::make_built_in_kind_constructors//
|
||||
0.1% in //World::stages_II_and_III//
|
||||
2.3% not specifically accounted for
|
||||
25.5% in running Inter pipeline
|
||||
10.1% in step 14/15: generate inform6 -> auto.inf
|
||||
5.5% in step 5/15: load-binary-kits
|
||||
5.1% in step 6/15: make-synoptic-module
|
||||
1.7% in step 9/15: make-identifiers-unique
|
||||
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
|
||||
0.1% in step 11/15: eliminate-redundant-labels
|
||||
1.1% not specifically accounted for
|
||||
2.5% in supervisor
|
||||
0.6% not specifically accounted for
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
"is": {
|
||||
"type": "kit",
|
||||
"title": "BasicInformExtrasKit",
|
||||
"version": "10.2.0-beta+6V93"
|
||||
"version": "10.2.0-beta+6V94"
|
||||
},
|
||||
"kit-details": {
|
||||
"has-priority": 1
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
"is": {
|
||||
"type": "kit",
|
||||
"title": "BasicInformKit",
|
||||
"version": "10.2.0-beta+6V93"
|
||||
"version": "10.2.0-beta+6V94"
|
||||
},
|
||||
"needs": [ {
|
||||
"unless": {
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
"is": {
|
||||
"type": "kit",
|
||||
"title": "CommandParserKit",
|
||||
"version": "10.2.0-beta+6V93"
|
||||
"version": "10.2.0-beta+6V94"
|
||||
},
|
||||
"needs": [ {
|
||||
"need": {
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
"is": {
|
||||
"type": "kit",
|
||||
"title": "EnglishLanguageKit",
|
||||
"version": "10.2.0-beta+6V93"
|
||||
"version": "10.2.0-beta+6V94"
|
||||
},
|
||||
"needs": [ {
|
||||
"need": {
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
"is": {
|
||||
"type": "kit",
|
||||
"title": "WorldModelKit",
|
||||
"version": "10.2.0-beta+6V93"
|
||||
"version": "10.2.0-beta+6V94"
|
||||
},
|
||||
"needs": [ {
|
||||
"need": {
|
||||
|
|
|
@ -47,8 +47,10 @@
|
|||
%Index.Elements.Fi.NoFigures = There are no figures, or illustrations, in this project.
|
||||
%Index.Elements.Fi.NoSounds = There are no sound effects in this project.
|
||||
%Index.Elements.Fi.NoFiles = This project doesn't read or write external files.
|
||||
%Index.Elements.Fi.NoInternalFiles = This project doesn't read internal files.
|
||||
%Index.Elements.Fi.ListOfFigures = List of Figures
|
||||
%Index.Elements.Fi.ListOfSounds = List of Sounds
|
||||
%Index.Elements.Fi.ListOfInternalFiles = List of Internal Files
|
||||
%Index.Elements.Fi.ListOfFiles = List of External Files
|
||||
|
||||
%Index.Elements.Fi.Format = Format *1
|
||||
|
@ -71,6 +73,8 @@
|
|||
%Index.Elements.Fi.Stereo = Stereo
|
||||
%Index.Elements.Fi.BitRate = *1 kilobits/sec
|
||||
|
||||
%Index.Elements.Fi.MissingInternalFile = Missing from the Data folder
|
||||
|
||||
%Index.Elements.Fi.BinaryFile = Binary file "*1"
|
||||
%Index.Elements.Fi.TextFile = File "*1"
|
||||
%Index.Elements.Fi.FileOwnedByThis = owned by this project
|
||||
|
|
|
@ -56,12 +56,6 @@ int ExternalFiles::new_file_SMF(int task, parse_node *V, wording *NPs) {
|
|||
|
||||
@ And this is the Preform grammar needed for the subject phrase:
|
||||
|
||||
@d EXTERNAL_TEXT_FILE_NFSMF 0
|
||||
@d EXTERNAL_BINARY_FILE_NFSMF 1
|
||||
@d INTERNAL_TEXT_FILE_NFSMF 2
|
||||
@d INTERNAL_BINARY_FILE_NFSMF 3
|
||||
@d INTERNAL_FORM_FILE_NFSMF 4
|
||||
|
||||
=
|
||||
<external-file-sentence-subject> ::=
|
||||
<definite-article> <external-file-sentence-subject> | ==> { pass 2 }
|
||||
|
|
|
@ -900,6 +900,7 @@ void Hierarchy::establish(void) {
|
|||
@e INSTANCE_IS_INF_MD_HL
|
||||
@e INSTANCE_FILE_VALUE_MD_HL
|
||||
@e INSTANCE_INTERNAL_FILE_FORMAT_MD_HL
|
||||
@e INSTANCE_INTERNAL_FILE_ID_MD_HL
|
||||
@e INSTANCE_FILE_IS_BINARY_MD_HL
|
||||
@e INSTANCE_FILE_OWNED_MD_HL
|
||||
@e INSTANCE_FILE_OWNED_BY_OTHER_MD_HL
|
||||
|
@ -1040,8 +1041,9 @@ void Hierarchy::establish(void) {
|
|||
H_C_U(INSTANCE_FILE_OWNED_BY_OTHER_MD_HL, I"^file_owned_by_other")
|
||||
H_C_U(INSTANCE_FILE_OWNER_MD_HL, I"^file_owner")
|
||||
H_C_U(INSTANCE_INTERNAL_FILE_FORMAT_MD_HL, I"^internal_file_format")
|
||||
H_C_U(INSTANCE_INTERNAL_FILE_ID_MD_HL, I"^resource_id")
|
||||
H_C_U(INSTANCE_FILE_IS_BINARY_MD_HL, I"^is_binary")
|
||||
H_C_U(INSTANCE_LEAFNAME_MD_HL, I"^leafname")
|
||||
H_C_U(INSTANCE_LEAFNAME_MD_HL, I"^filename")
|
||||
H_C_U(INSTANCE_IS_FIGURE_MD_HL, I"^is_figure")
|
||||
H_C_U(INSTANCE_FIGURE_FILENAME_MD_HL, I"^filename")
|
||||
H_C_U(INSTANCE_FIGURE_ID_MD_HL, I"^resource_id")
|
||||
|
|
|
@ -130,10 +130,12 @@ void RTMultimedia::internal_compilation_agent(compilation_subtask *t) {
|
|||
@<Make the internal value metadata@> =
|
||||
package_request *pack = RTInstances::package(inf->as_instance);
|
||||
Hierarchy::apply_metadata_from_iname(pack, INSTANCE_FILE_VALUE_MD_HL, inf_iname);
|
||||
Hierarchy::apply_metadata_from_raw_wording(pack, INSTANCE_LEAFNAME_MD_HL,
|
||||
Wordings::one_word(inf->unextended_filename));
|
||||
Hierarchy::apply_metadata_from_filename(pack, INSTANCE_LEAFNAME_MD_HL,
|
||||
inf->local_filename);
|
||||
Hierarchy::apply_metadata_from_number(pack, INSTANCE_INTERNAL_FILE_FORMAT_MD_HL,
|
||||
(inter_ti) inf->file_format);
|
||||
Hierarchy::apply_metadata_from_number(pack, INSTANCE_INTERNAL_FILE_ID_MD_HL,
|
||||
(inter_ti) inf->resource_id);
|
||||
|
||||
@<Make the internal file metadata array@> =
|
||||
packaging_state save = EmitArrays::begin_word(inf_iname, K_value);
|
||||
|
|
|
@ -14,6 +14,7 @@ void FiguresElement::render(OUTPUT_STREAM, index_session *session) {
|
|||
InterNodeList::array_sort(inv->file_nodes, MakeSynopticModuleStage::module_order);
|
||||
@<Index the figures@>;
|
||||
@<Index the sounds@>;
|
||||
@<Index the internal files@>;
|
||||
@<Index the files@>;
|
||||
}
|
||||
|
||||
|
@ -128,10 +129,10 @@ to match this width, preserving the aspect ratio.
|
|||
@h Sounds.
|
||||
|
||||
@<Index the sounds@> =
|
||||
HTML_OPEN("p");
|
||||
Localisation::bold(OUT, LD, I"Index.Elements.Fi.ListOfSounds");
|
||||
HTML_CLOSE("p");
|
||||
if (InterNodeList::array_len(inv->sound_nodes) == 0) {
|
||||
HTML_OPEN("p");
|
||||
Localisation::bold(OUT, LD, I"Index.Elements.Fi.ListOfSounds");
|
||||
HTML_CLOSE("p");
|
||||
HTML_OPEN("p");
|
||||
Localisation::roman(OUT, LD, I"Index.Elements.Fi.NoSounds");
|
||||
HTML_CLOSE("p");
|
||||
|
@ -270,18 +271,148 @@ to match this width, preserving the aspect ratio.
|
|||
Filenames::get_leafname(F), (int) id);
|
||||
HTML::end_html_row(OUT);
|
||||
|
||||
@h Internal files.
|
||||
|
||||
@d EXTERNAL_TEXT_FILE_NFSMF 0
|
||||
@d EXTERNAL_BINARY_FILE_NFSMF 1
|
||||
@d INTERNAL_TEXT_FILE_NFSMF 2
|
||||
@d INTERNAL_BINARY_FILE_NFSMF 3
|
||||
@d INTERNAL_FORM_FILE_NFSMF 4
|
||||
|
||||
@<Index the internal files@> =
|
||||
HTML_OPEN("p");
|
||||
Localisation::bold(OUT, LD, I"Index.Elements.Fi.ListOfInternalFiles");
|
||||
HTML_CLOSE("p");
|
||||
if (InterNodeList::array_len(inv->internal_file_nodes) == 0) {
|
||||
HTML_OPEN("p");
|
||||
Localisation::roman(OUT, LD, I"Index.Elements.Fi.NoInternalFiles");
|
||||
HTML_CLOSE("p");
|
||||
} else {
|
||||
@<Tabulate the internal files@>;
|
||||
}
|
||||
|
||||
@<Tabulate the internal files@> =
|
||||
HTML::begin_html_table(OUT, NULL, TRUE, 0, 0, 0, 0, 0);
|
||||
inter_package *pack;
|
||||
LOOP_OVER_INVENTORY_PACKAGES(pack, i, inv->internal_file_nodes) {
|
||||
inter_ti id = Metadata::read_numeric(pack, I"^resource_id");
|
||||
text_stream *filename_as_text = Metadata::required_textual(pack, I"^filename");
|
||||
filename *F = Filenames::from_text(filename_as_text);
|
||||
inter_ti format = Metadata::read_numeric(pack, I"^internal_file_format");
|
||||
TEMPORARY_TEXT(description)
|
||||
TEMPORARY_TEXT(preview)
|
||||
@<Find internal file preview@>;
|
||||
@<Render a table row for the internal file@>;
|
||||
DISCARD_TEXT(description)
|
||||
DISCARD_TEXT(preview)
|
||||
}
|
||||
HTML::end_html_table(OUT);
|
||||
|
||||
@<Find internal file preview@> =
|
||||
FILE *INTERNAL_FILE = Filenames::fopen(F, "rb");
|
||||
if (INTERNAL_FILE) {
|
||||
switch (format) {
|
||||
case INTERNAL_TEXT_FILE_NFSMF:
|
||||
WRITE_TO(description, "%S", filename_as_text);
|
||||
@<Offer a textual preview@>;
|
||||
break;
|
||||
case INTERNAL_BINARY_FILE_NFSMF:
|
||||
WRITE_TO(description, "%S", filename_as_text);
|
||||
@<Offer a binary preview@>;
|
||||
break;
|
||||
case INTERNAL_FORM_FILE_NFSMF:
|
||||
WRITE_TO(description, "%S", filename_as_text);
|
||||
@<Offer a binary preview@>;
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
Localisation::italic(description, LD, I"Index.Elements.Fi.MissingInternalFile");
|
||||
}
|
||||
|
||||
@<Offer a textual preview@> =
|
||||
for (int row = 0; row < 6; ) {
|
||||
int col = 0;
|
||||
unsigned int B, line_ended = FALSE;
|
||||
while (BinaryFiles::read_int8(INTERNAL_FILE, &B)) {
|
||||
if ((B == 10) || (B == 13)) { line_ended = TRUE; break; }
|
||||
if (col++ >= 80) { WRITE_TO(preview, "[...]"); line_ended = TRUE; break; }
|
||||
if ((B >= 0x20) && (B <= 0x7E)) WRITE_TO(preview, "%c", B);
|
||||
else WRITE_TO(preview, "?");
|
||||
}
|
||||
if (line_ended == FALSE) break;
|
||||
if (col > 0) row++;
|
||||
WRITE_TO(preview, "\n");
|
||||
}
|
||||
|
||||
@<Offer a binary preview@> =
|
||||
for (int row = 0; row < 6; row++) {
|
||||
unsigned int bytes[16];
|
||||
for (int col = 0; col < 16; col++) {
|
||||
if (!BinaryFiles::read_int8(INTERNAL_FILE, &(bytes[col]))) {
|
||||
for (; col < 16; col++) bytes[col] = 256;
|
||||
row = 6; break;
|
||||
}
|
||||
}
|
||||
for (int col = 0; col < 16; col++) {
|
||||
if (bytes[col] < 256) WRITE_TO(preview, "%02x ", bytes[col]);
|
||||
else WRITE_TO(preview, ".. ");
|
||||
}
|
||||
for (int col = 0; col < 16; col++) {
|
||||
if ((bytes[col] >= 0x20) && (bytes[col] <= 0x7E)) WRITE_TO(preview, "%c", bytes[col]);
|
||||
else WRITE_TO(preview, ".");
|
||||
}
|
||||
WRITE_TO(preview, "\n");
|
||||
}
|
||||
|
||||
@<Render a table row for the internal file@> =
|
||||
HTML::first_html_column(OUT, THUMBNAIL_WIDTH+10);
|
||||
if (Str::len(description) == 0) {
|
||||
HTML_TAG_WITH("img", "border=\"0\" src=\"inform:/doc_images/image_problem.png\"");
|
||||
} else {
|
||||
HTML_TAG_WITH("img", "border=\"0\" src=\"inform:/doc_images/data.png\"");
|
||||
}
|
||||
WRITE(" ");
|
||||
HTML::next_html_column(OUT, 0);
|
||||
HTML_OPEN_WITH("p", "class=\"hang\"");
|
||||
switch (format) {
|
||||
case INTERNAL_TEXT_FILE_NFSMF: WRITE("(text) "); break;
|
||||
case INTERNAL_BINARY_FILE_NFSMF: WRITE("(binary) "); break;
|
||||
case INTERNAL_FORM_FILE_NFSMF: WRITE("(form) "); break;
|
||||
}
|
||||
WRITE("%S", Metadata::required_textual(pack, I"^name"));
|
||||
IndexUtilities::link_package(OUT, pack);
|
||||
if (Str::len(description) > 0) {
|
||||
HTML_TAG("br");
|
||||
WRITE("%S", description);
|
||||
}
|
||||
HTML_CLOSE("p");
|
||||
if (Str::len(preview) > 0) {
|
||||
HTML_OPEN("pre");
|
||||
int N = Streams::get_indentation(OUT);
|
||||
Streams::set_indentation(OUT, 0);
|
||||
WRITE("\n%S", preview);
|
||||
Streams::set_indentation(OUT, N);
|
||||
HTML_CLOSE("pre");
|
||||
WRITE("\n");
|
||||
}
|
||||
HTML_OPEN("p");
|
||||
Localisation::roman_ti(description, LD, I"Index.Elements.Fi.Resource",
|
||||
Filenames::get_leafname(F), (int) id);
|
||||
HTML_CLOSE("p");
|
||||
HTML::end_html_row(OUT);
|
||||
|
||||
@h Files.
|
||||
This is more or less perfunctory, but still of some use, if only as a list.
|
||||
|
||||
@<Index the files@> =
|
||||
HTML_OPEN("p");
|
||||
Localisation::bold(OUT, LD, I"Index.Elements.Fi.ListOfFiles");
|
||||
HTML_CLOSE("p");
|
||||
if (InterNodeList::array_len(inv->file_nodes) == 0) {
|
||||
HTML_OPEN("p");
|
||||
Localisation::roman(OUT, LD, I"Index.Elements.Fi.NoFiles");
|
||||
HTML_CLOSE("p");
|
||||
} else {
|
||||
HTML_OPEN("p");
|
||||
Localisation::bold(OUT, LD, I"Index.Elements.Fi.ListOfFiles");
|
||||
HTML_CLOSE("p");
|
||||
@<Tabulate the files@>;
|
||||
}
|
||||
|
||||
|
|
BIN
resources/Imagery/doc_images/data.png
Normal file
BIN
resources/Imagery/doc_images/data.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.7 KiB |
Loading…
Reference in a new issue