|
|
|
@ -69,6 +69,7 @@ it's really not much more than a tree of Markdown:
|
|
|
|
|
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="reserved-syntax">inform_extension</span><span class="plain-syntax"> *</span><span class="identifier-syntax">associated_extension</span><span class="plain-syntax">;</span>
|
|
|
|
|
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="reserved-syntax">inform_extension</span><span class="plain-syntax"> *</span><span class="identifier-syntax">within_extension</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">markdown_item</span><span class="plain-syntax"> *</span><span class="identifier-syntax">alt_tree</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">md_links_dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">link_references</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">empty</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">examples</span><span class="plain-syntax">; </span><span class="comment-syntax"> of </span><span class="extract"><span class="extract-syntax">satellite_test_case</span></span>
|
|
|
|
|
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="identifier-syntax">linked_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">cases</span><span class="plain-syntax">; </span><span class="comment-syntax"> of </span><span class="extract"><span class="extract-syntax">satellite_test_case</span></span>
|
|
|
|
@ -83,6 +84,7 @@ it's really not much more than a tree of Markdown:
|
|
|
|
|
<span class="plain-syntax"> </span><span class="identifier-syntax">cd</span><span class="plain-syntax">-></span><span class="element-syntax">associated_extension</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">cd</span><span class="plain-syntax">-></span><span class="element-syntax">within_extension</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">cd</span><span class="plain-syntax">-></span><span class="element-syntax">alt_tree</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">cd</span><span class="plain-syntax">-></span><span class="element-syntax">link_references</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Markdown::new_links_dictionary</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">empty</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">cd</span><span class="plain-syntax">-></span><span class="element-syntax">examples</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NEW_LINKED_LIST</span><span class="plain-syntax">(</span><span class="identifier-syntax">IFM_example</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">cases</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NEW_LINKED_LIST</span><span class="plain-syntax">(</span><span class="reserved-syntax">satellite_test_case</span><span class="plain-syntax">);</span>
|
|
|
|
@ -111,7 +113,7 @@ it's really not much more than a tree of Markdown:
|
|
|
|
|
<span class="plain-syntax"> </span><span class="identifier-syntax">filename</span><span class="plain-syntax"> *</span><span class="identifier-syntax">F</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Filenames::in</span><span class="plain-syntax">(</span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Documentation.md"</span><span class="plain-syntax">);</span>
|
|
|
|
|
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">TextFiles::exists</span><span class="plain-syntax">(</span><span class="identifier-syntax">F</span><span class="plain-syntax">) == </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">) </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
|
|
|
|
|
<span class="plain-syntax"> </span><span class="reserved-syntax">compiled_documentation</span><span class="plain-syntax"> *</span><span class="identifier-syntax">cd</span><span class="plain-syntax"> =</span>
|
|
|
|
|
<span class="plain-syntax"> </span><a href="7-dc.html#SP6" class="function-link"><span class="function-syntax">DocumentationCompiler::compile_from_file</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">F</span><span class="plain-syntax">, </span><span class="identifier-syntax">associated_extension</span><span class="plain-syntax">);</span>
|
|
|
|
|
<span class="plain-syntax"> </span><a href="7-dc.html#SP6" class="function-link"><span class="function-syntax">DocumentationCompiler::halfway_compile_from_file</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">F</span><span class="plain-syntax">, </span><span class="identifier-syntax">associated_extension</span><span class="plain-syntax">);</span>
|
|
|
|
|
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">cd</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
|
|
|
|
|
<span class="plain-syntax"> </span><span class="identifier-syntax">pathname</span><span class="plain-syntax"> *</span><span class="identifier-syntax">EP</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Pathnames::down</span><span class="plain-syntax">(</span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Examples"</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">egs</span><span class="plain-syntax"> = </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">;</span>
|
|
|
|
@ -121,6 +123,22 @@ it's really not much more than a tree of Markdown:
|
|
|
|
|
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="7-dc.html#SP2_1" class="named-paragraph-link"><span class="named-paragraph">Scan EP directory for examples</span><span class="named-paragraph-number">2.1</span></a></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">example_number</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">;</span>
|
|
|
|
|
<span class="plain-syntax"> </span><a href="7-dc.html#SP2_1_1" class="function-link"><span class="function-syntax">DocumentationCompiler::recursively_renumber_examples_r</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">cd</span><span class="plain-syntax">-></span><span class="element-syntax">alt_tree</span><span class="plain-syntax">, &</span><span class="identifier-syntax">example_number</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="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER_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">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">leaf</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">leaf</span><span class="plain-syntax">, </span><span class="string-syntax">"eg_%S.html"</span><span class="plain-syntax">, </span><span class="identifier-syntax">eg</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">Markdown::create</span><span class="plain-syntax">(</span><span class="identifier-syntax">cd</span><span class="plain-syntax">-></span><span class="element-syntax">link_references</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="identifier-syntax">leaf</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">DISCARD_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">leaf</span><span class="plain-syntax">)</span>
|
|
|
|
|
<span class="plain-syntax"> }</span>
|
|
|
|
|
<span class="plain-syntax"> </span><span class="identifier-syntax">Markdown::parse_all_blocks_inline_using_extended</span><span class="plain-syntax">(</span><span class="identifier-syntax">cd</span><span class="plain-syntax">-></span><span class="element-syntax">alt_tree</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">cd</span><span class="plain-syntax">-></span><span class="element-syntax">link_references</span><span class="plain-syntax">, </span><span class="identifier-syntax">InformFlavouredMarkdown::variation</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">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="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">eg</span><span class="plain-syntax">-></span><span class="identifier-syntax">header</span><span class="plain-syntax">-></span><span class="identifier-syntax">down</span><span class="plain-syntax">)</span>
|
|
|
|
|
<span class="plain-syntax"> </span><span class="identifier-syntax">Markdown::parse_all_blocks_inline_using_extended</span><span class="plain-syntax">(</span><span class="identifier-syntax">eg</span><span class="plain-syntax">-></span><span class="identifier-syntax">header</span><span class="plain-syntax">-></span><span class="identifier-syntax">down</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">cd</span><span class="plain-syntax">-></span><span class="element-syntax">link_references</span><span class="plain-syntax">, </span><span class="identifier-syntax">InformFlavouredMarkdown::variation</span><span class="plain-syntax">());</span>
|
|
|
|
|
|
|
|
|
|
<span class="plain-syntax"> </span><span class="identifier-syntax">filename</span><span class="plain-syntax"> *</span><span class="identifier-syntax">IF</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Filenames::in</span><span class="plain-syntax">(</span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"indexing.txt"</span><span class="plain-syntax">);</span>
|
|
|
|
|
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">TextFiles::exists</span><span class="plain-syntax">(</span><span class="identifier-syntax">IF</span><span class="plain-syntax">))</span>
|
|
|
|
|
<span class="plain-syntax"> </span><span class="identifier-syntax">TextFiles::read</span><span class="plain-syntax">(</span><span class="identifier-syntax">IF</span><span class="plain-syntax">, </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">, </span><span class="string-syntax">"can't open instructions file"</span><span class="plain-syntax">,</span>
|
|
|
|
@ -305,8 +323,8 @@ it's really not much more than a tree of Markdown:
|
|
|
|
|
<span class="plain-syntax"> </span><span class="identifier-syntax">eg_header</span><span class="plain-syntax">-></span><span class="identifier-syntax">next</span><span class="plain-syntax"> = </span><span class="identifier-syntax">md</span><span class="plain-syntax">-></span><span class="identifier-syntax">next</span><span class="plain-syntax">; </span><span class="identifier-syntax">md</span><span class="plain-syntax">-></span><span class="identifier-syntax">next</span><span class="plain-syntax"> = </span><span class="identifier-syntax">eg_header</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">ess</span><span class="plain-syntax">.</span><span class="element-syntax">body_text</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">markdown_item</span><span class="plain-syntax"> *</span><span class="identifier-syntax">alt_ecd</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Markdown::parse_extended</span><span class="plain-syntax">(</span><span class="identifier-syntax">ess</span><span class="plain-syntax">.</span><span class="element-syntax">body_text</span><span class="plain-syntax">,</span>
|
|
|
|
|
<span class="plain-syntax"> </span><span class="identifier-syntax">InformFlavouredMarkdown::variation</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">alt_ecd</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Markdown::parse_block_structure_using_extended</span><span class="plain-syntax">(</span><span class="identifier-syntax">ess</span><span class="plain-syntax">.</span><span class="element-syntax">body_text</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">link_references</span><span class="plain-syntax">, </span><span class="identifier-syntax">InformFlavouredMarkdown::variation</span><span class="plain-syntax">());</span>
|
|
|
|
|
<span class="plain-syntax"> </span><span class="identifier-syntax">eg_header</span><span class="plain-syntax">-></span><span class="identifier-syntax">down</span><span class="plain-syntax"> = </span><span class="identifier-syntax">alt_ecd</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">else</span><span class="plain-syntax"> {</span>
|
|
|
|
|
<span class="plain-syntax"> </span><a href="7-dc.html#SP4" class="function-link"><span class="function-syntax">DocumentationCompiler::example_error</span></a><span class="plain-syntax">(&</span><span class="identifier-syntax">ess</span><span class="plain-syntax">,</span>
|
|
|
|
@ -381,7 +399,7 @@ it's really not much more than a tree of Markdown:
|
|
|
|
|
<p class="commentary firstcommentary"><a id="SP6" class="paragraph-anchor"></a><b>§6. </b></p>
|
|
|
|
|
|
|
|
|
|
<pre class="displayed-code all-displayed-code code-font">
|
|
|
|
|
<span class="reserved-syntax">compiled_documentation</span><span class="plain-syntax"> *</span><span class="function-syntax">DocumentationCompiler::compile_from_file</span><button class="popup" onclick="togglePopup('usagePopup7')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup7">Usage of <span class="code-font"><span class="function-syntax">DocumentationCompiler::compile_from_file</span></span>:<br/><a href="7-dc.html#SP2">§2</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">filename</span><span class="plain-syntax"> *</span><span class="identifier-syntax">F</span><span class="plain-syntax">,</span>
|
|
|
|
|
<span class="reserved-syntax">compiled_documentation</span><span class="plain-syntax"> *</span><span class="function-syntax">DocumentationCompiler::compile_from_file</span><span class="plain-syntax">(</span><span class="identifier-syntax">filename</span><span class="plain-syntax"> *</span><span class="identifier-syntax">F</span><span class="plain-syntax">,</span>
|
|
|
|
|
<span class="plain-syntax"> </span><span class="reserved-syntax">inform_extension</span><span class="plain-syntax"> *</span><span class="identifier-syntax">associated_extension</span><span class="plain-syntax">) {</span>
|
|
|
|
|
<span class="plain-syntax"> </span><span class="identifier-syntax">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">temp</span><span class="plain-syntax">)</span>
|
|
|
|
|
<span class="plain-syntax"> </span><span class="identifier-syntax">TextFiles::read</span><span class="plain-syntax">(</span><span class="identifier-syntax">F</span><span class="plain-syntax">, </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">, </span><span class="string-syntax">"unable to read file of documentation"</span><span class="plain-syntax">, </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">,</span>
|
|
|
|
@ -392,6 +410,17 @@ it's really not much more than a tree of Markdown:
|
|
|
|
|
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">cd</span><span class="plain-syntax">;</span>
|
|
|
|
|
<span class="plain-syntax">}</span>
|
|
|
|
|
|
|
|
|
|
<span class="reserved-syntax">compiled_documentation</span><span class="plain-syntax"> *</span><span class="function-syntax">DocumentationCompiler::halfway_compile_from_file</span><button class="popup" onclick="togglePopup('usagePopup7')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup7">Usage of <span class="code-font"><span class="function-syntax">DocumentationCompiler::halfway_compile_from_file</span></span>:<br/><a href="7-dc.html#SP2">§2</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">filename</span><span class="plain-syntax"> *</span><span class="identifier-syntax">F</span><span class="plain-syntax">,</span>
|
|
|
|
|
<span class="plain-syntax"> </span><span class="reserved-syntax">inform_extension</span><span class="plain-syntax"> *</span><span class="identifier-syntax">associated_extension</span><span class="plain-syntax">) {</span>
|
|
|
|
|
<span class="plain-syntax"> </span><span class="identifier-syntax">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">temp</span><span class="plain-syntax">)</span>
|
|
|
|
|
<span class="plain-syntax"> </span><span class="identifier-syntax">TextFiles::read</span><span class="plain-syntax">(</span><span class="identifier-syntax">F</span><span class="plain-syntax">, </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">, </span><span class="string-syntax">"unable to read file of documentation"</span><span class="plain-syntax">, </span><span class="identifier-syntax">TRUE</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::read_file_helper</span></a><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="identifier-syntax">temp</span><span class="plain-syntax">);</span>
|
|
|
|
|
<span class="plain-syntax"> </span><span class="reserved-syntax">compiled_documentation</span><span class="plain-syntax"> *</span><span class="identifier-syntax">cd</span><span class="plain-syntax"> =</span>
|
|
|
|
|
<span class="plain-syntax"> </span><a href="7-dc.html#SP7" class="function-link"><span class="function-syntax">DocumentationCompiler::halfway_compile</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">temp</span><span class="plain-syntax">, </span><span class="identifier-syntax">associated_extension</span><span class="plain-syntax">);</span>
|
|
|
|
|
<span class="plain-syntax"> </span><span class="identifier-syntax">DISCARD_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">temp</span><span class="plain-syntax">)</span>
|
|
|
|
|
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">cd</span><span class="plain-syntax">;</span>
|
|
|
|
|
<span class="plain-syntax">}</span>
|
|
|
|
|
|
|
|
|
|
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">DocumentationCompiler::read_file_helper</span><span class="plain-syntax">(</span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">text</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_file_position</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tfp</span><span class="plain-syntax">,</span>
|
|
|
|
|
<span class="plain-syntax"> </span><span class="reserved-syntax">void</span><span class="plain-syntax"> *</span><span class="identifier-syntax">v_state</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">contents</span><span class="plain-syntax"> = (</span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *) </span><span class="identifier-syntax">v_state</span><span class="plain-syntax">;</span>
|
|
|
|
@ -414,6 +443,19 @@ it's really not much more than a tree of Markdown:
|
|
|
|
|
<span class="plain-syntax"> </span><span class="identifier-syntax">InformFlavouredMarkdown::variation</span><span class="plain-syntax">());</span>
|
|
|
|
|
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">cd</span><span class="plain-syntax">;</span>
|
|
|
|
|
<span class="plain-syntax">}</span>
|
|
|
|
|
|
|
|
|
|
<span class="reserved-syntax">compiled_documentation</span><span class="plain-syntax"> *</span><span class="function-syntax">DocumentationCompiler::halfway_compile</span><button class="popup" onclick="togglePopup('usagePopup9')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup9">Usage of <span class="code-font"><span class="function-syntax">DocumentationCompiler::halfway_compile</span></span>:<br/><a href="7-dc.html#SP6">§6</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">source</span><span class="plain-syntax">,</span>
|
|
|
|
|
<span class="plain-syntax"> </span><span class="reserved-syntax">inform_extension</span><span class="plain-syntax"> *</span><span class="identifier-syntax">associated_extension</span><span class="plain-syntax">) {</span>
|
|
|
|
|
<span class="plain-syntax"> </span><span class="identifier-syntax">SVEXPLAIN</span><span class="plain-syntax">(1, </span><span class="string-syntax">"(compiling documentation: %d chars)\n"</span><span class="plain-syntax">, </span><span class="identifier-syntax">Str::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">source</span><span class="plain-syntax">));</span>
|
|
|
|
|
<span class="plain-syntax"> </span><span class="reserved-syntax">compiled_documentation</span><span class="plain-syntax"> *</span><span class="identifier-syntax">cd</span><span class="plain-syntax"> = </span><a href="7-dc.html#SP1" class="function-link"><span class="function-syntax">DocumentationCompiler::new_wrapper</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">source</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">associated_extension</span><span class="plain-syntax"> = </span><span class="identifier-syntax">associated_extension</span><span class="plain-syntax">;</span>
|
|
|
|
|
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">cd</span><span class="plain-syntax">-></span><span class="element-syntax">associated_extension</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">cd</span><span class="plain-syntax">-></span><span class="element-syntax">title</span><span class="plain-syntax">, </span><span class="string-syntax">"%X"</span><span class="plain-syntax">, </span><span class="identifier-syntax">cd</span><span class="plain-syntax">-></span><span class="element-syntax">associated_extension</span><span class="plain-syntax">-></span><span class="element-syntax">as_copy</span><span class="plain-syntax">-></span><span class="element-syntax">edition</span><span class="plain-syntax">-></span><span class="element-syntax">work</span><span class="plain-syntax">);</span>
|
|
|
|
|
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::is_whitespace</span><span class="plain-syntax">(</span><span class="identifier-syntax">source</span><span class="plain-syntax">)) </span><span class="identifier-syntax">cd</span><span class="plain-syntax">-></span><span class="element-syntax">empty</span><span class="plain-syntax"> = </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">;</span>
|
|
|
|
|
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="identifier-syntax">cd</span><span class="plain-syntax">-></span><span class="element-syntax">alt_tree</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Markdown::parse_block_structure_using_extended</span><span class="plain-syntax">(</span><span class="identifier-syntax">source</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">link_references</span><span class="plain-syntax">, </span><span class="identifier-syntax">InformFlavouredMarkdown::variation</span><span class="plain-syntax">());</span>
|
|
|
|
|
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">cd</span><span class="plain-syntax">;</span>
|
|
|
|
|
<span class="plain-syntax">}</span>
|
|
|
|
|
</pre>
|
|
|
|
|
<nav role="progress"><div class="progresscontainer">
|
|
|
|
|
<ul class="progressbar"><li class="progressprev"><a href="7-tc.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-sm.html">1</a></li><li class="progresschapter"><a href="2-gnr.html">2</a></li><li class="progresschapter"><a href="3-bg.html">3</a></li><li class="progresschapter"><a href="4-em.html">4</a></li><li class="progresschapter"><a href="5-es.html">5</a></li><li class="progresschapter"><a href="6-st.html">6</a></li><li class="progresscurrentchapter">7</li><li class="progresssection"><a href="7-tm.html">tm</a></li><li class="progresssection"><a href="7-eip.html">eip</a></li><li class="progresssection"><a href="7-ti.html">ti</a></li><li class="progresssection"><a href="7-tc.html">tc</a></li><li class="progresscurrent">dc</li><li class="progresssection"><a href="7-dr.html">dr</a></li><li class="progresssection"><a href="7-mrp.html">mrp</a></li><li class="progresssection"><a href="7-iu.html">iu</a></li><li class="progresssection"><a href="7-gi.html">gi</a></li><li class="progresssection"><a href="7-ei.html">ei</a></li><li class="progressnext"><a href="7-dr.html">❯</a></li></ul></div>
|
|
|
|
|