mirror of
https://github.com/ganelson/inform.git
synced 2024-06-16 23:30:44 +03:00
More on documentation indexing
This commit is contained in:
parent
c140b1527d
commit
ac626ad8af
|
@ -1,6 +1,6 @@
|
|||
# Inform 7
|
||||
|
||||
[Version](notes/versioning.md): 10.2.0-beta+6X14 'Krypton' (6 September 2023)
|
||||
[Version](notes/versioning.md): 10.2.0-beta+6X15 'Krypton' (9 September 2023)
|
||||
|
||||
## About Inform
|
||||
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
Prerelease: beta
|
||||
Build Date: 6 September 2023
|
||||
Build Number: 6X14
|
||||
Build Date: 9 September 2023
|
||||
Build Number: 6X15
|
||||
|
|
|
@ -170,6 +170,7 @@ For the Inform manual built in to the apps, there will be two volumes,
|
|||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">typedef</span><span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="reserved-syntax">cd_volume</span><span class="plain-syntax"> {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">title</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">label</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">home_URL</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="identifier-syntax">linked_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pagesets</span><span class="plain-syntax">; </span><span class="comment-syntax"> of </span><span class="extract"><span class="extract-syntax">cd_pageset</span></span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="identifier-syntax">markdown_item</span><span class="plain-syntax"> *</span><span class="identifier-syntax">volume_item</span><span class="plain-syntax">;</span>
|
||||
|
@ -177,9 +178,10 @@ For the Inform manual built in to the apps, there will be two volumes,
|
|||
<span class="plain-syntax">} </span><span class="reserved-syntax">cd_volume</span><span class="plain-syntax">;</span>
|
||||
|
||||
<span class="reserved-syntax">cd_volume</span><span class="plain-syntax"> *</span><span class="function-syntax">DocumentationCompiler::add_volume</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">DocumentationCompiler::add_volume</span></span>:<br/><a href="7-dc.html#SP10">§10</a>, <a href="7-dc.html#SP11_1">§11.1</a>, <a href="7-dc.html#SP11_2">§11.2</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">compiled_documentation</span><span class="plain-syntax"> *</span><span class="identifier-syntax">cd</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">title</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">home_URL</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">label</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">home_URL</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">cd_volume</span><span class="plain-syntax"> *</span><span class="identifier-syntax">vol</span><span class="plain-syntax"> = </span><span class="identifier-syntax">CREATE</span><span class="plain-syntax">(</span><span class="reserved-syntax">cd_volume</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">vol</span><span class="plain-syntax">-></span><span class="element-syntax">title</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Str::duplicate</span><span class="plain-syntax">(</span><span class="identifier-syntax">title</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">vol</span><span class="plain-syntax">-></span><span class="element-syntax">label</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Str::duplicate</span><span class="plain-syntax">(</span><span class="identifier-syntax">label</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">vol</span><span class="plain-syntax">-></span><span class="element-syntax">home_URL</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Str::duplicate</span><span class="plain-syntax">(</span><span class="identifier-syntax">home_URL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">vol</span><span class="plain-syntax">-></span><span class="element-syntax">pagesets</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NEW_LINKED_LIST</span><span class="plain-syntax">(</span><span class="reserved-syntax">cd_pageset</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">vol</span><span class="plain-syntax">-></span><span class="element-syntax">volume_item</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
|
||||
|
@ -319,7 +321,7 @@ index page and otherwise not producting documentation at all:
|
|||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><a href="7-gi.html#SP1" class="function-link"><span class="function-syntax">Indexes::add_indexing_notation</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">cd</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"standard"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">LinkedLists::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">cd</span><span class="plain-syntax">-></span><span class="element-syntax">volumes</span><span class="plain-syntax">) == </span><span class="constant-syntax">0</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">cd_volume</span><span class="plain-syntax"> *</span><span class="identifier-syntax">implied</span><span class="plain-syntax"> = </span><a href="7-dc.html#SP6" class="function-link"><span class="function-syntax">DocumentationCompiler::add_volume</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">cd</span><span class="plain-syntax">, </span><span class="identifier-syntax">cd</span><span class="plain-syntax">-></span><span class="element-syntax">title</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"index.html"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">cd_volume</span><span class="plain-syntax"> *</span><span class="identifier-syntax">implied</span><span class="plain-syntax"> = </span><a href="7-dc.html#SP6" class="function-link"><span class="function-syntax">DocumentationCompiler::add_volume</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">cd</span><span class="plain-syntax">, </span><span class="identifier-syntax">cd</span><span class="plain-syntax">-></span><span class="element-syntax">title</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"index.html"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="7-dc.html#SP7" class="function-link"><span class="function-syntax">DocumentationCompiler::add_page</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">implied</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Documentation.md"</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">I</span><span class="string-syntax">"chapter*.html"</span><span class="plain-syntax">, </span><span class="constant-syntax">CHAPTER_PAGESETBREAKING</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
|
@ -410,7 +412,7 @@ index page and otherwise not producting documentation at all:
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">cd</span><span class="plain-syntax">-></span><span class="element-syntax">example_URL_pattern</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Str::duplicate</span><span class="plain-syntax">(</span><span class="identifier-syntax">mr</span><span class="plain-syntax">.</span><span class="identifier-syntax">exp</span><span class="plain-syntax">[1]);</span>
|
||||
<span class="plain-syntax"> } </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Regexp::match</span><span class="plain-syntax">(&</span><span class="identifier-syntax">mr</span><span class="plain-syntax">, </span><span class="identifier-syntax">cl</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">" *pages: *(%c*?) *"</span><span class="plain-syntax">)) {</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="7-dc.html#SP11_2" class="named-paragraph-link"><span class="named-paragraph">Act on a page-set declaration</span><span class="named-paragraph-number">11.2</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> } </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Regexp::match</span><span class="plain-syntax">(&</span><span class="identifier-syntax">mr</span><span class="plain-syntax">, </span><span class="identifier-syntax">cl</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">" *volume: *\"(%c*?)\" to \"(%c*?)\""</span><span class="plain-syntax">)) {</span>
|
||||
<span class="plain-syntax"> } </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Regexp::match</span><span class="plain-syntax">(&</span><span class="identifier-syntax">mr</span><span class="plain-syntax">, </span><span class="identifier-syntax">cl</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">" *volume: *\"(%c*?)\" or \"(%C+)\" to \"(%c*?)\""</span><span class="plain-syntax">)) {</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="7-dc.html#SP11_1" class="named-paragraph-link"><span class="named-paragraph">Act on a volume declaration</span><span class="named-paragraph-number">11.1</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> } </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Regexp::match</span><span class="plain-syntax">(&</span><span class="identifier-syntax">mr</span><span class="plain-syntax">, </span><span class="identifier-syntax">cl</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">" *alphabetical index: *\"(%c*?)\" to \"(%c*?)\" *"</span><span class="plain-syntax">)) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">cd</span><span class="plain-syntax">-></span><span class="element-syntax">index_title</span><span class="plain-syntax">[</span><span class="constant-syntax">ALPHABETICAL_EG_INDEX</span><span class="plain-syntax">] = </span><span class="identifier-syntax">Str::duplicate</span><span class="plain-syntax">(</span><span class="identifier-syntax">mr</span><span class="plain-syntax">.</span><span class="identifier-syntax">exp</span><span class="plain-syntax">[0]);</span>
|
||||
|
@ -440,9 +442,9 @@ index page and otherwise not producting documentation at all:
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::eq</span><span class="plain-syntax">(</span><span class="identifier-syntax">mr</span><span class="plain-syntax">.</span><span class="identifier-syntax">exp</span><span class="plain-syntax">[1], </span><span class="identifier-syntax">I</span><span class="string-syntax">"index.html"</span><span class="plain-syntax">))</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::eq</span><span class="plain-syntax">(</span><span class="identifier-syntax">mr</span><span class="plain-syntax">.</span><span class="identifier-syntax">exp</span><span class="plain-syntax">[2], </span><span class="identifier-syntax">I</span><span class="string-syntax">"index.html"</span><span class="plain-syntax">))</span>
|
||||
<span class="plain-syntax"> </span><a href="7-dc.html#SP8" class="function-link"><span class="function-syntax">DocumentationCompiler::layout_error</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">cd</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"a volume home page cannot be 'index.html'"</span><span class="plain-syntax">, </span><span class="identifier-syntax">cl</span><span class="plain-syntax">, </span><span class="identifier-syntax">tfp</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="7-dc.html#SP6" class="function-link"><span class="function-syntax">DocumentationCompiler::add_volume</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">cd</span><span class="plain-syntax">, </span><span class="identifier-syntax">mr</span><span class="plain-syntax">.</span><span class="identifier-syntax">exp</span><span class="plain-syntax">[0], </span><span class="identifier-syntax">mr</span><span class="plain-syntax">.</span><span class="identifier-syntax">exp</span><span class="plain-syntax">[1]);</span>
|
||||
<span class="plain-syntax"> </span><a href="7-dc.html#SP6" class="function-link"><span class="function-syntax">DocumentationCompiler::add_volume</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">cd</span><span class="plain-syntax">, </span><span class="identifier-syntax">mr</span><span class="plain-syntax">.</span><span class="identifier-syntax">exp</span><span class="plain-syntax">[0], </span><span class="identifier-syntax">mr</span><span class="plain-syntax">.</span><span class="identifier-syntax">exp</span><span class="plain-syntax">[1], </span><span class="identifier-syntax">mr</span><span class="plain-syntax">.</span><span class="identifier-syntax">exp</span><span class="plain-syntax">[2]);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="7-dc.html#SP11">§11</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP11_2" class="paragraph-anchor"></a><b>§11.2. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Act on a page-set declaration</span><span class="named-paragraph-number">11.2</span></span><span class="comment-syntax"> =</span>
|
||||
|
@ -515,7 +517,8 @@ index page and otherwise not producting documentation at all:
|
|||
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">cd_volume</span><span class="plain-syntax"> *</span><span class="identifier-syntax">vol</span><span class="plain-syntax">, *</span><span class="identifier-syntax">last_vol</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER_LINKED_LIST</span><span class="plain-syntax">(</span><span class="identifier-syntax">vol</span><span class="plain-syntax">, </span><span class="reserved-syntax">cd_volume</span><span class="plain-syntax">, </span><span class="identifier-syntax">cd</span><span class="plain-syntax">-></span><span class="element-syntax">volumes</span><span class="plain-syntax">) </span><span class="identifier-syntax">last_vol</span><span class="plain-syntax"> = </span><span class="identifier-syntax">vol</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">last_vol</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) </span><span class="identifier-syntax">last_vol</span><span class="plain-syntax"> = </span><a href="7-dc.html#SP6" class="function-link"><span class="function-syntax">DocumentationCompiler::add_volume</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">cd</span><span class="plain-syntax">, </span><span class="identifier-syntax">cd</span><span class="plain-syntax">-></span><span class="element-syntax">title</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"index.html"</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">last_vol</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">last_vol</span><span class="plain-syntax"> = </span><a href="7-dc.html#SP6" class="function-link"><span class="function-syntax">DocumentationCompiler::add_volume</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">cd</span><span class="plain-syntax">, </span><span class="identifier-syntax">cd</span><span class="plain-syntax">-></span><span class="element-syntax">title</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"index.html"</span><span class="plain-syntax">);</span>
|
||||
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">LinkedLists::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">cd</span><span class="plain-syntax">-></span><span class="element-syntax">source_files</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">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">counter</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">;</span>
|
||||
|
@ -752,8 +755,11 @@ through the metadata and also capturing the Markdown material.
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">IFM_example</span><span class="plain-syntax"> *</span><span class="identifier-syntax">eg</span><span class="plain-syntax"> = </span><span class="identifier-syntax">InformFlavouredMarkdown::new_example</span><span class="plain-syntax">(</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">ess</span><span class="plain-syntax">.</span><span class="element-syntax">long_title</span><span class="plain-syntax">, </span><span class="identifier-syntax">ess</span><span class="plain-syntax">.</span><span class="element-syntax">desc</span><span class="plain-syntax">, </span><span class="identifier-syntax">ess</span><span class="plain-syntax">.</span><span class="element-syntax">star_count</span><span class="plain-syntax">, </span><span class="identifier-syntax">LinkedLists::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">cd</span><span class="plain-syntax">-></span><span class="element-syntax">examples</span><span class="plain-syntax">));</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">eg</span><span class="plain-syntax">-></span><span class="identifier-syntax">cue</span><span class="plain-syntax"> = </span><span class="identifier-syntax">stc</span><span class="plain-syntax">-></span><span class="element-syntax">primary_placement</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">eg</span><span class="plain-syntax">-></span><span class="identifier-syntax">secondary_cue</span><span class="plain-syntax"> = </span><span class="identifier-syntax">stc</span><span class="plain-syntax">-></span><span class="element-syntax">secondary_placement</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">eg</span><span class="plain-syntax">-></span><span class="identifier-syntax">ex_subtitle</span><span class="plain-syntax"> = </span><span class="identifier-syntax">ess</span><span class="plain-syntax">.</span><span class="element-syntax">subtitle</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">eg</span><span class="plain-syntax">-></span><span class="identifier-syntax">ex_index</span><span class="plain-syntax"> = </span><span class="identifier-syntax">ess</span><span class="plain-syntax">.</span><span class="element-syntax">index</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">eg</span><span class="plain-syntax">-></span><span class="identifier-syntax">primary_label</span><span class="plain-syntax"> = (</span><span class="identifier-syntax">primary</span><span class="plain-syntax">)?(</span><span class="identifier-syntax">primary</span><span class="plain-syntax">-></span><span class="element-syntax">label</span><span class="plain-syntax">):</span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">eg</span><span class="plain-syntax">-></span><span class="identifier-syntax">secondary_label</span><span class="plain-syntax"> = (</span><span class="identifier-syntax">secondary</span><span class="plain-syntax">)?(</span><span class="identifier-syntax">secondary</span><span class="plain-syntax">-></span><span class="element-syntax">label</span><span class="plain-syntax">):</span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">ADD_TO_LINKED_LIST</span><span class="plain-syntax">(</span><span class="identifier-syntax">eg</span><span class="plain-syntax">, </span><span class="identifier-syntax">IFM_example</span><span class="plain-syntax">, </span><span class="identifier-syntax">cd</span><span class="plain-syntax">-></span><span class="element-syntax">examples</span><span class="plain-syntax">);</span>
|
||||
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">stc</span><span class="plain-syntax">-></span><span class="element-syntax">as_example</span><span class="plain-syntax"> = </span><span class="identifier-syntax">eg</span><span class="plain-syntax">;</span>
|
||||
|
|
|
@ -484,7 +484,7 @@ in a hierarchical fashion.
|
|||
<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">IFM_example</span><span class="plain-syntax"> *</span><span class="identifier-syntax">E</span><span class="plain-syntax"> = </span><span class="identifier-syntax">RETRIEVE_POINTER_IFM_example</span><span class="plain-syntax">(</span><span class="identifier-syntax">alt_EN</span><span class="plain-syntax">-></span><span class="identifier-syntax">user_state</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">"div"</span><span class="plain-syntax">, </span><span class="string-syntax">"class=\"markdowncontent\""</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">InformFlavouredMarkdown::render_example_heading</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">E</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">InformFlavouredMarkdown::render_example_heading</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">E</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">markdown_item</span><span class="plain-syntax"> *</span><span class="identifier-syntax">passage_node</span><span class="plain-syntax"> = </span><span class="identifier-syntax">alt_EN</span><span class="plain-syntax">-></span><span class="identifier-syntax">down</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">while</span><span class="plain-syntax"> (</span><span class="identifier-syntax">passage_node</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Markdown::render_extended</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">passage_node</span><span class="plain-syntax">,</span>
|
||||
|
|
|
@ -239,17 +239,6 @@ category:
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER_LINKED_LIST</span><span class="plain-syntax">(</span><span class="identifier-syntax">E</span><span class="plain-syntax">, </span><span class="identifier-syntax">IFM_example</span><span class="plain-syntax">, </span><span class="identifier-syntax">cd</span><span class="plain-syntax">-></span><span class="element-syntax">examples</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><a href="7-gi.html#SP4" class="function-link"><span class="function-syntax">Indexes::scan_r</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">cd</span><span class="plain-syntax">, </span><span class="identifier-syntax">E</span><span class="plain-syntax">-></span><span class="identifier-syntax">header</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="identifier-syntax">E</span><span class="plain-syntax">, &</span><span class="identifier-syntax">volume_number</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">LinkedLists::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">cd</span><span class="plain-syntax">-></span><span class="element-syntax">id</span><span class="plain-syntax">.</span><span class="element-syntax">lemma_list</span><span class="plain-syntax">) > </span><span class="constant-syntax">0</span><span class="plain-syntax">) </span><span class="identifier-syntax">cd</span><span class="plain-syntax">-></span><span class="element-syntax">id</span><span class="plain-syntax">.</span><span class="element-syntax">present_with_index</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">LOOP_OVER_LINKED_LIST</span><span class="plain-syntax">(</span><span class="identifier-syntax">E</span><span class="plain-syntax">, </span><span class="identifier-syntax">IFM_example</span><span class="plain-syntax">, </span><span class="identifier-syntax">cd</span><span class="plain-syntax">-></span><span class="element-syntax">examples</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">term</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><a href="7-gi.html#SP4" class="function-link"><span class="function-syntax">Indexes::extract_from_indexable_matter</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">term</span><span class="plain-syntax">, </span><span class="identifier-syntax">cd</span><span class="plain-syntax">, </span><span class="identifier-syntax">Str::duplicate</span><span class="plain-syntax">(</span><span class="identifier-syntax">E</span><span class="plain-syntax">-></span><span class="element-syntax">name</span><span class="plain-syntax">));</span>
|
||||
<span class="plain-syntax"> </span><a href="7-gi.html#SP6" class="function-link"><span class="function-syntax">Indexes::mark_index_term</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">cd</span><span class="plain-syntax">, </span><span class="identifier-syntax">term</span><span class="plain-syntax">, </span><span class="constant-syntax">0</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="identifier-syntax">E</span><span class="plain-syntax">-></span><span class="identifier-syntax">URL</span><span class="plain-syntax">, </span><span class="identifier-syntax">E</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="constant-syntax">1</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">E</span><span class="plain-syntax">-></span><span class="identifier-syntax">ex_index</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">Str::clear</span><span class="plain-syntax">(</span><span class="identifier-syntax">term</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="7-gi.html#SP4" class="function-link"><span class="function-syntax">Indexes::extract_from_indexable_matter</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">term</span><span class="plain-syntax">, </span><span class="identifier-syntax">cd</span><span class="plain-syntax">, </span><span class="identifier-syntax">Str::duplicate</span><span class="plain-syntax">(</span><span class="identifier-syntax">E</span><span class="plain-syntax">-></span><span class="identifier-syntax">ex_index</span><span class="plain-syntax">));</span>
|
||||
<span class="plain-syntax"> </span><a href="7-gi.html#SP6" class="function-link"><span class="function-syntax">Indexes::mark_index_term</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">cd</span><span class="plain-syntax">, </span><span class="identifier-syntax">term</span><span class="plain-syntax">, </span><span class="constant-syntax">0</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="identifier-syntax">E</span><span class="plain-syntax">-></span><span class="identifier-syntax">URL</span><span class="plain-syntax">, </span><span class="identifier-syntax">E</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="constant-syntax">2</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">DISCARD_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">term</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Indexes::scan_r</span><span class="plain-syntax">(</span><span class="reserved-syntax">compiled_documentation</span><span class="plain-syntax"> *</span><span class="identifier-syntax">cd</span><span class="plain-syntax">, </span><span class="identifier-syntax">markdown_item</span><span class="plain-syntax"> *</span><span class="identifier-syntax">md</span><span class="plain-syntax">, </span><span class="identifier-syntax">markdown_item</span><span class="plain-syntax"> **</span><span class="identifier-syntax">latest</span><span class="plain-syntax">,</span>
|
||||
|
@ -263,6 +252,18 @@ category:
|
|||
<span class="plain-syntax"> </span><a href="7-gi.html#SP4" class="function-link"><span class="function-syntax">Indexes::scan_indexingnotations</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">cd</span><span class="plain-syntax">, </span><span class="identifier-syntax">md</span><span class="plain-syntax">, </span><span class="identifier-syntax">md</span><span class="plain-syntax">-></span><span class="element-syntax">details</span><span class="plain-syntax">, </span><span class="identifier-syntax">md</span><span class="plain-syntax">-></span><span class="identifier-syntax">stashed</span><span class="plain-syntax">, *</span><span class="identifier-syntax">volume_number</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> (</span><span class="identifier-syntax">latest</span><span class="plain-syntax">)?(*</span><span class="identifier-syntax">latest</span><span class="plain-syntax">):</span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="identifier-syntax">E</span><span class="plain-syntax">);</span>
|
||||
<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">md</span><span class="plain-syntax">-></span><span class="element-syntax">type</span><span class="plain-syntax"> == </span><span class="identifier-syntax">INFORM_EXAMPLE_HEADING_MIT</span><span class="plain-syntax">) && (</span><span class="identifier-syntax">latest</span><span class="plain-syntax">) && (*</span><span class="identifier-syntax">latest</span><span class="plain-syntax">)) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">IFM_example</span><span class="plain-syntax"> *</span><span class="identifier-syntax">EG</span><span class="plain-syntax"> = </span><span class="identifier-syntax">RETRIEVE_POINTER_IFM_example</span><span class="plain-syntax">(</span><span class="identifier-syntax">md</span><span class="plain-syntax">-></span><span class="identifier-syntax">user_state</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">term</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><a href="7-gi.html#SP4" class="function-link"><span class="function-syntax">Indexes::extract_from_indexable_matter</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">term</span><span class="plain-syntax">, </span><span class="identifier-syntax">cd</span><span class="plain-syntax">, </span><span class="identifier-syntax">Str::duplicate</span><span class="plain-syntax">(</span><span class="identifier-syntax">EG</span><span class="plain-syntax">-></span><span class="element-syntax">name</span><span class="plain-syntax">));</span>
|
||||
<span class="plain-syntax"> </span><a href="7-gi.html#SP6" class="function-link"><span class="function-syntax">Indexes::mark_index_term</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">cd</span><span class="plain-syntax">, </span><span class="identifier-syntax">term</span><span class="plain-syntax">, *</span><span class="identifier-syntax">volume_number</span><span class="plain-syntax">, *</span><span class="identifier-syntax">latest</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="identifier-syntax">EG</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="constant-syntax">1</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">EG</span><span class="plain-syntax">-></span><span class="identifier-syntax">ex_index</span><span class="plain-syntax">) > </span><span class="constant-syntax">0</span><span class="plain-syntax">) && (</span><span class="identifier-syntax">Str::ne</span><span class="plain-syntax">(</span><span class="identifier-syntax">EG</span><span class="plain-syntax">-></span><span class="identifier-syntax">ex_index</span><span class="plain-syntax">, </span><span class="identifier-syntax">EG</span><span class="plain-syntax">-></span><span class="element-syntax">name</span><span class="plain-syntax">))) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Str::clear</span><span class="plain-syntax">(</span><span class="identifier-syntax">term</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="7-gi.html#SP4" class="function-link"><span class="function-syntax">Indexes::extract_from_indexable_matter</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">term</span><span class="plain-syntax">, </span><span class="identifier-syntax">cd</span><span class="plain-syntax">, </span><span class="identifier-syntax">Str::duplicate</span><span class="plain-syntax">(</span><span class="identifier-syntax">EG</span><span class="plain-syntax">-></span><span class="identifier-syntax">ex_index</span><span class="plain-syntax">));</span>
|
||||
<span class="plain-syntax"> </span><a href="7-gi.html#SP6" class="function-link"><span class="function-syntax">Indexes::mark_index_term</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">cd</span><span class="plain-syntax">, </span><span class="identifier-syntax">term</span><span class="plain-syntax">, *</span><span class="identifier-syntax">volume_number</span><span class="plain-syntax">, *</span><span class="identifier-syntax">latest</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="identifier-syntax">EG</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="constant-syntax">2</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">DISCARD_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">term</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="identifier-syntax">markdown_item</span><span class="plain-syntax"> *</span><span class="identifier-syntax">ch</span><span class="plain-syntax"> = </span><span class="identifier-syntax">md</span><span class="plain-syntax">-></span><span class="identifier-syntax">down</span><span class="plain-syntax">; </span><span class="identifier-syntax">ch</span><span class="plain-syntax">; </span><span class="identifier-syntax">ch</span><span class="plain-syntax">=</span><span class="identifier-syntax">ch</span><span class="plain-syntax">-></span><span class="identifier-syntax">next</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><a href="7-gi.html#SP4" class="function-link"><span class="function-syntax">Indexes::scan_r</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">cd</span><span class="plain-syntax">, </span><span class="identifier-syntax">ch</span><span class="plain-syntax">, </span><span class="identifier-syntax">latest</span><span class="plain-syntax">, </span><span class="identifier-syntax">E</span><span class="plain-syntax">, </span><span class="identifier-syntax">volume_number</span><span class="plain-syntax">);</span>
|
||||
|
@ -652,9 +653,9 @@ as it will be seen by the reader.
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER_LINKED_LIST</span><span class="plain-syntax">(</span><span class="identifier-syntax">il</span><span class="plain-syntax">, </span><span class="reserved-syntax">index_lemma</span><span class="plain-syntax">, </span><span class="identifier-syntax">cd</span><span class="plain-syntax">-></span><span class="element-syntax">id</span><span class="plain-syntax">.</span><span class="element-syntax">lemma_list</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">sort_key</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Str::copy</span><span class="plain-syntax">(</span><span class="identifier-syntax">sort_key</span><span class="plain-syntax">, </span><span class="identifier-syntax">il</span><span class="plain-syntax">-></span><span class="element-syntax">term</span><span class="plain-syntax">);</span>
|
||||
|
||||
<span class="plain-syntax"> </span><span class="comment-syntax"> ensure subentries follow main entries</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Regexp::replace</span><span class="plain-syntax">(</span><span class="identifier-syntax">sort_key</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">": *"</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"ZZZZZZZZZZZZZZZZZZZZZZ"</span><span class="plain-syntax">, </span><span class="identifier-syntax">REP_REPEATING</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::get_first_char</span><span class="plain-syntax">(</span><span class="identifier-syntax">sort_key</span><span class="plain-syntax">) != </span><span class="character-syntax">':'</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Regexp::replace</span><span class="plain-syntax">(</span><span class="identifier-syntax">sort_key</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">": *"</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"ZZZZZZZZZZZZZZZZZZZZZZ"</span><span class="plain-syntax">, </span><span class="identifier-syntax">REP_REPEATING</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="7-iu.html#SP5" class="function-link"><span class="function-syntax">IndexUtilities::improve_alphabetisation</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">sort_key</span><span class="plain-syntax">);</span>
|
||||
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">match_results</span><span class="plain-syntax"> </span><span class="identifier-syntax">mr</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Regexp::create_mr</span><span class="plain-syntax">();</span>
|
||||
|
@ -666,14 +667,19 @@ as it will be seen by the reader.
|
|||
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">un</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Str::copy</span><span class="plain-syntax">(</span><span class="identifier-syntax">un</span><span class="plain-syntax">, </span><span class="identifier-syntax">sort_key</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Regexp::replace</span><span class="plain-syntax">(</span><span class="identifier-syntax">un</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"%(%c*?%)"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="identifier-syntax">REP_REPEATING</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::begins_with</span><span class="plain-syntax">(</span><span class="identifier-syntax">sort_key</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"( )"</span><span class="plain-syntax">) == </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">) &&</span>
|
||||
<span class="plain-syntax"> (</span><span class="identifier-syntax">Str::begins_with</span><span class="plain-syntax">(</span><span class="identifier-syntax">sort_key</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"((-"</span><span class="plain-syntax">) == </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">) &&</span>
|
||||
<span class="plain-syntax"> (</span><span class="identifier-syntax">Str::begins_with</span><span class="plain-syntax">(</span><span class="identifier-syntax">sort_key</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"((+"</span><span class="plain-syntax">) == </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">))</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Regexp::replace</span><span class="plain-syntax">(</span><span class="identifier-syntax">un</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"%(%c*?%)"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="identifier-syntax">REP_REPEATING</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Regexp::replace</span><span class="plain-syntax">(</span><span class="identifier-syntax">un</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">" "</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="identifier-syntax">REP_REPEATING</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Regexp::replace</span><span class="plain-syntax">(</span><span class="identifier-syntax">un</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">","</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="identifier-syntax">REP_REPEATING</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::get_first_char</span><span class="plain-syntax">(</span><span class="identifier-syntax">sort_key</span><span class="plain-syntax">) != </span><span class="character-syntax">','</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Regexp::replace</span><span class="plain-syntax">(</span><span class="identifier-syntax">un</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">","</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="identifier-syntax">REP_REPEATING</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">f</span><span class="plain-syntax"> = </span><span class="character-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">Characters::isalpha</span><span class="plain-syntax">(</span><span class="identifier-syntax">Str::get_first_char</span><span class="plain-syntax">(</span><span class="identifier-syntax">sort_key</span><span class="plain-syntax">)))</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">f</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Str::get_first_char</span><span class="plain-syntax">(</span><span class="identifier-syntax">sort_key</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">il</span><span class="plain-syntax">-></span><span class="element-syntax">sorting_key</span><span class="plain-syntax">, </span><span class="string-syntax">"%c_%S=___=%S=___=%07d"</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">f</span><span class="plain-syntax">, </span><span class="identifier-syntax">un</span><span class="plain-syntax">, </span><span class="identifier-syntax">sort_key</span><span class="plain-syntax">, </span><span class="identifier-syntax">il</span><span class="plain-syntax">-></span><span class="identifier-syntax">allocation_id</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">un</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">sort_key</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Regexp::dispose_of</span><span class="plain-syntax">(&</span><span class="identifier-syntax">mr</span><span class="plain-syntax">);</span>
|
||||
|
@ -764,6 +770,13 @@ as it will be seen by the reader.
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">details</span><span class="plain-syntax">, </span><span class="string-syntax">"class=\"indexentry\" style=\"margin-left: %dem;\""</span><span class="plain-syntax">, </span><span class="constant-syntax">4</span><span class="plain-syntax">*</span><span class="identifier-syntax">indent_level</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="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="string-syntax">"p"</span><span class="plain-syntax">, </span><span class="identifier-syntax">details</span><span class="plain-syntax">, </span><span class="identifier-syntax">__FILE__</span><span class="plain-syntax">, </span><span class="identifier-syntax">__LINE__</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">details</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">IFM_example</span><span class="plain-syntax"> *</span><span class="identifier-syntax">EG</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">il</span><span class="plain-syntax">-></span><span class="element-syntax">example_index_status</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">index_reference</span><span class="plain-syntax"> *</span><span class="identifier-syntax">ref</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER_LINKED_LIST</span><span class="plain-syntax">(</span><span class="identifier-syntax">ref</span><span class="plain-syntax">, </span><span class="reserved-syntax">index_reference</span><span class="plain-syntax">, </span><span class="identifier-syntax">il</span><span class="plain-syntax">-></span><span class="element-syntax">index_points</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">ref</span><span class="plain-syntax">-></span><span class="element-syntax">example</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">EG</span><span class="plain-syntax"> = </span><span class="identifier-syntax">ref</span><span class="plain-syntax">-></span><span class="element-syntax">example</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="7-gi.html#SP9_2_3_2" class="named-paragraph-link"><span class="named-paragraph">Render the lemma text</span><span class="named-paragraph-number">9.2.3.2</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="7-gi.html#SP9_2_3_3" class="named-paragraph-link"><span class="named-paragraph">Render the category gloss</span><span class="named-paragraph-number">9.2.3.3</span></a></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;&nbsp;"</span><span class="plain-syntax">);</span>
|
||||
|
@ -793,11 +806,7 @@ as it will be seen by the reader.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax">=0, </span><span class="identifier-syntax">L</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Str::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">untreated</span><span class="plain-syntax">); </span><span class="identifier-syntax">i</span><span class="plain-syntax"><</span><span class="identifier-syntax">L</span><span class="plain-syntax">; </span><span class="identifier-syntax">i</span><span class="plain-syntax">++) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">c</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Str::get_at</span><span class="plain-syntax">(</span><span class="identifier-syntax">untreated</span><span class="plain-syntax">, </span><span class="identifier-syntax">i</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">c</span><span class="plain-syntax"> == </span><span class="character-syntax">'\\'</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">n</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">, </span><span class="identifier-syntax">d</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">, </span><span class="identifier-syntax">id</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">while</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Characters::isdigit</span><span class="plain-syntax">(</span><span class="identifier-syntax">id</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Str::get_at</span><span class="plain-syntax">(</span><span class="identifier-syntax">untreated</span><span class="plain-syntax">, </span><span class="identifier-syntax">i</span><span class="plain-syntax">+1))) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax">++, </span><span class="identifier-syntax">d</span><span class="plain-syntax">++; </span><span class="identifier-syntax">n</span><span class="plain-syntax"> = </span><span class="identifier-syntax">n</span><span class="plain-syntax">*10 + (</span><span class="identifier-syntax">id</span><span class="plain-syntax"> - </span><span class="character-syntax">'0'</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">n</span><span class="plain-syntax"> == </span><span class="constant-syntax">0</span><span class="plain-syntax">) </span><span class="identifier-syntax">n</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Str::get_at</span><span class="plain-syntax">(</span><span class="identifier-syntax">untreated</span><span class="plain-syntax">, ++</span><span class="identifier-syntax">i</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">n</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Str::get_at</span><span class="plain-syntax">(</span><span class="identifier-syntax">untreated</span><span class="plain-syntax">, ++</span><span class="identifier-syntax">i</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">n</span><span class="plain-syntax"> == </span><span class="character-syntax">'('</span><span class="plain-syntax">) </span><span class="identifier-syntax">n</span><span class="plain-syntax"> = </span><span class="constant-syntax">SAVED_OPEN_BRACKET</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">n</span><span class="plain-syntax"> == </span><span class="character-syntax">')'</span><span class="plain-syntax">) </span><span class="identifier-syntax">n</span><span class="plain-syntax"> = </span><span class="constant-syntax">SAVED_CLOSE_BRACKET</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">PUT_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">lemma_wording</span><span class="plain-syntax">, </span><span class="identifier-syntax">n</span><span class="plain-syntax">);</span>
|
||||
|
@ -805,6 +814,18 @@ as it will be seen by the reader.
|
|||
<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">ic</span><span class="plain-syntax">-></span><span class="element-syntax">cat_bracketed</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">Regexp::match</span><span class="plain-syntax">(&</span><span class="identifier-syntax">mr</span><span class="plain-syntax">, </span><span class="identifier-syntax">lemma_wording</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"(%c*?)%(%(%+ %+%)%)(%c*)"</span><span class="plain-syntax">)) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Str::clear</span><span class="plain-syntax">(</span><span class="identifier-syntax">lemma_wording</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">lemma_wording</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="string-syntax">"%S<span class=\"index%Sbracketed\">%c+ +%c</span>%S"</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">mr</span><span class="plain-syntax">.</span><span class="identifier-syntax">exp</span><span class="plain-syntax">[0], </span><span class="identifier-syntax">category</span><span class="plain-syntax">, </span><span class="constant-syntax">SAVED_OPEN_BRACKET</span><span class="plain-syntax">, </span><span class="constant-syntax">SAVED_CLOSE_BRACKET</span><span class="plain-syntax">, </span><span class="identifier-syntax">mr</span><span class="plain-syntax">.</span><span class="identifier-syntax">exp</span><span class="plain-syntax">[1]);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">while</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Regexp::match</span><span class="plain-syntax">(&</span><span class="identifier-syntax">mr</span><span class="plain-syntax">, </span><span class="identifier-syntax">lemma_wording</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"(%c*?)%(%(%- %-%)%)(%c*)"</span><span class="plain-syntax">)) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Str::clear</span><span class="plain-syntax">(</span><span class="identifier-syntax">lemma_wording</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">lemma_wording</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="string-syntax">"%S<span class=\"index%Sbracketed\">%c- -%c</span>%S"</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">mr</span><span class="plain-syntax">.</span><span class="identifier-syntax">exp</span><span class="plain-syntax">[0], </span><span class="identifier-syntax">category</span><span class="plain-syntax">, </span><span class="constant-syntax">SAVED_OPEN_BRACKET</span><span class="plain-syntax">, </span><span class="constant-syntax">SAVED_CLOSE_BRACKET</span><span class="plain-syntax">, </span><span class="identifier-syntax">mr</span><span class="plain-syntax">.</span><span class="identifier-syntax">exp</span><span class="plain-syntax">[1]);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">while</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Regexp::match</span><span class="plain-syntax">(&</span><span class="identifier-syntax">mr</span><span class="plain-syntax">, </span><span class="identifier-syntax">lemma_wording</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"(%c*?)%((%c*?)%)(%c*)"</span><span class="plain-syntax">)) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Str::clear</span><span class="plain-syntax">(</span><span class="identifier-syntax">lemma_wording</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">lemma_wording</span><span class="plain-syntax">,</span>
|
||||
|
@ -831,11 +852,17 @@ as it will be seen by the reader.
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">il</span><span class="plain-syntax">-></span><span class="element-syntax">example_index_status</span><span class="plain-syntax"> == </span><span class="constant-syntax">1</span><span class="plain-syntax">) </span><span class="identifier-syntax">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-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">il</span><span class="plain-syntax">-></span><span class="element-syntax">example_index_status</span><span class="plain-syntax"> == </span><span class="constant-syntax">1</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-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">EG</span><span class="plain-syntax">) </span><span class="identifier-syntax">HTML_OPEN_WITH</span><span class="plain-syntax">(</span><span class="string-syntax">"a"</span><span class="plain-syntax">, </span><span class="string-syntax">"href=\"%S\""</span><span class="plain-syntax">, </span><span class="identifier-syntax">EG</span><span class="plain-syntax">-></span><span class="identifier-syntax">URL</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">"<span class=\"index%S\">"</span><span class="plain-syntax">, </span><span class="identifier-syntax">category</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">lemma_wording</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">"span"</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">il</span><span class="plain-syntax">-></span><span class="element-syntax">example_index_status</span><span class="plain-syntax"> == </span><span class="constant-syntax">1</span><span class="plain-syntax">) </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-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">il</span><span class="plain-syntax">-></span><span class="element-syntax">example_index_status</span><span class="plain-syntax"> == </span><span class="constant-syntax">1</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">EG</span><span class="plain-syntax">) </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"a"</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">"b"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="7-gi.html#SP9_2_3">§9.2.3</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP9_2_3_3" class="paragraph-anchor"></a><b>§9.2.3.3. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Render the category gloss</span><span class="named-paragraph-number">9.2.3.3</span></span><span class="comment-syntax"> =</span>
|
||||
|
@ -877,7 +904,7 @@ as it will be seen by the reader.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">E</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">S</span><span class="plain-syntax">) </span><span class="identifier-syntax">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">link</span><span class="plain-syntax">, </span><span class="string-syntax">" "</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">link</span><span class="plain-syntax">, </span><span class="string-syntax">"ex %S"</span><span class="plain-syntax">, </span><span class="identifier-syntax">E</span><span class="plain-syntax">-></span><span class="identifier-syntax">insignia</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">A</span><span class="plain-syntax"> = </span><span class="identifier-syntax">E</span><span class="plain-syntax">-></span><span class="identifier-syntax">URL</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">EG</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) </span><span class="identifier-syntax">A</span><span class="plain-syntax"> = </span><span class="identifier-syntax">E</span><span class="plain-syntax">-></span><span class="identifier-syntax">URL</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">Str::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">A</span><span class="plain-syntax">) == </span><span class="constant-syntax">0</span><span class="plain-syntax">) { </span><span class="identifier-syntax">LOG</span><span class="plain-syntax">(</span><span class="string-syntax">"Alert! No anchor for %S\n"</span><span class="plain-syntax">, </span><span class="identifier-syntax">link</span><span class="plain-syntax">); }</span>
|
||||
<span class="plain-syntax"> </span><a href="7-iu.html#SP2" class="function-link"><span class="function-syntax">IndexUtilities::general_link</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">link_class</span><span class="plain-syntax">, </span><span class="identifier-syntax">A</span><span class="plain-syntax">, </span><span class="identifier-syntax">link</span><span class="plain-syntax">);</span>
|
||||
|
|
|
@ -71,7 +71,7 @@ function togglePopup(material_id) {
|
|||
</pre>
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">indoc_settings_test_index_mode</span><span class="plain-syntax"> = </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">;</span>
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">indoc_settings_index_alphabetisation_algorithm</span><span class="plain-syntax"> = </span><span class="constant-syntax">WORD_ALPHABETIZATION</span><span class="plain-syntax">;</span>
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">indoc_settings_index_alphabetisation_algorithm</span><span class="plain-syntax"> = </span><span class="constant-syntax">LETTER_ALPHABETIZATION</span><span class="plain-syntax">;</span>
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">indoc_settings_navigation_simplified_letter_rows</span><span class="plain-syntax"> = </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">;</span>
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">indoc_settings_wrapper</span><span class="plain-syntax"> = </span><span class="constant-syntax">WRAPPER_none</span><span class="plain-syntax">;</span>
|
||||
</pre>
|
||||
|
|
|
@ -106,6 +106,7 @@ For the Inform manual built in to the apps, there will be two volumes,
|
|||
=
|
||||
typedef struct cd_volume {
|
||||
struct text_stream *title;
|
||||
struct text_stream *label;
|
||||
struct text_stream *home_URL;
|
||||
struct linked_list *pagesets; /* of |cd_pageset| */
|
||||
struct markdown_item *volume_item;
|
||||
|
@ -113,9 +114,10 @@ typedef struct cd_volume {
|
|||
} cd_volume;
|
||||
|
||||
cd_volume *DocumentationCompiler::add_volume(compiled_documentation *cd, text_stream *title,
|
||||
text_stream *home_URL) {
|
||||
text_stream *label, text_stream *home_URL) {
|
||||
cd_volume *vol = CREATE(cd_volume);
|
||||
vol->title = Str::duplicate(title);
|
||||
vol->label = Str::duplicate(label);
|
||||
vol->home_URL = Str::duplicate(home_URL);
|
||||
vol->pagesets = NEW_LINKED_LIST(cd_pageset);
|
||||
vol->volume_item = NULL;
|
||||
|
@ -247,7 +249,7 @@ compiled_documentation *DocumentationCompiler::new_cd(pathname *P,
|
|||
}
|
||||
Indexes::add_indexing_notation(cd, NULL, NULL, I"standard", NULL);
|
||||
if (LinkedLists::len(cd->volumes) == 0) {
|
||||
cd_volume *implied = DocumentationCompiler::add_volume(cd, cd->title, I"index.html");
|
||||
cd_volume *implied = DocumentationCompiler::add_volume(cd, cd->title, NULL, I"index.html");
|
||||
DocumentationCompiler::add_page(implied, I"Documentation.md",
|
||||
I"chapter*.html", CHAPTER_PAGESETBREAKING);
|
||||
}
|
||||
|
@ -324,7 +326,7 @@ void DocumentationCompiler::read_layout_helper(text_stream *cl, text_file_positi
|
|||
cd->example_URL_pattern = Str::duplicate(mr.exp[1]);
|
||||
} else if (Regexp::match(&mr, cl, L" *pages: *(%c*?) *")) {
|
||||
@<Act on a page-set declaration@>;
|
||||
} else if (Regexp::match(&mr, cl, L" *volume: *\"(%c*?)\" to \"(%c*?)\"")) {
|
||||
} else if (Regexp::match(&mr, cl, L" *volume: *\"(%c*?)\" or \"(%C+)\" to \"(%c*?)\"")) {
|
||||
@<Act on a volume declaration@>;
|
||||
} else if (Regexp::match(&mr, cl, L" *alphabetical index: *\"(%c*?)\" to \"(%c*?)\" *")) {
|
||||
cd->index_title[ALPHABETICAL_EG_INDEX] = Str::duplicate(mr.exp[0]);
|
||||
|
@ -351,9 +353,9 @@ void DocumentationCompiler::read_layout_helper(text_stream *cl, text_file_positi
|
|||
}
|
||||
|
||||
@<Act on a volume declaration@> =
|
||||
if (Str::eq(mr.exp[1], I"index.html"))
|
||||
if (Str::eq(mr.exp[2], I"index.html"))
|
||||
DocumentationCompiler::layout_error(cd, I"a volume home page cannot be 'index.html'", cl, tfp);
|
||||
DocumentationCompiler::add_volume(cd, mr.exp[0], mr.exp[1]);
|
||||
DocumentationCompiler::add_volume(cd, mr.exp[0], mr.exp[1], mr.exp[2]);
|
||||
|
||||
@<Act on a page-set declaration@> =
|
||||
TEMPORARY_TEXT(src)
|
||||
|
@ -422,7 +424,8 @@ void DocumentationCompiler::read_layout_helper(text_stream *cl, text_file_positi
|
|||
|
||||
cd_volume *vol, *last_vol = NULL;
|
||||
LOOP_OVER_LINKED_LIST(vol, cd_volume, cd->volumes) last_vol = vol;
|
||||
if (last_vol == NULL) last_vol = DocumentationCompiler::add_volume(cd, cd->title, I"index.html");
|
||||
if (last_vol == NULL)
|
||||
last_vol = DocumentationCompiler::add_volume(cd, cd->title, NULL, I"index.html");
|
||||
|
||||
if (LinkedLists::len(cd->source_files) > 0) {
|
||||
int counter = 0;
|
||||
|
@ -642,8 +645,11 @@ typedef struct example_scanning_state {
|
|||
IFM_example *eg = InformFlavouredMarkdown::new_example(
|
||||
ess.long_title, ess.desc, ess.star_count, LinkedLists::len(cd->examples));
|
||||
eg->cue = stc->primary_placement;
|
||||
eg->secondary_cue = stc->secondary_placement;
|
||||
eg->ex_subtitle = ess.subtitle;
|
||||
eg->ex_index = ess.index;
|
||||
eg->primary_label = (primary)?(primary->label):NULL;
|
||||
eg->secondary_label = (secondary)?(secondary->label):NULL;
|
||||
ADD_TO_LINKED_LIST(eg, IFM_example, cd->examples);
|
||||
|
||||
stc->as_example = eg;
|
||||
|
|
|
@ -412,7 +412,7 @@ void DocumentationRenderer::render_example(OUTPUT_STREAM, compiled_documentation
|
|||
} else {
|
||||
IFM_example *E = RETRIEVE_POINTER_IFM_example(alt_EN->user_state);
|
||||
HTML_OPEN_WITH("div", "class=\"markdowncontent\"");
|
||||
InformFlavouredMarkdown::render_example_heading(OUT, E, TRUE);
|
||||
InformFlavouredMarkdown::render_example_heading(OUT, E, NULL);
|
||||
markdown_item *passage_node = alt_EN->down;
|
||||
while (passage_node) {
|
||||
Markdown::render_extended(OUT, passage_node,
|
||||
|
|
|
@ -166,17 +166,6 @@ void Indexes::scan(compiled_documentation *cd) {
|
|||
LOOP_OVER_LINKED_LIST(E, IFM_example, cd->examples)
|
||||
Indexes::scan_r(cd, E->header, NULL, E, &volume_number);
|
||||
if (LinkedLists::len(cd->id.lemma_list) > 0) cd->id.present_with_index = TRUE;
|
||||
LOOP_OVER_LINKED_LIST(E, IFM_example, cd->examples) {
|
||||
TEMPORARY_TEXT(term)
|
||||
Indexes::extract_from_indexable_matter(term, cd, Str::duplicate(E->name));
|
||||
Indexes::mark_index_term(cd, term, 0, NULL, E->URL, E, NULL, NULL, 1);
|
||||
if (Str::len(E->ex_index) > 0) {
|
||||
Str::clear(term);
|
||||
Indexes::extract_from_indexable_matter(term, cd, Str::duplicate(E->ex_index));
|
||||
Indexes::mark_index_term(cd, term, 0, NULL, E->URL, E, NULL, NULL, 2);
|
||||
}
|
||||
DISCARD_TEXT(term)
|
||||
}
|
||||
}
|
||||
|
||||
void Indexes::scan_r(compiled_documentation *cd, markdown_item *md, markdown_item **latest,
|
||||
|
@ -190,6 +179,18 @@ void Indexes::scan_r(compiled_documentation *cd, markdown_item *md, markdown_ite
|
|||
Indexes::scan_indexingnotations(cd, md, md->details, md->stashed, *volume_number,
|
||||
(latest)?(*latest):NULL, E);
|
||||
}
|
||||
if ((md->type == INFORM_EXAMPLE_HEADING_MIT) && (latest) && (*latest)) {
|
||||
IFM_example *EG = RETRIEVE_POINTER_IFM_example(md->user_state);
|
||||
TEMPORARY_TEXT(term)
|
||||
Indexes::extract_from_indexable_matter(term, cd, Str::duplicate(EG->name));
|
||||
Indexes::mark_index_term(cd, term, *volume_number, *latest, NULL, EG, NULL, NULL, 1);
|
||||
if ((Str::len(EG->ex_index) > 0) && (Str::ne(EG->ex_index, EG->name))) {
|
||||
Str::clear(term);
|
||||
Indexes::extract_from_indexable_matter(term, cd, Str::duplicate(EG->ex_index));
|
||||
Indexes::mark_index_term(cd, term, *volume_number, *latest, NULL, EG, NULL, NULL, 2);
|
||||
}
|
||||
DISCARD_TEXT(term)
|
||||
}
|
||||
}
|
||||
for (markdown_item *ch = md->down; ch; ch=ch->next)
|
||||
Indexes::scan_r(cd, ch, latest, E, volume_number);
|
||||
|
@ -540,9 +541,9 @@ int Indexes::sort_comparison(const void *ent1, const void *ent2) {
|
|||
LOOP_OVER_LINKED_LIST(il, index_lemma, cd->id.lemma_list) {
|
||||
TEMPORARY_TEXT(sort_key)
|
||||
Str::copy(sort_key, il->term);
|
||||
|
||||
/* ensure subentries follow main entries */
|
||||
Regexp::replace(sort_key, L": *", L"ZZZZZZZZZZZZZZZZZZZZZZ", REP_REPEATING);
|
||||
if (Str::get_first_char(sort_key) != ':')
|
||||
Regexp::replace(sort_key, L": *", L"ZZZZZZZZZZZZZZZZZZZZZZ", REP_REPEATING);
|
||||
IndexUtilities::improve_alphabetisation(sort_key);
|
||||
|
||||
match_results mr = Regexp::create_mr();
|
||||
|
@ -554,14 +555,19 @@ int Indexes::sort_comparison(const void *ent1, const void *ent2) {
|
|||
|
||||
TEMPORARY_TEXT(un)
|
||||
Str::copy(un, sort_key);
|
||||
Regexp::replace(un, L"%(%c*?%)", NULL, REP_REPEATING);
|
||||
if ((Str::begins_with(sort_key, I"( )") == FALSE) &&
|
||||
(Str::begins_with(sort_key, I"((-") == FALSE) &&
|
||||
(Str::begins_with(sort_key, I"((+") == FALSE))
|
||||
Regexp::replace(un, L"%(%c*?%)", NULL, REP_REPEATING);
|
||||
Regexp::replace(un, L" ", NULL, REP_REPEATING);
|
||||
Regexp::replace(un, L",", NULL, REP_REPEATING);
|
||||
if (Str::get_first_char(sort_key) != ',')
|
||||
Regexp::replace(un, L",", NULL, REP_REPEATING);
|
||||
int f = ' ';
|
||||
if (Characters::isalpha(Str::get_first_char(sort_key)))
|
||||
f = Str::get_first_char(sort_key);
|
||||
WRITE_TO(il->sorting_key, "%c_%S=___=%S=___=%07d",
|
||||
f, un, sort_key, il->allocation_id);
|
||||
|
||||
DISCARD_TEXT(un)
|
||||
DISCARD_TEXT(sort_key)
|
||||
Regexp::dispose_of(&mr);
|
||||
|
@ -636,6 +642,13 @@ int Indexes::sort_comparison(const void *ent1, const void *ent2) {
|
|||
WRITE_TO(details, "class=\"indexentry\" style=\"margin-left: %dem;\"", 4*indent_level);
|
||||
HTML::open(OUT, "p", details, __FILE__, __LINE__);
|
||||
DISCARD_TEXT(details)
|
||||
IFM_example *EG = NULL;
|
||||
if (il->example_index_status > 0) {
|
||||
index_reference *ref;
|
||||
LOOP_OVER_LINKED_LIST(ref, index_reference, il->index_points)
|
||||
if (ref->example)
|
||||
EG = ref->example;
|
||||
}
|
||||
@<Render the lemma text@>;
|
||||
@<Render the category gloss@>;
|
||||
WRITE(" ");
|
||||
|
@ -661,11 +674,7 @@ int Indexes::sort_comparison(const void *ent1, const void *ent2) {
|
|||
for (int i=0, L = Str::len(untreated); i<L; i++) {
|
||||
int c = Str::get_at(untreated, i);
|
||||
if (c == '\\') {
|
||||
int n = 0, d = 0, id = 0;
|
||||
while (Characters::isdigit(id = Str::get_at(untreated, i+1))) {
|
||||
i++, d++; n = n*10 + (id - '0');
|
||||
}
|
||||
if (n == 0) n = Str::get_at(untreated, ++i);
|
||||
int n = Str::get_at(untreated, ++i);
|
||||
if (n == '(') n = SAVED_OPEN_BRACKET;
|
||||
if (n == ')') n = SAVED_CLOSE_BRACKET;
|
||||
PUT_TO(lemma_wording, n);
|
||||
|
@ -673,6 +682,18 @@ int Indexes::sort_comparison(const void *ent1, const void *ent2) {
|
|||
}
|
||||
|
||||
if (ic->cat_bracketed) {
|
||||
while (Regexp::match(&mr, lemma_wording, L"(%c*?)%(%(%+ %+%)%)(%c*)")) {
|
||||
Str::clear(lemma_wording);
|
||||
WRITE_TO(lemma_wording,
|
||||
"%S<span class=\"index%Sbracketed\">%c+ +%c</span>%S",
|
||||
mr.exp[0], category, SAVED_OPEN_BRACKET, SAVED_CLOSE_BRACKET, mr.exp[1]);
|
||||
}
|
||||
while (Regexp::match(&mr, lemma_wording, L"(%c*?)%(%(%- %-%)%)(%c*)")) {
|
||||
Str::clear(lemma_wording);
|
||||
WRITE_TO(lemma_wording,
|
||||
"%S<span class=\"index%Sbracketed\">%c- -%c</span>%S",
|
||||
mr.exp[0], category, SAVED_OPEN_BRACKET, SAVED_CLOSE_BRACKET, mr.exp[1]);
|
||||
}
|
||||
while (Regexp::match(&mr, lemma_wording, L"(%c*?)%((%c*?)%)(%c*)")) {
|
||||
Str::clear(lemma_wording);
|
||||
WRITE_TO(lemma_wording,
|
||||
|
@ -695,11 +716,17 @@ int Indexes::sort_comparison(const void *ent1, const void *ent2) {
|
|||
}
|
||||
|
||||
@<Render the lemma text@> =
|
||||
if (il->example_index_status == 1) HTML_OPEN("b");
|
||||
if (il->example_index_status == 1) {
|
||||
HTML_OPEN("b");
|
||||
if (EG) HTML_OPEN_WITH("a", "href=\"%S\"", EG->URL);
|
||||
}
|
||||
WRITE("<span class=\"index%S\">", category);
|
||||
WRITE("%S", lemma_wording);
|
||||
HTML_CLOSE("span");
|
||||
if (il->example_index_status == 1) HTML_CLOSE("b");
|
||||
if (il->example_index_status == 1) {
|
||||
if (EG) HTML_CLOSE("a");
|
||||
HTML_CLOSE("b");
|
||||
}
|
||||
|
||||
@<Render the category gloss@> =
|
||||
if (Str::len(ic->cat_glossed) > 0)
|
||||
|
@ -733,7 +760,7 @@ int Indexes::sort_comparison(const void *ent1, const void *ent2) {
|
|||
if (E) {
|
||||
if (S) WRITE_TO(link, " ");
|
||||
WRITE_TO(link, "ex %S", E->insignia);
|
||||
A = E->URL;
|
||||
if (EG == NULL) A = E->URL;
|
||||
}
|
||||
if (Str::len(A) == 0) { LOG("Alert! No anchor for %S\n", link); }
|
||||
IndexUtilities::general_link(OUT, link_class, A, link);
|
||||
|
|
|
@ -13,7 +13,7 @@ Some conveniences shared by our different forms of index.
|
|||
|
||||
= (early code)
|
||||
int indoc_settings_test_index_mode = FALSE;
|
||||
int indoc_settings_index_alphabetisation_algorithm = WORD_ALPHABETIZATION;
|
||||
int indoc_settings_index_alphabetisation_algorithm = LETTER_ALPHABETIZATION;
|
||||
int indoc_settings_navigation_simplified_letter_rows = FALSE;
|
||||
int indoc_settings_wrapper = WRAPPER_none;
|
||||
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
Total memory consumption was 139573K = 136 MB
|
||||
Total memory consumption was 139585K = 136 MB
|
||||
|
||||
---- was used for 2127132 objects, in 374785 frames in 0 x 800K = 0K = 0 MB:
|
||||
---- was used for 2127144 objects, in 374797 frames in 0 x 800K = 0K = 0 MB:
|
||||
|
||||
30.2% inter_tree_node_array 60 x 8192 = 491520 objects, 43255680 bytes
|
||||
19.4% text_stream_array 4925 x 100 = 492500 objects, 27737600 bytes
|
||||
17.7% linked_list 45399 objects, 25423440 bytes
|
||||
17.7% linked_list 45403 objects, 25425680 bytes
|
||||
9.9% inter_symbol_array 134 x 1024 = 137216 objects, 14274752 bytes
|
||||
9.7% inter_error_stash_array 106 x 1024 = 108544 objects, 13897024 bytes
|
||||
7.4% parse_node 133803 objects, 10704240 bytes
|
||||
|
@ -82,8 +82,8 @@ Total memory consumption was 139573K = 136 MB
|
|||
---- heading 213 objects, 47712 bytes
|
||||
---- to_family_data 528 objects, 42240 bytes
|
||||
---- text_substitution 438 objects, 42048 bytes
|
||||
---- anl_clause_array 1 x 1000 objects, 40032 bytes
|
||||
---- activity_list_array 1 x 1000 objects, 40032 bytes
|
||||
---- anl_clause_array 1 x 1000 objects, 40032 bytes
|
||||
---- shared_variable_access_list_array 12 x 100 = 1200 objects, 38784 bytes
|
||||
---- parsing_data 677 objects, 37912 bytes
|
||||
---- production_list 627 objects, 35112 bytes
|
||||
|
@ -111,8 +111,8 @@ Total memory consumption was 139573K = 136 MB
|
|||
---- pcalc_prop_deferral 86 objects, 17888 bytes
|
||||
---- to_phrase_request 63 objects, 17136 bytes
|
||||
---- understanding_reference_array 2 x 100 = 200 objects, 16064 bytes
|
||||
---- action_name_list_array 1 x 1000 objects, 16032 bytes
|
||||
---- match_avinue_array 1 x 1000 objects, 16032 bytes
|
||||
---- action_name_list_array 1 x 1000 objects, 16032 bytes
|
||||
---- md_doc_state 3 objects, 15720 bytes
|
||||
---- adjective 140 objects, 15680 bytes
|
||||
---- JSON_value 174 objects, 15312 bytes
|
||||
|
@ -141,36 +141,36 @@ Total memory consumption was 139573K = 136 MB
|
|||
---- explicit_action_array 1 x 100 objects, 4832 bytes
|
||||
---- value_property_data 86 objects, 4816 bytes
|
||||
---- compatibility_specification 100 objects, 4800 bytes
|
||||
---- parsing_pp_data 96 objects, 4608 bytes
|
||||
---- method_set 144 objects, 4608 bytes
|
||||
---- parsing_pp_data 96 objects, 4608 bytes
|
||||
---- command_line_switch 56 objects, 4480 bytes
|
||||
---- semver_range 42 objects, 4368 bytes
|
||||
---- use_option 31 objects, 4216 bytes
|
||||
---- parse_node_annotation_type 124 objects, 3968 bytes
|
||||
---- either_or_property_data 62 objects, 3968 bytes
|
||||
---- parse_node_annotation_type 124 objects, 3968 bytes
|
||||
---- definition 48 objects, 3456 bytes
|
||||
---- property_setting_bp_data 86 objects, 3440 bytes
|
||||
---- submodule_request 86 objects, 3440 bytes
|
||||
---- property_setting_bp_data 86 objects, 3440 bytes
|
||||
---- kind_constructor_comparison_schema_array 1 x 100 objects, 3232 bytes
|
||||
---- target_vm 21 objects, 3024 bytes
|
||||
---- JSON_type 39 objects, 2808 bytes
|
||||
---- JSON_single_requirement 55 objects, 2640 bytes
|
||||
---- part_of_inference_data 79 objects, 2528 bytes
|
||||
---- parentage_inference_data 79 objects, 2528 bytes
|
||||
---- part_of_inference_data 79 objects, 2528 bytes
|
||||
---- kind_constructor_instance_rule_array 1 x 100 objects, 2432 bytes
|
||||
---- kind_constructor_casting_rule_array 1 x 100 objects, 2432 bytes
|
||||
---- equation_symbol 30 objects, 2400 bytes
|
||||
---- scene 1 object, 2352 bytes
|
||||
---- build_step 28 objects, 2016 bytes
|
||||
---- pronoun_usage 42 objects, 1680 bytes
|
||||
---- compiler_feature 30 objects, 1680 bytes
|
||||
---- pronoun_usage 42 objects, 1680 bytes
|
||||
---- table_contribution_array 1 x 100 objects, 1632 bytes
|
||||
---- markdown_feature 33 objects, 1584 bytes
|
||||
---- inform_pipeline 24 objects, 1536 bytes
|
||||
---- inbuild_requirement 37 objects, 1480 bytes
|
||||
---- noun_filter_token 22 objects, 1408 bytes
|
||||
---- special_meaning_holder 35 objects, 1400 bytes
|
||||
---- inter_node_array 35 objects, 1400 bytes
|
||||
---- special_meaning_holder 35 objects, 1400 bytes
|
||||
---- JSON_requirement 42 objects, 1344 bytes
|
||||
---- table_column 16 objects, 1280 bytes
|
||||
---- constant_phrase 20 objects, 1280 bytes
|
||||
|
@ -190,79 +190,81 @@ Total memory consumption was 139573K = 136 MB
|
|||
---- kit_configuration 21 objects, 840 bytes
|
||||
---- phrase_option_array 1 x 100 objects, 824 bytes
|
||||
---- compiled_documentation 3 objects, 792 bytes
|
||||
---- copy_error 7 objects, 784 bytes
|
||||
---- inform_kit 7 objects, 784 bytes
|
||||
---- copy_error 7 objects, 784 bytes
|
||||
---- internal_test 15 objects, 720 bytes
|
||||
---- relation_guard 5 objects, 640 bytes
|
||||
---- implication 13 objects, 624 bytes
|
||||
---- chapter_md 7 objects, 616 bytes
|
||||
---- code_generation 1 object, 576 bytes
|
||||
---- inter_warehouse_room 10 objects, 560 bytes
|
||||
---- inter_annotation_form 14 objects, 560 bytes
|
||||
---- generated_segment 14 objects, 560 bytes
|
||||
---- module 7 objects, 560 bytes
|
||||
---- inter_warehouse_room 10 objects, 560 bytes
|
||||
---- rulebook_outcome 17 objects, 544 bytes
|
||||
---- small_word_set 11 objects, 528 bytes
|
||||
---- markdown_variation 3 objects, 528 bytes
|
||||
---- IFM_example 4 objects, 512 bytes
|
||||
---- equation 4 objects, 480 bytes
|
||||
---- i6_memory_setting 15 objects, 480 bytes
|
||||
---- inbuild_genre 8 objects, 448 bytes
|
||||
---- bp_family 14 objects, 448 bytes
|
||||
---- source_file 5 objects, 440 bytes
|
||||
---- inbuild_genre 8 objects, 448 bytes
|
||||
---- inference_family 11 objects, 440 bytes
|
||||
---- IFM_example 4 objects, 416 bytes
|
||||
---- source_file 5 objects, 440 bytes
|
||||
---- article_usage 8 objects, 384 bytes
|
||||
---- pronoun 8 objects, 320 bytes
|
||||
---- tree_inventory 1 object, 320 bytes
|
||||
---- cached_kind_declaration 8 objects, 320 bytes
|
||||
---- door_dir_notice 5 objects, 320 bytes
|
||||
---- tree_inventory 1 object, 320 bytes
|
||||
---- module_request 8 objects, 320 bytes
|
||||
---- grammatical_category 8 objects, 320 bytes
|
||||
---- pronoun 8 objects, 320 bytes
|
||||
---- cached_kind_declaration 8 objects, 320 bytes
|
||||
---- inter_pipeline 1 object, 312 bytes
|
||||
---- up_family 9 objects, 288 bytes
|
||||
---- contents_entry 7 objects, 280 bytes
|
||||
---- compilation_unit 5 objects, 280 bytes
|
||||
---- door_to_notice 5 objects, 280 bytes
|
||||
---- explicit_bp_data 5 objects, 280 bytes
|
||||
---- door_to_notice 5 objects, 280 bytes
|
||||
---- compilation_unit 5 objects, 280 bytes
|
||||
---- indexing_category 3 objects, 264 bytes
|
||||
---- verb_usage_tier 5 objects, 240 bytes
|
||||
---- kit_dependency 5 objects, 240 bytes
|
||||
---- inform_project 1 object, 232 bytes
|
||||
---- local_block_value 4 objects, 224 bytes
|
||||
---- adjective_meaning_family 7 objects, 224 bytes
|
||||
---- index_reference 4 objects, 224 bytes
|
||||
---- index_lemma 4 objects, 224 bytes
|
||||
---- local_block_value 4 objects, 224 bytes
|
||||
---- test_scenario 1 object, 216 bytes
|
||||
---- release_instructions 1 object, 208 bytes
|
||||
---- attachment_instruction 5 objects, 200 bytes
|
||||
---- build_skill 5 objects, 200 bytes
|
||||
---- code_generator 5 objects, 200 bytes
|
||||
---- attachment_instruction 5 objects, 200 bytes
|
||||
---- plural_dictionary_entry 4 objects, 192 bytes
|
||||
---- cd_volume 3 objects, 192 bytes
|
||||
---- element_activation 6 objects, 192 bytes
|
||||
---- cd_volume 3 objects, 168 bytes
|
||||
---- inter_architecture 4 objects, 160 bytes
|
||||
---- plural_dictionary_entry 4 objects, 192 bytes
|
||||
---- imperative_defn_family 4 objects, 160 bytes
|
||||
---- inference_subject_family 5 objects, 160 bytes
|
||||
---- inter_architecture 4 objects, 160 bytes
|
||||
---- cd_pageset 3 objects, 144 bytes
|
||||
---- inbuild_nest 3 objects, 120 bytes
|
||||
---- inform_language 1 object, 104 bytes
|
||||
---- md_links_dictionary 3 objects, 96 bytes
|
||||
---- article 2 objects, 80 bytes
|
||||
---- compile_task_data 1 object, 80 bytes
|
||||
---- group_together_function 2 objects, 80 bytes
|
||||
---- build_methodology 1 object, 56 bytes
|
||||
---- compile_task_data 1 object, 80 bytes
|
||||
---- article 2 objects, 80 bytes
|
||||
---- inter_warehouse 1 object, 56 bytes
|
||||
---- build_methodology 1 object, 56 bytes
|
||||
---- figures_data 1 object, 56 bytes
|
||||
---- inform_kit_ittt 1 object, 48 bytes
|
||||
---- star_invention 1 object, 48 bytes
|
||||
---- HTML_file_state 1 object, 48 bytes
|
||||
---- I6_generation_data 1 object, 48 bytes
|
||||
---- by_function_bp_data 1 object, 40 bytes
|
||||
---- inform_kit_ittt 1 object, 48 bytes
|
||||
---- kind_template_definition 1 object, 40 bytes
|
||||
---- target_pragma_setting 1 object, 40 bytes
|
||||
---- loop_over_scope 1 object, 40 bytes
|
||||
---- by_function_bp_data 1 object, 40 bytes
|
||||
---- target_pragma_setting 1 object, 40 bytes
|
||||
|
||||
99.9% was used for memory not allocated for objects:
|
||||
|
||||
62.3% text stream storage 89173912 bytes in 512564 claims
|
||||
62.3% text stream storage 89187140 bytes in 512607 claims
|
||||
3.8% dictionary storage 5497920 bytes in 7767 claims
|
||||
---- sorting 2624 bytes in 531 claims
|
||||
5.0% source text 7200000 bytes in 3 claims
|
||||
|
@ -280,5 +282,5 @@ Total memory consumption was 139573K = 136 MB
|
|||
---- code generation workspace for objects 3528 bytes in 19 claims
|
||||
0.1% emitter array storage 281184 bytes in 2006 claims
|
||||
|
||||
-136.-5% was overhead - -195220208 bytes = -190644K = -186 MB
|
||||
-136.-5% was overhead - -195223016 bytes = -190647K = -186 MB
|
||||
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
100.0% in inform7 run
|
||||
67.7% in compilation to Inter
|
||||
46.0% in //Sequence::undertake_queued_tasks//
|
||||
67.6% in compilation to Inter
|
||||
45.9% in //Sequence::undertake_queued_tasks//
|
||||
4.4% in //MajorNodes::pre_pass//
|
||||
3.7% in //MajorNodes::pass_1//
|
||||
3.6% in //MajorNodes::pass_1//
|
||||
1.8% in //ImperativeDefinitions::assess_all//
|
||||
1.4% in //RTKindConstructors::compile//
|
||||
1.4% in //RTPhrasebook::compile_entries//
|
||||
|
@ -13,16 +13,16 @@
|
|||
0.3% in //MajorNodes::pass_2//
|
||||
0.3% in //Sequence::undertake_queued_tasks//
|
||||
0.3% in //World::stage_V//
|
||||
4.5% not specifically accounted for
|
||||
27.3% in running Inter pipeline
|
||||
8.9% in step 14/15: generate inform6 -> auto.inf
|
||||
7.1% in step 5/15: load-binary-kits
|
||||
5.9% in step 6/15: make-synoptic-module
|
||||
4.8% not specifically accounted for
|
||||
27.5% in running Inter pipeline
|
||||
8.8% in step 14/15: generate inform6 -> auto.inf
|
||||
7.3% in step 5/15: load-binary-kits
|
||||
6.2% in step 6/15: make-synoptic-module
|
||||
1.8% 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
|
||||
1.9% not specifically accounted for
|
||||
4.1% in supervisor
|
||||
1.8% not specifically accounted for
|
||||
4.0% in supervisor
|
||||
0.8% not specifically accounted for
|
||||
|
|
|
@ -44,6 +44,7 @@
|
|||
|
||||
--md-background-colour: #e3e6ea;
|
||||
--example-label-colour: #E0FFFF;
|
||||
--example-see-also-colour: #E0E0E0;
|
||||
--light-border-colour: #d0d7de;
|
||||
}
|
||||
|
||||
|
@ -667,16 +668,31 @@ span.documentationerror {
|
|||
|
||||
/* For example box cues */
|
||||
|
||||
div.examplebox:after {
|
||||
content: "";
|
||||
display: table;
|
||||
clear: both;
|
||||
}
|
||||
div.examplebox div.exampleleft {
|
||||
float: left;
|
||||
box-sizing: border-box;
|
||||
width: 52px;
|
||||
width: 10%;
|
||||
height: 30px;
|
||||
padding: 8px 0;
|
||||
text-align: center;
|
||||
}
|
||||
div.examplebox div.examplemiddle {
|
||||
float: left;
|
||||
box-sizing: border-box;
|
||||
width: 80%;
|
||||
}
|
||||
div.examplebox div.exampleright {
|
||||
margin-left: 60px;
|
||||
float: left;
|
||||
box-sizing: border-box;
|
||||
width: 10%;
|
||||
height: 30px;
|
||||
padding: 8px 0;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
span.extensionexampleletter {
|
||||
|
@ -690,9 +706,28 @@ span.extensionexampleletter {
|
|||
border-top-right-radius: 12px;
|
||||
box-sizing: border-box;
|
||||
padding-bottom: 4px;
|
||||
padding-left: 20px;
|
||||
padding-right: 20px;
|
||||
padding-left: 8px;
|
||||
padding-right: 8px;
|
||||
padding-top: 4px;
|
||||
min-width: 30px;
|
||||
width: auto;
|
||||
}
|
||||
|
||||
span.extensionexampleseealso {
|
||||
color: var(--heading-panel-text-colour);
|
||||
font-size: 14px;
|
||||
font-style: italic;
|
||||
background-color: var(--example-see-also-colour);
|
||||
border-bottom-left-radius: 12px;
|
||||
border-bottom-right-radius: 12px;
|
||||
border-top-left-radius: 12px;
|
||||
border-top-right-radius: 12px;
|
||||
box-sizing: border-box;
|
||||
padding-bottom: 4px;
|
||||
padding-left: 8px;
|
||||
padding-right: 8px;
|
||||
padding-top: 4px;
|
||||
min-width: 30px;
|
||||
width: auto;
|
||||
}
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
"is": {
|
||||
"type": "kit",
|
||||
"title": "Architecture16Kit",
|
||||
"version": "10.2.0-beta+6X14"
|
||||
"version": "10.2.0-beta+6X15"
|
||||
},
|
||||
"compatibility": "16-bit",
|
||||
"kit-details": {
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
"is": {
|
||||
"type": "kit",
|
||||
"title": "Architecture32Kit",
|
||||
"version": "10.2.0-beta+6X14"
|
||||
"version": "10.2.0-beta+6X15"
|
||||
},
|
||||
"compatibility": "32-bit",
|
||||
"kit-details": {
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
"is": {
|
||||
"type": "kit",
|
||||
"title": "BasicInformKit",
|
||||
"version": "10.2.0-beta+6X14"
|
||||
"version": "10.2.0-beta+6X15"
|
||||
},
|
||||
"needs": [ {
|
||||
"need": {
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
"is": {
|
||||
"type": "kit",
|
||||
"title": "CommandParserKit",
|
||||
"version": "10.2.0-beta+6X14"
|
||||
"version": "10.2.0-beta+6X15"
|
||||
},
|
||||
"needs": [ {
|
||||
"need": {
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
"is": {
|
||||
"type": "kit",
|
||||
"title": "EnglishLanguageKit",
|
||||
"version": "10.2.0-beta+6X14"
|
||||
"version": "10.2.0-beta+6X15"
|
||||
},
|
||||
"needs": [ {
|
||||
"need": {
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
"is": {
|
||||
"type": "kit",
|
||||
"title": "WorldModelKit",
|
||||
"version": "10.2.0-beta+6X14"
|
||||
"version": "10.2.0-beta+6X15"
|
||||
},
|
||||
"needs": [ {
|
||||
"need": {
|
||||
|
|
Loading…
Reference in a new issue