mirror of
https://github.com/ganelson/inform.git
synced 2024-05-19 09:28:51 +03:00
Adapted indoc slightly for documentation on new website
This commit is contained in:
parent
f2993826b2
commit
04aef17c9f
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -27,4 +27,5 @@ retrospective/*/*.o
|
|||
retrospective/makefile
|
||||
|
||||
inform7/*-test/Tests/Test Cases/_Results_Actual/
|
||||
rsync.log
|
||||
|
||||
|
|
|
@ -610,6 +610,17 @@
|
|||
<span class="identifier">ptype</span><span class="plain">, (</span><span class="identifier">inter_t</span><span class="plain">) </span><span class="identifier">assimilated_actions</span><span class="plain">-></span><span class="identifier">cp_indent</span><span class="plain"> + 2, </span><span class="identifier">NULL</span><span class="plain">, &</span><span class="identifier">housing_package</span><span class="plain">));</span>
|
||||
<span class="identifier">Inter::Defn::set_current_package</span><span class="plain">(</span><span class="identifier">assimilated_actions</span><span class="plain">, </span><span class="identifier">housing_package</span><span class="plain">);</span>
|
||||
<span class="identifier">inter_symbol</span><span class="plain"> *</span><span class="identifier">asymb</span><span class="plain"> = </span><span class="functiontext">CodeGen::Assimilate::maybe_extern</span><span class="plain">(</span><span class="identifier">I</span><span class="plain">, </span><span class="identifier">value</span><span class="plain">, </span><span class="identifier">Inter::Packages::scope</span><span class="plain">(</span><span class="identifier">housing_package</span><span class="plain">));</span>
|
||||
<span class="identifier">LOG</span><span class="plain">(</span><span class="string">"Well, it's $3\</span><span class="plain">n</span><span class="string">"</span><span class="plain">, </span><span class="identifier">asymb</span><span class="plain">);</span>
|
||||
<span class="identifier">TEMPORARY_TEXT</span><span class="plain">(</span><span class="identifier">unsharped</span><span class="plain">);</span>
|
||||
<span class="identifier">WRITE_TO</span><span class="plain">(</span><span class="identifier">unsharped</span><span class="plain">, </span><span class="string">"%SSub"</span><span class="plain">, </span><span class="identifier">value</span><span class="plain">);</span>
|
||||
<span class="identifier">Str::delete_first_character</span><span class="plain">(</span><span class="identifier">unsharped</span><span class="plain">);</span>
|
||||
<span class="identifier">Str::delete_first_character</span><span class="plain">(</span><span class="identifier">unsharped</span><span class="plain">);</span>
|
||||
<span class="identifier">inter_symbol</span><span class="plain"> *</span><span class="identifier">txsymb</span><span class="plain"> = </span><span class="functiontext">CodeGen::Link::find_name</span><span class="plain">(</span><span class="identifier">I</span><span class="plain">, </span><span class="identifier">unsharped</span><span class="plain">, </span><span class="identifier">TRUE</span><span class="plain">);</span>
|
||||
<span class="identifier">LOG</span><span class="plain">(</span><span class="string">"Found $3\</span><span class="plain">n</span><span class="string">"</span><span class="plain">, </span><span class="identifier">txsymb</span><span class="plain">);</span>
|
||||
<span class="identifier">inter_symbol</span><span class="plain"> *</span><span class="identifier">xsymb</span><span class="plain"> = </span><span class="identifier">Inter::SymbolsTables::create_with_unique_name</span><span class="plain">(</span><span class="identifier">Inter::Packages::scope</span><span class="plain">(</span><span class="identifier">housing_package</span><span class="plain">), </span><span class="identifier">unsharped</span><span class="plain">);</span>
|
||||
<span class="identifier">LOG</span><span class="plain">(</span><span class="string">"Made $3\</span><span class="plain">n</span><span class="string">"</span><span class="plain">, </span><span class="identifier">xsymb</span><span class="plain">);</span>
|
||||
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">txsymb</span><span class="plain">) </span><span class="identifier">Inter::SymbolsTables::equate</span><span class="plain">(</span><span class="identifier">xsymb</span><span class="plain">, </span><span class="identifier">txsymb</span><span class="plain">);</span>
|
||||
<span class="identifier">DISCARD_TEXT</span><span class="plain">(</span><span class="identifier">unsharped</span><span class="plain">);</span>
|
||||
<span class="functiontext">CodeGen::Link::guard</span><span class="plain">(</span><span class="identifier">Inter::Constant::new_numerical</span><span class="plain">(</span><span class="identifier">assimilated_actions</span><span class="plain">,</span>
|
||||
<span class="identifier">Inter::SymbolsTables::id_from_symbol</span><span class="plain">(</span><span class="identifier">I</span><span class="plain">, </span><span class="identifier">assimilated_actions</span><span class="plain">-></span><span class="identifier">current_package</span><span class="plain">, </span><span class="identifier">asymb</span><span class="plain">),</span>
|
||||
<span class="identifier">Inter::SymbolsTables::id_from_symbol</span><span class="plain">(</span><span class="identifier">I</span><span class="plain">, </span><span class="identifier">assimilated_actions</span><span class="plain">-></span><span class="identifier">current_package</span><span class="plain">, </span><span class="identifier">action_kind_symbol</span><span class="plain">),</span>
|
||||
|
|
|
@ -46,7 +46,12 @@
|
|||
<span class="identifier">inter_symbol</span><span class="plain"> *</span><span class="identifier">symb</span><span class="plain"> = </span><span class="identifier">tab</span><span class="plain">-></span><span class="identifier">symbol_array</span><span class="plain">[</span><span class="identifier">i</span><span class="plain">];</span>
|
||||
<span class="reserved">if</span><span class="plain"> ((</span><span class="identifier">symb</span><span class="plain">) && (</span><span class="identifier">symb</span><span class="plain">-></span><span class="identifier">equated_to</span><span class="plain">)) {</span>
|
||||
<span class="identifier">inter_symbol</span><span class="plain"> *</span><span class="identifier">to</span><span class="plain"> = </span><span class="identifier">symb</span><span class="plain">-></span><span class="identifier">equated_to</span><span class="plain">;</span>
|
||||
<span class="functiontext">CodeGen::Eliminate::require</span><span class="plain">(</span><span class="identifier">to</span><span class="plain">-></span><span class="identifier">owning_table</span><span class="plain">-></span><span class="identifier">owning_package</span><span class="plain">, </span><span class="identifier">to</span><span class="plain">);</span>
|
||||
<span class="identifier">inter_package</span><span class="plain"> *</span><span class="identifier">needed</span><span class="plain"> = </span><span class="identifier">NULL</span><span class="plain">;</span>
|
||||
<span class="identifier">inter_symbol</span><span class="plain"> *</span><span class="identifier">cb</span><span class="plain"> = </span><span class="identifier">Inter::Constant::code_block</span><span class="plain">(</span><span class="identifier">to</span><span class="plain">);</span>
|
||||
<span class="identifier">LOG</span><span class="plain">(</span><span class="string">"To $3 cb $3\</span><span class="plain">n</span><span class="string">"</span><span class="plain">, </span><span class="identifier">to</span><span class="plain">, </span><span class="identifier">cb</span><span class="plain">);</span>
|
||||
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">cb</span><span class="plain">) </span><span class="identifier">needed</span><span class="plain"> = </span><span class="identifier">Inter::Package::which</span><span class="plain">(</span><span class="identifier">cb</span><span class="plain">);</span>
|
||||
<span class="reserved">else</span><span class="plain"> </span><span class="identifier">needed</span><span class="plain"> = </span><span class="identifier">to</span><span class="plain">-></span><span class="identifier">owning_table</span><span class="plain">-></span><span class="identifier">owning_package</span><span class="plain">;</span>
|
||||
<span class="functiontext">CodeGen::Eliminate::require</span><span class="plain">(</span><span class="identifier">needed</span><span class="plain">, </span><span class="identifier">to</span><span class="plain">);</span>
|
||||
<span class="plain">}</span>
|
||||
<span class="plain">}</span>
|
||||
<span class="identifier">inter_symbol</span><span class="plain"> *</span><span class="identifier">ptype</span><span class="plain"> = </span><span class="identifier">Inter::Packages::type</span><span class="plain">(</span><span class="identifier">pack</span><span class="plain">);</span>
|
||||
|
@ -60,6 +65,11 @@
|
|||
<span class="functiontext">CodeGen::Eliminate::require</span><span class="plain">(</span><span class="identifier">P</span><span class="plain">, </span><span class="identifier">NULL</span><span class="plain">);</span>
|
||||
<span class="plain">}</span>
|
||||
<span class="plain">}</span>
|
||||
<span class="reserved">if</span><span class="plain"> ((</span><span class="identifier">ptype</span><span class="plain">) && (</span><span class="identifier">Str::eq</span><span class="plain">(</span><span class="identifier">ptype</span><span class="plain">-></span><span class="identifier">symbol_name</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"_to_phrase"</span><span class="plain">))) {</span>
|
||||
<span class="reserved">for</span><span class="plain"> (</span><span class="identifier">inter_package</span><span class="plain"> *</span><span class="identifier">P</span><span class="plain"> = </span><span class="identifier">pack</span><span class="plain">-></span><span class="identifier">child_package</span><span class="plain">; </span><span class="identifier">P</span><span class="plain">; </span><span class="identifier">P</span><span class="plain"> = </span><span class="identifier">P</span><span class="plain">-></span><span class="identifier">next_package</span><span class="plain">) {</span>
|
||||
<span class="functiontext">CodeGen::Eliminate::require</span><span class="plain">(</span><span class="identifier">P</span><span class="plain">, </span><span class="identifier">NULL</span><span class="plain">);</span>
|
||||
<span class="plain">}</span>
|
||||
<span class="plain">}</span>
|
||||
<span class="plain">}</span>
|
||||
|
||||
<span class="reserved">int</span><span class="plain"> </span><span class="identifier">notes_made</span><span class="plain"> = 0, </span><span class="identifier">log_elims</span><span class="plain"> = </span><span class="identifier">FALSE</span><span class="plain">;</span>
|
||||
|
@ -87,6 +97,8 @@
|
|||
<span class="reserved">if</span><span class="plain"> ((</span><span class="identifier">ptype</span><span class="plain">) && (</span><span class="identifier">Str::eq</span><span class="plain">(</span><span class="identifier">ptype</span><span class="plain">-></span><span class="identifier">symbol_name</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"_command"</span><span class="plain">))) {</span>
|
||||
<span class="functiontext">CodeGen::Eliminate::require</span><span class="plain">(</span><span class="identifier">which</span><span class="plain">, </span><span class="identifier">NULL</span><span class="plain">);</span>
|
||||
<span class="plain">}</span>
|
||||
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">Str::eq</span><span class="plain">(</span><span class="identifier">package_name</span><span class="plain">-></span><span class="identifier">symbol_name</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"SL_Score_Moves_B"</span><span class="plain">))</span>
|
||||
<span class="functiontext">CodeGen::Eliminate::require</span><span class="plain">(</span><span class="identifier">which</span><span class="plain">, </span><span class="identifier">NULL</span><span class="plain">);</span>
|
||||
<span class="plain">}</span>
|
||||
<span class="plain">}</span>
|
||||
<span class="plain">}</span>
|
||||
|
@ -94,10 +106,18 @@
|
|||
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">P</span><span class="plain">.</span><span class="identifier">data</span><span class="plain">[</span><span class="identifier">ID_IFLD</span><span class="plain">] == </span><span class="identifier">PACKAGE_IST</span><span class="plain">) {</span>
|
||||
<span class="identifier">inter_symbol</span><span class="plain"> *</span><span class="identifier">package_name</span><span class="plain"> = </span><span class="identifier">Inter::SymbolsTables::symbol_from_frame_data</span><span class="plain">(</span><span class="identifier">P</span><span class="plain">, </span><span class="identifier">DEFN_PACKAGE_IFLD</span><span class="plain">);</span>
|
||||
<span class="identifier">inter_package</span><span class="plain"> *</span><span class="identifier">which</span><span class="plain"> = </span><span class="identifier">Inter::Package::which</span><span class="plain">(</span><span class="identifier">package_name</span><span class="plain">);</span>
|
||||
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">which</span><span class="plain">) {</span>
|
||||
<span class="reserved">if</span><span class="plain"> ((</span><span class="identifier">which</span><span class="plain">-></span><span class="identifier">package_flags</span><span class="plain"> & </span><span class="identifier">USED_PACKAGE_FLAG</span><span class="plain">) == 0) {</span>
|
||||
<span class="identifier">LOG</span><span class="plain">(</span><span class="string">"Not used: $6\</span><span class="plain">n</span><span class="string">"</span><span class="plain">, </span><span class="identifier">which</span><span class="plain">);</span>
|
||||
<span class="plain">}</span>
|
||||
<span class="reserved">if</span><span class="plain"> ((</span><span class="identifier">which</span><span class="plain">) && ((</span><span class="identifier">which</span><span class="plain">-></span><span class="identifier">package_flags</span><span class="plain"> & </span><span class="identifier">USED_PACKAGE_FLAG</span><span class="plain">) == 0)) {</span>
|
||||
<span class="identifier">LOG</span><span class="plain">(</span><span class="string">"Not used: $6\</span><span class="plain">n</span><span class="string">"</span><span class="plain">, </span><span class="identifier">which</span><span class="plain">);</span>
|
||||
<span class="plain">}</span>
|
||||
<span class="plain">}</span>
|
||||
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">P</span><span class="plain">.</span><span class="identifier">data</span><span class="plain">[</span><span class="identifier">ID_IFLD</span><span class="plain">] == </span><span class="identifier">VARIABLE_IST</span><span class="plain">) {</span>
|
||||
<span class="identifier">inter_package</span><span class="plain"> *</span><span class="identifier">outer</span><span class="plain"> = </span><span class="identifier">Inter::Packages::container</span><span class="plain">(</span><span class="identifier">P</span><span class="plain">);</span>
|
||||
<span class="reserved">if</span><span class="plain"> ((</span><span class="identifier">outer</span><span class="plain">) && (</span><span class="functiontext">CodeGen::Eliminate::gone</span><span class="plain">(</span><span class="identifier">outer</span><span class="plain">-></span><span class="identifier">package_name</span><span class="plain">))) {</span>
|
||||
<span class="identifier">inter_symbol</span><span class="plain"> *</span><span class="identifier">var_name</span><span class="plain"> = </span><span class="identifier">Inter::SymbolsTables::symbol_from_frame_data</span><span class="plain">(</span><span class="identifier">P</span><span class="plain">, </span><span class="identifier">DEFN_VAR_IFLD</span><span class="plain">);</span>
|
||||
<span class="identifier">LOG</span><span class="plain">(</span><span class="string">"Striking variable $3\</span><span class="plain">n</span><span class="string">"</span><span class="plain">, </span><span class="identifier">var_name</span><span class="plain">);</span>
|
||||
<span class="identifier">Inter::Symbols::strike_definition</span><span class="plain">(</span><span class="identifier">var_name</span><span class="plain">);</span>
|
||||
<span class="identifier">Inter::Symbols::remove_from_table</span><span class="plain">(</span><span class="identifier">var_name</span><span class="plain">);</span>
|
||||
<span class="reserved">continue</span><span class="plain">;</span>
|
||||
<span class="plain">}</span>
|
||||
<span class="plain">}</span>
|
||||
<span class="plain">}</span>
|
||||
|
@ -109,22 +129,6 @@
|
|||
<span class="reserved">return</span><span class="plain"> </span><span class="identifier">TRUE</span><span class="plain">;</span>
|
||||
<span class="reserved">return</span><span class="plain"> </span><span class="identifier">FALSE</span><span class="plain">;</span>
|
||||
<span class="plain">}</span>
|
||||
|
||||
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">CodeGen::Eliminate::keep</span><span class="plain">(</span><span class="identifier">inter_repository</span><span class="plain"> *</span><span class="identifier">I</span><span class="plain">, </span><span class="identifier">text_stream</span><span class="plain"> *</span><span class="identifier">N</span><span class="plain">) {</span>
|
||||
<span class="identifier">inter_symbol</span><span class="plain"> *</span><span class="identifier">S</span><span class="plain"> = </span><span class="identifier">Inter::SymbolsTables::symbol_from_name_in_main_or_basics</span><span class="plain">(</span><span class="identifier">I</span><span class="plain">, </span><span class="identifier">N</span><span class="plain">);</span>
|
||||
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">S</span><span class="plain">) </span><span class="identifier">Inter::Symbols::set_flag</span><span class="plain">(</span><span class="identifier">S</span><span class="plain">, </span><span class="identifier">USED_MARK_BIT</span><span class="plain">);</span>
|
||||
<span class="plain">}</span>
|
||||
|
||||
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">CodeGen::Eliminate::note</span><span class="plain">(</span><span class="identifier">inter_symbol</span><span class="plain"> *</span><span class="identifier">S</span><span class="plain">, </span><span class="identifier">inter_symbol</span><span class="plain"> *</span><span class="identifier">T</span><span class="plain">, </span><span class="reserved">void</span><span class="plain"> *</span><span class="identifier">state</span><span class="plain">) {</span>
|
||||
<span class="identifier">inter_repository</span><span class="plain"> *</span><span class="identifier">I</span><span class="plain"> = (</span><span class="identifier">inter_repository</span><span class="plain"> *) </span><span class="identifier">state</span><span class="plain">;</span>
|
||||
<span class="identifier">inter_symbol</span><span class="plain"> *</span><span class="identifier">Tdash</span><span class="plain"> = </span><span class="identifier">Inter::SymbolsTables::symbol_from_name_in_main_or_basics</span><span class="plain">(</span><span class="identifier">I</span><span class="plain">, </span><span class="identifier">T</span><span class="plain">-></span><span class="identifier">symbol_name</span><span class="plain">);</span>
|
||||
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">Tdash</span><span class="plain">) {</span>
|
||||
<span class="identifier">Inter::Symbols::set_flag</span><span class="plain">(</span><span class="identifier">Tdash</span><span class="plain">, </span><span class="identifier">USED_MARK_BIT</span><span class="plain">);</span>
|
||||
<span class="plain">} </span><span class="reserved">else</span><span class="plain"> {</span>
|
||||
<span class="identifier">Inter::Symbols::set_flag</span><span class="plain">(</span><span class="identifier">T</span><span class="plain">, </span><span class="identifier">USED_MARK_BIT</span><span class="plain">);</span>
|
||||
<span class="plain">}</span>
|
||||
<span class="identifier">notes_made</span><span class="plain">++;</span>
|
||||
<span class="plain">}</span>
|
||||
</pre>
|
||||
|
||||
<p class="inwebparagraph"></p>
|
||||
|
@ -133,11 +137,7 @@
|
|||
|
||||
<p class="endnote">The function CodeGen::Eliminate::go is used in <a href="#SP1">§1</a>.</p>
|
||||
|
||||
<p class="endnote">The function CodeGen::Eliminate::gone is used in 4/cg (<a href="4-cg.html#SP4">§4</a>).</p>
|
||||
|
||||
<p class="endnote">The function CodeGen::Eliminate::keep appears nowhere else.</p>
|
||||
|
||||
<p class="endnote">The function CodeGen::Eliminate::note appears nowhere else.</p>
|
||||
<p class="endnote">The function CodeGen::Eliminate::gone is used in 4/cg (<a href="4-cg.html#SP2">§2</a>, <a href="4-cg.html#SP4">§4</a>).</p>
|
||||
|
||||
<hr class="tocbar">
|
||||
<ul class="toc"><li><a href="2-rv.html">Back to 'Reconcile Verbs'</a></li><li><a href="2-erl.html">Continue with 'Eliminate Redundant Labels'</a></li></ul><hr class="tocbar">
|
||||
|
|
|
@ -112,6 +112,13 @@
|
|||
<span class="reserved">case</span><span class="plain"> </span><span class="identifier">CONSTANT_IST</span><span class="plain">: {</span>
|
||||
<span class="identifier">inter_symbol</span><span class="plain"> *</span><span class="identifier">con_name</span><span class="plain"> =</span>
|
||||
<span class="identifier">Inter::SymbolsTables::symbol_from_frame_data</span><span class="plain">(</span><span class="identifier">P</span><span class="plain">, </span><span class="identifier">DEFN_CONST_IFLD</span><span class="plain">);</span>
|
||||
<span class="reserved">if</span><span class="plain"> ((</span><span class="identifier">outer</span><span class="plain">) && (</span><span class="functiontext">CodeGen::Eliminate::gone</span><span class="plain">(</span><span class="identifier">outer</span><span class="plain">-></span><span class="identifier">package_name</span><span class="plain">)) && (</span><span class="identifier">Inter::Constant::code_block</span><span class="plain">(</span><span class="identifier">con_name</span><span class="plain">) == </span><span class="identifier">NULL</span><span class="plain">)) {</span>
|
||||
<span class="identifier">LOG</span><span class="plain">(</span><span class="string">"Yeah, so reject $3\</span><span class="plain">n</span><span class="string">"</span><span class="plain">, </span><span class="identifier">outer</span><span class="plain">-></span><span class="identifier">package_name</span><span class="plain">);</span>
|
||||
<span class="reserved">continue</span><span class="plain">;</span>
|
||||
<span class="plain">}</span>
|
||||
|
||||
|
||||
|
||||
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">Inter::Symbols::read_annotation</span><span class="plain">(</span><span class="identifier">con_name</span><span class="plain">, </span><span class="identifier">OBJECT_IANN</span><span class="plain">) == 1) </span><span class="reserved">break</span><span class="plain">;</span>
|
||||
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">Inter::Packages::container</span><span class="plain">(</span><span class="identifier">P</span><span class="plain">) == </span><span class="identifier">Inter::Packages::main</span><span class="plain">(</span><span class="identifier">I</span><span class="plain">)) {</span>
|
||||
<span class="identifier">WRITE_TO</span><span class="plain">(</span><span class="identifier">STDERR</span><span class="plain">, </span><span class="string">"Bad constant: %S\</span><span class="plain">n</span><span class="string">"</span><span class="plain">, </span><span class="identifier">con_name</span><span class="plain">-></span><span class="identifier">symbol_name</span><span class="plain">);</span>
|
||||
|
@ -148,6 +155,10 @@
|
|||
<<span class="cwebmacro">Property knowledge</span> <span class="cwebmacronumber">2.1</span>><span class="plain">;</span>
|
||||
<span class="reserved">break</span><span class="plain">;</span>
|
||||
<span class="reserved">case</span><span class="plain"> </span><span class="identifier">VARIABLE_IST</span><span class="plain">:</span>
|
||||
<span class="reserved">if</span><span class="plain"> ((</span><span class="identifier">outer</span><span class="plain">) && (</span><span class="functiontext">CodeGen::Eliminate::gone</span><span class="plain">(</span><span class="identifier">outer</span><span class="plain">-></span><span class="identifier">package_name</span><span class="plain">))) {</span>
|
||||
<span class="identifier">LOG</span><span class="plain">(</span><span class="string">"Yeah, so reject $3\</span><span class="plain">n</span><span class="string">"</span><span class="plain">, </span><span class="identifier">outer</span><span class="plain">-></span><span class="identifier">package_name</span><span class="plain">);</span>
|
||||
<span class="reserved">continue</span><span class="plain">;</span>
|
||||
<span class="plain">}</span>
|
||||
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">variables_written</span><span class="plain"> == </span><span class="identifier">FALSE</span><span class="plain">) {</span>
|
||||
<span class="identifier">variables_written</span><span class="plain"> = </span><span class="identifier">TRUE</span><span class="plain">;</span>
|
||||
<span class="functiontext">CodeGen::Var::knowledge</span><span class="plain">(</span><span class="identifier">TO</span><span class="plain">, </span><span class="identifier">I</span><span class="plain">);</span>
|
||||
|
|
|
@ -97,7 +97,7 @@ following fields set.
|
|||
|
||||
<p class="endnote">The function HierarchyLocations::local_submodule is used in 27/hr (<a href="27-hr.html#SP1_6">§1.6</a>, <a href="27-hr.html#SP1_8">§1.8</a>, <a href="27-hr.html#SP1_10">§1.10</a>, <a href="27-hr.html#SP1_14">§1.14</a>, <a href="27-hr.html#SP1_16">§1.16</a>, <a href="27-hr.html#SP1_18">§1.18</a>, <a href="27-hr.html#SP1_22">§1.22</a>, <a href="27-hr.html#SP1_24">§1.24</a>, <a href="27-hr.html#SP1_26">§1.26</a>, <a href="27-hr.html#SP1_30">§1.30</a>, <a href="27-hr.html#SP1_32">§1.32</a>, <a href="27-hr.html#SP1_34">§1.34</a>, <a href="27-hr.html#SP1_36">§1.36</a>, <a href="27-hr.html#SP1_38">§1.38</a>, <a href="27-hr.html#SP1_40">§1.40</a>, <a href="27-hr.html#SP1_42">§1.42</a>, <a href="27-hr.html#SP1_44">§1.44</a>, <a href="27-hr.html#SP1_46">§1.46</a>).</p>
|
||||
|
||||
<p class="endnote">The function HierarchyLocations::generic_submodule is used in 27/hr (<a href="27-hr.html#SP1_2">§1.2</a>, <a href="27-hr.html#SP1_6">§1.6</a>, <a href="27-hr.html#SP1_16">§1.16</a>, <a href="27-hr.html#SP1_30">§1.30</a>, <a href="27-hr.html#SP1_38">§1.38</a>, <a href="27-hr.html#SP1_40">§1.40</a>).</p>
|
||||
<p class="endnote">The function HierarchyLocations::generic_submodule is used in 27/hr (<a href="27-hr.html#SP1_2">§1.2</a>, <a href="27-hr.html#SP1_16">§1.16</a>, <a href="27-hr.html#SP1_30">§1.30</a>, <a href="27-hr.html#SP1_38">§1.38</a>, <a href="27-hr.html#SP1_40">§1.40</a>).</p>
|
||||
|
||||
<p class="endnote">The function HierarchyLocations::synoptic_submodule is used in 27/hr (<a href="27-hr.html#SP1_2">§1.2</a>, <a href="27-hr.html#SP1_6">§1.6</a>, <a href="27-hr.html#SP1_8">§1.8</a>, <a href="27-hr.html#SP1_12">§1.12</a>, <a href="27-hr.html#SP1_14">§1.14</a>, <a href="27-hr.html#SP1_20">§1.20</a>, <a href="27-hr.html#SP1_24">§1.24</a>, <a href="27-hr.html#SP1_28">§1.28</a>, <a href="27-hr.html#SP1_30">§1.30</a>, <a href="27-hr.html#SP1_34">§1.34</a>, <a href="27-hr.html#SP1_36">§1.36</a>, <a href="27-hr.html#SP1_38">§1.38</a>, <a href="27-hr.html#SP1_40">§1.40</a>, <a href="27-hr.html#SP1_42">§1.42</a>, <a href="27-hr.html#SP1_44">§1.44</a>).</p>
|
||||
|
||||
|
|
|
@ -154,7 +154,6 @@
|
|||
|
||||
|
||||
<pre class="definitions">
|
||||
<span class="definitionkeyword">enum</span> <span class="constant">MISTAKEACTION_HL</span>
|
||||
<span class="definitionkeyword">enum</span> <span class="constant">ACTIONS_HAP</span>
|
||||
<span class="definitionkeyword">enum</span> <span class="constant">ACTION_NAME_HMD</span>
|
||||
<span class="definitionkeyword">enum</span> <span class="constant">ACTION_BASE_NAME_HL</span>
|
||||
|
@ -172,6 +171,9 @@
|
|||
<span class="definitionkeyword">enum</span> <span class="constant">AD_RECORDS_HL</span>
|
||||
<span class="definitionkeyword">enum</span> <span class="constant">CCOUNT_ACTION_NAME_HL</span>
|
||||
<span class="definitionkeyword">enum</span> <span class="constant">DB_ACTION_DETAILS_HL</span>
|
||||
<span class="definitionkeyword">enum</span> <span class="constant">SACTIONS_HAP</span>
|
||||
<span class="definitionkeyword">enum</span> <span class="constant">MISTAKEACTIONPACKAGE_HL</span>
|
||||
<span class="definitionkeyword">enum</span> <span class="constant">MISTAKEACTION_HL</span>
|
||||
<span class="definitionkeyword">enum</span> <span class="constant">MISTAKEACTIONSUB_HL</span>
|
||||
</pre>
|
||||
<p class="inwebparagraph"><a id="SP1_6"></a><b>§1.6. </b><code class="display">
|
||||
|
@ -182,9 +184,6 @@
|
|||
<pre class="displaydefn">
|
||||
<span class="reserved">submodule_identity</span><span class="plain"> *</span><span class="identifier">actions</span><span class="plain"> = </span><span class="functiontext">Packaging::register_submodule</span><span class="plain">(</span><span class="identifier">I</span><span class="string">"actions"</span><span class="plain">);</span>
|
||||
|
||||
<span class="reserved">location_requirement</span><span class="plain"> </span><span class="identifier">generic_actions</span><span class="plain"> = </span><span class="functiontext">HierarchyLocations::generic_submodule</span><span class="plain">(</span><span class="identifier">actions</span><span class="plain">);</span>
|
||||
<span class="functiontext">HierarchyLocations::con</span><span class="plain">(</span><span class="constant">MISTAKEACTION_HL</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"##MistakeAction"</span><span class="plain">, </span><span class="functiontext">Translation::same</span><span class="plain">(), </span><span class="identifier">generic_actions</span><span class="plain">);</span>
|
||||
|
||||
<span class="reserved">location_requirement</span><span class="plain"> </span><span class="identifier">local_actions</span><span class="plain"> = </span><span class="functiontext">HierarchyLocations::local_submodule</span><span class="plain">(</span><span class="identifier">actions</span><span class="plain">);</span>
|
||||
<span class="functiontext">HierarchyLocations::ap</span><span class="plain">(</span><span class="constant">ACTIONS_HAP</span><span class="plain">, </span><span class="identifier">local_actions</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"action"</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"_action"</span><span class="plain">);</span>
|
||||
<span class="reserved">location_requirement</span><span class="plain"> </span><span class="identifier">in_action</span><span class="plain"> = </span><span class="functiontext">HierarchyLocations::any_package_of_type</span><span class="plain">(</span><span class="identifier">I</span><span class="string">"_action"</span><span class="plain">);</span>
|
||||
|
@ -206,7 +205,10 @@
|
|||
<span class="functiontext">HierarchyLocations::con</span><span class="plain">(</span><span class="constant">AD_RECORDS_HL</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"AD_RECORDS"</span><span class="plain">, </span><span class="functiontext">Translation::same</span><span class="plain">(), </span><span class="identifier">synoptic_actions</span><span class="plain">);</span>
|
||||
<span class="functiontext">HierarchyLocations::con</span><span class="plain">(</span><span class="constant">CCOUNT_ACTION_NAME_HL</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"CCOUNT_ACTION_NAME"</span><span class="plain">, </span><span class="functiontext">Translation::same</span><span class="plain">(), </span><span class="identifier">synoptic_actions</span><span class="plain">);</span>
|
||||
<span class="functiontext">HierarchyLocations::func</span><span class="plain">(</span><span class="constant">DB_ACTION_DETAILS_HL</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"DB_Action_Details_fn"</span><span class="plain">, </span><span class="functiontext">Translation::to</span><span class="plain">(</span><span class="identifier">I</span><span class="string">"DB_Action_Details"</span><span class="plain">), </span><span class="identifier">synoptic_actions</span><span class="plain">);</span>
|
||||
<span class="functiontext">HierarchyLocations::func</span><span class="plain">(</span><span class="constant">MISTAKEACTIONSUB_HL</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"MistakeActionSub_fn"</span><span class="plain">, </span><span class="functiontext">Translation::to</span><span class="plain">(</span><span class="identifier">I</span><span class="string">"MistakeActionSub"</span><span class="plain">), </span><span class="identifier">synoptic_actions</span><span class="plain">);</span>
|
||||
<span class="functiontext">HierarchyLocations::ap</span><span class="plain">(</span><span class="constant">SACTIONS_HAP</span><span class="plain">, </span><span class="identifier">synoptic_actions</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"action"</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"_action"</span><span class="plain">);</span>
|
||||
<span class="functiontext">HierarchyLocations::package</span><span class="plain">(</span><span class="constant">MISTAKEACTIONPACKAGE_HL</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"mistake_action"</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"_action"</span><span class="plain">, </span><span class="identifier">synoptic_actions</span><span class="plain">);</span>
|
||||
<span class="functiontext">HierarchyLocations::con</span><span class="plain">(</span><span class="constant">MISTAKEACTION_HL</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"##MistakeAction"</span><span class="plain">, </span><span class="functiontext">Translation::same</span><span class="plain">(), </span><span class="identifier">in_action</span><span class="plain">);</span>
|
||||
<span class="functiontext">HierarchyLocations::func</span><span class="plain">(</span><span class="constant">MISTAKEACTIONSUB_HL</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"MistakeActionSub_fn"</span><span class="plain">, </span><span class="functiontext">Translation::to</span><span class="plain">(</span><span class="identifier">I</span><span class="string">"MistakeActionSub"</span><span class="plain">), </span><span class="identifier">in_action</span><span class="plain">);</span>
|
||||
</pre>
|
||||
|
||||
<p class="inwebparagraph"></p>
|
||||
|
|
|
@ -484,7 +484,8 @@ the mistake.
|
|||
<span class="plain">}</span>
|
||||
|
||||
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">PL::Parsing::Lines::MistakeActionSub_routine</span><span class="plain">(</span><span class="reserved">void</span><span class="plain">) {</span>
|
||||
<span class="identifier">packaging_state</span><span class="plain"> </span><span class="identifier">save</span><span class="plain"> = </span><span class="identifier">Routines::begin</span><span class="plain">(</span><span class="identifier">Hierarchy::find</span><span class="plain">(</span><span class="identifier">MISTAKEACTIONSUB_HL</span><span class="plain">));</span>
|
||||
<span class="identifier">package_request</span><span class="plain"> *</span><span class="identifier">MAP</span><span class="plain"> = </span><span class="identifier">Hierarchy::synoptic_package</span><span class="plain">(</span><span class="identifier">SACTIONS_HAP</span><span class="plain">);</span>
|
||||
<span class="identifier">packaging_state</span><span class="plain"> </span><span class="identifier">save</span><span class="plain"> = </span><span class="identifier">Routines::begin</span><span class="plain">(</span><span class="identifier">Hierarchy::make_iname_in</span><span class="plain">(</span><span class="identifier">MISTAKEACTIONSUB_HL</span><span class="plain">, </span><span class="identifier">MAP</span><span class="plain">));</span>
|
||||
|
||||
<span class="identifier">Emit::inv_primitive</span><span class="plain">(</span><span class="identifier">switch_interp</span><span class="plain">);</span>
|
||||
<span class="identifier">Emit::down</span><span class="plain">();</span>
|
||||
|
@ -536,9 +537,10 @@ the mistake.
|
|||
|
||||
<span class="identifier">Routines::end</span><span class="plain">(</span><span class="identifier">save</span><span class="plain">);</span>
|
||||
|
||||
<span class="identifier">MistakeAction_iname</span><span class="plain"> = </span><span class="identifier">Hierarchy::find</span><span class="plain">(</span><span class="identifier">MISTAKEACTION_HL</span><span class="plain">);</span>
|
||||
<span class="identifier">MistakeAction_iname</span><span class="plain"> = </span><span class="identifier">Hierarchy::make_iname_in</span><span class="plain">(</span><span class="identifier">MISTAKEACTION_HL</span><span class="plain">, </span><span class="identifier">MAP</span><span class="plain">);</span>
|
||||
<span class="identifier">Emit::named_pseudo_numeric_constant</span><span class="plain">(</span><span class="identifier">MistakeAction_iname</span><span class="plain">, </span><span class="identifier">K_action_name</span><span class="plain">, 10000);</span>
|
||||
<span class="identifier">Emit::annotate_i</span><span class="plain">(</span><span class="identifier">MistakeAction_iname</span><span class="plain">, </span><span class="identifier">ACTION_IANN</span><span class="plain">, 1);</span>
|
||||
<span class="identifier">Hierarchy::make_available</span><span class="plain">(</span><span class="identifier">MistakeAction_iname</span><span class="plain">);</span>
|
||||
<span class="plain">}</span>
|
||||
</pre>
|
||||
|
||||
|
|
|
@ -77,6 +77,7 @@ files, and we store a list of those here:
|
|||
<span class="definitionkeyword">enum</span> <span class="constant">REWRITE_CLSW</span>
|
||||
<span class="definitionkeyword">enum</span> <span class="constant">FROM_CLSW</span>
|
||||
<span class="definitionkeyword">enum</span> <span class="constant">TO_CLSW</span>
|
||||
<span class="definitionkeyword">enum</span> <span class="constant">INSERTION_CLSW</span>
|
||||
<span class="definitionkeyword">enum</span> <span class="constant">INSTRUCTIONS_CLSW</span>
|
||||
</pre>
|
||||
<p class="inwebparagraph"><a id="SP2_2"></a><b>§2.2. </b><code class="display">
|
||||
|
@ -100,6 +101,8 @@ files, and we store a list of those here:
|
|||
<span class="identifier">L</span><span class="string">"use documentation in directory X (instead of 'Documentation' in cwd)"</span><span class="plain">);</span>
|
||||
<span class="functiontext">CommandLine::declare_switch</span><span class="plain">(</span><span class="constant">TO_CLSW</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"to"</span><span class="plain">, 2,</span>
|
||||
<span class="identifier">L</span><span class="string">"redirect output to folder X (which must already exist)"</span><span class="plain">);</span>
|
||||
<span class="functiontext">CommandLine::declare_switch</span><span class="plain">(</span><span class="constant">INSERTION_CLSW</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"insertion"</span><span class="plain">, 2,</span>
|
||||
<span class="identifier">L</span><span class="string">"insert HTML in file X at the top of each page head"</span><span class="plain">);</span>
|
||||
<span class="functiontext">CommandLine::declare_switch</span><span class="plain">(</span><span class="constant">INSTRUCTIONS_CLSW</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"instructions"</span><span class="plain">, 2,</span>
|
||||
<span class="identifier">L</span><span class="string">"read further instructions from file X"</span><span class="plain">);</span>
|
||||
|
||||
|
@ -124,6 +127,7 @@ files, and we store a list of those here:
|
|||
<span class="reserved">case</span><span class="plain"> </span><span class="constant">FROM_CLSW</span><span class="plain">: </span><span class="identifier">settings</span><span class="plain">-</span><span class="element">>book_folder</span><span class="plain"> = </span><span class="functiontext">Pathnames::from_text</span><span class="plain">(</span><span class="identifier">arg</span><span class="plain">); </span><span class="reserved">break</span><span class="plain">;</span>
|
||||
<span class="reserved">case</span><span class="plain"> </span><span class="constant">TO_CLSW</span><span class="plain">: </span><span class="identifier">settings</span><span class="plain">-</span><span class="element">>destination</span><span class="plain"> = </span><span class="functiontext">Pathnames::from_text</span><span class="plain">(</span><span class="identifier">arg</span><span class="plain">);</span>
|
||||
<span class="identifier">settings</span><span class="plain">-</span><span class="element">>destination_modifiable</span><span class="plain"> = </span><span class="constant">FALSE</span><span class="plain">; </span><span class="reserved">break</span><span class="plain">;</span>
|
||||
<span class="reserved">case</span><span class="plain"> </span><span class="constant">INSERTION_CLSW</span><span class="plain">: </span><span class="identifier">settings</span><span class="plain">-</span><span class="element">>insertion_filename</span><span class="plain"> = </span><span class="functiontext">Filenames::from_text</span><span class="plain">(</span><span class="identifier">arg</span><span class="plain">); </span><span class="reserved">break</span><span class="plain">;</span>
|
||||
<span class="reserved">case</span><span class="plain"> </span><span class="constant">INSTRUCTIONS_CLSW</span><span class="plain">: </span><span class="functiontext">Configuration::add_instructions_file</span><span class="plain">(</span><span class="functiontext">Filenames::from_text</span><span class="plain">(</span><span class="identifier">arg</span><span class="plain">)); </span><span class="reserved">break</span><span class="plain">;</span>
|
||||
<span class="reserved">default</span><span class="plain">: </span><span class="identifier">internal_error</span><span class="plain">(</span><span class="string">"unimplemented switch"</span><span class="plain">);</span>
|
||||
<span class="plain">}</span>
|
||||
|
|
|
@ -48,6 +48,7 @@ and in particular into a global instance of this called <code class="display"><s
|
|||
<span class="reserved">int</span><span class="plain"> </span><span class="identifier">destination_modifiable</span><span class="plain">; </span> <span class="comment">can <code class="display"><span class="extract">destination</span></code> still be changed by instructions?</span>
|
||||
<span class="reserved">struct</span><span class="plain"> </span><span class="reserved">text_stream</span><span class="plain"> *</span><span class="identifier">manifest_leafname</span><span class="plain">; </span> <span class="comment">within the <code class="display"><span class="extract">destination</span></code> directory</span>
|
||||
<span class="reserved">struct</span><span class="plain"> </span><span class="reserved">filename</span><span class="plain"> *</span><span class="identifier">standard_rules_filename</span><span class="plain">;</span>
|
||||
<span class="reserved">struct</span><span class="plain"> </span><span class="reserved">filename</span><span class="plain"> *</span><span class="identifier">insertion_filename</span><span class="plain">;</span>
|
||||
|
||||
<span class="reserved">struct</span><span class="plain"> </span><span class="reserved">pathname</span><span class="plain"> *</span><span class="identifier">book_folder</span><span class="plain">;</span>
|
||||
<span class="reserved">filename</span><span class="plain"> *</span><span class="identifier">book_cover_image</span><span class="plain">; </span> <span class="comment">e.g., <code class="display"><span class="extract">cover-image.png</span></code>; by default, none</span>
|
||||
|
@ -116,6 +117,7 @@ and in particular into a global instance of this called <code class="display"><s
|
|||
<span class="identifier">settings</span><span class="plain">-</span><span class="element">>destination_modifiable</span><span class="plain"> = </span><span class="constant">TRUE</span><span class="plain">;</span>
|
||||
<span class="identifier">settings</span><span class="plain">-</span><span class="element">>manifest_leafname</span><span class="plain"> = </span><span class="identifier">NULL</span><span class="plain">;</span>
|
||||
<span class="identifier">settings</span><span class="plain">-</span><span class="element">>standard_rules_filename</span><span class="plain"> = </span><span class="identifier">NULL</span><span class="plain">;</span>
|
||||
<span class="identifier">settings</span><span class="plain">-</span><span class="element">>insertion_filename</span><span class="plain"> = </span><span class="identifier">NULL</span><span class="plain">;</span>
|
||||
|
||||
<span class="identifier">settings</span><span class="plain">-</span><span class="element">>book_folder</span><span class="plain"> = </span><span class="functiontext">Pathnames::from_text</span><span class="plain">(</span><span class="identifier">I</span><span class="string">"Documentation"</span><span class="plain">);</span>
|
||||
<span class="identifier">settings</span><span class="plain">-</span><span class="element">>book_cover_image</span><span class="plain"> = </span><span class="identifier">NULL</span><span class="plain">;</span>
|
||||
|
|
|
@ -139,7 +139,6 @@ routine which doesn't surround the text with navigational gadgets and headings.
|
|||
<pre class="display">
|
||||
<span class="reserved">text_stream</span><span class="plain"> *</span><span class="functiontext">Renderer::render_block</span><span class="plain">(</span><span class="constant">OUTPUT_STREAM</span><span class="plain">, </span><span class="reserved">volume</span><span class="plain"> *</span><span class="identifier">V</span><span class="plain">, </span><span class="reserved">section</span><span class="plain"> *</span><span class="identifier">S</span><span class="plain">) {</span>
|
||||
<span class="identifier">OUT</span><span class="plain"> = </span><span class="functiontext">Renderer::formatted_file_must_be</span><span class="plain">(</span><span class="identifier">OUT</span><span class="plain">, </span><span class="identifier">V</span><span class="plain">, </span><span class="identifier">S</span><span class="plain">);</span>
|
||||
|
||||
<span class="functiontext">Nav::render_navigation_top</span><span class="plain">(</span><span class="identifier">OUT</span><span class="plain">, </span><span class="identifier">V</span><span class="plain">, </span><span class="identifier">S</span><span class="plain">);</span>
|
||||
<span class="functiontext">Renderer::render_text_of_block</span><span class="plain">(</span><span class="identifier">OUT</span><span class="plain">, </span><span class="identifier">V</span><span class="plain">, </span><span class="identifier">S</span><span class="plain">);</span>
|
||||
<span class="functiontext">Nav::render_navigation_middle</span><span class="plain">(</span><span class="identifier">OUT</span><span class="plain">, </span><span class="identifier">V</span><span class="plain">, </span><span class="identifier">S</span><span class="plain">);</span>
|
||||
|
|
|
@ -366,7 +366,7 @@ It should be the only thing on its line.
|
|||
|
||||
|
||||
<pre class="displaydefn">
|
||||
<span class="reserved">if</span><span class="plain"> (</span><span class="functiontext">Regexp::match</span><span class="plain">(&</span><span class="identifier">mr2</span><span class="plain">, </span><span class="identifier">rawl</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"(%c*?)///(%c*?).txt/// *"</span><span class="plain">)) {</span>
|
||||
<span class="reserved">if</span><span class="plain"> (</span><span class="functiontext">Regexp::match</span><span class="plain">(&</span><span class="identifier">mr2</span><span class="plain">, </span><span class="identifier">rawl</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"(%c*?)///(%c*?.txt)/// *"</span><span class="plain">)) {</span>
|
||||
<span class="functiontext">Str::copy</span><span class="plain">(</span><span class="identifier">rawl</span><span class="plain">, </span><span class="identifier">mr2</span><span class="element">.exp</span><span class="plain">[0]);</span>
|
||||
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">indoc_settings</span><span class="plain">-</span><span class="element">>format</span><span class="plain"> == </span><span class="constant">HTML_FORMAT</span><span class="plain">) {</span>
|
||||
<span class="functiontext">Str::clear</span><span class="plain">(</span><span class="identifier">rawl</span><span class="plain">);</span>
|
||||
|
|
|
@ -46,7 +46,6 @@
|
|||
<span class="functiontext">HTML::begin_body</span><span class="plain">(</span><span class="identifier">OUT</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"paper papertint"</span><span class="plain">);</span>
|
||||
<span class="plain">}</span>
|
||||
<span class="identifier">DISCARD_TEXT</span><span class="plain">(</span><span class="identifier">head</span><span class="plain">);</span>
|
||||
|
||||
<span class="functiontext">Nav::render_navigation_index_top</span><span class="plain">(</span><span class="identifier">OUT</span><span class="plain">, </span><span class="identifier">leafname</span><span class="plain">, </span><span class="identifier">title</span><span class="plain">);</span>
|
||||
<span class="reserved">return</span><span class="plain"> </span><span class="identifier">OUT</span><span class="plain">;</span>
|
||||
<span class="plain">}</span>
|
||||
|
|
|
@ -114,6 +114,9 @@
|
|||
<span class="identifier">VMETHOD_TYPE</span><span class="plain">(</span><span class="constant">RENDER_SECTION_TITLE_MTID</span><span class="plain">, </span><span class="reserved">navigation_design</span><span class="plain"> *</span><span class="identifier">ND</span><span class="plain">, </span><span class="reserved">text_stream</span><span class="plain"> *</span><span class="identifier">OUT</span><span class="plain">, </span><span class="reserved">volume</span><span class="plain"> *</span><span class="identifier">V</span><span class="plain">, </span><span class="reserved">chapter</span><span class="plain"> *</span><span class="identifier">C</span><span class="plain">, </span><span class="reserved">section</span><span class="plain"> *</span><span class="identifier">S</span><span class="plain">)</span>
|
||||
|
||||
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">Nav::render_navigation_top</span><span class="plain">(</span><span class="constant">OUTPUT_STREAM</span><span class="plain">, </span><span class="reserved">volume</span><span class="plain"> *</span><span class="identifier">V</span><span class="plain">, </span><span class="reserved">section</span><span class="plain"> *</span><span class="identifier">S</span><span class="plain">) {</span>
|
||||
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">indoc_settings</span><span class="plain">-</span><span class="element">>insertion_filename</span><span class="plain">)</span>
|
||||
<span class="functiontext">HTML::incorporate_HTML</span><span class="plain">(</span><span class="identifier">OUT</span><span class="plain">, </span><span class="identifier">indoc_settings</span><span class="plain">-</span><span class="element">>insertion_filename</span><span class="plain">);</span>
|
||||
|
||||
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">V</span><span class="plain">-</span><span class="element">>sections</span><span class="plain">[0] == </span><span class="identifier">S</span><span class="plain">) </span><span class="identifier">VMETHOD_CALL</span><span class="plain">(</span><span class="identifier">indoc_settings</span><span class="plain">-</span><span class="element">>navigation</span><span class="plain">, </span><span class="constant">RENDER_VOLUME_TITLE_MTID</span><span class="plain">, </span><span class="identifier">OUT</span><span class="plain">, </span><span class="identifier">V</span><span class="plain">);</span>
|
||||
|
||||
<span class="reserved">chapter</span><span class="plain"> *</span><span class="identifier">C</span><span class="plain"> = </span><span class="identifier">S</span><span class="plain">-</span><span class="element">>begins_which_chapter</span><span class="plain">;</span>
|
||||
|
@ -165,6 +168,9 @@
|
|||
<span class="identifier">VMETHOD_TYPE</span><span class="plain">(</span><span class="constant">RENDER_INDEX_TOP_MTID</span><span class="plain">, </span><span class="reserved">navigation_design</span><span class="plain"> *</span><span class="identifier">ND</span><span class="plain">, </span><span class="reserved">text_stream</span><span class="plain"> *</span><span class="identifier">OUT</span><span class="plain">, </span><span class="reserved">text_stream</span><span class="plain"> *</span><span class="reserved">filename</span><span class="plain">, </span><span class="reserved">text_stream</span><span class="plain"> *</span><span class="identifier">title</span><span class="plain">)</span>
|
||||
|
||||
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">Nav::render_navigation_index_top</span><span class="plain">(</span><span class="constant">OUTPUT_STREAM</span><span class="plain">, </span><span class="reserved">text_stream</span><span class="plain"> *</span><span class="reserved">filename</span><span class="plain">, </span><span class="reserved">text_stream</span><span class="plain"> *</span><span class="identifier">title</span><span class="plain">) {</span>
|
||||
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">indoc_settings</span><span class="plain">-</span><span class="element">>insertion_filename</span><span class="plain">)</span>
|
||||
<span class="functiontext">HTML::incorporate_HTML</span><span class="plain">(</span><span class="identifier">OUT</span><span class="plain">, </span><span class="identifier">indoc_settings</span><span class="plain">-</span><span class="element">>insertion_filename</span><span class="plain">);</span>
|
||||
|
||||
<span class="identifier">VMETHOD_CALL</span><span class="plain">(</span><span class="identifier">indoc_settings</span><span class="plain">-</span><span class="element">>navigation</span><span class="plain">, </span><span class="constant">RENDER_INDEX_TOP_MTID</span><span class="plain">, </span><span class="identifier">OUT</span><span class="plain">, </span><span class="reserved">filename</span><span class="plain">, </span><span class="identifier">title</span><span class="plain">);</span>
|
||||
<span class="plain">}</span>
|
||||
</pre>
|
||||
|
|
|
@ -48,6 +48,7 @@ void Configuration::read_command_line(int argc, char **argv, settings_block *set
|
|||
@e REWRITE_CLSW
|
||||
@e FROM_CLSW
|
||||
@e TO_CLSW
|
||||
@e INSERTION_CLSW
|
||||
@e INSTRUCTIONS_CLSW
|
||||
|
||||
@<Read the command line@> =
|
||||
|
@ -66,6 +67,8 @@ void Configuration::read_command_line(int argc, char **argv, settings_block *set
|
|||
L"use documentation in directory X (instead of 'Documentation' in cwd)");
|
||||
CommandLine::declare_switch(TO_CLSW, L"to", 2,
|
||||
L"redirect output to folder X (which must already exist)");
|
||||
CommandLine::declare_switch(INSERTION_CLSW, L"insertion", 2,
|
||||
L"insert HTML in file X at the top of each page head");
|
||||
CommandLine::declare_switch(INSTRUCTIONS_CLSW, L"instructions", 2,
|
||||
L"read further instructions from file X");
|
||||
|
||||
|
@ -82,6 +85,7 @@ void Configuration::switch(int id, int val, text_stream *arg, void *v_cl_state)
|
|||
case FROM_CLSW: settings->book_folder = Pathnames::from_text(arg); break;
|
||||
case TO_CLSW: settings->destination = Pathnames::from_text(arg);
|
||||
settings->destination_modifiable = FALSE; break;
|
||||
case INSERTION_CLSW: settings->insertion_filename = Filenames::from_text(arg); break;
|
||||
case INSTRUCTIONS_CLSW: Configuration::add_instructions_file(Filenames::from_text(arg)); break;
|
||||
default: internal_error("unimplemented switch");
|
||||
}
|
||||
|
|
|
@ -39,6 +39,7 @@ typedef struct settings_block {
|
|||
int destination_modifiable; /* can |destination| still be changed by instructions? */
|
||||
struct text_stream *manifest_leafname; /* within the |destination| directory */
|
||||
struct filename *standard_rules_filename;
|
||||
struct filename *insertion_filename;
|
||||
|
||||
struct pathname *book_folder;
|
||||
filename *book_cover_image; /* e.g., |cover-image.png|; by default, none */
|
||||
|
@ -101,6 +102,7 @@ settings_block *Instructions::clean_slate(void) {
|
|||
settings->destination_modifiable = TRUE;
|
||||
settings->manifest_leafname = NULL;
|
||||
settings->standard_rules_filename = NULL;
|
||||
settings->insertion_filename = NULL;
|
||||
|
||||
settings->book_folder = Pathnames::from_text(I"Documentation");
|
||||
settings->book_cover_image = NULL;
|
||||
|
|
|
@ -230,7 +230,7 @@ rectangles.)
|
|||
It should be the only thing on its line.
|
||||
|
||||
@<Deal with an insert-change-log notation@> =
|
||||
if (Regexp::match(&mr2, rawl, L"(%c*?)///(%c*?).txt/// *")) {
|
||||
if (Regexp::match(&mr2, rawl, L"(%c*?)///(%c*?.txt)/// *")) {
|
||||
Str::copy(rawl, mr2.exp[0]);
|
||||
if (indoc_settings->format == HTML_FORMAT) {
|
||||
Str::clear(rawl);
|
||||
|
|
|
@ -84,7 +84,6 @@ routine which doesn't surround the text with navigational gadgets and headings.
|
|||
=
|
||||
text_stream *Renderer::render_block(OUTPUT_STREAM, volume *V, section *S) {
|
||||
OUT = Renderer::formatted_file_must_be(OUT, V, S);
|
||||
|
||||
Nav::render_navigation_top(OUT, V, S);
|
||||
Renderer::render_text_of_block(OUT, V, S);
|
||||
Nav::render_navigation_middle(OUT, V, S);
|
||||
|
|
|
@ -34,7 +34,6 @@ text_stream *IndexUtilities::open_page(text_stream *title, text_stream *leafname
|
|||
HTML::begin_body(OUT, I"paper papertint");
|
||||
}
|
||||
DISCARD_TEXT(head);
|
||||
|
||||
Nav::render_navigation_index_top(OUT, leafname, title);
|
||||
return OUT;
|
||||
}
|
||||
|
|
|
@ -83,6 +83,9 @@ VMETHOD_TYPE(RENDER_CHAPTER_TITLE_MTID, navigation_design *ND, text_stream *OUT,
|
|||
VMETHOD_TYPE(RENDER_SECTION_TITLE_MTID, navigation_design *ND, text_stream *OUT, volume *V, chapter *C, section *S)
|
||||
|
||||
void Nav::render_navigation_top(OUTPUT_STREAM, volume *V, section *S) {
|
||||
if (indoc_settings->insertion_filename)
|
||||
HTML::incorporate_HTML(OUT, indoc_settings->insertion_filename);
|
||||
|
||||
if (V->sections[0] == S) VMETHOD_CALL(indoc_settings->navigation, RENDER_VOLUME_TITLE_MTID, OUT, V);
|
||||
|
||||
chapter *C = S->begins_which_chapter;
|
||||
|
@ -116,6 +119,9 @@ And this is a variant for index pages, such as the index of examples.
|
|||
VMETHOD_TYPE(RENDER_INDEX_TOP_MTID, navigation_design *ND, text_stream *OUT, text_stream *filename, text_stream *title)
|
||||
|
||||
void Nav::render_navigation_index_top(OUTPUT_STREAM, text_stream *filename, text_stream *title) {
|
||||
if (indoc_settings->insertion_filename)
|
||||
HTML::incorporate_HTML(OUT, indoc_settings->insertion_filename);
|
||||
|
||||
VMETHOD_CALL(indoc_settings->navigation, RENDER_INDEX_TOP_MTID, OUT, filename, title);
|
||||
}
|
||||
|
||||
|
|
|
@ -46,9 +46,13 @@ website {
|
|||
destination = Website/content/learn/man/
|
||||
images_copy = no
|
||||
examples_mode = openable
|
||||
# examples_mode = external
|
||||
# top_and_tail = Website/models/www-inform7-com-model.html
|
||||
# top_and_tail_sections = Website/models/www-inform7-com-model.html
|
||||
}
|
||||
|
||||
newwebsite {
|
||||
# HTML for the I7 website
|
||||
images_copy = no
|
||||
images_path = /assets/images/doc_images/
|
||||
examples_mode = openable
|
||||
}
|
||||
|
||||
html_for_chm {
|
||||
|
|
|
@ -526,13 +526,20 @@ gnome_app {
|
|||
}
|
||||
|
||||
website {
|
||||
# HTML for the I7 website
|
||||
# HTML for the pre-2019 I7 website
|
||||
destination = Website/content/learn/man/
|
||||
images_copy = no
|
||||
images_path = doc_images/
|
||||
examples_mode = openable
|
||||
}
|
||||
|
||||
newwebsite {
|
||||
# HTML for the post-2019 I7 website
|
||||
images_copy = no
|
||||
images_path = /assets/images/doc_images/
|
||||
examples_mode = openable
|
||||
}
|
||||
|
||||
plain {
|
||||
# Plain text for screenreaders
|
||||
destination = Website/content/learn/man/plain-text-
|
||||
|
|
|
@ -27,3 +27,4 @@ retrospective/*/*.o
|
|||
retrospective/makefile
|
||||
|
||||
inform7/*-test/Tests/Test Cases/_Results_Actual/
|
||||
rsync.log
|
||||
|
|
Loading…
Reference in a new issue