mirror of
https://github.com/ganelson/inform.git
synced 2024-06-17 07:40:47 +03:00
Enabled incremental kit-building
This commit is contained in:
parent
d2fd3edeec
commit
a3cf5b6ab2
|
@ -1,6 +1,6 @@
|
|||
# Inform 7
|
||||
|
||||
v10.1.0-beta+6V28 'Krypton' (24 June 2022)
|
||||
v10.1.0-beta+6V29 'Krypton' (26 June 2022)
|
||||
|
||||
## About Inform 7
|
||||
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
Prerelease: beta
|
||||
Build Date: 24 June 2022
|
||||
Build Number: 6V28
|
||||
Build Date: 26 June 2022
|
||||
Build Number: 6V29
|
||||
|
|
|
@ -264,7 +264,8 @@ compilation.
|
|||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><a href="../supervisor-module/1-ic.html#SP10" class="function-link"><span class="function-syntax">Supervisor::go_operational</span></a><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">proj</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><a href="../supervisor-module/2-cps.html#SP11" class="function-link"><span class="function-syntax">Copies::build</span></a><span class="plain-syntax">(</span><span class="constant-syntax">STDOUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">proj</span><span class="plain-syntax">-></span><span class="element-syntax">as_copy</span><span class="plain-syntax">, </span><a href="../supervisor-module/3-bm.html#SP3" class="function-link"><span class="function-syntax">BuildMethodology::stay_in_current_process</span></a><span class="plain-syntax">());</span>
|
||||
<span class="plain-syntax"> </span><a href="../supervisor-module/3-is.html#SP3" class="function-link"><span class="function-syntax">InterSkill::echo_kit_building</span></a><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax"> </span><a href="../supervisor-module/2-cps.html#SP12" class="function-link"><span class="function-syntax">Copies::build</span></a><span class="plain-syntax">(</span><span class="constant-syntax">STDOUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">proj</span><span class="plain-syntax">-></span><span class="element-syntax">as_copy</span><span class="plain-syntax">, </span><a href="../supervisor-module/3-bm.html#SP3" class="function-link"><span class="function-syntax">BuildMethodology::stay_in_current_process</span></a><span class="plain-syntax">());</span>
|
||||
<span class="plain-syntax"> </span><a href="../core-module/1-wtc.html#SP1" class="function-link"><span class="function-syntax">Task::stop_timers</span></a><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
</pre>
|
||||
|
|
|
@ -70,38 +70,37 @@ which take more than 1/1000th of the total running time.
|
|||
|
||||
<pre class="undisplayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax">100.0% in inform7 run</span>
|
||||
<span class="plain-syntax"> 71.7% in compilation to Inter</span>
|
||||
<span class="plain-syntax"> 51.2% in </span><a href="../core-module/1-htc.html#SP9" class="internal">Sequence::undertake_queued_tasks</a>
|
||||
<span class="plain-syntax"> 70.9% in compilation to Inter</span>
|
||||
<span class="plain-syntax"> 50.5% in </span><a href="../core-module/1-htc.html#SP9" class="internal">Sequence::undertake_queued_tasks</a>
|
||||
<span class="plain-syntax"> 4.7% in </span><a href="../assertions-module/2-ptmn.html#SP1" class="internal">MajorNodes::pre_pass</a>
|
||||
<span class="plain-syntax"> 3.3% in </span><a href="../assertions-module/2-ptmn.html#SP1" class="internal">MajorNodes::pass_1</a>
|
||||
<span class="plain-syntax"> 1.7% in </span><a href="../assertions-module/5-id.html#SP4" class="internal">ImperativeDefinitions::assess_all</a>
|
||||
<span class="plain-syntax"> 1.7% in </span><a href="../runtime-module/6-pi.html#SP1" class="internal">RTPhrasebook::compile_entries</a>
|
||||
<span class="plain-syntax"> 1.3% in </span><a href="../runtime-module/5-kc.html#SP10" class="internal">RTKindConstructors::compile</a>
|
||||
<span class="plain-syntax"> 0.9% in </span><a href="../core-module/1-htc.html#SP12" class="internal">Sequence::lint_inter</a>
|
||||
<span class="plain-syntax"> 0.5% in </span><a href="../assertions-module/2-ptmn.html#SP1" class="internal">MajorNodes::pass_2</a>
|
||||
<span class="plain-syntax"> 0.5% in </span><a href="../core-module/1-htc.html#SP9" class="internal">Sequence::undertake_queued_tasks</a>
|
||||
<span class="plain-syntax"> 0.5% in </span><a href="../knowledge-module/5-tmw.html#SP5" class="internal">World::stage_V</a>
|
||||
<span class="plain-syntax"> 0.3% in </span><a href="../assertions-module/5-id.html#SP5" class="internal">ImperativeDefinitions::compile_first_block</a>
|
||||
<span class="plain-syntax"> 0.3% in </span><a href="../core-module/1-htc.html#SP9" class="internal">Sequence::undertake_queued_tasks</a>
|
||||
<span class="plain-syntax"> 0.1% in </span><a href="../runtime-module/3-cm.html#SP1" class="internal">CompletionModule::compile</a>
|
||||
<span class="plain-syntax"> 0.1% in </span><a href="../knowledge-module/4-is.html#SP27" class="internal">InferenceSubjects::emit_all</a>
|
||||
<span class="plain-syntax"> 0.1% in </span><a href="../runtime-module/5-kc.html#SP10_7" class="internal">RTKindConstructors::compile_permissions</a>
|
||||
<span class="plain-syntax"> 0.1% in </span><a href="../core-module/1-wtc.html#SP9" class="internal">Task::make_built_in_kind_constructors</a>
|
||||
<span class="plain-syntax"> 0.1% in </span><a href="../knowledge-module/5-tmw.html#SP3" class="internal">World::stages_II_and_III</a>
|
||||
<span class="plain-syntax"> 2.8% not specifically accounted for</span>
|
||||
<span class="plain-syntax"> 25.6% in running Inter pipeline</span>
|
||||
<span class="plain-syntax"> 3.4% in </span><a href="../assertions-module/2-ptmn.html#SP1" class="internal">MajorNodes::pass_1</a>
|
||||
<span class="plain-syntax"> 1.9% in </span><a href="../assertions-module/5-id.html#SP4" class="internal">ImperativeDefinitions::assess_all</a>
|
||||
<span class="plain-syntax"> 1.5% in </span><a href="../runtime-module/5-kc.html#SP10" class="internal">RTKindConstructors::compile</a>
|
||||
<span class="plain-syntax"> 1.5% in </span><a href="../runtime-module/6-pi.html#SP1" class="internal">RTPhrasebook::compile_entries</a>
|
||||
<span class="plain-syntax"> 1.0% in </span><a href="../core-module/1-htc.html#SP12" class="internal">Sequence::lint_inter</a>
|
||||
<span class="plain-syntax"> 0.4% in </span><a href="../assertions-module/5-id.html#SP5" class="internal">ImperativeDefinitions::compile_first_block</a>
|
||||
<span class="plain-syntax"> 0.4% in </span><a href="../assertions-module/2-ptmn.html#SP1" class="internal">MajorNodes::pass_2</a>
|
||||
<span class="plain-syntax"> 0.4% in </span><a href="../core-module/1-htc.html#SP9" class="internal">Sequence::undertake_queued_tasks</a>
|
||||
<span class="plain-syntax"> 0.4% in </span><a href="../core-module/1-htc.html#SP9" class="internal">Sequence::undertake_queued_tasks</a>
|
||||
<span class="plain-syntax"> 0.4% in </span><a href="../knowledge-module/5-tmw.html#SP5" class="internal">World::stage_V</a>
|
||||
<span class="plain-syntax"> 0.2% in </span><a href="../runtime-module/3-cm.html#SP1" class="internal">CompletionModule::compile</a>
|
||||
<span class="plain-syntax"> 0.2% in </span><a href="../knowledge-module/4-is.html#SP27" class="internal">InferenceSubjects::emit_all</a>
|
||||
<span class="plain-syntax"> 0.2% in </span><a href="../runtime-module/5-kc.html#SP10_7" class="internal">RTKindConstructors::compile_permissions</a>
|
||||
<span class="plain-syntax"> 0.2% in </span><a href="../core-module/1-wtc.html#SP9" class="internal">Task::make_built_in_kind_constructors</a>
|
||||
<span class="plain-syntax"> 3.2% not specifically accounted for</span>
|
||||
<span class="plain-syntax"> 26.0% in running Inter pipeline</span>
|
||||
<span class="plain-syntax"> 10.1% in step 14/15: generate inform6 -> auto.inf</span>
|
||||
<span class="plain-syntax"> 5.5% in step 5/15: load-binary-kits</span>
|
||||
<span class="plain-syntax"> 5.3% in step 6/15: make-synoptic-module</span>
|
||||
<span class="plain-syntax"> 1.3% in step 9/15: make-identifiers-unique</span>
|
||||
<span class="plain-syntax"> 0.3% in step 12/15: eliminate-redundant-operations</span>
|
||||
<span class="plain-syntax"> 0.3% in step 4/15: compile-splats</span>
|
||||
<span class="plain-syntax"> 0.3% in step 7/15: shorten-wiring</span>
|
||||
<span class="plain-syntax"> 0.3% in step 8/15: detect-indirect-calls</span>
|
||||
<span class="plain-syntax"> 0.1% in step 11/15: eliminate-redundant-labels</span>
|
||||
<span class="plain-syntax"> 1.4% not specifically accounted for</span>
|
||||
<span class="plain-syntax"> 2.1% in supervisor</span>
|
||||
<span class="plain-syntax"> 0.4% not specifically accounted for</span>
|
||||
<span class="plain-syntax"> 5.8% in step 5/15: load-binary-kits</span>
|
||||
<span class="plain-syntax"> 5.5% in step 6/15: make-synoptic-module</span>
|
||||
<span class="plain-syntax"> 1.5% in step 9/15: make-identifiers-unique</span>
|
||||
<span class="plain-syntax"> 0.4% in step 12/15: eliminate-redundant-operations</span>
|
||||
<span class="plain-syntax"> 0.4% in step 4/15: compile-splats</span>
|
||||
<span class="plain-syntax"> 0.4% in step 7/15: shorten-wiring</span>
|
||||
<span class="plain-syntax"> 0.2% in step 11/15: eliminate-redundant-labels</span>
|
||||
<span class="plain-syntax"> 0.2% in step 8/15: detect-indirect-calls</span>
|
||||
<span class="plain-syntax"> 1.3% not specifically accounted for</span>
|
||||
<span class="plain-syntax"> 2.5% in supervisor</span>
|
||||
<span class="plain-syntax"> 0.5% not specifically accounted for</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP3" class="paragraph-anchor"></a><b>§3. Memory consumption. </b>The following gives some idea of which classes of object have the most
|
||||
instances, and also of how Inform's memory tends to be used in practice.
|
||||
|
@ -110,37 +109,37 @@ represent less than 1/1000th of the total.
|
|||
</p>
|
||||
|
||||
<pre class="undisplayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax">Total memory consumption was 123376K = 120 MB</span>
|
||||
<span class="plain-syntax">Total memory consumption was 120981K = 118 MB</span>
|
||||
|
||||
<span class="plain-syntax"> ---- was used for 2044960 objects, in 362883 frames in 0 x 800K = 0K = 0 MB:</span>
|
||||
<span class="plain-syntax"> ---- was used for 2048135 objects, in 364573 frames in 0 x 800K = 0K = 0 MB:</span>
|
||||
|
||||
<span class="plain-syntax"> 33.0% inter_tree_node_array 58 x 8192 = 475136 objects, 41813824 bytes</span>
|
||||
<span class="plain-syntax"> 20.5% text_stream_array 4605 x 100 = 460500 objects, 25935360 bytes</span>
|
||||
<span class="plain-syntax"> 19.2% linked_list 43461 objects, 24338160 bytes</span>
|
||||
<span class="plain-syntax"> 11.1% inter_symbol_array 132 x 1024 = 135168 objects, 14061696 bytes</span>
|
||||
<span class="plain-syntax"> 10.4% inter_error_stash_array 101 x 1024 = 103424 objects, 13241504 bytes</span>
|
||||
<span class="plain-syntax"> 8.2% parse_node 129706 objects, 10376480 bytes</span>
|
||||
<span class="plain-syntax"> 5.8% verb_conjugation 160 objects, 7425280 bytes</span>
|
||||
<span class="plain-syntax"> 4.3% parse_node_annotation_array 346 x 500 = 173000 objects, 5547072 bytes</span>
|
||||
<span class="plain-syntax"> 2.6% pcalc_prop_array 25 x 1000 = 25000 objects, 3400800 bytes</span>
|
||||
<span class="plain-syntax"> 33.7% inter_tree_node_array 58 x 8192 = 475136 objects, 41813824 bytes</span>
|
||||
<span class="plain-syntax"> 21.0% text_stream_array 4620 x 100 = 462000 objects, 26019840 bytes</span>
|
||||
<span class="plain-syntax"> 19.8% linked_list 43895 objects, 24581200 bytes</span>
|
||||
<span class="plain-syntax"> 11.3% inter_symbol_array 132 x 1024 = 135168 objects, 14061696 bytes</span>
|
||||
<span class="plain-syntax"> 10.6% inter_error_stash_array 101 x 1024 = 103424 objects, 13241504 bytes</span>
|
||||
<span class="plain-syntax"> 8.3% parse_node 129706 objects, 10376480 bytes</span>
|
||||
<span class="plain-syntax"> 5.9% verb_conjugation 160 objects, 7425280 bytes</span>
|
||||
<span class="plain-syntax"> 4.4% parse_node_annotation_array 346 x 500 = 173000 objects, 5547072 bytes</span>
|
||||
<span class="plain-syntax"> 2.7% pcalc_prop_array 25 x 1000 = 25000 objects, 3400800 bytes</span>
|
||||
<span class="plain-syntax"> 2.5% inter_name_array 67 x 1000 = 67000 objects, 3218144 bytes</span>
|
||||
<span class="plain-syntax"> 2.0% kind_array 66 x 1000 = 66000 objects, 2642112 bytes</span>
|
||||
<span class="plain-syntax"> 2.1% kind_array 66 x 1000 = 66000 objects, 2642112 bytes</span>
|
||||
<span class="plain-syntax"> 1.7% scan_directory 522 objects, 2154816 bytes</span>
|
||||
<span class="plain-syntax"> 1.6% inter_name_generator_array 51 x 1000 = 51000 objects, 2041632 bytes</span>
|
||||
<span class="plain-syntax"> 1.5% inter_schema_token 13964 objects, 2010816 bytes</span>
|
||||
<span class="plain-syntax"> 1.4% package_request 21153 objects, 1861464 bytes</span>
|
||||
<span class="plain-syntax"> 1.6% inter_schema_token 13964 objects, 2010816 bytes</span>
|
||||
<span class="plain-syntax"> 1.5% package_request 21153 objects, 1861464 bytes</span>
|
||||
<span class="plain-syntax"> 1.4% vocabulary_entry_array 161 x 100 = 16100 objects, 1808352 bytes</span>
|
||||
<span class="plain-syntax"> 1.2% dict_entry_array 470 x 100 = 47000 objects, 1519040 bytes</span>
|
||||
<span class="plain-syntax"> 1.1% match_trie_array 11 x 1000 = 11000 objects, 1496352 bytes</span>
|
||||
<span class="plain-syntax"> 1.1% inter_symbols_table 26592 objects, 1489152 bytes</span>
|
||||
<span class="plain-syntax"> 1.0% i6_schema_array 23 x 100 = 2300 objects, 1380736 bytes</span>
|
||||
<span class="plain-syntax"> 1.0% scan_directory 314 objects, 1296192 bytes</span>
|
||||
<span class="plain-syntax"> 1.2% match_trie_array 11 x 1000 = 11000 objects, 1496352 bytes</span>
|
||||
<span class="plain-syntax"> 1.2% inter_symbols_table 26592 objects, 1489152 bytes</span>
|
||||
<span class="plain-syntax"> 1.1% i6_schema_array 23 x 100 = 2300 objects, 1380736 bytes</span>
|
||||
<span class="plain-syntax"> 1.0% inter_package 26592 objects, 1276416 bytes</span>
|
||||
<span class="plain-syntax"> 0.8% map_data 671 objects, 1127280 bytes</span>
|
||||
<span class="plain-syntax"> 0.9% map_data 671 objects, 1127280 bytes</span>
|
||||
<span class="plain-syntax"> 0.8% id_body 942 objects, 1077648 bytes</span>
|
||||
<span class="plain-syntax"> 0.7% adjective_meaning 202 objects, 1000304 bytes</span>
|
||||
<span class="plain-syntax"> 0.8% adjective_meaning 202 objects, 1000304 bytes</span>
|
||||
<span class="plain-syntax"> 0.7% excerpt_meaning 3102 objects, 967824 bytes</span>
|
||||
<span class="plain-syntax"> 0.7% production 3882 objects, 900624 bytes</span>
|
||||
<span class="plain-syntax"> 0.6% ptoken 8414 objects, 875056 bytes</span>
|
||||
<span class="plain-syntax"> 0.7% production 3878 objects, 899696 bytes</span>
|
||||
<span class="plain-syntax"> 0.7% ptoken 8404 objects, 874016 bytes</span>
|
||||
<span class="plain-syntax"> 0.6% grammatical_usage 3613 objects, 867120 bytes</span>
|
||||
<span class="plain-syntax"> 0.6% individual_form 2563 objects, 861168 bytes</span>
|
||||
<span class="plain-syntax"> 0.6% inter_schema_node 8917 objects, 856032 bytes</span>
|
||||
|
@ -148,7 +147,7 @@ represent less than 1/1000th of the total.
|
|||
<span class="plain-syntax"> 0.3% local_variable_array 47 x 100 = 4700 objects, 452704 bytes</span>
|
||||
<span class="plain-syntax"> 0.3% verb_usage 1128 objects, 388032 bytes</span>
|
||||
<span class="plain-syntax"> 0.2% rule 470 objects, 368480 bytes</span>
|
||||
<span class="plain-syntax"> 0.2% dictionary 7520 objects, 360960 bytes</span>
|
||||
<span class="plain-syntax"> 0.2% dictionary 7588 objects, 364224 bytes</span>
|
||||
<span class="plain-syntax"> 0.2% verb_form 386 objects, 348944 bytes</span>
|
||||
<span class="plain-syntax"> 0.2% noun 2382 objects, 285840 bytes</span>
|
||||
<span class="plain-syntax"> 0.2% compilation_subtask 3355 objects, 268400 bytes</span>
|
||||
|
@ -156,13 +155,13 @@ represent less than 1/1000th of the total.
|
|||
<span class="plain-syntax"> 0.2% inference_subject 666 objects, 261072 bytes</span>
|
||||
<span class="plain-syntax"> 0.1% vanilla_function 3683 objects, 235712 bytes</span>
|
||||
<span class="plain-syntax"> 0.1% binary_predicate 322 objects, 170016 bytes</span>
|
||||
<span class="plain-syntax"> 0.1% hierarchy_location 1122 objects, 161568 bytes</span>
|
||||
<span class="plain-syntax"> 0.1% hierarchy_location 1123 objects, 161712 bytes</span>
|
||||
<span class="plain-syntax"> 0.1% linguistic_stock_item 3318 objects, 159264 bytes</span>
|
||||
<span class="plain-syntax"> 0.1% rule_family_data 401 objects, 147568 bytes</span>
|
||||
<span class="plain-syntax"> 0.1% nonterminal 760 objects, 139840 bytes</span>
|
||||
<span class="plain-syntax"> 0.1% nonterminal 758 objects, 139472 bytes</span>
|
||||
<span class="plain-syntax"> 0.1% nascent_array 2127 objects, 136128 bytes</span>
|
||||
<span class="plain-syntax"> ---- inference 1703 objects, 122616 bytes</span>
|
||||
<span class="plain-syntax"> ---- documentation_ref 1273 objects, 112024 bytes</span>
|
||||
<span class="plain-syntax"> ---- inference 1703 objects, 108992 bytes</span>
|
||||
<span class="plain-syntax"> ---- imperative_defn 1379 objects, 99288 bytes</span>
|
||||
<span class="plain-syntax"> ---- noun_usage 2404 objects, 96160 bytes</span>
|
||||
<span class="plain-syntax"> ---- anl_entry_array 2 x 1000 = 2000 objects, 96064 bytes</span>
|
||||
|
@ -171,15 +170,15 @@ represent less than 1/1000th of the total.
|
|||
<span class="plain-syntax"> ---- lexical_cluster 2519 objects, 80608 bytes</span>
|
||||
<span class="plain-syntax"> ---- pcalc_term_array 2 x 1000 = 2000 objects, 80064 bytes</span>
|
||||
<span class="plain-syntax"> ---- kind_variable_declaration 1655 objects, 79440 bytes</span>
|
||||
<span class="plain-syntax"> ---- inter_tree 6 objects, 79248 bytes</span>
|
||||
<span class="plain-syntax"> ---- inter_tree 6 objects, 79296 bytes</span>
|
||||
<span class="plain-syntax"> ---- label_namespace 1472 objects, 70656 bytes</span>
|
||||
<span class="plain-syntax"> ---- rulebook 407 objects, 68376 bytes</span>
|
||||
<span class="plain-syntax"> ---- spatial_data 671 objects, 64416 bytes</span>
|
||||
<span class="plain-syntax"> ---- linked_list_item_array 4 x 1000 = 4000 objects, 64128 bytes</span>
|
||||
<span class="plain-syntax"> ---- kind_macro_definition 9 objects, 62280 bytes</span>
|
||||
<span class="plain-syntax"> ---- booking 861 objects, 61992 bytes</span>
|
||||
<span class="plain-syntax"> ---- scenes_rcd_data 1884 objects, 60288 bytes</span>
|
||||
<span class="plain-syntax"> ---- actions_rcd_data 1884 objects, 60288 bytes</span>
|
||||
<span class="plain-syntax"> ---- scenes_rcd_data 1884 objects, 60288 bytes</span>
|
||||
<span class="plain-syntax"> ---- command_grammar 130 objects, 58240 bytes</span>
|
||||
<span class="plain-syntax"> ---- kind_constructor 77 objects, 57904 bytes</span>
|
||||
<span class="plain-syntax"> ---- table 7 objects, 56672 bytes</span>
|
||||
|
@ -191,13 +190,13 @@ represent less than 1/1000th of the total.
|
|||
<span class="plain-syntax"> ---- ap_clause_array 2 x 400 = 800 objects, 51264 bytes</span>
|
||||
<span class="plain-syntax"> ---- HTML_tag_array 1 x 1000 objects, 48032 bytes</span>
|
||||
<span class="plain-syntax"> ---- text_substitution 437 objects, 41952 bytes</span>
|
||||
<span class="plain-syntax"> ---- anl_clause_array 1 x 1000 objects, 40032 bytes</span>
|
||||
<span class="plain-syntax"> ---- activity_list_array 1 x 1000 objects, 40032 bytes</span>
|
||||
<span class="plain-syntax"> ---- anl_clause_array 1 x 1000 objects, 40032 bytes</span>
|
||||
<span class="plain-syntax"> ---- to_family_data 497 objects, 39760 bytes</span>
|
||||
<span class="plain-syntax"> ---- shared_variable_access_list_array 12 x 100 = 1200 objects, 38784 bytes</span>
|
||||
<span class="plain-syntax"> ---- parsing_data 671 objects, 37576 bytes</span>
|
||||
<span class="plain-syntax"> ---- heading 198 objects, 36432 bytes</span>
|
||||
<span class="plain-syntax"> ---- production_list 617 objects, 34552 bytes</span>
|
||||
<span class="plain-syntax"> ---- production_list 615 objects, 34440 bytes</span>
|
||||
<span class="plain-syntax"> ---- regions_data 671 objects, 32208 bytes</span>
|
||||
<span class="plain-syntax"> ---- counting_data 671 objects, 32208 bytes</span>
|
||||
<span class="plain-syntax"> ---- property_permission 96 objects, 31488 bytes</span>
|
||||
|
@ -212,6 +211,7 @@ represent less than 1/1000th of the total.
|
|||
<span class="plain-syntax"> ---- nonlocal_variable 93 objects, 20088 bytes</span>
|
||||
<span class="plain-syntax"> ---- property 146 objects, 19856 bytes</span>
|
||||
<span class="plain-syntax"> ---- timed_rules_rfd_data 401 objects, 19248 bytes</span>
|
||||
<span class="plain-syntax"> ---- filename 477 objects, 19080 bytes</span>
|
||||
<span class="plain-syntax"> ---- method 380 objects, 18240 bytes</span>
|
||||
<span class="plain-syntax"> ---- pcalc_prop_deferral 86 objects, 17888 bytes</span>
|
||||
<span class="plain-syntax"> ---- instance 167 objects, 17368 bytes</span>
|
||||
|
@ -220,30 +220,33 @@ represent less than 1/1000th of the total.
|
|||
<span class="plain-syntax"> ---- to_phrase_request 59 objects, 16048 bytes</span>
|
||||
<span class="plain-syntax"> ---- match_avinue_array 1 x 1000 objects, 16032 bytes</span>
|
||||
<span class="plain-syntax"> ---- action_name_list_array 1 x 1000 objects, 16032 bytes</span>
|
||||
<span class="plain-syntax"> ---- JSON_value 182 objects, 16016 bytes</span>
|
||||
<span class="plain-syntax"> ---- build_vertex 130 objects, 15600 bytes</span>
|
||||
<span class="plain-syntax"> ---- adjective 137 objects, 15344 bytes</span>
|
||||
<span class="plain-syntax"> ---- pathname 375 objects, 15000 bytes</span>
|
||||
<span class="plain-syntax"> ---- generated_segment 14 objects, 14784 bytes</span>
|
||||
<span class="plain-syntax"> ---- booking_list 407 objects, 13024 bytes</span>
|
||||
<span class="plain-syntax"> ---- adjective_iname_holder 320 objects, 12800 bytes</span>
|
||||
<span class="plain-syntax"> ---- pathname 308 objects, 12320 bytes</span>
|
||||
<span class="plain-syntax"> ---- uniqueness_count 454 objects, 10896 bytes</span>
|
||||
<span class="plain-syntax"> ---- uniqueness_count 453 objects, 10872 bytes</span>
|
||||
<span class="plain-syntax"> ---- inter_construct 30 objects, 10320 bytes</span>
|
||||
<span class="plain-syntax"> ---- filename 253 objects, 10120 bytes</span>
|
||||
<span class="plain-syntax"> ---- stopwatch_timer 113 objects, 9040 bytes</span>
|
||||
<span class="plain-syntax"> ---- web_bibliographic_datum 145 objects, 9280 bytes</span>
|
||||
<span class="plain-syntax"> ---- stopwatch_timer 114 objects, 9120 bytes</span>
|
||||
<span class="plain-syntax"> ---- equation_node 68 objects, 7616 bytes</span>
|
||||
<span class="plain-syntax"> ---- understanding_item_array 3 x 100 = 300 objects, 7296 bytes</span>
|
||||
<span class="plain-syntax"> ---- shared_variable_array 1 x 100 objects, 7232 bytes</span>
|
||||
<span class="plain-syntax"> ---- determiner 22 objects, 7216 bytes</span>
|
||||
<span class="plain-syntax"> ---- build_vertex 60 objects, 7200 bytes</span>
|
||||
<span class="plain-syntax"> ---- verb 108 objects, 6912 bytes</span>
|
||||
<span class="plain-syntax"> ---- hierarchy_attachment_point 77 objects, 6776 bytes</span>
|
||||
<span class="plain-syntax"> ---- inbuild_work 103 objects, 6592 bytes</span>
|
||||
<span class="plain-syntax"> ---- text_literal_holder 163 objects, 6520 bytes</span>
|
||||
<span class="plain-syntax"> ---- inbuild_work 101 objects, 6464 bytes</span>
|
||||
<span class="plain-syntax"> ---- inbuild_copy 55 objects, 5720 bytes</span>
|
||||
<span class="plain-syntax"> ---- inbuild_copy 55 objects, 6160 bytes</span>
|
||||
<span class="plain-syntax"> ---- heading_tree 20 objects, 5440 bytes</span>
|
||||
<span class="plain-syntax"> ---- inbuild_edition 74 objects, 5328 bytes</span>
|
||||
<span class="plain-syntax"> ---- explicit_action_array 1 x 100 objects, 4832 bytes</span>
|
||||
<span class="plain-syntax"> ---- value_property_data 84 objects, 4704 bytes</span>
|
||||
<span class="plain-syntax"> ---- parsing_pp_data 96 objects, 4608 bytes</span>
|
||||
<span class="plain-syntax"> ---- section_md 45 objects, 4320 bytes</span>
|
||||
<span class="plain-syntax"> ---- build_script 130 objects, 4160 bytes</span>
|
||||
<span class="plain-syntax"> ---- compatibility_specification 86 objects, 4128 bytes</span>
|
||||
<span class="plain-syntax"> ---- activity 35 objects, 3920 bytes</span>
|
||||
<span class="plain-syntax"> ---- command_line_switch 49 objects, 3920 bytes</span>
|
||||
|
@ -252,9 +255,9 @@ represent less than 1/1000th of the total.
|
|||
<span class="plain-syntax"> ---- property_setting_bp_data 84 objects, 3360 bytes</span>
|
||||
<span class="plain-syntax"> ---- method_set 104 objects, 3328 bytes</span>
|
||||
<span class="plain-syntax"> ---- kind_constructor_comparison_schema_array 1 x 100 objects, 3232 bytes</span>
|
||||
<span class="plain-syntax"> ---- semver_range 31 objects, 3224 bytes</span>
|
||||
<span class="plain-syntax"> ---- inform_extension 19 objects, 3192 bytes</span>
|
||||
<span class="plain-syntax"> ---- definition 44 objects, 3168 bytes</span>
|
||||
<span class="plain-syntax"> ---- semver_range 29 objects, 3016 bytes</span>
|
||||
<span class="plain-syntax"> ---- either_or_property_data 62 objects, 2976 bytes</span>
|
||||
<span class="plain-syntax"> ---- target_vm 20 objects, 2880 bytes</span>
|
||||
<span class="plain-syntax"> ---- use_option 29 objects, 2552 bytes</span>
|
||||
|
@ -263,8 +266,10 @@ represent less than 1/1000th of the total.
|
|||
<span class="plain-syntax"> ---- kind_constructor_instance_array 1 x 100 objects, 2432 bytes</span>
|
||||
<span class="plain-syntax"> ---- kind_constructor_casting_rule_array 1 x 100 objects, 2432 bytes</span>
|
||||
<span class="plain-syntax"> ---- equation_symbol 30 objects, 2400 bytes</span>
|
||||
<span class="plain-syntax"> ---- JSON_type 31 objects, 2232 bytes</span>
|
||||
<span class="plain-syntax"> ---- scene 1 object, 2096 bytes</span>
|
||||
<span class="plain-syntax"> ---- build_script 60 objects, 1920 bytes</span>
|
||||
<span class="plain-syntax"> ---- JSON_single_requirement 43 objects, 2064 bytes</span>
|
||||
<span class="plain-syntax"> ---- build_step 24 objects, 1728 bytes</span>
|
||||
<span class="plain-syntax"> ---- pronoun_usage 42 objects, 1680 bytes</span>
|
||||
<span class="plain-syntax"> ---- table_contribution_array 1 x 100 objects, 1632 bytes</span>
|
||||
<span class="plain-syntax"> ---- plugin 25 objects, 1600 bytes</span>
|
||||
|
@ -276,19 +281,21 @@ represent less than 1/1000th of the total.
|
|||
<span class="plain-syntax"> ---- constant_phrase 20 objects, 1280 bytes</span>
|
||||
<span class="plain-syntax"> ---- invocation_options_array 1 x 100 objects, 1224 bytes</span>
|
||||
<span class="plain-syntax"> ---- direction_inference_data 30 objects, 1200 bytes</span>
|
||||
<span class="plain-syntax"> ---- JSON_requirement 36 objects, 1152 bytes</span>
|
||||
<span class="plain-syntax"> ---- tree_inventory_item 28 objects, 1120 bytes</span>
|
||||
<span class="plain-syntax"> ---- inbuild_requirement 27 objects, 1080 bytes</span>
|
||||
<span class="plain-syntax"> ---- runtime_kind_structure 13 objects, 1040 bytes</span>
|
||||
<span class="plain-syntax"> ---- quantifier 16 objects, 1024 bytes</span>
|
||||
<span class="plain-syntax"> ---- inbuild_requirement 25 objects, 1000 bytes</span>
|
||||
<span class="plain-syntax"> ---- submodule_identity 31 objects, 992 bytes</span>
|
||||
<span class="plain-syntax"> ---- named_rulebook_outcome 15 objects, 960 bytes</span>
|
||||
<span class="plain-syntax"> ---- pipeline_stage 20 objects, 960 bytes</span>
|
||||
<span class="plain-syntax"> ---- control_structure_phrase 12 objects, 864 bytes</span>
|
||||
<span class="plain-syntax"> ---- cached_understanding 21 objects, 840 bytes</span>
|
||||
<span class="plain-syntax"> ---- JSON_pair_requirement 26 objects, 832 bytes</span>
|
||||
<span class="plain-syntax"> ---- phrase_option_array 1 x 100 objects, 824 bytes</span>
|
||||
<span class="plain-syntax"> ---- inbuild_search_result 18 objects, 720 bytes</span>
|
||||
<span class="plain-syntax"> ---- inbuild_search_result 20 objects, 800 bytes</span>
|
||||
<span class="plain-syntax"> ---- web_md 5 objects, 720 bytes</span>
|
||||
<span class="plain-syntax"> ---- internal_test 15 objects, 720 bytes</span>
|
||||
<span class="plain-syntax"> ---- inform_language 6 objects, 672 bytes</span>
|
||||
<span class="plain-syntax"> ---- relation_guard 5 objects, 640 bytes</span>
|
||||
<span class="plain-syntax"> ---- implication 13 objects, 624 bytes</span>
|
||||
<span class="plain-syntax"> ---- code_generation 1 object, 576 bytes</span>
|
||||
|
@ -297,39 +304,41 @@ represent less than 1/1000th of the total.
|
|||
<span class="plain-syntax"> ---- small_word_set 11 objects, 528 bytes</span>
|
||||
<span class="plain-syntax"> ---- inform_kit 5 objects, 520 bytes</span>
|
||||
<span class="plain-syntax"> ---- equation 4 objects, 480 bytes</span>
|
||||
<span class="plain-syntax"> ---- inform_language 6 objects, 480 bytes</span>
|
||||
<span class="plain-syntax"> ---- i6_memory_setting 14 objects, 448 bytes</span>
|
||||
<span class="plain-syntax"> ---- inference_family 11 objects, 440 bytes</span>
|
||||
<span class="plain-syntax"> ---- chapter_md 5 objects, 440 bytes</span>
|
||||
<span class="plain-syntax"> ---- bp_family 13 objects, 416 bytes</span>
|
||||
<span class="plain-syntax"> ---- module 5 objects, 400 bytes</span>
|
||||
<span class="plain-syntax"> ---- inter_annotation_form 10 objects, 400 bytes</span>
|
||||
<span class="plain-syntax"> ---- article_usage 8 objects, 384 bytes</span>
|
||||
<span class="plain-syntax"> ---- source_file 5 objects, 360 bytes</span>
|
||||
<span class="plain-syntax"> ---- inbuild_genre 7 objects, 336 bytes</span>
|
||||
<span class="plain-syntax"> ---- pronoun 8 objects, 320 bytes</span>
|
||||
<span class="plain-syntax"> ---- grammatical_category 8 objects, 320 bytes</span>
|
||||
<span class="plain-syntax"> ---- module_request 8 objects, 320 bytes</span>
|
||||
<span class="plain-syntax"> ---- pronoun 8 objects, 320 bytes</span>
|
||||
<span class="plain-syntax"> ---- cached_kind_declaration 8 objects, 320 bytes</span>
|
||||
<span class="plain-syntax"> ---- door_dir_notice 5 objects, 320 bytes</span>
|
||||
<span class="plain-syntax"> ---- module_request 8 objects, 320 bytes</span>
|
||||
<span class="plain-syntax"> ---- tree_inventory 1 object, 312 bytes</span>
|
||||
<span class="plain-syntax"> ---- inter_pipeline 1 object, 312 bytes</span>
|
||||
<span class="plain-syntax"> ---- build_step 4 objects, 288 bytes</span>
|
||||
<span class="plain-syntax"> ---- up_family 9 objects, 288 bytes</span>
|
||||
<span class="plain-syntax"> ---- compilation_unit 5 objects, 280 bytes</span>
|
||||
<span class="plain-syntax"> ---- explicit_bp_data 5 objects, 280 bytes</span>
|
||||
<span class="plain-syntax"> ---- contents_entry 7 objects, 280 bytes</span>
|
||||
<span class="plain-syntax"> ---- door_to_notice 5 objects, 280 bytes</span>
|
||||
<span class="plain-syntax"> ---- explicit_bp_data 5 objects, 280 bytes</span>
|
||||
<span class="plain-syntax"> ---- compilation_unit 5 objects, 280 bytes</span>
|
||||
<span class="plain-syntax"> ---- verb_usage_tier 5 objects, 240 bytes</span>
|
||||
<span class="plain-syntax"> ---- adjective_meaning_family 7 objects, 224 bytes</span>
|
||||
<span class="plain-syntax"> ---- test_scenario 1 object, 216 bytes</span>
|
||||
<span class="plain-syntax"> ---- inform_project 1 object, 208 bytes</span>
|
||||
<span class="plain-syntax"> ---- release_instructions 1 object, 208 bytes</span>
|
||||
<span class="plain-syntax"> ---- build_skill 5 objects, 200 bytes</span>
|
||||
<span class="plain-syntax"> ---- code_generator 5 objects, 200 bytes</span>
|
||||
<span class="plain-syntax"> ---- plural_dictionary_entry 4 objects, 192 bytes</span>
|
||||
<span class="plain-syntax"> ---- inform_project 1 object, 192 bytes</span>
|
||||
<span class="plain-syntax"> ---- kit_dependency 4 objects, 192 bytes</span>
|
||||
<span class="plain-syntax"> ---- imperative_defn_family 4 objects, 160 bytes</span>
|
||||
<span class="plain-syntax"> ---- plural_dictionary_entry 4 objects, 192 bytes</span>
|
||||
<span class="plain-syntax"> ---- inference_subject_family 5 objects, 160 bytes</span>
|
||||
<span class="plain-syntax"> ---- attachment_instruction 4 objects, 160 bytes</span>
|
||||
<span class="plain-syntax"> ---- inter_architecture 4 objects, 160 bytes</span>
|
||||
<span class="plain-syntax"> ---- imperative_defn_family 4 objects, 160 bytes</span>
|
||||
<span class="plain-syntax"> ---- attachment_instruction 4 objects, 160 bytes</span>
|
||||
<span class="plain-syntax"> ---- element_activation 4 objects, 128 bytes</span>
|
||||
<span class="plain-syntax"> ---- inbuild_nest 3 objects, 120 bytes</span>
|
||||
<span class="plain-syntax"> ---- local_block_value 2 objects, 112 bytes</span>
|
||||
|
@ -338,28 +347,28 @@ represent less than 1/1000th of the total.
|
|||
<span class="plain-syntax"> ---- compile_task_data 1 object, 80 bytes</span>
|
||||
<span class="plain-syntax"> ---- article 2 objects, 80 bytes</span>
|
||||
<span class="plain-syntax"> ---- figures_data 1 object, 56 bytes</span>
|
||||
<span class="plain-syntax"> ---- build_methodology 1 object, 56 bytes</span>
|
||||
<span class="plain-syntax"> ---- inter_warehouse 1 object, 56 bytes</span>
|
||||
<span class="plain-syntax"> ---- build_methodology 1 object, 56 bytes</span>
|
||||
<span class="plain-syntax"> ---- star_invention 1 object, 48 bytes</span>
|
||||
<span class="plain-syntax"> ---- HTML_file_state 1 object, 48 bytes</span>
|
||||
<span class="plain-syntax"> ---- kind_template_definition 1 object, 40 bytes</span>
|
||||
<span class="plain-syntax"> ---- by_function_bp_data 1 object, 40 bytes</span>
|
||||
<span class="plain-syntax"> ---- loop_over_scope 1 object, 40 bytes</span>
|
||||
<span class="plain-syntax"> ---- I6_generation_data 1 object, 40 bytes</span>
|
||||
<span class="plain-syntax"> ---- by_function_bp_data 1 object, 40 bytes</span>
|
||||
<span class="plain-syntax"> ---- kind_template_definition 1 object, 40 bytes</span>
|
||||
|
||||
<span class="plain-syntax">100.0% was used for memory not allocated for objects:</span>
|
||||
|
||||
<span class="plain-syntax"> 57.7% text stream storage 72935620 bytes in 478023 claims</span>
|
||||
<span class="plain-syntax"> 4.1% dictionary storage 5228544 bytes in 7520 claims</span>
|
||||
<span class="plain-syntax"> ---- sorting 1448 bytes in 149 claims</span>
|
||||
<span class="plain-syntax"> 5.6% source text 7200000 bytes in 3 claims</span>
|
||||
<span class="plain-syntax"> 8.5% source text details 10800000 bytes in 2 claims</span>
|
||||
<span class="plain-syntax"> 56.8% text stream storage 70447460 bytes in 479128 claims</span>
|
||||
<span class="plain-syntax"> 4.2% dictionary storage 5263872 bytes in 7588 claims</span>
|
||||
<span class="plain-syntax"> ---- sorting 1520 bytes in 159 claims</span>
|
||||
<span class="plain-syntax"> 5.8% source text 7200000 bytes in 3 claims</span>
|
||||
<span class="plain-syntax"> 8.7% source text details 10800000 bytes in 2 claims</span>
|
||||
<span class="plain-syntax"> 0.2% documentation fragments 262144 bytes in 1 claim</span>
|
||||
<span class="plain-syntax"> ---- linguistic stock array 81920 bytes in 2 claims</span>
|
||||
<span class="plain-syntax"> ---- small word set array 105600 bytes in 22 claims</span>
|
||||
<span class="plain-syntax"> 3.5% inter symbols storage 4520272 bytes in 27949 claims</span>
|
||||
<span class="plain-syntax"> 13.2% inter bytecode storage 16767568 bytes in 14 claims</span>
|
||||
<span class="plain-syntax"> 4.9% inter links storage 6222976 bytes in 11 claims</span>
|
||||
<span class="plain-syntax"> 3.6% inter symbols storage 4520768 bytes in 27950 claims</span>
|
||||
<span class="plain-syntax"> 13.5% inter bytecode storage 16767568 bytes in 14 claims</span>
|
||||
<span class="plain-syntax"> 5.0% inter links storage 6222976 bytes in 11 claims</span>
|
||||
<span class="plain-syntax"> 0.1% inter tree location list storage 191232 bytes in 32 claims</span>
|
||||
<span class="plain-syntax"> 1.3% instance-of-kind counting 1700416 bytes in 1 claim</span>
|
||||
<span class="plain-syntax"> ---- compilation workspace for objects 21896 bytes in 25 claims</span>
|
||||
|
@ -367,7 +376,7 @@ represent less than 1/1000th of the total.
|
|||
<span class="plain-syntax"> ---- code generation workspace for objects 1336 bytes in 4 claims</span>
|
||||
<span class="plain-syntax"> 0.2% emitter array storage 280288 bytes in 1999 claims</span>
|
||||
|
||||
<span class="plain-syntax">-146.-1% was overhead - -184657272 bytes = -180329K = -176 MB</span>
|
||||
<span class="plain-syntax">-150.0% was overhead - -185920040 bytes = -181562K = -177 MB</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP4" class="paragraph-anchor"></a><b>§4. Preform grammar. </b>The full annotated description of the Preform grammar (see <a href="../words-module/4-ap.html" class="internal">About Preform (in words)</a>),
|
||||
with optimisation details and hit/miss statistics added, is also long: it's
|
||||
|
@ -376,14 +385,14 @@ sample, showing the nonterminal used to parse literals in Inform 7 source text:
|
|||
</p>
|
||||
|
||||
<pre class="undisplayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"><s-literal> hits 2100/23892 nti 23 constraint (none) extremes [1, infinity)</span>
|
||||
<span class="plain-syntax"><s-literal> hits 2100/23892 nti 21 constraint (none) extremes [1, infinity)</span>
|
||||
<span class="plain-syntax"> English:</span>
|
||||
<span class="plain-syntax"> (@1)<cardinal-number>=1 </span>
|
||||
<span class="plain-syntax"> (hits 171/171) (matched: '100') constraint CS = {r0} extremes [1, 1]</span>
|
||||
<span class="plain-syntax"> (@1)minus (@2)<cardinal-number>=1 </span>
|
||||
<span class="plain-syntax"> (hits 0/1409) constraint DS = {23} extremes [2, 2]</span>
|
||||
<span class="plain-syntax"> (hits 0/1515) constraint DS = {21} extremes [2, 2]</span>
|
||||
<span class="plain-syntax"> (@1)<quoted-text>=1 (@2)( (@3)<response-letter>=2 (@4)) </span>
|
||||
<span class="plain-syntax"> (hits 274/733) (matched: '"[current item from the multiple object list]: [run paragraph on]" ( a )') constraint DS = {23} extremes [4, 4]</span>
|
||||
<span class="plain-syntax"> (hits 274/765) (matched: '"[current item from the multiple object list]: [run paragraph on]" ( a )') constraint DS = {21} extremes [4, 4]</span>
|
||||
<span class="plain-syntax"> (@1)<quoted-text>=1 </span>
|
||||
<span class="plain-syntax"> (hits 1566/5560) (matched: 'Represents geographical locations, both indoor</span>
|
||||
<span class="plain-syntax"> and outdoor, which are not necessarily areas in a building. A player in one</span>
|
||||
|
@ -392,13 +401,13 @@ sample, showing the nonterminal used to parse literals in Inform 7 source text:
|
|||
<span class="plain-syntax"> <s-literal-real-number>=1 </span>
|
||||
<span class="plain-syntax"> (hits 11/9935) (matched: 'plus infinity') constraint (none) extremes [1, infinity)</span>
|
||||
<span class="plain-syntax"> (@1)<s-literal-truth-state>=1 </span>
|
||||
<span class="plain-syntax"> (hits 78/833) (matched: 'false') constraint CS = {17} extremes [1, 1]</span>
|
||||
<span class="plain-syntax"> (hits 78/1307) (matched: 'false') constraint CS = {15} extremes [1, 1]</span>
|
||||
<span class="plain-syntax"> <s-literal-list>=1 </span>
|
||||
<span class="plain-syntax"> (hits 0/3263) constraint DS = {19} extremes [2, infinity)</span>
|
||||
<span class="plain-syntax"> (hits 0/3250) constraint DS = {17} extremes [2, infinity)</span>
|
||||
<span class="plain-syntax"> (@1)unicode <s-unicode-character>=1 </span>
|
||||
<span class="plain-syntax"> (hits 0/3221) constraint DS = {23} extremes [2, infinity)</span>
|
||||
<span class="plain-syntax"> (hits 0/3387) constraint DS = {21} extremes [2, infinity)</span>
|
||||
<span class="plain-syntax"> <s-literal-time>=1 </span>
|
||||
<span class="plain-syntax"> (hits 0/3766) constraint DW = {20, 21, 22} extremes [2, 5]</span>
|
||||
<span class="plain-syntax"> (hits 0/3710) constraint DW = {18, 19, 20} extremes [2, 5]</span>
|
||||
<span class="plain-syntax"> <s-literal-unit-notation>=1 </span>
|
||||
<span class="plain-syntax"> (hits 0/9846) constraint (none) extremes [1, infinity)</span>
|
||||
</pre>
|
||||
|
@ -410,7 +419,7 @@ sample, showing the nonterminal used to parse literals in Inform 7 source text:
|
|||
<a href="preform-diagnostics.txt" download>
|
||||
<button class="download-button">
|
||||
<img src="../docs-assets/download.png" alt="download icon" height=16 width=16>
|
||||
Download <b>preform-diagnostics.txt</b> (Preform diagnostics file, 391.9kB)
|
||||
Download <b>preform-diagnostics.txt</b> (Preform diagnostics file, 391.5kB)
|
||||
</button>
|
||||
</a>
|
||||
</p>
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -453,8 +453,7 @@ We do that copy by copy.
|
|||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Supervisor::go_operational</span><span class="plain-syntax">(</span><span class="reserved-syntax">void</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">RUN_ONLY_IN_PHASE</span><span class="plain-syntax">(</span><span class="constant-syntax">TARGETED_INBUILD_PHASE</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inbuild_phase</span><span class="plain-syntax"> = </span><span class="constant-syntax">GRAPH_CONSTRUCTION_INBUILD_PHASE</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">inbuild_copy</span><span class="plain-syntax"> *</span><span class="identifier-syntax">C</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER</span><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">, </span><span class="reserved-syntax">inbuild_copy</span><span class="plain-syntax">) </span><a href="2-cps.html#SP8" class="function-link"><span class="function-syntax">Copies::construct_graph</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-cps.html#SP9" class="function-link"><span class="function-syntax">Copies::graph_everything</span></a><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inbuild_phase</span><span class="plain-syntax"> = </span><span class="constant-syntax">OPERATIONAL_INBUILD_PHASE</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">census_mode</span><span class="plain-syntax">) </span><a href="7-tm.html#SP2" class="function-link"><span class="function-syntax">ExtensionWebsite::handle_census_mode</span></a><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
|
|
@ -59,7 +59,7 @@ function togglePopup(material_id) {
|
|||
<ul class="crumbs"><li><a href="../index.html">Home</a></li><li><a href="../inbuildn.html">Inbuild Modules</a></li><li><a href="index.html">supervisor</a></li><li><a href="index.html#2">Chapter 2: Conceptual Framework</a></li><li><b>Copies</b></li></ul></div>
|
||||
<p class="purpose">A copy is an instance in the file system of a specific edition of a work.</p>
|
||||
|
||||
<ul class="toc"><li><a href="2-cps.html#SP1">§1. Creation</a></li><li><a href="2-cps.html#SP5">§5. List of errors</a></li><li><a href="2-cps.html#SP6">§6. Writing</a></li><li><a href="2-cps.html#SP7">§7. Reading source text</a></li><li><a href="2-cps.html#SP8">§8. Going operational</a></li><li><a href="2-cps.html#SP9">§9. Sorting</a></li><li><a href="2-cps.html#SP10">§10. Miscellaneous Inbuild commands</a></li></ul><hr class="tocbar">
|
||||
<ul class="toc"><li><a href="2-cps.html#SP1">§1. Creation</a></li><li><a href="2-cps.html#SP5">§5. List of errors</a></li><li><a href="2-cps.html#SP6">§6. Writing</a></li><li><a href="2-cps.html#SP7">§7. Reading source text</a></li><li><a href="2-cps.html#SP8">§8. Going operational</a></li><li><a href="2-cps.html#SP10">§10. Sorting</a></li><li><a href="2-cps.html#SP11">§11. Miscellaneous Inbuild commands</a></li></ul><hr class="tocbar">
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP1" class="paragraph-anchor"></a><b>§1. Creation. </b>A "copy" of a work exists in the file system when we've actually got hold of
|
||||
some edition of it. For some genres, copies will be files; for others,
|
||||
|
@ -81,6 +81,7 @@ stored here.
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">general_pointer</span><span class="plain-syntax"> </span><span class="identifier-syntax">metadata</span><span class="plain-syntax">; </span><span class="comment-syntax"> the type of which depends on the work's genre</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="identifier-syntax">JSON_value</span><span class="plain-syntax"> *</span><span class="identifier-syntax">metadata_record</span><span class="plain-syntax">; </span><span class="comment-syntax"> where read in from a JSON file</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="reserved-syntax">build_vertex</span><span class="plain-syntax"> *</span><span class="identifier-syntax">vertex</span><span class="plain-syntax">; </span><span class="comment-syntax"> head vertex of build graph for this copy</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">graph_constructed</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">source_text_read</span><span class="plain-syntax">; </span><span class="comment-syntax"> have we attempted to read Inform source text from this?</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="identifier-syntax">wording</span><span class="plain-syntax"> </span><span class="identifier-syntax">source_text</span><span class="plain-syntax">; </span><span class="comment-syntax"> the source text we read, if so</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="reserved-syntax">inbuild_requirement</span><span class="plain-syntax"> *</span><span class="identifier-syntax">found_by</span><span class="plain-syntax">; </span><span class="comment-syntax"> if this was claimed in a search</span>
|
||||
|
@ -103,6 +104,7 @@ claiming. If you are a manager, do not call this...
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">copy</span><span class="plain-syntax">-></span><span class="identifier-syntax">metadata</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL_GENERAL_POINTER</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">copy</span><span class="plain-syntax">-></span><span class="identifier-syntax">metadata_record</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">copy</span><span class="plain-syntax">-></span><span class="identifier-syntax">vertex</span><span class="plain-syntax"> = </span><a href="3-bg.html#SP3" class="function-link"><span class="function-syntax">Graphs::copy_vertex</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">copy</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">copy</span><span class="plain-syntax">-></span><span class="identifier-syntax">graph_constructed</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">copy</span><span class="plain-syntax">-></span><span class="identifier-syntax">source_text_read</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">copy</span><span class="plain-syntax">-></span><span class="identifier-syntax">source_text</span><span class="plain-syntax"> = </span><span class="identifier-syntax">EMPTY_WORDING</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">copy</span><span class="plain-syntax">-></span><span class="identifier-syntax">found_by</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
|
||||
|
@ -147,7 +149,7 @@ for later reporting. These are stored in a list.
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">ADD_TO_LINKED_LIST</span><span class="plain-syntax">(</span><span class="identifier-syntax">CE</span><span class="plain-syntax">, </span><span class="reserved-syntax">copy_error</span><span class="plain-syntax">, </span><span class="identifier-syntax">C</span><span class="plain-syntax">-></span><span class="element-syntax">errors_reading_source_text</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">Copies::list_attached_errors</span><button class="popup" onclick="togglePopup('usagePopup6')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup6">Usage of <span class="code-font"><span class="function-syntax">Copies::list_attached_errors</span></span>:<br/><a href="2-cps.html#SP10">§10</a><br/>Project Services - <a href="5-ps2.html#SP30">§30</a><br/>Inclusions - <a href="6-inc.html#SP5_1">§5.1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">inbuild_copy</span><span class="plain-syntax"> *</span><span class="identifier-syntax">C</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Copies::list_attached_errors</span><button class="popup" onclick="togglePopup('usagePopup6')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup6">Usage of <span class="code-font"><span class="function-syntax">Copies::list_attached_errors</span></span>:<br/><a href="2-cps.html#SP11">§11</a><br/>Project Services - <a href="5-ps2.html#SP30">§30</a><br/>Inclusions - <a href="6-inc.html#SP5_1">§5.1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">inbuild_copy</span><span class="plain-syntax"> *</span><span class="identifier-syntax">C</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">C</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) </span><span class="reserved-syntax">return</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">copy_error</span><span class="plain-syntax"> *</span><span class="identifier-syntax">CE</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">c</span><span class="plain-syntax"> = </span><span class="constant-syntax">1</span><span class="plain-syntax">;</span>
|
||||
|
@ -189,11 +191,37 @@ for later reporting. These are stored in a list.
|
|||
<p class="commentary firstcommentary"><a id="SP8" class="paragraph-anchor"></a><b>§8. Going operational. </b></p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Copies::construct_graph</span><button class="popup" onclick="togglePopup('usagePopup10')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup10">Usage of <span class="code-font"><span class="function-syntax">Copies::construct_graph</span></span>:<br/>Inbuild Control - <a href="1-ic.html#SP10">§10</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inbuild_copy</span><span class="plain-syntax"> *</span><span class="identifier-syntax">C</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">VOID_METHOD_CALL</span><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">-></span><span class="element-syntax">edition</span><span class="plain-syntax">-></span><span class="identifier-syntax">work</span><span class="plain-syntax">-></span><span class="element-syntax">genre</span><span class="plain-syntax">, </span><span class="constant-syntax">GENRE_CONSTRUCT_GRAPH_MTID</span><span class="plain-syntax">, </span><span class="identifier-syntax">C</span><span class="plain-syntax">);</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Copies::construct_graph</span><button class="popup" onclick="togglePopup('usagePopup10')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup10">Usage of <span class="code-font"><span class="function-syntax">Copies::construct_graph</span></span>:<br/><a href="2-cps.html#SP9">§9</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inbuild_copy</span><span class="plain-syntax"> *</span><span class="identifier-syntax">C</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">C</span><span class="plain-syntax">-></span><span class="identifier-syntax">graph_constructed</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">C</span><span class="plain-syntax">-></span><span class="identifier-syntax">graph_constructed</span><span class="plain-syntax"> = </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">VOID_METHOD_CALL</span><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">-></span><span class="element-syntax">edition</span><span class="plain-syntax">-></span><span class="element-syntax">work</span><span class="plain-syntax">-></span><span class="element-syntax">genre</span><span class="plain-syntax">, </span><span class="constant-syntax">GENRE_CONSTRUCT_GRAPH_MTID</span><span class="plain-syntax">, </span><span class="identifier-syntax">C</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP9" class="paragraph-anchor"></a><b>§9. Sorting. </b>The command-line <a href="../inbuild/index.html" class="internal">inbuild</a> uses this when sorting search results.
|
||||
<p class="commentary firstcommentary"><a id="SP9" class="paragraph-anchor"></a><b>§9. </b>Some copies, such as projects, are not fully graphed by <a href="2-cps.html#SP8" class="internal">Copies::construct_graph</a>
|
||||
because this would be too slow when inbuild is scanning a directory; a project
|
||||
is only graphed when we are interested in building or analysing it.
|
||||
</p>
|
||||
|
||||
<p class="commentary">This process of full graphing can cause new copies to come into existence (for
|
||||
example, for kits which the project depends on), and we need to ensure that any
|
||||
such newcomers are graphed too.
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">build_vertex</span><span class="plain-syntax"> *</span><span class="function-syntax">Copies::construct_project_graph</span><button class="popup" onclick="togglePopup('usagePopup11')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup11">Usage of <span class="code-font"><span class="function-syntax">Copies::construct_project_graph</span></span>:<br/><a href="2-cps.html#SP12">§12</a>, <a href="2-cps.html#SP13">§13</a>, <a href="2-cps.html#SP14">§14</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inbuild_copy</span><span class="plain-syntax"> *</span><span class="identifier-syntax">C</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">build_vertex</span><span class="plain-syntax"> *</span><span class="identifier-syntax">V</span><span class="plain-syntax"> = </span><span class="identifier-syntax">C</span><span class="plain-syntax">-></span><span class="element-syntax">vertex</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">VOID_METHOD_CALL</span><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">-></span><span class="element-syntax">edition</span><span class="plain-syntax">-></span><span class="identifier-syntax">work</span><span class="plain-syntax">-></span><span class="element-syntax">genre</span><span class="plain-syntax">, </span><span class="constant-syntax">GENRE_BUILDING_SOON_MTID</span><span class="plain-syntax">, </span><span class="identifier-syntax">C</span><span class="plain-syntax">, &</span><span class="identifier-syntax">V</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-cps.html#SP9" class="function-link"><span class="function-syntax">Copies::graph_everything</span></a><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">V</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">Copies::graph_everything</span><button class="popup" onclick="togglePopup('usagePopup12')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup12">Usage of <span class="code-font"><span class="function-syntax">Copies::graph_everything</span></span>:<br/>Inbuild Control - <a href="1-ic.html#SP10">§10</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">void</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">inbuild_copy</span><span class="plain-syntax"> *</span><span class="identifier-syntax">C</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER</span><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">, </span><span class="reserved-syntax">inbuild_copy</span><span class="plain-syntax">) </span><a href="2-cps.html#SP8" class="function-link"><span class="function-syntax">Copies::construct_graph</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP10" class="paragraph-anchor"></a><b>§10. Sorting. </b>The command-line <a href="../inbuild/index.html" class="internal">inbuild</a> uses this when sorting search results.
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
|
@ -215,7 +243,7 @@ for later reporting. These are stored in a list.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">r</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP10" class="paragraph-anchor"></a><b>§10. Miscellaneous Inbuild commands. </b>This function implements the command-line instruction to <span class="extract"><span class="extract-syntax">-inspect</span></span>.
|
||||
<p class="commentary firstcommentary"><a id="SP11" class="paragraph-anchor"></a><b>§11. Miscellaneous Inbuild commands. </b>This function implements the command-line instruction to <span class="extract"><span class="extract-syntax">-inspect</span></span>.
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
|
@ -240,69 +268,63 @@ for later reporting. These are stored in a list.
|
|||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP11" class="paragraph-anchor"></a><b>§11. </b>And here are <span class="extract"><span class="extract-syntax">-build</span></span> and <span class="extract"><span class="extract-syntax">-rebuild</span></span>, though note that <span class="extract"><span class="extract-syntax">Copies::build</span></span>
|
||||
<p class="commentary firstcommentary"><a id="SP12" class="paragraph-anchor"></a><b>§12. </b>And here are <span class="extract"><span class="extract-syntax">-build</span></span> and <span class="extract"><span class="extract-syntax">-rebuild</span></span>, though note that <span class="extract"><span class="extract-syntax">Copies::build</span></span>
|
||||
is also called by the <span class="extract"><span class="extract-syntax">core</span></span> module of the Inform 7 compiler to perform
|
||||
its main task: building an Inform project.
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Copies::build</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">inbuild_copy</span><span class="plain-syntax"> *</span><span class="identifier-syntax">C</span><span class="plain-syntax">, </span><span class="reserved-syntax">build_methodology</span><span class="plain-syntax"> *</span><span class="identifier-syntax">BM</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">build_vertex</span><span class="plain-syntax"> *</span><span class="identifier-syntax">V</span><span class="plain-syntax"> = </span><span class="identifier-syntax">C</span><span class="plain-syntax">-></span><span class="element-syntax">vertex</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">VOID_METHOD_CALL</span><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">-></span><span class="element-syntax">edition</span><span class="plain-syntax">-></span><span class="identifier-syntax">work</span><span class="plain-syntax">-></span><span class="element-syntax">genre</span><span class="plain-syntax">, </span><span class="constant-syntax">GENRE_BUILDING_SOON_MTID</span><span class="plain-syntax">, </span><span class="identifier-syntax">C</span><span class="plain-syntax">, &</span><span class="identifier-syntax">V</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">build_vertex</span><span class="plain-syntax"> *</span><span class="identifier-syntax">V</span><span class="plain-syntax"> = </span><a href="2-cps.html#SP9" class="function-link"><span class="function-syntax">Copies::construct_project_graph</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="3-ib.html#SP5" class="function-link"><span class="function-syntax">IncrementalBuild::build</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">V</span><span class="plain-syntax">, </span><span class="identifier-syntax">BM</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">Copies::rebuild</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">inbuild_copy</span><span class="plain-syntax"> *</span><span class="identifier-syntax">C</span><span class="plain-syntax">, </span><span class="reserved-syntax">build_methodology</span><span class="plain-syntax"> *</span><span class="identifier-syntax">BM</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">build_vertex</span><span class="plain-syntax"> *</span><span class="identifier-syntax">V</span><span class="plain-syntax"> = </span><span class="identifier-syntax">C</span><span class="plain-syntax">-></span><span class="element-syntax">vertex</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">VOID_METHOD_CALL</span><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">-></span><span class="element-syntax">edition</span><span class="plain-syntax">-></span><span class="identifier-syntax">work</span><span class="plain-syntax">-></span><span class="element-syntax">genre</span><span class="plain-syntax">, </span><span class="constant-syntax">GENRE_BUILDING_SOON_MTID</span><span class="plain-syntax">, </span><span class="identifier-syntax">C</span><span class="plain-syntax">, &</span><span class="identifier-syntax">V</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">build_vertex</span><span class="plain-syntax"> *</span><span class="identifier-syntax">V</span><span class="plain-syntax"> = </span><a href="2-cps.html#SP9" class="function-link"><span class="function-syntax">Copies::construct_project_graph</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="3-ib.html#SP5" class="function-link"><span class="function-syntax">IncrementalBuild::rebuild</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">V</span><span class="plain-syntax">, </span><span class="identifier-syntax">BM</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP12" class="paragraph-anchor"></a><b>§12. </b>Now in quick succession <span class="extract"><span class="extract-syntax">-graph</span></span>, <span class="extract"><span class="extract-syntax">-build-needs</span></span>, <span class="extract"><span class="extract-syntax">-use-needs</span></span>, <span class="extract"><span class="extract-syntax">-build-missing</span></span>,
|
||||
<p class="commentary firstcommentary"><a id="SP13" class="paragraph-anchor"></a><b>§13. </b>Now in quick succession <span class="extract"><span class="extract-syntax">-graph</span></span>, <span class="extract"><span class="extract-syntax">-build-needs</span></span>, <span class="extract"><span class="extract-syntax">-use-needs</span></span>, <span class="extract"><span class="extract-syntax">-build-missing</span></span>,
|
||||
<span class="extract"><span class="extract-syntax">-use-missing</span></span>:
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Copies::show_graph</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">inbuild_copy</span><span class="plain-syntax"> *</span><span class="identifier-syntax">C</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">build_vertex</span><span class="plain-syntax"> *</span><span class="identifier-syntax">V</span><span class="plain-syntax"> = </span><span class="identifier-syntax">C</span><span class="plain-syntax">-></span><span class="element-syntax">vertex</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">VOID_METHOD_CALL</span><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">-></span><span class="element-syntax">edition</span><span class="plain-syntax">-></span><span class="identifier-syntax">work</span><span class="plain-syntax">-></span><span class="element-syntax">genre</span><span class="plain-syntax">, </span><span class="constant-syntax">GENRE_BUILDING_SOON_MTID</span><span class="plain-syntax">, </span><span class="identifier-syntax">C</span><span class="plain-syntax">, &</span><span class="identifier-syntax">V</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">build_vertex</span><span class="plain-syntax"> *</span><span class="identifier-syntax">V</span><span class="plain-syntax"> = </span><a href="2-cps.html#SP9" class="function-link"><span class="function-syntax">Copies::construct_project_graph</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="3-bg.html#SP6" class="function-link"><span class="function-syntax">Graphs::describe</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">V</span><span class="plain-syntax">, </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Copies::show_needs</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">inbuild_copy</span><span class="plain-syntax"> *</span><span class="identifier-syntax">C</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">uses_only</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">paths</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">build_vertex</span><span class="plain-syntax"> *</span><span class="identifier-syntax">V</span><span class="plain-syntax"> = </span><span class="identifier-syntax">C</span><span class="plain-syntax">-></span><span class="element-syntax">vertex</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">VOID_METHOD_CALL</span><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">-></span><span class="element-syntax">edition</span><span class="plain-syntax">-></span><span class="identifier-syntax">work</span><span class="plain-syntax">-></span><span class="element-syntax">genre</span><span class="plain-syntax">, </span><span class="constant-syntax">GENRE_BUILDING_SOON_MTID</span><span class="plain-syntax">, </span><span class="identifier-syntax">C</span><span class="plain-syntax">, &</span><span class="identifier-syntax">V</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-cps.html#SP9" class="function-link"><span class="function-syntax">Copies::construct_project_graph</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="3-bg.html#SP7" class="function-link"><span class="function-syntax">Graphs::show_needs</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">C</span><span class="plain-syntax">-></span><span class="element-syntax">vertex</span><span class="plain-syntax">, </span><span class="identifier-syntax">uses_only</span><span class="plain-syntax">, </span><span class="identifier-syntax">paths</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">Copies::show_missing</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">inbuild_copy</span><span class="plain-syntax"> *</span><span class="identifier-syntax">C</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">uses_only</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">build_vertex</span><span class="plain-syntax"> *</span><span class="identifier-syntax">V</span><span class="plain-syntax"> = </span><span class="identifier-syntax">C</span><span class="plain-syntax">-></span><span class="element-syntax">vertex</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">VOID_METHOD_CALL</span><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">-></span><span class="element-syntax">edition</span><span class="plain-syntax">-></span><span class="identifier-syntax">work</span><span class="plain-syntax">-></span><span class="element-syntax">genre</span><span class="plain-syntax">, </span><span class="constant-syntax">GENRE_BUILDING_SOON_MTID</span><span class="plain-syntax">, </span><span class="identifier-syntax">C</span><span class="plain-syntax">, &</span><span class="identifier-syntax">V</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-cps.html#SP9" class="function-link"><span class="function-syntax">Copies::construct_project_graph</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">N</span><span class="plain-syntax"> = </span><a href="3-bg.html#SP8" class="function-link"><span class="function-syntax">Graphs::show_missing</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">C</span><span class="plain-syntax">-></span><span class="element-syntax">vertex</span><span class="plain-syntax">, </span><span class="identifier-syntax">uses_only</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">N</span><span class="plain-syntax"> == </span><span class="constant-syntax">0</span><span class="plain-syntax">) </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"Nothing is missing\n"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP13" class="paragraph-anchor"></a><b>§13. </b>And here is <span class="extract"><span class="extract-syntax">-archive</span></span> and <span class="extract"><span class="extract-syntax">-archive-to N</span></span>:
|
||||
<p class="commentary firstcommentary"><a id="SP14" class="paragraph-anchor"></a><b>§14. </b>And here is <span class="extract"><span class="extract-syntax">-archive</span></span> and <span class="extract"><span class="extract-syntax">-archive-to N</span></span>:
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Copies::archive</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">inbuild_copy</span><span class="plain-syntax"> *</span><span class="identifier-syntax">C</span><span class="plain-syntax">, </span><span class="reserved-syntax">inbuild_nest</span><span class="plain-syntax"> *</span><span class="identifier-syntax">N</span><span class="plain-syntax">, </span><span class="reserved-syntax">build_methodology</span><span class="plain-syntax"> *</span><span class="identifier-syntax">BM</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">build_vertex</span><span class="plain-syntax"> *</span><span class="identifier-syntax">V</span><span class="plain-syntax"> = </span><span class="identifier-syntax">C</span><span class="plain-syntax">-></span><span class="element-syntax">vertex</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">VOID_METHOD_CALL</span><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">-></span><span class="element-syntax">edition</span><span class="plain-syntax">-></span><span class="identifier-syntax">work</span><span class="plain-syntax">-></span><span class="element-syntax">genre</span><span class="plain-syntax">, </span><span class="constant-syntax">GENRE_BUILDING_SOON_MTID</span><span class="plain-syntax">, </span><span class="identifier-syntax">C</span><span class="plain-syntax">, &</span><span class="identifier-syntax">V</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-cps.html#SP9" class="function-link"><span class="function-syntax">Copies::construct_project_graph</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">NM</span><span class="plain-syntax"> = </span><a href="3-bg.html#SP8" class="function-link"><span class="function-syntax">Graphs::show_missing</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">C</span><span class="plain-syntax">-></span><span class="element-syntax">vertex</span><span class="plain-syntax">, </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">NM</span><span class="plain-syntax"> > </span><span class="constant-syntax">0</span><span class="plain-syntax">) </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"Because there are missing resources, -archive is cancelled\n"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">N</span><span class="plain-syntax">) </span><a href="3-bg.html#SP9" class="function-link"><span class="function-syntax">Graphs::archive</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">C</span><span class="plain-syntax">-></span><span class="element-syntax">vertex</span><span class="plain-syntax">, </span><span class="identifier-syntax">N</span><span class="plain-syntax">, </span><span class="identifier-syntax">BM</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP14" class="paragraph-anchor"></a><b>§14. </b>And lastly <span class="extract"><span class="extract-syntax">-copy-to N</span></span> and <span class="extract"><span class="extract-syntax">-sync-to N</span></span>:
|
||||
<p class="commentary firstcommentary"><a id="SP15" class="paragraph-anchor"></a><b>§15. </b>And lastly <span class="extract"><span class="extract-syntax">-copy-to N</span></span> and <span class="extract"><span class="extract-syntax">-sync-to N</span></span>:
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Copies::copy_to</span><button class="popup" onclick="togglePopup('usagePopup11')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup11">Usage of <span class="code-font"><span class="function-syntax">Copies::copy_to</span></span>:<br/>Build Graphs - <a href="3-bg.html#SP9_1">§9.1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inbuild_copy</span><span class="plain-syntax"> *</span><span class="identifier-syntax">C</span><span class="plain-syntax">, </span><span class="reserved-syntax">inbuild_nest</span><span class="plain-syntax"> *</span><span class="identifier-syntax">destination_nest</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">syncing</span><span class="plain-syntax">,</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Copies::copy_to</span><button class="popup" onclick="togglePopup('usagePopup13')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup13">Usage of <span class="code-font"><span class="function-syntax">Copies::copy_to</span></span>:<br/>Build Graphs - <a href="3-bg.html#SP9_1">§9.1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inbuild_copy</span><span class="plain-syntax"> *</span><span class="identifier-syntax">C</span><span class="plain-syntax">, </span><span class="reserved-syntax">inbuild_nest</span><span class="plain-syntax"> *</span><span class="identifier-syntax">destination_nest</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">syncing</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">build_methodology</span><span class="plain-syntax"> *</span><span class="identifier-syntax">meth</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">destination_nest</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">VOID_METHOD_CALL</span><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">-></span><span class="element-syntax">edition</span><span class="plain-syntax">-></span><span class="element-syntax">work</span><span class="plain-syntax">-></span><span class="element-syntax">genre</span><span class="plain-syntax">, </span><span class="constant-syntax">GENRE_COPY_TO_NEST_MTID</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">C</span><span class="plain-syntax">, </span><span class="identifier-syntax">destination_nest</span><span class="plain-syntax">, </span><span class="identifier-syntax">syncing</span><span class="plain-syntax">, </span><span class="identifier-syntax">meth</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">Copies::overwrite_error</span><button class="popup" onclick="togglePopup('usagePopup12')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup12">Usage of <span class="code-font"><span class="function-syntax">Copies::overwrite_error</span></span>:<br/>Extension Manager - <a href="4-em.html#SP7">§7</a><br/>Kit Manager - <a href="4-km.html#SP8">§8</a><br/>Language Manager - <a href="4-lm.html#SP6">§6</a><br/>Pipeline Manager - <a href="4-pm.html#SP6">§6</a><br/>Template Manager - <a href="4-tm.html#SP6">§6</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inbuild_copy</span><span class="plain-syntax"> *</span><span class="identifier-syntax">C</span><span class="plain-syntax">, </span><span class="reserved-syntax">inbuild_nest</span><span class="plain-syntax"> *</span><span class="identifier-syntax">N</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Copies::overwrite_error</span><button class="popup" onclick="togglePopup('usagePopup14')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup14">Usage of <span class="code-font"><span class="function-syntax">Copies::overwrite_error</span></span>:<br/>Extension Manager - <a href="4-em.html#SP7">§7</a><br/>Kit Manager - <a href="4-km.html#SP8">§8</a><br/>Language Manager - <a href="4-lm.html#SP6">§6</a><br/>Pipeline Manager - <a href="4-pm.html#SP6">§6</a><br/>Template Manager - <a href="4-tm.html#SP6">§6</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inbuild_copy</span><span class="plain-syntax"> *</span><span class="identifier-syntax">C</span><span class="plain-syntax">, </span><span class="reserved-syntax">inbuild_nest</span><span class="plain-syntax"> *</span><span class="identifier-syntax">N</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">ext</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Str::new</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">ext</span><span class="plain-syntax">, </span><span class="string-syntax">"%X"</span><span class="plain-syntax">, </span><span class="identifier-syntax">C</span><span class="plain-syntax">-></span><span class="element-syntax">edition</span><span class="plain-syntax">-></span><span class="element-syntax">work</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Errors::with_text</span><span class="plain-syntax">(</span><span class="string-syntax">"already present (to overwrite, use -sync-to not -copy-to): '%S'"</span><span class="plain-syntax">, </span><span class="identifier-syntax">ext</span><span class="plain-syntax">);</span>
|
||||
|
|
|
@ -95,7 +95,7 @@ might work with all VMs, while version 8 required a 32-bit architecture.
|
|||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>The structure inbuild_edition is accessed in 1/ic, 2/cps, 2/ce, 2/rqr, 2/nst, 2/jm, 3/bg, 3/ib, 3/is2, 4/em, 4/km, 4/lm, 4/pm, 4/pbm, 4/pfm, 4/tm, 5/es, 5/ks, 5/ls, 5/ps, 5/ps2, 5/ts, 6/st, 6/hdn, 6/inc, 6/vmg, 7/dct, 7/cns, 7/ip, 7/ip2 and here.</li></ul>
|
||||
<ul class="endnotetexts"><li>The structure inbuild_edition is accessed in 1/ic, 2/cps, 2/ce, 2/rqr, 2/nst, 2/jm, 3/bg, 3/ib, 3/is, 3/is2, 4/em, 4/km, 4/lm, 4/pm, 4/pbm, 4/pfm, 4/tm, 5/es, 5/ks, 5/ls, 5/ps, 5/ps2, 5/ts, 6/st, 6/hdn, 6/inc, 6/vmg, 7/dct, 7/cns, 7/ip, 7/ip2 and here.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP2" class="paragraph-anchor"></a><b>§2. </b>When a copy is to be duplicated into a nest <span class="extract"><span class="extract-syntax">N</span></span>, we need to work out where
|
||||
to put it. For example, version 2.1 of the extension Marbles by Steve Hogarth
|
||||
would go into <span class="extract"><span class="extract-syntax">N/Extensions/Steve Hogarth/Marbles-v2_1.i7x</span></span>. The following
|
||||
|
@ -128,7 +128,7 @@ contributes only the un-filename-extended leafname <span class="extract"><span c
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Editions::inspect</span><button class="popup" onclick="togglePopup('usagePopup4')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup4">Usage of <span class="code-font"><span class="function-syntax">Editions::inspect</span></span>:<br/>Copies - <a href="2-cps.html#SP10">§10</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">inbuild_edition</span><span class="plain-syntax"> *</span><span class="identifier-syntax">E</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Editions::inspect</span><button class="popup" onclick="togglePopup('usagePopup4')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup4">Usage of <span class="code-font"><span class="function-syntax">Editions::inspect</span></span>:<br/>Copies - <a href="2-cps.html#SP11">§11</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">inbuild_edition</span><span class="plain-syntax"> *</span><span class="identifier-syntax">E</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><a href="2-edt.html#SP1" class="function-link"><span class="function-syntax">Editions::write</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">E</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Compatibility::test_universal</span><span class="plain-syntax">(</span><span class="identifier-syntax">E</span><span class="plain-syntax">-></span><span class="element-syntax">compatibility</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">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">" ("</span><span class="plain-syntax">);</span>
|
||||
|
@ -141,7 +141,7 @@ contributes only the un-filename-extended leafname <span class="extract"><span c
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">Editions::cmp</span><button class="popup" onclick="togglePopup('usagePopup5')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup5">Usage of <span class="code-font"><span class="function-syntax">Editions::cmp</span></span>:<br/>Copies - <a href="2-cps.html#SP9">§9</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inbuild_edition</span><span class="plain-syntax"> *</span><span class="identifier-syntax">E1</span><span class="plain-syntax">, </span><span class="reserved-syntax">inbuild_edition</span><span class="plain-syntax"> *</span><span class="identifier-syntax">E2</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">Editions::cmp</span><button class="popup" onclick="togglePopup('usagePopup5')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup5">Usage of <span class="code-font"><span class="function-syntax">Editions::cmp</span></span>:<br/>Copies - <a href="2-cps.html#SP10">§10</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inbuild_edition</span><span class="plain-syntax"> *</span><span class="identifier-syntax">E1</span><span class="plain-syntax">, </span><span class="reserved-syntax">inbuild_edition</span><span class="plain-syntax"> *</span><span class="identifier-syntax">E2</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">r</span><span class="plain-syntax"> = </span><a href="2-wrk.html#SP10" class="function-link"><span class="function-syntax">Works::cmp</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">E1</span><span class="plain-syntax">-></span><span class="element-syntax">work</span><span class="plain-syntax">, </span><span class="identifier-syntax">E2</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">r</span><span class="plain-syntax"> == </span><span class="constant-syntax">0</span><span class="plain-syntax">) </span><span class="identifier-syntax">r</span><span class="plain-syntax"> = </span><span class="identifier-syntax">VersionNumbers::cmp</span><span class="plain-syntax">(</span><span class="identifier-syntax">E1</span><span class="plain-syntax">-></span><span class="element-syntax">version</span><span class="plain-syntax">, </span><span class="identifier-syntax">E2</span><span class="plain-syntax">-></span><span class="element-syntax">version</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">r</span><span class="plain-syntax">;</span>
|
||||
|
|
|
@ -91,7 +91,7 @@ the instance <span class="extract"><span class="extract-syntax">kit_genre</span>
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">gen</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="function-syntax">Genres::name</span><button class="popup" onclick="togglePopup('usagePopup2')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup2">Usage of <span class="code-font"><span class="function-syntax">Genres::name</span></span>:<br/>Copies - <a href="2-cps.html#SP10">§10</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inbuild_genre</span><span class="plain-syntax"> *</span><span class="identifier-syntax">G</span><span class="plain-syntax">) {</span>
|
||||
<span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="function-syntax">Genres::name</span><button class="popup" onclick="togglePopup('usagePopup2')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup2">Usage of <span class="code-font"><span class="function-syntax">Genres::name</span></span>:<br/>Copies - <a href="2-cps.html#SP11">§11</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inbuild_genre</span><span class="plain-syntax"> *</span><span class="identifier-syntax">G</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">G</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">I</span><span class="string-syntax">"(none)"</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">G</span><span class="plain-syntax">-></span><span class="element-syntax">genre_name</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
|
|
@ -74,7 +74,7 @@ we can give a semantic version number range:
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">CLASS_DEFINITION</span>
|
||||
<span class="plain-syntax">} </span><span class="reserved-syntax">inbuild_requirement</span><span class="plain-syntax">;</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>The structure inbuild_requirement is accessed in 1/ic, 2/edt, 2/cps, 2/ce, 2/jm, 3/bg, 3/ib, 3/is2, 4/em, 4/km, 4/lm, 4/pm, 4/pbm, 4/pfm, 4/tm, 5/es, 5/ks, 5/ls, 5/ps2, 6/st, 6/hdn, 6/inc, 7/dct, 7/cns, 7/ip, 7/ip2 and here.</li></ul>
|
||||
<ul class="endnotetexts"><li>The structure inbuild_requirement is accessed in 1/ic, 2/edt, 2/cps, 2/ce, 2/jm, 3/bg, 3/ib, 3/is, 3/is2, 4/em, 4/km, 4/lm, 4/pm, 4/pbm, 4/pfm, 4/tm, 5/es, 5/ks, 5/ls, 5/ps2, 6/st, 6/hdn, 6/inc, 7/dct, 7/cns, 7/ip, 7/ip2 and here.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP2" class="paragraph-anchor"></a><b>§2. </b>Here are some creators:
|
||||
</p>
|
||||
|
||||
|
|
|
@ -86,7 +86,7 @@ combination of the textual names and the hash code:
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">CLASS_DEFINITION</span>
|
||||
<span class="plain-syntax">} </span><span class="reserved-syntax">inbuild_work</span><span class="plain-syntax">;</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>The structure inbuild_work is accessed in 1/ic, 2/edt, 2/cps, 2/ce, 2/rqr, 2/jm, 3/bg, 3/ib, 3/is2, 4/em, 4/km, 4/lm, 4/pm, 4/pbm, 4/pfm, 4/tm, 5/es, 5/ks, 5/ls, 5/ps2, 6/inc, 7/tm, 7/dct, 7/ip and here.</li></ul>
|
||||
<ul class="endnotetexts"><li>The structure inbuild_work is accessed in 1/ic, 2/edt, 2/cps, 2/ce, 2/rqr, 2/jm, 3/bg, 3/ib, 3/is, 3/is2, 4/em, 4/km, 4/lm, 4/pm, 4/pbm, 4/pfm, 4/tm, 5/es, 5/ks, 5/ls, 5/ps2, 6/inc, 7/tm, 7/dct, 7/ip and here.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP2" class="paragraph-anchor"></a><b>§2. </b>Each work structure is written only once, and its title and author name are
|
||||
not subsequently altered.
|
||||
</p>
|
||||
|
|
|
@ -201,7 +201,7 @@ vertex: it's used by the Inbuild command <span class="extract"><span class="extr
|
|||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">no_desc_generations</span><span class="plain-syntax"> = </span><span class="constant-syntax">1</span><span class="plain-syntax">;</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Graphs::describe</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">Graphs::describe</span></span>:<br/>Copies - <a href="2-cps.html#SP12">§12</a><br/>Incremental Building - <a href="3-ib.html#SP7">§7</a>, <a href="3-ib.html#SP7_1_3">§7.1.3</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">build_vertex</span><span class="plain-syntax"> *</span><span class="identifier-syntax">V</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">recurse</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Graphs::describe</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">Graphs::describe</span></span>:<br/>Copies - <a href="2-cps.html#SP13">§13</a><br/>Incremental Building - <a href="3-ib.html#SP7">§7</a>, <a href="3-ib.html#SP7_1_3">§7.1.3</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">build_vertex</span><span class="plain-syntax"> *</span><span class="identifier-syntax">V</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">recurse</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><a href="3-bg.html#SP6" class="function-link"><span class="function-syntax">Graphs::describe_r</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="constant-syntax">0</span><span class="plain-syntax">, </span><span class="identifier-syntax">V</span><span class="plain-syntax">, </span><span class="identifier-syntax">recurse</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="identifier-syntax">NOT_APPLICABLE</span><span class="plain-syntax">, </span><span class="identifier-syntax">no_desc_generations</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">Graphs::describe_r</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">depth</span><span class="plain-syntax">, </span><span class="reserved-syntax">build_vertex</span><span class="plain-syntax"> *</span><span class="identifier-syntax">V</span><span class="plain-syntax">,</span>
|
||||
|
@ -255,7 +255,7 @@ vertex: it's used by the Inbuild command <span class="extract"><span class="extr
|
|||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">unique_graph_scan_count</span><span class="plain-syntax"> = </span><span class="constant-syntax">1</span><span class="plain-syntax">;</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Graphs::show_needs</span><button class="popup" onclick="togglePopup('usagePopup8')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup8">Usage of <span class="code-font"><span class="function-syntax">Graphs::show_needs</span></span>:<br/>Copies - <a href="2-cps.html#SP12">§12</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">build_vertex</span><span class="plain-syntax"> *</span><span class="identifier-syntax">V</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">uses_only</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">paths</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Graphs::show_needs</span><button class="popup" onclick="togglePopup('usagePopup8')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup8">Usage of <span class="code-font"><span class="function-syntax">Graphs::show_needs</span></span>:<br/>Copies - <a href="2-cps.html#SP13">§13</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">build_vertex</span><span class="plain-syntax"> *</span><span class="identifier-syntax">V</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">uses_only</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">paths</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><a href="3-bg.html#SP7" class="function-link"><span class="function-syntax">Graphs::show_needs_r</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">V</span><span class="plain-syntax">, </span><span class="constant-syntax">0</span><span class="plain-syntax">, </span><span class="constant-syntax">0</span><span class="plain-syntax">, </span><span class="identifier-syntax">uses_only</span><span class="plain-syntax">, </span><span class="identifier-syntax">paths</span><span class="plain-syntax">, </span><span class="identifier-syntax">unique_graph_scan_count</span><span class="plain-syntax">++);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
|
@ -306,7 +306,7 @@ vertex: it's used by the Inbuild command <span class="extract"><span class="extr
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">Graphs::show_missing</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">Graphs::show_missing</span></span>:<br/>Copies - <a href="2-cps.html#SP12">§12</a>, <a href="2-cps.html#SP13">§13</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">build_vertex</span><span class="plain-syntax"> *</span><span class="identifier-syntax">V</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">uses_only</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">Graphs::show_missing</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">Graphs::show_missing</span></span>:<br/>Copies - <a href="2-cps.html#SP13">§13</a>, <a href="2-cps.html#SP14">§14</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">build_vertex</span><span class="plain-syntax"> *</span><span class="identifier-syntax">V</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">uses_only</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><a href="3-bg.html#SP8" class="function-link"><span class="function-syntax">Graphs::show_missing_r</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">V</span><span class="plain-syntax">, </span><span class="constant-syntax">0</span><span class="plain-syntax">, </span><span class="identifier-syntax">uses_only</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
|
@ -345,7 +345,7 @@ cannot be read from any other nest — so we won't archive it.
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Graphs::archive</span><button class="popup" onclick="togglePopup('usagePopup10')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup10">Usage of <span class="code-font"><span class="function-syntax">Graphs::archive</span></span>:<br/>Copies - <a href="2-cps.html#SP13">§13</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">build_vertex</span><span class="plain-syntax"> *</span><span class="identifier-syntax">V</span><span class="plain-syntax">, </span><span class="reserved-syntax">inbuild_nest</span><span class="plain-syntax"> *</span><span class="identifier-syntax">N</span><span class="plain-syntax">,</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Graphs::archive</span><button class="popup" onclick="togglePopup('usagePopup10')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup10">Usage of <span class="code-font"><span class="function-syntax">Graphs::archive</span></span>:<br/>Copies - <a href="2-cps.html#SP14">§14</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">build_vertex</span><span class="plain-syntax"> *</span><span class="identifier-syntax">V</span><span class="plain-syntax">, </span><span class="reserved-syntax">inbuild_nest</span><span class="plain-syntax"> *</span><span class="identifier-syntax">N</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">build_methodology</span><span class="plain-syntax"> *</span><span class="identifier-syntax">BM</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><a href="3-bg.html#SP9" class="function-link"><span class="function-syntax">Graphs::archive_r</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">V</span><span class="plain-syntax">, </span><span class="constant-syntax">0</span><span class="plain-syntax">, </span><span class="identifier-syntax">N</span><span class="plain-syntax">, </span><span class="identifier-syntax">BM</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
@ -389,7 +389,7 @@ to <span class="extract"><span class="extract-syntax">N</span></span> if it's al
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">" -- already there\n"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> } </span><span class="reserved-syntax">else</span><span class="plain-syntax"> {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">" -- archiving\n"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-cps.html#SP14" class="function-link"><span class="function-syntax">Copies::copy_to</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">, </span><span class="identifier-syntax">N</span><span class="plain-syntax">, </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">, </span><span class="identifier-syntax">BM</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-cps.html#SP15" class="function-link"><span class="function-syntax">Copies::copy_to</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">, </span><span class="identifier-syntax">N</span><span class="plain-syntax">, </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">, </span><span class="identifier-syntax">BM</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">DISCARD_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">nl</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">cl</span><span class="plain-syntax">)</span>
|
||||
|
|
|
@ -155,11 +155,11 @@ to build. As we recurse, we pass a bitmap of the following:
|
|||
<span class="definition-keyword">define</span> <span class="constant-syntax">FOR_ONE_GENERATION_IGNORE_TIMESTAMPS_GB</span><span class="plain-syntax"> </span><span class="constant-syntax">8</span><span class="plain-syntax"> </span><span class="comment-syntax"> Don't be incremental: trust nothing, rebuild everything</span>
|
||||
</pre>
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">IncrementalBuild::build</span><button class="popup" onclick="togglePopup('usagePopup5')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup5">Usage of <span class="code-font"><span class="function-syntax">IncrementalBuild::build</span></span>:<br/>Copies - <a href="2-cps.html#SP11">§11</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">build_vertex</span><span class="plain-syntax"> *</span><span class="identifier-syntax">V</span><span class="plain-syntax">, </span><span class="reserved-syntax">build_methodology</span><span class="plain-syntax"> *</span><span class="identifier-syntax">meth</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">IncrementalBuild::build</span><button class="popup" onclick="togglePopup('usagePopup5')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup5">Usage of <span class="code-font"><span class="function-syntax">IncrementalBuild::build</span></span>:<br/>Copies - <a href="2-cps.html#SP12">§12</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">build_vertex</span><span class="plain-syntax"> *</span><span class="identifier-syntax">V</span><span class="plain-syntax">, </span><span class="reserved-syntax">build_methodology</span><span class="plain-syntax"> *</span><span class="identifier-syntax">meth</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><a href="3-ib.html#SP7" class="function-link"><span class="function-syntax">IncrementalBuild::begin_recursion</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="constant-syntax">BUILD_DEPENDENCIES_MATTER_GB</span><span class="plain-syntax">, </span><span class="identifier-syntax">V</span><span class="plain-syntax">, </span><span class="identifier-syntax">meth</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">IncrementalBuild::rebuild</span><button class="popup" onclick="togglePopup('usagePopup6')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup6">Usage of <span class="code-font"><span class="function-syntax">IncrementalBuild::rebuild</span></span>:<br/>Copies - <a href="2-cps.html#SP11">§11</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">build_vertex</span><span class="plain-syntax"> *</span><span class="identifier-syntax">V</span><span class="plain-syntax">, </span><span class="reserved-syntax">build_methodology</span><span class="plain-syntax"> *</span><span class="identifier-syntax">meth</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">IncrementalBuild::rebuild</span><button class="popup" onclick="togglePopup('usagePopup6')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup6">Usage of <span class="code-font"><span class="function-syntax">IncrementalBuild::rebuild</span></span>:<br/>Copies - <a href="2-cps.html#SP12">§12</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">build_vertex</span><span class="plain-syntax"> *</span><span class="identifier-syntax">V</span><span class="plain-syntax">, </span><span class="reserved-syntax">build_methodology</span><span class="plain-syntax"> *</span><span class="identifier-syntax">meth</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><a href="3-ib.html#SP7" class="function-link"><span class="function-syntax">IncrementalBuild::begin_recursion</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="constant-syntax">BUILD_DEPENDENCIES_MATTER_GB</span><span class="plain-syntax"> + </span><span class="constant-syntax">IGNORE_TIMESTAMPS_GB</span><span class="plain-syntax">, </span><span class="identifier-syntax">V</span><span class="plain-syntax">, </span><span class="identifier-syntax">meth</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
|
|
@ -108,6 +108,11 @@ should be, so the effect is the same.
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">echo_kit_building</span><span class="plain-syntax"> = </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">;</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">InterSkill::echo_kit_building</span><span class="plain-syntax">(</span><span class="reserved-syntax">void</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">echo_kit_building</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">int</span><span class="plain-syntax"> </span><span class="function-syntax">InterSkill::build_kit_internally</span><button class="popup" onclick="togglePopup('usagePopup3')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup3">Usage of <span class="code-font"><span class="function-syntax">InterSkill::build_kit_internally</span></span>:<br/><a href="3-is.html#SP1">§1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">build_skill</span><span class="plain-syntax"> *</span><span class="identifier-syntax">skill</span><span class="plain-syntax">, </span><span class="reserved-syntax">build_step</span><span class="plain-syntax"> *</span><span class="identifier-syntax">S</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">build_methodology</span><span class="plain-syntax"> *</span><span class="identifier-syntax">BM</span><span class="plain-syntax">, </span><span class="identifier-syntax">linked_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">search_list</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> #</span><span class="identifier-syntax">ifdef</span><span class="plain-syntax"> </span><span class="identifier-syntax">PIPELINE_MODULE</span>
|
||||
|
@ -140,6 +145,10 @@ should be, so the effect is the same.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">SS</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_architecture</span><span class="plain-syntax"> *</span><span class="identifier-syntax">saved_A</span><span class="plain-syntax"> = </span><span class="identifier-syntax">PipelineModule::get_architecture</span><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">PipelineModule::set_architecture_to</span><span class="plain-syntax">(</span><span class="identifier-syntax">A</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">echo_kit_building</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">STDOUT</span><span class="plain-syntax">, </span><span class="string-syntax">"(Building %S for architecture %S)\n"</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">S</span><span class="plain-syntax">-></span><span class="element-syntax">associated_copy</span><span class="plain-syntax">-></span><span class="element-syntax">edition</span><span class="plain-syntax">-></span><span class="element-syntax">work</span><span class="plain-syntax">-></span><span class="element-syntax">title</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Architectures::to_codename</span><span class="plain-syntax">(</span><span class="identifier-syntax">A</span><span class="plain-syntax">));</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">linked_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">requirements_list</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NEW_LINKED_LIST</span><span class="plain-syntax">(</span><span class="identifier-syntax">attachment_instruction</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">RunningPipelines::run</span><span class="plain-syntax">(</span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="identifier-syntax">SS</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="identifier-syntax">S</span><span class="plain-syntax">-></span><span class="element-syntax">associated_copy</span><span class="plain-syntax">-></span><span class="element-syntax">location_if_path</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">requirements_list</span><span class="plain-syntax">, </span><span class="identifier-syntax">S</span><span class="plain-syntax">-></span><span class="element-syntax">for_vm</span><span class="plain-syntax">, </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">);</span>
|
||||
|
|
|
@ -253,7 +253,7 @@ since an extension is a single file; to sync, we just overwrite.
|
|||
<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="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="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">syncing</span><span class="plain-syntax"> == </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">) { </span><a href="2-cps.html#SP14" class="function-link"><span class="function-syntax">Copies::overwrite_error</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">, </span><span class="identifier-syntax">N</span><span class="plain-syntax">); </span><span class="reserved-syntax">return</span><span class="plain-syntax">; }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">syncing</span><span class="plain-syntax"> == </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">) { </span><a href="2-cps.html#SP15" class="function-link"><span class="function-syntax">Copies::overwrite_error</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">, </span><span class="identifier-syntax">N</span><span class="plain-syntax">); </span><span class="reserved-syntax">return</span><span class="plain-syntax">; }</span>
|
||||
<span class="plain-syntax"> } </span><span class="reserved-syntax">else</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">meth</span><span class="plain-syntax">-></span><span class="element-syntax">methodology</span><span class="plain-syntax"> == </span><span class="constant-syntax">DRY_RUN_METHODOLOGY</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">command</span><span class="plain-syntax">)</span>
|
||||
|
|
|
@ -223,7 +223,7 @@ we need to <span class="extract"><span class="extract-syntax">rsync</span></span
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">pathname</span><span class="plain-syntax"> *</span><span class="identifier-syntax">dest_kit</span><span class="plain-syntax"> = </span><a href="4-km.html#SP8" class="function-link"><span class="function-syntax">KitManager::pathname_in_nest</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">N</span><span class="plain-syntax">, </span><span class="identifier-syntax">C</span><span class="plain-syntax">-></span><span class="element-syntax">edition</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">filename</span><span class="plain-syntax"> *</span><span class="identifier-syntax">dest_kit_metadata</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Filenames::in</span><span class="plain-syntax">(</span><span class="identifier-syntax">dest_kit</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"kit_metadata.json"</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">dest_kit_metadata</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">syncing</span><span class="plain-syntax"> == </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">) { </span><a href="2-cps.html#SP14" class="function-link"><span class="function-syntax">Copies::overwrite_error</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">, </span><span class="identifier-syntax">N</span><span class="plain-syntax">); </span><span class="reserved-syntax">return</span><span class="plain-syntax">; }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">syncing</span><span class="plain-syntax"> == </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">) { </span><a href="2-cps.html#SP15" class="function-link"><span class="function-syntax">Copies::overwrite_error</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">, </span><span class="identifier-syntax">N</span><span class="plain-syntax">); </span><span class="reserved-syntax">return</span><span class="plain-syntax">; }</span>
|
||||
<span class="plain-syntax"> } </span><span class="reserved-syntax">else</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">meth</span><span class="plain-syntax">-></span><span class="element-syntax">methodology</span><span class="plain-syntax"> == </span><span class="constant-syntax">DRY_RUN_METHODOLOGY</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">command</span><span class="plain-syntax">)</span>
|
||||
|
|
|
@ -201,7 +201,7 @@ we need to <span class="extract"><span class="extract-syntax">rsync</span></span
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">pathname</span><span class="plain-syntax"> *</span><span class="identifier-syntax">dest_language</span><span class="plain-syntax"> = </span><a href="4-lm.html#SP6" class="function-link"><span class="function-syntax">LanguageManager::pathname_in_nest</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">N</span><span class="plain-syntax">, </span><span class="identifier-syntax">C</span><span class="plain-syntax">-></span><span class="element-syntax">edition</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">filename</span><span class="plain-syntax"> *</span><span class="identifier-syntax">dest_language_metadata</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Filenames::in</span><span class="plain-syntax">(</span><span class="identifier-syntax">dest_language</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"about.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">dest_language_metadata</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">syncing</span><span class="plain-syntax"> == </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">) { </span><a href="2-cps.html#SP14" class="function-link"><span class="function-syntax">Copies::overwrite_error</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">, </span><span class="identifier-syntax">N</span><span class="plain-syntax">); </span><span class="reserved-syntax">return</span><span class="plain-syntax">; }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">syncing</span><span class="plain-syntax"> == </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">) { </span><a href="2-cps.html#SP15" class="function-link"><span class="function-syntax">Copies::overwrite_error</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">, </span><span class="identifier-syntax">N</span><span class="plain-syntax">); </span><span class="reserved-syntax">return</span><span class="plain-syntax">; }</span>
|
||||
<span class="plain-syntax"> } </span><span class="reserved-syntax">else</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">meth</span><span class="plain-syntax">-></span><span class="element-syntax">methodology</span><span class="plain-syntax"> == </span><span class="constant-syntax">DRY_RUN_METHODOLOGY</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">command</span><span class="plain-syntax">)</span>
|
||||
|
|
|
@ -179,7 +179,7 @@ since a pipeline is a single file; to sync, we just overwrite.
|
|||
<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><a href="4-pm.html#SP6" class="function-link"><span class="function-syntax">PipelineManager::filename_in_nest</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">N</span><span class="plain-syntax">, </span><span class="identifier-syntax">C</span><span class="plain-syntax">-></span><span class="element-syntax">edition</span><span class="plain-syntax">);</span>
|
||||
|
||||
<span class="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="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">syncing</span><span class="plain-syntax"> == </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">) { </span><a href="2-cps.html#SP14" class="function-link"><span class="function-syntax">Copies::overwrite_error</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">, </span><span class="identifier-syntax">N</span><span class="plain-syntax">); </span><span class="reserved-syntax">return</span><span class="plain-syntax">; }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">syncing</span><span class="plain-syntax"> == </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">) { </span><a href="2-cps.html#SP15" class="function-link"><span class="function-syntax">Copies::overwrite_error</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">, </span><span class="identifier-syntax">N</span><span class="plain-syntax">); </span><span class="reserved-syntax">return</span><span class="plain-syntax">; }</span>
|
||||
<span class="plain-syntax"> } </span><span class="reserved-syntax">else</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">meth</span><span class="plain-syntax">-></span><span class="element-syntax">methodology</span><span class="plain-syntax"> == </span><span class="constant-syntax">DRY_RUN_METHODOLOGY</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">command</span><span class="plain-syntax">)</span>
|
||||
|
|
|
@ -179,7 +179,7 @@ a folder, we need to <span class="extract"><span class="extract-syntax">rsync</s
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">filename</span><span class="plain-syntax"> *</span><span class="identifier-syntax">canary1</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">"(manifest).txt"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">filename</span><span class="plain-syntax"> *</span><span class="identifier-syntax">canary2</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">"index.html"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> ((</span><span class="identifier-syntax">TextFiles::exists</span><span class="plain-syntax">(</span><span class="identifier-syntax">canary1</span><span class="plain-syntax">)) || (</span><span class="identifier-syntax">TextFiles::exists</span><span class="plain-syntax">(</span><span class="identifier-syntax">canary2</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">syncing</span><span class="plain-syntax"> == </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">) { </span><a href="2-cps.html#SP14" class="function-link"><span class="function-syntax">Copies::overwrite_error</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">, </span><span class="identifier-syntax">N</span><span class="plain-syntax">); </span><span class="reserved-syntax">return</span><span class="plain-syntax">; }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">syncing</span><span class="plain-syntax"> == </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">) { </span><a href="2-cps.html#SP15" class="function-link"><span class="function-syntax">Copies::overwrite_error</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">, </span><span class="identifier-syntax">N</span><span class="plain-syntax">); </span><span class="reserved-syntax">return</span><span class="plain-syntax">; }</span>
|
||||
<span class="plain-syntax"> } </span><span class="reserved-syntax">else</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">meth</span><span class="plain-syntax">-></span><span class="element-syntax">methodology</span><span class="plain-syntax"> == </span><span class="constant-syntax">DRY_RUN_METHODOLOGY</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">command</span><span class="plain-syntax">)</span>
|
||||
|
|
|
@ -540,7 +540,7 @@ not ours.
|
|||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Kits::construct_graph</span><button class="popup" onclick="togglePopup('usagePopup10')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup10">Usage of <span class="code-font"><span class="function-syntax">Kits::construct_graph</span></span>:<br/>Kit Manager - <a href="4-km.html#SP9">§9</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inform_kit</span><span class="plain-syntax"> *</span><span class="identifier-syntax">K</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">RUN_ONLY_IN_PHASE</span><span class="plain-syntax">(</span><span class="constant-syntax">GRAPH_CONSTRUCTION_INBUILD_PHASE</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">RUN_ONLY_FROM_PHASE</span><span class="plain-syntax">(</span><span class="constant-syntax">GRAPH_CONSTRUCTION_INBUILD_PHASE</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">K</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) </span><span class="reserved-syntax">return</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">inbuild_copy</span><span class="plain-syntax"> *</span><span class="identifier-syntax">C</span><span class="plain-syntax"> = </span><span class="identifier-syntax">K</span><span class="plain-syntax">-></span><span class="element-syntax">as_copy</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">pathname</span><span class="plain-syntax"> *</span><span class="identifier-syntax">P</span><span class="plain-syntax"> = </span><span class="identifier-syntax">C</span><span class="plain-syntax">-></span><span class="element-syntax">location_if_path</span><span class="plain-syntax">;</span>
|
||||
|
|
|
@ -111,7 +111,7 @@ The Supervisor is now ready for use!
|
|||
<p class="commentary">There is no single "go" button: instead, the Supervisor provides a suite
|
||||
of functions to call, each acting on a "copy" — an instance of some software
|
||||
at a given filing system location. When <a href="../inform7/index.html" class="internal">inform7</a> is the parent, it follows
|
||||
the call to <a href="1-ic.html#SP10" class="internal">Supervisor::go_operational</a> with a single call to <a href="2-cps.html#SP11" class="internal">Copies::build</a>
|
||||
the call to <a href="1-ic.html#SP10" class="internal">Supervisor::go_operational</a> with a single call to <a href="2-cps.html#SP12" class="internal">Copies::build</a>
|
||||
on the copy representing the current Inform 7 project. But when <a href="../inbuild/index.html" class="internal">inbuild</a>
|
||||
is the parent, a variety of other functions may be made.
|
||||
</p>
|
||||
|
@ -487,11 +487,11 @@ and so forth: and also on the files it draws its source text from. See
|
|||
The parent can do several things:
|
||||
</p>
|
||||
|
||||
<ul class="items"><li>(a) Call <a href="2-cps.html#SP12" class="internal">Copies::show_graph</a>, or <a href="2-cps.html#SP12" class="internal">Copies::show_needs</a>, or <a href="2-cps.html#SP12" class="internal">Copies::show_missing</a>,
|
||||
<ul class="items"><li>(a) Call <a href="2-cps.html#SP13" class="internal">Copies::show_graph</a>, or <a href="2-cps.html#SP13" class="internal">Copies::show_needs</a>, or <a href="2-cps.html#SP13" class="internal">Copies::show_missing</a>,
|
||||
to print out the graph, show what a project needs in order to be built, or
|
||||
show what it needs but doesn't currently have;
|
||||
</li><li>(b) Call <a href="2-cps.html#SP13" class="internal">Copies::archive</a> to make archived copies of all dependent resources;
|
||||
</li><li>(c) Or, the big one, call <a href="2-cps.html#SP11" class="internal">Copies::build</a> or <a href="2-cps.html#SP11" class="internal">Copies::rebuild</a> to perform
|
||||
</li><li>(b) Call <a href="2-cps.html#SP14" class="internal">Copies::archive</a> to make archived copies of all dependent resources;
|
||||
</li><li>(c) Or, the big one, call <a href="2-cps.html#SP12" class="internal">Copies::build</a> or <a href="2-cps.html#SP12" class="internal">Copies::rebuild</a> to perform
|
||||
a build.
|
||||
</li></ul>
|
||||
<p class="commentary">A "build" is incremental, and uses time-stamps of files to avoid unnecessary
|
||||
|
|
|
@ -355,8 +355,7 @@ We do that copy by copy.
|
|||
void Supervisor::go_operational(void) {
|
||||
RUN_ONLY_IN_PHASE(TARGETED_INBUILD_PHASE)
|
||||
inbuild_phase = GRAPH_CONSTRUCTION_INBUILD_PHASE;
|
||||
inbuild_copy *C;
|
||||
LOOP_OVER(C, inbuild_copy) Copies::construct_graph(C);
|
||||
Copies::graph_everything();
|
||||
inbuild_phase = OPERATIONAL_INBUILD_PHASE;
|
||||
if (census_mode) ExtensionWebsite::handle_census_mode();
|
||||
}
|
||||
|
|
|
@ -21,6 +21,7 @@ typedef struct inbuild_copy {
|
|||
general_pointer metadata; /* the type of which depends on the work's genre */
|
||||
struct JSON_value *metadata_record; /* where read in from a JSON file */
|
||||
struct build_vertex *vertex; /* head vertex of build graph for this copy */
|
||||
int graph_constructed;
|
||||
int source_text_read; /* have we attempted to read Inform source text from this? */
|
||||
struct wording source_text; /* the source text we read, if so */
|
||||
struct inbuild_requirement *found_by; /* if this was claimed in a search */
|
||||
|
@ -41,6 +42,7 @@ inbuild_copy *Copies::new_p(inbuild_edition *edition) {
|
|||
copy->metadata = NULL_GENERAL_POINTER;
|
||||
copy->metadata_record = NULL;
|
||||
copy->vertex = Graphs::copy_vertex(copy);
|
||||
copy->graph_constructed = FALSE;
|
||||
copy->source_text_read = FALSE;
|
||||
copy->source_text = EMPTY_WORDING;
|
||||
copy->found_by = NULL;
|
||||
|
@ -126,7 +128,31 @@ wording Copies::get_source_text(inbuild_copy *C) {
|
|||
|
||||
=
|
||||
void Copies::construct_graph(inbuild_copy *C) {
|
||||
VOID_METHOD_CALL(C->edition->work->genre, GENRE_CONSTRUCT_GRAPH_MTID, C);
|
||||
if (C->graph_constructed == FALSE) {
|
||||
C->graph_constructed = TRUE;
|
||||
VOID_METHOD_CALL(C->edition->work->genre, GENRE_CONSTRUCT_GRAPH_MTID, C);
|
||||
}
|
||||
}
|
||||
|
||||
@ Some copies, such as projects, are not fully graphed by //Copies::construct_graph//
|
||||
because this would be too slow when inbuild is scanning a directory; a project
|
||||
is only graphed when we are interested in building or analysing it.
|
||||
|
||||
This process of full graphing can cause new copies to come into existence (for
|
||||
example, for kits which the project depends on), and we need to ensure that any
|
||||
such newcomers are graphed too.
|
||||
|
||||
=
|
||||
build_vertex *Copies::construct_project_graph(inbuild_copy *C) {
|
||||
build_vertex *V = C->vertex;
|
||||
VOID_METHOD_CALL(C->edition->work->genre, GENRE_BUILDING_SOON_MTID, C, &V);
|
||||
Copies::graph_everything();
|
||||
return V;
|
||||
}
|
||||
|
||||
void Copies::graph_everything(void) {
|
||||
inbuild_copy *C;
|
||||
LOOP_OVER(C, inbuild_copy) Copies::construct_graph(C);
|
||||
}
|
||||
|
||||
@h Sorting.
|
||||
|
@ -182,13 +208,11 @@ its main task: building an Inform project.
|
|||
|
||||
=
|
||||
void Copies::build(OUTPUT_STREAM, inbuild_copy *C, build_methodology *BM) {
|
||||
build_vertex *V = C->vertex;
|
||||
VOID_METHOD_CALL(C->edition->work->genre, GENRE_BUILDING_SOON_MTID, C, &V);
|
||||
build_vertex *V = Copies::construct_project_graph(C);
|
||||
IncrementalBuild::build(OUT, V, BM);
|
||||
}
|
||||
void Copies::rebuild(OUTPUT_STREAM, inbuild_copy *C, build_methodology *BM) {
|
||||
build_vertex *V = C->vertex;
|
||||
VOID_METHOD_CALL(C->edition->work->genre, GENRE_BUILDING_SOON_MTID, C, &V);
|
||||
build_vertex *V = Copies::construct_project_graph(C);
|
||||
IncrementalBuild::rebuild(OUT, V, BM);
|
||||
}
|
||||
|
||||
|
@ -197,18 +221,15 @@ void Copies::rebuild(OUTPUT_STREAM, inbuild_copy *C, build_methodology *BM) {
|
|||
|
||||
=
|
||||
void Copies::show_graph(OUTPUT_STREAM, inbuild_copy *C) {
|
||||
build_vertex *V = C->vertex;
|
||||
VOID_METHOD_CALL(C->edition->work->genre, GENRE_BUILDING_SOON_MTID, C, &V);
|
||||
build_vertex *V = Copies::construct_project_graph(C);
|
||||
Graphs::describe(OUT, V, TRUE);
|
||||
}
|
||||
void Copies::show_needs(OUTPUT_STREAM, inbuild_copy *C, int uses_only, int paths) {
|
||||
build_vertex *V = C->vertex;
|
||||
VOID_METHOD_CALL(C->edition->work->genre, GENRE_BUILDING_SOON_MTID, C, &V);
|
||||
Copies::construct_project_graph(C);
|
||||
Graphs::show_needs(OUT, C->vertex, uses_only, paths);
|
||||
}
|
||||
void Copies::show_missing(OUTPUT_STREAM, inbuild_copy *C, int uses_only) {
|
||||
build_vertex *V = C->vertex;
|
||||
VOID_METHOD_CALL(C->edition->work->genre, GENRE_BUILDING_SOON_MTID, C, &V);
|
||||
Copies::construct_project_graph(C);
|
||||
int N = Graphs::show_missing(OUT, C->vertex, uses_only);
|
||||
if (N == 0) WRITE("Nothing is missing\n");
|
||||
}
|
||||
|
@ -217,8 +238,7 @@ void Copies::show_missing(OUTPUT_STREAM, inbuild_copy *C, int uses_only) {
|
|||
|
||||
=
|
||||
void Copies::archive(OUTPUT_STREAM, inbuild_copy *C, inbuild_nest *N, build_methodology *BM) {
|
||||
build_vertex *V = C->vertex;
|
||||
VOID_METHOD_CALL(C->edition->work->genre, GENRE_BUILDING_SOON_MTID, C, &V);
|
||||
Copies::construct_project_graph(C);
|
||||
int NM = Graphs::show_missing(OUT, C->vertex, FALSE);
|
||||
if (NM > 0) WRITE("Because there are missing resources, -archive is cancelled\n");
|
||||
else if (N) Graphs::archive(OUT, C->vertex, N, BM);
|
||||
|
|
|
@ -48,6 +48,11 @@ in the |inter| installation. But those two files are in fact the same, or
|
|||
should be, so the effect is the same.
|
||||
|
||||
=
|
||||
int echo_kit_building = FALSE;
|
||||
void InterSkill::echo_kit_building(void) {
|
||||
echo_kit_building = TRUE;
|
||||
}
|
||||
|
||||
int InterSkill::build_kit_internally(build_skill *skill, build_step *S,
|
||||
build_methodology *BM, linked_list *search_list) {
|
||||
#ifdef PIPELINE_MODULE
|
||||
|
@ -80,6 +85,10 @@ int InterSkill::build_kit_internally(build_skill *skill, build_step *S,
|
|||
if (SS) {
|
||||
inter_architecture *saved_A = PipelineModule::get_architecture();
|
||||
PipelineModule::set_architecture_to(A);
|
||||
if (echo_kit_building)
|
||||
WRITE_TO(STDOUT, "(Building %S for architecture %S)\n",
|
||||
S->associated_copy->edition->work->title,
|
||||
Architectures::to_codename(A));
|
||||
linked_list *requirements_list = NEW_LINKED_LIST(attachment_instruction);
|
||||
RunningPipelines::run(NULL, SS, NULL, S->associated_copy->location_if_path,
|
||||
requirements_list, S->for_vm, FALSE);
|
||||
|
|
|
@ -412,7 +412,7 @@ not ours.
|
|||
|
||||
=
|
||||
void Kits::construct_graph(inform_kit *K) {
|
||||
RUN_ONLY_IN_PHASE(GRAPH_CONSTRUCTION_INBUILD_PHASE)
|
||||
RUN_ONLY_FROM_PHASE(GRAPH_CONSTRUCTION_INBUILD_PHASE)
|
||||
if (K == NULL) return;
|
||||
inbuild_copy *C = K->as_copy;
|
||||
pathname *P = C->location_if_path;
|
||||
|
|
|
@ -175,6 +175,7 @@ compilation.
|
|||
@<Build the project@> =
|
||||
Supervisor::go_operational();
|
||||
if (proj) {
|
||||
InterSkill::echo_kit_building();
|
||||
Copies::build(STDOUT, proj->as_copy, BuildMethodology::stay_in_current_process());
|
||||
Task::stop_timers();
|
||||
}
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
Total memory consumption was 120912K = 118 MB
|
||||
Total memory consumption was 120981K = 118 MB
|
||||
|
||||
---- was used for 2046620 objects, in 363751 frames in 0 x 800K = 0K = 0 MB:
|
||||
---- was used for 2048135 objects, in 364573 frames in 0 x 800K = 0K = 0 MB:
|
||||
|
||||
33.7% inter_tree_node_array 58 x 8192 = 475136 objects, 41813824 bytes
|
||||
20.9% text_stream_array 4613 x 100 = 461300 objects, 25980416 bytes
|
||||
19.7% linked_list 43630 objects, 24432800 bytes
|
||||
21.0% text_stream_array 4620 x 100 = 462000 objects, 26019840 bytes
|
||||
19.8% linked_list 43895 objects, 24581200 bytes
|
||||
11.3% inter_symbol_array 132 x 1024 = 135168 objects, 14061696 bytes
|
||||
10.6% inter_error_stash_array 101 x 1024 = 103424 objects, 13241504 bytes
|
||||
8.3% parse_node 129706 objects, 10376480 bytes
|
||||
|
@ -13,9 +13,9 @@ Total memory consumption was 120912K = 118 MB
|
|||
2.7% pcalc_prop_array 25 x 1000 = 25000 objects, 3400800 bytes
|
||||
2.5% inter_name_array 67 x 1000 = 67000 objects, 3218144 bytes
|
||||
2.1% kind_array 66 x 1000 = 66000 objects, 2642112 bytes
|
||||
1.7% scan_directory 522 objects, 2154816 bytes
|
||||
1.6% inter_name_generator_array 51 x 1000 = 51000 objects, 2041632 bytes
|
||||
1.6% inter_schema_token 13964 objects, 2010816 bytes
|
||||
1.5% scan_directory 467 objects, 1927776 bytes
|
||||
1.5% package_request 21153 objects, 1861464 bytes
|
||||
1.4% vocabulary_entry_array 161 x 100 = 16100 objects, 1808352 bytes
|
||||
1.2% dict_entry_array 470 x 100 = 47000 objects, 1519040 bytes
|
||||
|
@ -29,7 +29,7 @@ Total memory consumption was 120912K = 118 MB
|
|||
0.7% excerpt_meaning 3102 objects, 967824 bytes
|
||||
0.7% production 3878 objects, 899696 bytes
|
||||
0.7% ptoken 8404 objects, 874016 bytes
|
||||
0.7% grammatical_usage 3613 objects, 867120 bytes
|
||||
0.6% grammatical_usage 3613 objects, 867120 bytes
|
||||
0.6% individual_form 2563 objects, 861168 bytes
|
||||
0.6% inter_schema_node 8917 objects, 856032 bytes
|
||||
0.5% unary_predicate_array 16 x 1000 = 16000 objects, 640512 bytes
|
||||
|
@ -66,8 +66,8 @@ Total memory consumption was 120912K = 118 MB
|
|||
---- linked_list_item_array 4 x 1000 = 4000 objects, 64128 bytes
|
||||
---- kind_macro_definition 9 objects, 62280 bytes
|
||||
---- booking 861 objects, 61992 bytes
|
||||
---- scenes_rcd_data 1884 objects, 60288 bytes
|
||||
---- actions_rcd_data 1884 objects, 60288 bytes
|
||||
---- scenes_rcd_data 1884 objects, 60288 bytes
|
||||
---- command_grammar 130 objects, 58240 bytes
|
||||
---- kind_constructor 77 objects, 57904 bytes
|
||||
---- table 7 objects, 56672 bytes
|
||||
|
@ -100,29 +100,30 @@ Total memory consumption was 120912K = 118 MB
|
|||
---- nonlocal_variable 93 objects, 20088 bytes
|
||||
---- property 146 objects, 19856 bytes
|
||||
---- timed_rules_rfd_data 401 objects, 19248 bytes
|
||||
---- filename 477 objects, 19080 bytes
|
||||
---- method 380 objects, 18240 bytes
|
||||
---- pcalc_prop_deferral 86 objects, 17888 bytes
|
||||
---- instance 167 objects, 17368 bytes
|
||||
---- parse_node_tree 20 objects, 17280 bytes
|
||||
---- understanding_reference_array 2 x 100 = 200 objects, 16064 bytes
|
||||
---- to_phrase_request 59 objects, 16048 bytes
|
||||
---- action_name_list_array 1 x 1000 objects, 16032 bytes
|
||||
---- match_avinue_array 1 x 1000 objects, 16032 bytes
|
||||
---- action_name_list_array 1 x 1000 objects, 16032 bytes
|
||||
---- JSON_value 182 objects, 16016 bytes
|
||||
---- filename 392 objects, 15680 bytes
|
||||
---- build_vertex 130 objects, 15600 bytes
|
||||
---- adjective 137 objects, 15344 bytes
|
||||
---- pathname 375 objects, 15000 bytes
|
||||
---- generated_segment 14 objects, 14784 bytes
|
||||
---- pathname 330 objects, 13200 bytes
|
||||
---- booking_list 407 objects, 13024 bytes
|
||||
---- adjective_iname_holder 320 objects, 12800 bytes
|
||||
---- uniqueness_count 453 objects, 10872 bytes
|
||||
---- inter_construct 30 objects, 10320 bytes
|
||||
---- web_bibliographic_datum 145 objects, 9280 bytes
|
||||
---- stopwatch_timer 114 objects, 9120 bytes
|
||||
---- equation_node 68 objects, 7616 bytes
|
||||
---- understanding_item_array 3 x 100 = 300 objects, 7296 bytes
|
||||
---- shared_variable_array 1 x 100 objects, 7232 bytes
|
||||
---- determiner 22 objects, 7216 bytes
|
||||
---- build_vertex 60 objects, 7200 bytes
|
||||
---- verb 108 objects, 6912 bytes
|
||||
---- hierarchy_attachment_point 77 objects, 6776 bytes
|
||||
---- inbuild_work 103 objects, 6592 bytes
|
||||
|
@ -133,6 +134,8 @@ Total memory consumption was 120912K = 118 MB
|
|||
---- explicit_action_array 1 x 100 objects, 4832 bytes
|
||||
---- value_property_data 84 objects, 4704 bytes
|
||||
---- parsing_pp_data 96 objects, 4608 bytes
|
||||
---- section_md 45 objects, 4320 bytes
|
||||
---- build_script 130 objects, 4160 bytes
|
||||
---- compatibility_specification 86 objects, 4128 bytes
|
||||
---- activity 35 objects, 3920 bytes
|
||||
---- command_line_switch 49 objects, 3920 bytes
|
||||
|
@ -147,15 +150,15 @@ Total memory consumption was 120912K = 118 MB
|
|||
---- either_or_property_data 62 objects, 2976 bytes
|
||||
---- target_vm 20 objects, 2880 bytes
|
||||
---- use_option 29 objects, 2552 bytes
|
||||
---- parentage_inference_data 79 objects, 2528 bytes
|
||||
---- part_of_inference_data 79 objects, 2528 bytes
|
||||
---- parentage_inference_data 79 objects, 2528 bytes
|
||||
---- kind_constructor_instance_array 1 x 100 objects, 2432 bytes
|
||||
---- kind_constructor_casting_rule_array 1 x 100 objects, 2432 bytes
|
||||
---- equation_symbol 30 objects, 2400 bytes
|
||||
---- JSON_type 31 objects, 2232 bytes
|
||||
---- scene 1 object, 2096 bytes
|
||||
---- JSON_single_requirement 43 objects, 2064 bytes
|
||||
---- build_script 60 objects, 1920 bytes
|
||||
---- build_step 24 objects, 1728 bytes
|
||||
---- pronoun_usage 42 objects, 1680 bytes
|
||||
---- table_contribution_array 1 x 100 objects, 1632 bytes
|
||||
---- plugin 25 objects, 1600 bytes
|
||||
|
@ -173,13 +176,14 @@ Total memory consumption was 120912K = 118 MB
|
|||
---- runtime_kind_structure 13 objects, 1040 bytes
|
||||
---- quantifier 16 objects, 1024 bytes
|
||||
---- submodule_identity 31 objects, 992 bytes
|
||||
---- pipeline_stage 20 objects, 960 bytes
|
||||
---- named_rulebook_outcome 15 objects, 960 bytes
|
||||
---- pipeline_stage 20 objects, 960 bytes
|
||||
---- control_structure_phrase 12 objects, 864 bytes
|
||||
---- cached_understanding 21 objects, 840 bytes
|
||||
---- JSON_pair_requirement 26 objects, 832 bytes
|
||||
---- phrase_option_array 1 x 100 objects, 824 bytes
|
||||
---- inbuild_search_result 20 objects, 800 bytes
|
||||
---- web_md 5 objects, 720 bytes
|
||||
---- internal_test 15 objects, 720 bytes
|
||||
---- relation_guard 5 objects, 640 bytes
|
||||
---- implication 13 objects, 624 bytes
|
||||
|
@ -188,28 +192,29 @@ Total memory consumption was 120912K = 118 MB
|
|||
---- rulebook_outcome 17 objects, 544 bytes
|
||||
---- small_word_set 11 objects, 528 bytes
|
||||
---- inform_kit 5 objects, 520 bytes
|
||||
---- inform_language 6 objects, 480 bytes
|
||||
---- equation 4 objects, 480 bytes
|
||||
---- inform_language 6 objects, 480 bytes
|
||||
---- i6_memory_setting 14 objects, 448 bytes
|
||||
---- inference_family 11 objects, 440 bytes
|
||||
---- chapter_md 5 objects, 440 bytes
|
||||
---- bp_family 13 objects, 416 bytes
|
||||
---- module 5 objects, 400 bytes
|
||||
---- inter_annotation_form 10 objects, 400 bytes
|
||||
---- article_usage 8 objects, 384 bytes
|
||||
---- source_file 5 objects, 360 bytes
|
||||
---- inbuild_genre 7 objects, 336 bytes
|
||||
---- grammatical_category 8 objects, 320 bytes
|
||||
---- pronoun 8 objects, 320 bytes
|
||||
---- cached_kind_declaration 8 objects, 320 bytes
|
||||
---- grammatical_category 8 objects, 320 bytes
|
||||
---- module_request 8 objects, 320 bytes
|
||||
---- door_dir_notice 5 objects, 320 bytes
|
||||
---- module_request 8 objects, 320 bytes
|
||||
---- tree_inventory 1 object, 312 bytes
|
||||
---- inter_pipeline 1 object, 312 bytes
|
||||
---- up_family 9 objects, 288 bytes
|
||||
---- build_step 4 objects, 288 bytes
|
||||
---- compilation_unit 5 objects, 280 bytes
|
||||
---- explicit_bp_data 5 objects, 280 bytes
|
||||
---- contents_entry 7 objects, 280 bytes
|
||||
---- door_to_notice 5 objects, 280 bytes
|
||||
---- compilation_unit 5 objects, 280 bytes
|
||||
---- verb_usage_tier 5 objects, 240 bytes
|
||||
---- adjective_meaning_family 7 objects, 224 bytes
|
||||
---- test_scenario 1 object, 216 bytes
|
||||
|
@ -227,22 +232,22 @@ Total memory consumption was 120912K = 118 MB
|
|||
---- inbuild_nest 3 objects, 120 bytes
|
||||
---- local_block_value 2 objects, 112 bytes
|
||||
---- inform_kit_ittt 2 objects, 96 bytes
|
||||
---- compile_task_data 1 object, 80 bytes
|
||||
---- group_together_function 2 objects, 80 bytes
|
||||
---- compile_task_data 1 object, 80 bytes
|
||||
---- article 2 objects, 80 bytes
|
||||
---- build_methodology 1 object, 56 bytes
|
||||
---- figures_data 1 object, 56 bytes
|
||||
---- inter_warehouse 1 object, 56 bytes
|
||||
---- HTML_file_state 1 object, 48 bytes
|
||||
---- build_methodology 1 object, 56 bytes
|
||||
---- star_invention 1 object, 48 bytes
|
||||
---- kind_template_definition 1 object, 40 bytes
|
||||
---- HTML_file_state 1 object, 48 bytes
|
||||
---- loop_over_scope 1 object, 40 bytes
|
||||
---- by_function_bp_data 1 object, 40 bytes
|
||||
---- I6_generation_data 1 object, 40 bytes
|
||||
---- by_function_bp_data 1 object, 40 bytes
|
||||
---- kind_template_definition 1 object, 40 bytes
|
||||
|
||||
100.0% was used for memory not allocated for objects:
|
||||
|
||||
56.8% text stream storage 70376620 bytes in 478462 claims
|
||||
56.8% text stream storage 70447460 bytes in 479128 claims
|
||||
4.2% dictionary storage 5263872 bytes in 7588 claims
|
||||
---- sorting 1520 bytes in 159 claims
|
||||
5.8% source text 7200000 bytes in 3 claims
|
||||
|
@ -260,5 +265,5 @@ Total memory consumption was 120912K = 118 MB
|
|||
---- code generation workspace for objects 1336 bytes in 4 claims
|
||||
0.2% emitter array storage 280288 bytes in 1999 claims
|
||||
|
||||
-149.-7% was overhead - -185472736 bytes = -181125K = -176 MB
|
||||
-150.0% was overhead - -185920040 bytes = -181562K = -177 MB
|
||||
|
||||
|
|
|
@ -1,33 +1,32 @@
|
|||
100.0% in inform7 run
|
||||
71.1% in compilation to Inter
|
||||
50.4% in //Sequence::undertake_queued_tasks//
|
||||
4.6% in //MajorNodes::pre_pass//
|
||||
3.6% in //MajorNodes::pass_1//
|
||||
70.9% in compilation to Inter
|
||||
50.5% in //Sequence::undertake_queued_tasks//
|
||||
4.7% in //MajorNodes::pre_pass//
|
||||
3.4% in //MajorNodes::pass_1//
|
||||
1.9% in //ImperativeDefinitions::assess_all//
|
||||
1.4% in //RTKindConstructors::compile//
|
||||
1.4% in //RTPhrasebook::compile_entries//
|
||||
1.5% in //RTKindConstructors::compile//
|
||||
1.5% in //RTPhrasebook::compile_entries//
|
||||
1.0% in //Sequence::lint_inter//
|
||||
0.6% in //MajorNodes::pass_2//
|
||||
0.6% in //World::stage_V//
|
||||
0.4% in //ImperativeDefinitions::compile_first_block//
|
||||
0.4% in //MajorNodes::pass_2//
|
||||
0.4% in //Sequence::undertake_queued_tasks//
|
||||
0.4% in //Sequence::undertake_queued_tasks//
|
||||
0.4% in //World::stage_V//
|
||||
0.2% in //CompletionModule::compile//
|
||||
0.2% in //InferenceSubjects::emit_all//
|
||||
0.2% in //RTKindConstructors::compile_permissions//
|
||||
0.2% in //Task::make_built_in_kind_constructors//
|
||||
0.2% in //World::stages_II_and_III//
|
||||
2.9% not specifically accounted for
|
||||
3.2% not specifically accounted for
|
||||
26.0% in running Inter pipeline
|
||||
10.1% in step 14/15: generate inform6 -> auto.inf
|
||||
5.7% in step 5/15: load-binary-kits
|
||||
5.8% in step 5/15: load-binary-kits
|
||||
5.5% in step 6/15: make-synoptic-module
|
||||
1.4% in step 9/15: make-identifiers-unique
|
||||
1.5% in step 9/15: make-identifiers-unique
|
||||
0.4% in step 12/15: eliminate-redundant-operations
|
||||
0.4% in step 4/15: compile-splats
|
||||
0.4% in step 7/15: shorten-wiring
|
||||
0.2% in step 11/15: eliminate-redundant-labels
|
||||
0.2% in step 8/15: detect-indirect-calls
|
||||
1.5% not specifically accounted for
|
||||
1.3% not specifically accounted for
|
||||
2.5% in supervisor
|
||||
0.3% not specifically accounted for
|
||||
0.5% not specifically accounted for
|
||||
|
|
|
@ -14,6 +14,29 @@ notably the MacOS app, which is being modernised to support Dark Mode.
|
|||
|
||||
## News items
|
||||
|
||||
### Incremental building of kits enabled (26 June 2022)
|
||||
|
||||
This is arguably a bug fix, but is not directly a fix of any currently open bug
|
||||
in Jira (but see closed I7-2155). It was always intended that inbuild and
|
||||
inform7 would incrementally build any kits they need in order to build Inform
|
||||
projects: that has worked up to now with the standard kits, but in many
|
||||
circumstances not with newly written kits, such as those intended to be used
|
||||
with language extensions. (It's complicated: some ways of using inbuild did
|
||||
in fact do this, but inform7 did not.)
|
||||
|
||||
This is now enabled. On the console (or in the app's Console pane), you will
|
||||
now see lines like the following when a kit is being rebuilt by inform7 itself:
|
||||
|
||||
(Building FrenchLanguageKit for architecture 16)
|
||||
(Building FrenchLanguageKit for architecture 16d)
|
||||
(Building FrenchLanguageKit for architecture 32)
|
||||
(Building FrenchLanguageKit for architecture 32d)
|
||||
|
||||
A side-effect of all this is that the output of inbuild -graph for a project
|
||||
is now substantially longer. This is basically because a project does indeed
|
||||
depend on lots of source files, and the new larger graph is a truer picture
|
||||
than the old ones. But we may eventually work out more concise ways to print it.
|
||||
|
||||
### Language metadata respecified as JSON (23 June 2022)
|
||||
|
||||
As has been noticed already (see e.g. Jira bug I7-2155), the new Inbuild has
|
||||
|
|
Loading…
Reference in a new issue