mirror of
https://github.com/ganelson/inform.git
synced 2024-05-24 11:58:41 +03:00
Enabled JSON metadata to contain licence declaration
This commit is contained in:
parent
28c50813a8
commit
0a760f4e3b
|
@ -1,6 +1,6 @@
|
|||
# Inform 7
|
||||
|
||||
[Version](notes/versioning.md): 10.2.0-beta+6X50 'Krypton' (28 April 2024)
|
||||
[Version](notes/versioning.md): 10.2.0-beta+6X51 'Krypton' (29 April 2024)
|
||||
|
||||
## About Inform
|
||||
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
Prerelease: beta
|
||||
Build Date: 28 April 2024
|
||||
Build Number: 6X50
|
||||
Build Date: 29 April 2024
|
||||
Build Number: 6X51
|
||||
|
|
|
@ -125,6 +125,7 @@ group.
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::issue_problem_end</span><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">METADATA_MALFORMED_CE:</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">MALFORMED_LICENCE_CE:</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">CE</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="plain-syntax"> </span><a href="2-sq.html#SP1" class="function-link"><span class="function-syntax">Problems::quote_work</span></a><span class="plain-syntax">(1, </span><span class="identifier-syntax">CE</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">work</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::quote_stream</span><span class="plain-syntax">(2, </span><span class="identifier-syntax">CE</span><span class="plain-syntax">-></span><span class="identifier-syntax">details</span><span class="plain-syntax">);</span>
|
||||
|
|
|
@ -181,7 +181,7 @@ number of successes.
|
|||
</li></ul>
|
||||
<pre class="undisplayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax">Size of lexicon: 3173 excerpt meanings</span>
|
||||
<span class="plain-syntax"> Stored among 859 words out of total vocabulary of 10638</span>
|
||||
<span class="plain-syntax"> Stored among 859 words out of total vocabulary of 10637</span>
|
||||
<span class="plain-syntax"> 723 words have a start list: longest belongs to report (with 293 meanings)</span>
|
||||
<span class="plain-syntax"> 21 words have an end list: longest belongs to digits (with 7 meanings)</span>
|
||||
<span class="plain-syntax"> 29 words have a middle list: longest belongs to to (with 4 meanings)</span>
|
||||
|
|
|
@ -90,6 +90,7 @@ which use this module:
|
|||
<span class="definition-keyword">enum</span> <span class="constant-syntax">inbuild_copy_CLASS</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">inbuild_edition_CLASS</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">inbuild_genre_CLASS</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">inbuild_licence_CLASS</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">inbuild_nest_CLASS</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">inbuild_registry_CLASS</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">inbuild_requirement_CLASS</span>
|
||||
|
@ -133,6 +134,7 @@ which use this module:
|
|||
<span class="identifier-syntax">DECLARE_CLASS</span><span class="plain-syntax">(</span><span class="reserved-syntax">inbuild_copy</span><span class="plain-syntax">)</span>
|
||||
<span class="identifier-syntax">DECLARE_CLASS</span><span class="plain-syntax">(</span><span class="reserved-syntax">inbuild_edition</span><span class="plain-syntax">)</span>
|
||||
<span class="identifier-syntax">DECLARE_CLASS</span><span class="plain-syntax">(</span><span class="reserved-syntax">inbuild_genre</span><span class="plain-syntax">)</span>
|
||||
<span class="identifier-syntax">DECLARE_CLASS</span><span class="plain-syntax">(</span><span class="reserved-syntax">inbuild_licence</span><span class="plain-syntax">)</span>
|
||||
<span class="identifier-syntax">DECLARE_CLASS</span><span class="plain-syntax">(</span><span class="reserved-syntax">inbuild_nest</span><span class="plain-syntax">)</span>
|
||||
<span class="identifier-syntax">DECLARE_CLASS</span><span class="plain-syntax">(</span><span class="reserved-syntax">inbuild_registry</span><span class="plain-syntax">)</span>
|
||||
<span class="identifier-syntax">DECLARE_CLASS</span><span class="plain-syntax">(</span><span class="reserved-syntax">inbuild_requirement</span><span class="plain-syntax">)</span>
|
||||
|
|
|
@ -72,6 +72,7 @@ fields are blank.
|
|||
|
||||
<pre class="definitions code-font"><span class="definition-keyword">enum</span> <span class="constant-syntax">OPEN_FAILED_CE</span><span class="plain-syntax"> </span><span class="identifier-syntax">from</span><span class="plain-syntax"> </span><span class="constant-syntax">1</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">METADATA_MALFORMED_CE</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">MALFORMED_LICENCE_CE</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">EXT_MISWORDED_CE</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">EXT_BAD_DIRNAME_CE</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">EXT_BAD_FILENAME_CE</span>
|
||||
|
@ -126,7 +127,7 @@ fields are blank.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</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">copy_error</span><span class="plain-syntax"> *</span><span class="function-syntax">CopyErrors::new_T</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">CopyErrors::new_T</span></span>:<br/>JSON Metadata - <a href="2-jm.html#SP1_1">§1.1</a>, <a href="2-jm.html#SP1_2">§1.2</a>, <a href="2-jm.html#SP1_3_1">§1.3.1</a>, <a href="2-jm.html#SP1_3_2">§1.3.2</a>, <a href="2-jm.html#SP1_3_3">§1.3.3</a>, <a href="2-jm.html#SP1_3_4">§1.3.4</a>, <a href="2-jm.html#SP1_3_5">§1.3.5</a>, <a href="2-jm.html#SP1_4">§1.4</a>, <a href="2-jm.html#SP1_5">§1.5</a>, <a href="2-jm.html#SP1_6">§1.6</a><br/>Extension Bundle Manager - <a href="4-ebm.html#SP3">§3</a>, <a href="4-ebm.html#SP5">§5</a>, <a href="4-ebm.html#SP5_1">§5.1</a>, <a href="4-ebm.html#SP5_1_1">§5.1.1</a>, <a href="4-ebm.html#SP5_1_2">§5.1.2</a>, <a href="4-ebm.html#SP5_1_3">§5.1.3</a><br/>Project Bundle Manager - <a href="4-pbm.html#SP3_1">§3.1</a>, <a href="4-pbm.html#SP3_1_1">§3.1.1</a>, <a href="4-pbm.html#SP3_1_2">§3.1.2</a>, <a href="4-pbm.html#SP3_1_3">§3.1.3</a>, <a href="4-pbm.html#SP3_1_3_1">§3.1.3.1</a><br/>Extension Services - <a href="5-es.html#SP2_2">§2.2</a>, <a href="5-es.html#SP2_2_1">§2.2.1</a>, <a href="5-es.html#SP2_2_1_1">§2.2.1.1</a>, <a href="5-es.html#SP2_2_1_3">§2.2.1.3</a>, <a href="5-es.html#SP2_2_1_3_2">§2.2.1.3.2</a>, <a href="5-es.html#SP2_3">§2.3</a>, <a href="5-es.html#SP2_4">§2.4</a>, <a href="5-es.html#SP2_4_3">§2.4.3</a>, <a href="5-es.html#SP2_4_3_1_1">§2.4.3.1.1</a>, <a href="5-es.html#SP2_4_3_2_1">§2.4.3.2.1</a>, <a href="5-es.html#SP2_5">§2.5</a>, <a href="5-es.html#SP2_7_4">§2.7.4</a>, <a href="5-es.html#SP8">§8</a>, <a href="5-es.html#SP12_1">§12.1</a><br/>Kit Services - <a href="5-ks.html#SP5_3">§5.3</a>, <a href="5-ks.html#SP5_3_1">§5.3.1</a>, <a href="5-ks.html#SP5_3_1_1">§5.3.1.1</a>, <a href="5-ks.html#SP5_3_2">§5.3.2</a>, <a href="5-ks.html#SP12">§12</a><br/>Language Services - <a href="5-ls.html#SP2">§2</a><br/>Project Services - <a href="5-ps2.html#SP2_3">§2.3</a>, <a href="5-ps2.html#SP17">§17</a>, <a href="5-ps2.html#SP22_1">§22.1</a>, <a href="5-ps2.html#SP22_5">§22.5</a>, <a href="5-ps2.html#SP24">§24</a>, <a href="5-ps2.html#SP35">§35</a>, <a href="5-ps2.html#SP36">§36</a><br/>Headings - <a href="6-hdn.html#SP22_2">§22.2</a><br/>Inclusions - <a href="6-inc.html#SP2_2">§2.2</a>, <a href="6-inc.html#SP2_2_1">§2.2.1</a>, <a href="6-inc.html#SP6_1_1">§6.1.1</a>, <a href="6-inc.html#SP6_1_2">§6.1.2</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">cat</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">subcat</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">NB</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">copy_error</span><span class="plain-syntax"> *</span><span class="function-syntax">CopyErrors::new_T</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">CopyErrors::new_T</span></span>:<br/>JSON Metadata - <a href="2-jm.html#SP1_1">§1.1</a>, <a href="2-jm.html#SP1_2">§1.2</a>, <a href="2-jm.html#SP1_3_1">§1.3.1</a>, <a href="2-jm.html#SP1_3_2">§1.3.2</a>, <a href="2-jm.html#SP1_3_3">§1.3.3</a>, <a href="2-jm.html#SP1_3_4">§1.3.4</a>, <a href="2-jm.html#SP1_3_5">§1.3.5</a>, <a href="2-jm.html#SP1_4">§1.4</a>, <a href="2-jm.html#SP1_5">§1.5</a>, <a href="2-jm.html#SP1_6">§1.6</a><br/>Licences - <a href="2-lcn.html#SP3">§3</a><br/>Extension Bundle Manager - <a href="4-ebm.html#SP3">§3</a>, <a href="4-ebm.html#SP5">§5</a>, <a href="4-ebm.html#SP5_1">§5.1</a>, <a href="4-ebm.html#SP5_1_1">§5.1.1</a>, <a href="4-ebm.html#SP5_1_2">§5.1.2</a>, <a href="4-ebm.html#SP5_1_3">§5.1.3</a><br/>Project Bundle Manager - <a href="4-pbm.html#SP3_1">§3.1</a>, <a href="4-pbm.html#SP3_1_1">§3.1.1</a>, <a href="4-pbm.html#SP3_1_2">§3.1.2</a>, <a href="4-pbm.html#SP3_1_3">§3.1.3</a>, <a href="4-pbm.html#SP3_1_3_1">§3.1.3.1</a><br/>Extension Services - <a href="5-es.html#SP2_2">§2.2</a>, <a href="5-es.html#SP2_2_1">§2.2.1</a>, <a href="5-es.html#SP2_2_1_1">§2.2.1.1</a>, <a href="5-es.html#SP2_2_1_3">§2.2.1.3</a>, <a href="5-es.html#SP2_2_1_3_2">§2.2.1.3.2</a>, <a href="5-es.html#SP2_3">§2.3</a>, <a href="5-es.html#SP2_4">§2.4</a>, <a href="5-es.html#SP2_4_3">§2.4.3</a>, <a href="5-es.html#SP2_4_3_1_1">§2.4.3.1.1</a>, <a href="5-es.html#SP2_4_3_2_1">§2.4.3.2.1</a>, <a href="5-es.html#SP2_5">§2.5</a>, <a href="5-es.html#SP2_7_4">§2.7.4</a>, <a href="5-es.html#SP8">§8</a>, <a href="5-es.html#SP12_1">§12.1</a><br/>Kit Services - <a href="5-ks.html#SP5_3">§5.3</a>, <a href="5-ks.html#SP5_3_1">§5.3.1</a>, <a href="5-ks.html#SP5_3_1_1">§5.3.1.1</a>, <a href="5-ks.html#SP5_3_2">§5.3.2</a>, <a href="5-ks.html#SP12">§12</a><br/>Language Services - <a href="5-ls.html#SP2">§2</a><br/>Project Services - <a href="5-ps2.html#SP2_3">§2.3</a>, <a href="5-ps2.html#SP17">§17</a>, <a href="5-ps2.html#SP22_1">§22.1</a>, <a href="5-ps2.html#SP22_5">§22.5</a>, <a href="5-ps2.html#SP24">§24</a>, <a href="5-ps2.html#SP35">§35</a>, <a href="5-ps2.html#SP36">§36</a><br/>Headings - <a href="6-hdn.html#SP22_2">§22.2</a><br/>Inclusions - <a href="6-inc.html#SP2_2">§2.2</a>, <a href="6-inc.html#SP2_2_1">§2.2.1</a>, <a href="6-inc.html#SP6_1_1">§6.1.1</a>, <a href="6-inc.html#SP6_1_2">§6.1.2</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">cat</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">subcat</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">NB</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><a href="2-ce.html#SP2" class="function-link"><span class="function-syntax">CopyErrors::new</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">cat</span><span class="plain-syntax">, </span><span class="identifier-syntax">subcat</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">CE</span><span class="plain-syntax">-></span><span class="element-syntax">details</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Str::duplicate</span><span class="plain-syntax">(</span><span class="identifier-syntax">NB</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">CE</span><span class="plain-syntax">;</span>
|
||||
|
@ -202,6 +203,8 @@ output.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">PROJECT_MALFORMED_CE:</span><span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"project malformed: %S"</span><span class="plain-syntax">, </span><span class="identifier-syntax">CE</span><span class="plain-syntax">-></span><span class="element-syntax">details</span><span class="plain-syntax">); </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">METADATA_MALFORMED_CE:</span><span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"%S has incorrect metadata: %S"</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">CE</span><span class="plain-syntax">-></span><span class="element-syntax">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">genre</span><span class="plain-syntax">-></span><span class="element-syntax">genre_name</span><span class="plain-syntax">, </span><span class="identifier-syntax">CE</span><span class="plain-syntax">-></span><span class="element-syntax">details</span><span class="plain-syntax">); </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">MALFORMED_LICENCE_CE:</span><span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"%S has incorrect 'legal-metadata': %S"</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">CE</span><span class="plain-syntax">-></span><span class="element-syntax">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">genre</span><span class="plain-syntax">-></span><span class="element-syntax">genre_name</span><span class="plain-syntax">, </span><span class="identifier-syntax">CE</span><span class="plain-syntax">-></span><span class="element-syntax">details</span><span class="plain-syntax">); </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">EXT_TITLE_TOO_LONG_CE:</span><span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"title too long: %d characters (max is %d)"</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">CE</span><span class="plain-syntax">-></span><span class="element-syntax">details_N</span><span class="plain-syntax">, </span><span class="constant-syntax">MAX_EXTENSION_TITLE_LENGTH</span><span class="plain-syntax">); </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">EXT_AUTHOR_TOO_LONG_CE:</span><span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"author name too long: %d characters (max is %d)"</span><span class="plain-syntax">,</span>
|
||||
|
@ -329,7 +332,7 @@ output.
|
|||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="2-ce.html#SP5">§5</a>.</li></ul>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="2-cps.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-sm.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-gnr.html">gnr</a></li><li class="progresssection"><a href="2-wrk.html">wrk</a></li><li class="progresssection"><a href="2-edt.html">edt</a></li><li class="progresssection"><a href="2-cps.html">cps</a></li><li class="progresscurrent">ce</li><li class="progresssection"><a href="2-rqr.html">rqr</a></li><li class="progresssection"><a href="2-nst.html">nst</a></li><li class="progresssection"><a href="2-rgs.html">rgs</a></li><li class="progresssection"><a href="2-jm.html">jm</a></li><li class="progresschapter"><a href="3-bg.html">3</a></li><li class="progresschapter"><a href="4-em.html">4</a></li><li class="progresschapter"><a href="5-es.html">5</a></li><li class="progresschapter"><a href="6-st.html">6</a></li><li class="progresschapter"><a href="7-tm.html">7</a></li><li class="progressnext"><a href="2-rqr.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="2-cps.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-sm.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-gnr.html">gnr</a></li><li class="progresssection"><a href="2-wrk.html">wrk</a></li><li class="progresssection"><a href="2-edt.html">edt</a></li><li class="progresssection"><a href="2-cps.html">cps</a></li><li class="progresscurrent">ce</li><li class="progresssection"><a href="2-rqr.html">rqr</a></li><li class="progresssection"><a href="2-nst.html">nst</a></li><li class="progresssection"><a href="2-rgs.html">rgs</a></li><li class="progresssection"><a href="2-jm.html">jm</a></li><li class="progresssection"><a href="2-lcn.html">lcn</a></li><li class="progresschapter"><a href="3-bg.html">3</a></li><li class="progresschapter"><a href="4-em.html">4</a></li><li class="progresschapter"><a href="5-es.html">5</a></li><li class="progresschapter"><a href="6-st.html">6</a></li><li class="progresschapter"><a href="7-tm.html">7</a></li><li class="progressnext"><a href="2-rqr.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -87,6 +87,7 @@ stored here.
|
|||
<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>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="identifier-syntax">linked_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">errors_reading_source_text</span><span class="plain-syntax">; </span><span class="comment-syntax"> of </span><span class="extract"><span class="extract-syntax">copy_error</span></span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">last_scanned</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="reserved-syntax">inbuild_licence</span><span class="plain-syntax"> *</span><span class="identifier-syntax">licence</span><span class="plain-syntax">; </span><span class="comment-syntax"> optional licence declaration which seems to apply</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">CLASS_DEFINITION</span>
|
||||
<span class="plain-syntax">} </span><span class="reserved-syntax">inbuild_copy</span><span class="plain-syntax">;</span>
|
||||
</pre>
|
||||
|
@ -111,6 +112,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="element-syntax">found_by</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="element-syntax">errors_reading_source_text</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NEW_LINKED_LIST</span><span class="plain-syntax">(</span><span class="reserved-syntax">copy_error</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">copy</span><span class="plain-syntax">-></span><span class="element-syntax">last_scanned</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">copy</span><span class="plain-syntax">-></span><span class="element-syntax">licence</span><span class="plain-syntax"> = </span><a href="2-lcn.html#SP2" class="function-link"><span class="function-syntax">Licences::new</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="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">copy</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
|
@ -155,7 +157,7 @@ for later reporting. These are stored in a list.
|
|||
</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::attach_error</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">Copies::attach_error</span></span>:<br/>JSON Metadata - <a href="2-jm.html#SP1_1">§1.1</a>, <a href="2-jm.html#SP1_2">§1.2</a>, <a href="2-jm.html#SP1_3_1">§1.3.1</a>, <a href="2-jm.html#SP1_3_2">§1.3.2</a>, <a href="2-jm.html#SP1_3_3">§1.3.3</a>, <a href="2-jm.html#SP1_3_4">§1.3.4</a>, <a href="2-jm.html#SP1_3_5">§1.3.5</a>, <a href="2-jm.html#SP1_4">§1.4</a>, <a href="2-jm.html#SP1_5">§1.5</a>, <a href="2-jm.html#SP1_6">§1.6</a><br/>Extension Bundle Manager - <a href="4-ebm.html#SP3">§3</a>, <a href="4-ebm.html#SP5">§5</a>, <a href="4-ebm.html#SP5_1">§5.1</a>, <a href="4-ebm.html#SP5_1_1">§5.1.1</a>, <a href="4-ebm.html#SP5_1_2">§5.1.2</a>, <a href="4-ebm.html#SP5_1_3">§5.1.3</a><br/>Project Bundle Manager - <a href="4-pbm.html#SP3_1">§3.1</a>, <a href="4-pbm.html#SP3_1_1">§3.1.1</a>, <a href="4-pbm.html#SP3_1_2">§3.1.2</a>, <a href="4-pbm.html#SP3_1_3">§3.1.3</a>, <a href="4-pbm.html#SP3_1_3_1">§3.1.3.1</a><br/>Extension Services - <a href="5-es.html#SP2_2">§2.2</a>, <a href="5-es.html#SP2_2_1">§2.2.1</a>, <a href="5-es.html#SP2_2_1_1">§2.2.1.1</a>, <a href="5-es.html#SP2_2_1_3">§2.2.1.3</a>, <a href="5-es.html#SP2_2_1_3_2">§2.2.1.3.2</a>, <a href="5-es.html#SP2_3">§2.3</a>, <a href="5-es.html#SP2_4">§2.4</a>, <a href="5-es.html#SP2_4_3">§2.4.3</a>, <a href="5-es.html#SP2_4_3_1_1">§2.4.3.1.1</a>, <a href="5-es.html#SP2_4_3_2_1">§2.4.3.2.1</a>, <a href="5-es.html#SP2_5">§2.5</a>, <a href="5-es.html#SP2_7_4">§2.7.4</a>, <a href="5-es.html#SP8">§8</a>, <a href="5-es.html#SP12_1">§12.1</a><br/>Kit Services - <a href="5-ks.html#SP5_3">§5.3</a>, <a href="5-ks.html#SP5_3_1">§5.3.1</a>, <a href="5-ks.html#SP5_3_1_1">§5.3.1.1</a>, <a href="5-ks.html#SP5_3_2">§5.3.2</a>, <a href="5-ks.html#SP12">§12</a><br/>Language Services - <a href="5-ls.html#SP2">§2</a><br/>Project Services - <a href="5-ps2.html#SP2_3">§2.3</a>, <a href="5-ps2.html#SP17">§17</a>, <a href="5-ps2.html#SP22_1">§22.1</a>, <a href="5-ps2.html#SP22_5">§22.5</a>, <a href="5-ps2.html#SP24">§24</a>, <a href="5-ps2.html#SP35">§35</a>, <a href="5-ps2.html#SP36">§36</a>, <a href="5-ps2.html#SP37_1_2_2">§37.1.2.2</a><br/>Source Text - <a href="6-st.html#SP2">§2</a>, <a href="6-st.html#SP3">§3</a>, <a href="6-st.html#SP6">§6</a>, <a href="6-st.html#SP15">§15</a><br/>Headings - <a href="6-hdn.html#SP11_1">§11.1</a>, <a href="6-hdn.html#SP12_1">§12.1</a>, <a href="6-hdn.html#SP12_2">§12.2</a>, <a href="6-hdn.html#SP14_3">§14.3</a>, <a href="6-hdn.html#SP22_1">§22.1</a>, <a href="6-hdn.html#SP23_2">§23.2</a>, <a href="6-hdn.html#SP22_2">§22.2</a>, <a href="6-hdn.html#SP22_3">§22.3</a><br/>Inclusions - <a href="6-inc.html#SP2_2">§2.2</a>, <a href="6-inc.html#SP2_2_1">§2.2.1</a>, <a href="6-inc.html#SP3_1">§3.1</a>, <a href="6-inc.html#SP6_1_1">§6.1.1</a>, <a href="6-inc.html#SP6_1_2">§6.1.2</a>, <a href="6-inc.html#SP7_1">§7.1</a>, <a href="6-inc.html#SP9_1">§9.1</a>, <a href="6-inc.html#SP11">§11</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">copy_error</span><span class="plain-syntax"> *</span><span class="identifier-syntax">CE</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Copies::attach_error</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">Copies::attach_error</span></span>:<br/>JSON Metadata - <a href="2-jm.html#SP1_1">§1.1</a>, <a href="2-jm.html#SP1_2">§1.2</a>, <a href="2-jm.html#SP1_3_1">§1.3.1</a>, <a href="2-jm.html#SP1_3_2">§1.3.2</a>, <a href="2-jm.html#SP1_3_3">§1.3.3</a>, <a href="2-jm.html#SP1_3_4">§1.3.4</a>, <a href="2-jm.html#SP1_3_5">§1.3.5</a>, <a href="2-jm.html#SP1_4">§1.4</a>, <a href="2-jm.html#SP1_5">§1.5</a>, <a href="2-jm.html#SP1_6">§1.6</a><br/>Licences - <a href="2-lcn.html#SP3">§3</a><br/>Extension Bundle Manager - <a href="4-ebm.html#SP3">§3</a>, <a href="4-ebm.html#SP5">§5</a>, <a href="4-ebm.html#SP5_1">§5.1</a>, <a href="4-ebm.html#SP5_1_1">§5.1.1</a>, <a href="4-ebm.html#SP5_1_2">§5.1.2</a>, <a href="4-ebm.html#SP5_1_3">§5.1.3</a><br/>Project Bundle Manager - <a href="4-pbm.html#SP3_1">§3.1</a>, <a href="4-pbm.html#SP3_1_1">§3.1.1</a>, <a href="4-pbm.html#SP3_1_2">§3.1.2</a>, <a href="4-pbm.html#SP3_1_3">§3.1.3</a>, <a href="4-pbm.html#SP3_1_3_1">§3.1.3.1</a><br/>Extension Services - <a href="5-es.html#SP2_2">§2.2</a>, <a href="5-es.html#SP2_2_1">§2.2.1</a>, <a href="5-es.html#SP2_2_1_1">§2.2.1.1</a>, <a href="5-es.html#SP2_2_1_3">§2.2.1.3</a>, <a href="5-es.html#SP2_2_1_3_2">§2.2.1.3.2</a>, <a href="5-es.html#SP2_3">§2.3</a>, <a href="5-es.html#SP2_4">§2.4</a>, <a href="5-es.html#SP2_4_3">§2.4.3</a>, <a href="5-es.html#SP2_4_3_1_1">§2.4.3.1.1</a>, <a href="5-es.html#SP2_4_3_2_1">§2.4.3.2.1</a>, <a href="5-es.html#SP2_5">§2.5</a>, <a href="5-es.html#SP2_7_4">§2.7.4</a>, <a href="5-es.html#SP8">§8</a>, <a href="5-es.html#SP12_1">§12.1</a><br/>Kit Services - <a href="5-ks.html#SP5_3">§5.3</a>, <a href="5-ks.html#SP5_3_1">§5.3.1</a>, <a href="5-ks.html#SP5_3_1_1">§5.3.1.1</a>, <a href="5-ks.html#SP5_3_2">§5.3.2</a>, <a href="5-ks.html#SP12">§12</a><br/>Language Services - <a href="5-ls.html#SP2">§2</a><br/>Project Services - <a href="5-ps2.html#SP2_3">§2.3</a>, <a href="5-ps2.html#SP17">§17</a>, <a href="5-ps2.html#SP22_1">§22.1</a>, <a href="5-ps2.html#SP22_5">§22.5</a>, <a href="5-ps2.html#SP24">§24</a>, <a href="5-ps2.html#SP35">§35</a>, <a href="5-ps2.html#SP36">§36</a>, <a href="5-ps2.html#SP37_1_2_2">§37.1.2.2</a><br/>Source Text - <a href="6-st.html#SP2">§2</a>, <a href="6-st.html#SP3">§3</a>, <a href="6-st.html#SP6">§6</a>, <a href="6-st.html#SP15">§15</a><br/>Headings - <a href="6-hdn.html#SP11_1">§11.1</a>, <a href="6-hdn.html#SP12_1">§12.1</a>, <a href="6-hdn.html#SP12_2">§12.2</a>, <a href="6-hdn.html#SP14_3">§14.3</a>, <a href="6-hdn.html#SP22_1">§22.1</a>, <a href="6-hdn.html#SP23_2">§23.2</a>, <a href="6-hdn.html#SP22_2">§22.2</a>, <a href="6-hdn.html#SP22_3">§22.3</a><br/>Inclusions - <a href="6-inc.html#SP2_2">§2.2</a>, <a href="6-inc.html#SP2_2_1">§2.2.1</a>, <a href="6-inc.html#SP3_1">§3.1</a>, <a href="6-inc.html#SP6_1_1">§6.1.1</a>, <a href="6-inc.html#SP6_1_2">§6.1.2</a>, <a href="6-inc.html#SP7_1">§7.1</a>, <a href="6-inc.html#SP9_1">§9.1</a>, <a href="6-inc.html#SP11">§11</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">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">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="identifier-syntax">internal_error</span><span class="plain-syntax">(</span><span class="string-syntax">"no copy to attach to"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-ce.html#SP4" class="function-link"><span class="function-syntax">CopyErrors::supply_attached_copy</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">CE</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">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>
|
||||
|
@ -436,7 +438,7 @@ its main task: building an Inform project.
|
|||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="2-edt.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-sm.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-gnr.html">gnr</a></li><li class="progresssection"><a href="2-wrk.html">wrk</a></li><li class="progresssection"><a href="2-edt.html">edt</a></li><li class="progresscurrent">cps</li><li class="progresssection"><a href="2-ce.html">ce</a></li><li class="progresssection"><a href="2-rqr.html">rqr</a></li><li class="progresssection"><a href="2-nst.html">nst</a></li><li class="progresssection"><a href="2-rgs.html">rgs</a></li><li class="progresssection"><a href="2-jm.html">jm</a></li><li class="progresschapter"><a href="3-bg.html">3</a></li><li class="progresschapter"><a href="4-em.html">4</a></li><li class="progresschapter"><a href="5-es.html">5</a></li><li class="progresschapter"><a href="6-st.html">6</a></li><li class="progresschapter"><a href="7-tm.html">7</a></li><li class="progressnext"><a href="2-ce.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="2-edt.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-sm.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-gnr.html">gnr</a></li><li class="progresssection"><a href="2-wrk.html">wrk</a></li><li class="progresssection"><a href="2-edt.html">edt</a></li><li class="progresscurrent">cps</li><li class="progresssection"><a href="2-ce.html">ce</a></li><li class="progresssection"><a href="2-rqr.html">rqr</a></li><li class="progresssection"><a href="2-nst.html">nst</a></li><li class="progresssection"><a href="2-rgs.html">rgs</a></li><li class="progresssection"><a href="2-jm.html">jm</a></li><li class="progresssection"><a href="2-lcn.html">lcn</a></li><li class="progresschapter"><a href="3-bg.html">3</a></li><li class="progresschapter"><a href="4-em.html">4</a></li><li class="progresschapter"><a href="5-es.html">5</a></li><li class="progresschapter"><a href="6-st.html">6</a></li><li class="progresschapter"><a href="7-tm.html">7</a></li><li class="progressnext"><a href="2-ce.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -147,7 +147,7 @@ contributes only the un-filename-extended leafname <span class="extract"><span c
|
|||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="2-wrk.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-sm.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-gnr.html">gnr</a></li><li class="progresssection"><a href="2-wrk.html">wrk</a></li><li class="progresscurrent">edt</li><li class="progresssection"><a href="2-cps.html">cps</a></li><li class="progresssection"><a href="2-ce.html">ce</a></li><li class="progresssection"><a href="2-rqr.html">rqr</a></li><li class="progresssection"><a href="2-nst.html">nst</a></li><li class="progresssection"><a href="2-rgs.html">rgs</a></li><li class="progresssection"><a href="2-jm.html">jm</a></li><li class="progresschapter"><a href="3-bg.html">3</a></li><li class="progresschapter"><a href="4-em.html">4</a></li><li class="progresschapter"><a href="5-es.html">5</a></li><li class="progresschapter"><a href="6-st.html">6</a></li><li class="progresschapter"><a href="7-tm.html">7</a></li><li class="progressnext"><a href="2-cps.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="2-wrk.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-sm.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-gnr.html">gnr</a></li><li class="progresssection"><a href="2-wrk.html">wrk</a></li><li class="progresscurrent">edt</li><li class="progresssection"><a href="2-cps.html">cps</a></li><li class="progresssection"><a href="2-ce.html">ce</a></li><li class="progresssection"><a href="2-rqr.html">rqr</a></li><li class="progresssection"><a href="2-nst.html">nst</a></li><li class="progresssection"><a href="2-rgs.html">rgs</a></li><li class="progresssection"><a href="2-jm.html">jm</a></li><li class="progresssection"><a href="2-lcn.html">lcn</a></li><li class="progresschapter"><a href="3-bg.html">3</a></li><li class="progresschapter"><a href="4-em.html">4</a></li><li class="progresschapter"><a href="5-es.html">5</a></li><li class="progresschapter"><a href="6-st.html">6</a></li><li class="progresschapter"><a href="7-tm.html">7</a></li><li class="progressnext"><a href="2-cps.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -282,7 +282,7 @@ the Inbuild command-line options <span class="extract"><span class="extract-synt
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">inbuild_genre</span><span class="plain-syntax"> *</span><span class="identifier-syntax">gen</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">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">)</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="1-ic.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-sm.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresscurrent">gnr</li><li class="progresssection"><a href="2-wrk.html">wrk</a></li><li class="progresssection"><a href="2-edt.html">edt</a></li><li class="progresssection"><a href="2-cps.html">cps</a></li><li class="progresssection"><a href="2-ce.html">ce</a></li><li class="progresssection"><a href="2-rqr.html">rqr</a></li><li class="progresssection"><a href="2-nst.html">nst</a></li><li class="progresssection"><a href="2-rgs.html">rgs</a></li><li class="progresssection"><a href="2-jm.html">jm</a></li><li class="progresschapter"><a href="3-bg.html">3</a></li><li class="progresschapter"><a href="4-em.html">4</a></li><li class="progresschapter"><a href="5-es.html">5</a></li><li class="progresschapter"><a href="6-st.html">6</a></li><li class="progresschapter"><a href="7-tm.html">7</a></li><li class="progressnext"><a href="2-wrk.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="1-ic.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-sm.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresscurrent">gnr</li><li class="progresssection"><a href="2-wrk.html">wrk</a></li><li class="progresssection"><a href="2-edt.html">edt</a></li><li class="progresssection"><a href="2-cps.html">cps</a></li><li class="progresssection"><a href="2-ce.html">ce</a></li><li class="progresssection"><a href="2-rqr.html">rqr</a></li><li class="progresssection"><a href="2-nst.html">nst</a></li><li class="progresssection"><a href="2-rgs.html">rgs</a></li><li class="progresssection"><a href="2-jm.html">jm</a></li><li class="progresssection"><a href="2-lcn.html">lcn</a></li><li class="progresschapter"><a href="3-bg.html">3</a></li><li class="progresschapter"><a href="4-em.html">4</a></li><li class="progresschapter"><a href="5-es.html">5</a></li><li class="progresschapter"><a href="6-st.html">6</a></li><li class="progresschapter"><a href="7-tm.html">7</a></li><li class="progressnext"><a href="2-wrk.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -90,6 +90,8 @@ identifying the copy which it purports to identify.
|
|||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="2-jm.html#SP1_4" class="named-paragraph-link"><span class="named-paragraph">Police the "needs"</span><span class="named-paragraph-number">1.4</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">JSON_value</span><span class="plain-syntax"> *</span><span class="identifier-syntax">compatibility</span><span class="plain-syntax"> = </span><span class="identifier-syntax">JSON::look_up_object</span><span class="plain-syntax">(</span><span class="identifier-syntax">obj</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"compatibility"</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</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="2-jm.html#SP1_6" class="named-paragraph-link"><span class="named-paragraph">Extract compatibility</span><span class="named-paragraph-number">1.6</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">JSON_value</span><span class="plain-syntax"> *</span><span class="identifier-syntax">rights</span><span class="plain-syntax"> = </span><span class="identifier-syntax">JSON::look_up_object</span><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">-></span><span class="element-syntax">metadata_record</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"rights"</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">rights</span><span class="plain-syntax">) </span><a href="2-lcn.html#SP3" class="function-link"><span class="function-syntax">Licences::from_JSON</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">-></span><span class="element-syntax">licence</span><span class="plain-syntax">, </span><span class="identifier-syntax">rights</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">JSONMetadata::read_metadata_file_helper</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">JSONMetadata::read_metadata_file_helper</span></span>:<br/>Registries - <a href="2-rgs.html#SP3">§3</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">text</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_file_position</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tfp</span><span class="plain-syntax">,</span>
|
||||
|
@ -364,7 +366,7 @@ loads only once.
|
|||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="2-rgs.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-sm.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-gnr.html">gnr</a></li><li class="progresssection"><a href="2-wrk.html">wrk</a></li><li class="progresssection"><a href="2-edt.html">edt</a></li><li class="progresssection"><a href="2-cps.html">cps</a></li><li class="progresssection"><a href="2-ce.html">ce</a></li><li class="progresssection"><a href="2-rqr.html">rqr</a></li><li class="progresssection"><a href="2-nst.html">nst</a></li><li class="progresssection"><a href="2-rgs.html">rgs</a></li><li class="progresscurrent">jm</li><li class="progresschapter"><a href="3-bg.html">3</a></li><li class="progresschapter"><a href="4-em.html">4</a></li><li class="progresschapter"><a href="5-es.html">5</a></li><li class="progresschapter"><a href="6-st.html">6</a></li><li class="progresschapter"><a href="7-tm.html">7</a></li><li class="progressnext"><a href="3-bg.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="2-rgs.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-sm.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-gnr.html">gnr</a></li><li class="progresssection"><a href="2-wrk.html">wrk</a></li><li class="progresssection"><a href="2-edt.html">edt</a></li><li class="progresssection"><a href="2-cps.html">cps</a></li><li class="progresssection"><a href="2-ce.html">ce</a></li><li class="progresssection"><a href="2-rqr.html">rqr</a></li><li class="progresssection"><a href="2-nst.html">nst</a></li><li class="progresssection"><a href="2-rgs.html">rgs</a></li><li class="progresscurrent">jm</li><li class="progresssection"><a href="2-lcn.html">lcn</a></li><li class="progresschapter"><a href="3-bg.html">3</a></li><li class="progresschapter"><a href="4-em.html">4</a></li><li class="progresschapter"><a href="5-es.html">5</a></li><li class="progresschapter"><a href="6-st.html">6</a></li><li class="progresschapter"><a href="7-tm.html">7</a></li><li class="progressnext"><a href="2-lcn.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
213
docs/supervisor-module/2-lcn.html
Normal file
213
docs/supervisor-module/2-lcn.html
Normal file
|
@ -0,0 +1,213 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<title>Licences</title>
|
||||
<link href="../docs-assets/Breadcrumbs.css" rel="stylesheet" rev="stylesheet" type="text/css">
|
||||
<meta name="viewport" content="width=device-width initial-scale=1">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<meta http-equiv="Content-Language" content="en-gb">
|
||||
|
||||
<link href="../docs-assets/Contents.css" rel="stylesheet" rev="stylesheet" type="text/css">
|
||||
<link href="../docs-assets/Progress.css" rel="stylesheet" rev="stylesheet" type="text/css">
|
||||
<link href="../docs-assets/Navigation.css" rel="stylesheet" rev="stylesheet" type="text/css">
|
||||
<link href="../docs-assets/Fonts.css" rel="stylesheet" rev="stylesheet" type="text/css">
|
||||
<link href="../docs-assets/Base.css" rel="stylesheet" rev="stylesheet" type="text/css">
|
||||
<script>
|
||||
function togglePopup(material_id) {
|
||||
var popup = document.getElementById(material_id);
|
||||
popup.classList.toggle("show");
|
||||
}
|
||||
</script>
|
||||
|
||||
<link href="../docs-assets/Popups.css" rel="stylesheet" rev="stylesheet" type="text/css">
|
||||
<link href="../docs-assets/Colours.css" rel="stylesheet" rev="stylesheet" type="text/css">
|
||||
|
||||
</head>
|
||||
<body class="commentary-font">
|
||||
<nav role="navigation">
|
||||
<h1><a href="../index.html">
|
||||
<img src="../docs-assets/Inform.png" height=72">
|
||||
</a></h1>
|
||||
<ul><li><a href="../index.html">home</a></li>
|
||||
</ul><h2>Compiler</h2><ul>
|
||||
<li><a href="../structure.html">structure</a></li>
|
||||
<li><a href="../inbuildn.html">inbuild</a></li>
|
||||
<li><a href="../inform7n.html">inform7</a></li>
|
||||
<li><a href="../intern.html">inter</a></li>
|
||||
<li><a href="../services.html">services</a></li>
|
||||
<li><a href="../secrets.html">secrets</a></li>
|
||||
</ul><h2>Other Tools</h2><ul>
|
||||
<li><a href="../inblorbn.html">inblorb</a></li>
|
||||
<li><a href="../indocn.html">indoc</a></li>
|
||||
<li><a href="../inform6.html">inform6</a></li>
|
||||
<li><a href="../inpolicyn.html">inpolicy</a></li>
|
||||
</ul><h2>Resources</h2><ul>
|
||||
<li><a href="../extensions.html">extensions</a></li>
|
||||
<li><a href="../kits.html">kits</a></li>
|
||||
</ul><h2>Repository</h2><ul>
|
||||
<li><a href="https://github.com/ganelson/inform"><img src="../docs-assets/github.png" height=18> github</a></li>
|
||||
</ul><h2>Related Projects</h2><ul>
|
||||
<li><a href="../../../inweb/index.html">inweb</a></li>
|
||||
<li><a href="../../../intest/index.html">intest</a></li>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
<main role="main">
|
||||
<!--Weave of 'Licences' generated by Inweb-->
|
||||
<div class="breadcrumbs">
|
||||
<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>Licences</b></li></ul></div>
|
||||
<p class="purpose">A copy of any genre can in principle have a licence declaration attached to it.</p>
|
||||
|
||||
<ul class="toc"><li><a href="2-lcn.html#SP1">§1. Creation</a></li><li><a href="2-lcn.html#SP3">§3. Date from a JSON object</a></li><li><a href="2-lcn.html#SP4">§4. Data to a JSON object</a></li></ul><hr class="tocbar">
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP1" class="paragraph-anchor"></a><b>§1. Creation. </b>It could be argued that licences belong to editions, not copies, but we want to
|
||||
be pragmatic. We're not storing the true state of the legal status of the material
|
||||
in the copy, only what this copy claims about itself.
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">typedef</span><span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="reserved-syntax">inbuild_licence</span><span class="plain-syntax"> {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="identifier-syntax">open_source_licence</span><span class="plain-syntax"> *</span><span class="identifier-syntax">standard_licence</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="reserved-syntax">inbuild_copy</span><span class="plain-syntax"> *</span><span class="identifier-syntax">on_copy</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">rights_owner</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">copyright_year</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">revision_year</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">origin_URL</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">rights_history</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">CLASS_DEFINITION</span>
|
||||
<span class="plain-syntax">} </span><span class="reserved-syntax">inbuild_licence</span><span class="plain-syntax">;</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>The structure inbuild_licence is private to this section.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP2" class="paragraph-anchor"></a><b>§2. </b>Copies begin with this blank sort of non-licence:
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">inbuild_licence</span><span class="plain-syntax"> *</span><span class="function-syntax">Licences::new</span><button class="popup" onclick="togglePopup('usagePopup1')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup1">Usage of <span class="code-font"><span class="function-syntax">Licences::new</span></span>:<br/>Copies - <a href="2-cps.html#SP2">§2</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inbuild_copy</span><span class="plain-syntax"> *</span><span class="identifier-syntax">copy</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">inbuild_licence</span><span class="plain-syntax"> *</span><span class="identifier-syntax">licence</span><span class="plain-syntax"> = </span><span class="identifier-syntax">CREATE</span><span class="plain-syntax">(</span><span class="reserved-syntax">inbuild_licence</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">licence</span><span class="plain-syntax">-></span><span class="element-syntax">standard_licence</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">licence</span><span class="plain-syntax">-></span><span class="element-syntax">on_copy</span><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">licence</span><span class="plain-syntax">-></span><span class="element-syntax">rights_owner</span><span class="plain-syntax"> = </span><span class="identifier-syntax">I</span><span class="string-syntax">"Unknown"</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">licence</span><span class="plain-syntax">-></span><span class="element-syntax">copyright_year</span><span class="plain-syntax"> = </span><span class="constant-syntax">1980</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">licence</span><span class="plain-syntax">-></span><span class="element-syntax">revision_year</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">licence</span><span class="plain-syntax">-></span><span class="element-syntax">origin_URL</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">licence</span><span class="plain-syntax">-></span><span class="element-syntax">rights_history</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">licence</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP3" class="paragraph-anchor"></a><b>§3. Date from a JSON object. </b>This is the optional <span class="extract"><span class="extract-syntax">legal-metadata</span></span> object in any inbuild-standard JSON
|
||||
metadata file.
|
||||
</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">Licences::from_JSON</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">Licences::from_JSON</span></span>:<br/>JSON Metadata - <a href="2-jm.html#SP1">§1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inbuild_licence</span><span class="plain-syntax"> *</span><span class="identifier-syntax">licence</span><span class="plain-syntax">, </span><span class="identifier-syntax">JSON_value</span><span class="plain-syntax"> *</span><span class="identifier-syntax">legal_metadata</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">JSON_value</span><span class="plain-syntax"> *</span><span class="identifier-syntax">id</span><span class="plain-syntax"> = </span><span class="identifier-syntax">JSON::look_up_object</span><span class="plain-syntax">(</span><span class="identifier-syntax">legal_metadata</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"licence"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">JSON_value</span><span class="plain-syntax"> *</span><span class="identifier-syntax">owner</span><span class="plain-syntax"> = </span><span class="identifier-syntax">JSON::look_up_object</span><span class="plain-syntax">(</span><span class="identifier-syntax">legal_metadata</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"rights-owner"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">JSON_value</span><span class="plain-syntax"> *</span><span class="identifier-syntax">date</span><span class="plain-syntax"> = </span><span class="identifier-syntax">JSON::look_up_object</span><span class="plain-syntax">(</span><span class="identifier-syntax">legal_metadata</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"date"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">JSON_value</span><span class="plain-syntax"> *</span><span class="identifier-syntax">rev_date</span><span class="plain-syntax"> = </span><span class="identifier-syntax">JSON::look_up_object</span><span class="plain-syntax">(</span><span class="identifier-syntax">legal_metadata</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"revision-date"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">JSON_value</span><span class="plain-syntax"> *</span><span class="identifier-syntax">url</span><span class="plain-syntax"> = </span><span class="identifier-syntax">JSON::look_up_object</span><span class="plain-syntax">(</span><span class="identifier-syntax">legal_metadata</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"origin-url"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">JSON_value</span><span class="plain-syntax"> *</span><span class="identifier-syntax">rights</span><span class="plain-syntax"> = </span><span class="identifier-syntax">JSON::look_up_object</span><span class="plain-syntax">(</span><span class="identifier-syntax">legal_metadata</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"rights-history"</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">id</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) || (</span><span class="identifier-syntax">owner</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) || (</span><span class="identifier-syntax">date</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">licence</span><span class="plain-syntax">-></span><span class="element-syntax">on_copy</span><span class="plain-syntax">;</span>
|
||||
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">licence</span><span class="plain-syntax">-></span><span class="element-syntax">standard_licence</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::ne</span><span class="plain-syntax">(</span><span class="identifier-syntax">id</span><span class="plain-syntax">-></span><span class="identifier-syntax">if_string</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Unspecified"</span><span class="plain-syntax">)) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">licence</span><span class="plain-syntax">-></span><span class="element-syntax">standard_licence</span><span class="plain-syntax"> = </span><span class="identifier-syntax">LicenceData::from_SPDX_id</span><span class="plain-syntax">(</span><span class="identifier-syntax">id</span><span class="plain-syntax">-></span><span class="identifier-syntax">if_string</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">licence</span><span class="plain-syntax">-></span><span class="element-syntax">standard_licence</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">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">error_text</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">error_text</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="string-syntax">"the licence '%S', given in JSON metadata, is not an SPDX standard licence code"</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">id</span><span class="plain-syntax">-></span><span class="identifier-syntax">if_string</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-cps.html#SP5" class="function-link"><span class="function-syntax">Copies::attach_error</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">, </span><a href="2-ce.html#SP2" class="function-link"><span class="function-syntax">CopyErrors::new_T</span></a><span class="plain-syntax">(</span><span class="constant-syntax">MALFORMED_LICENCE_CE</span><span class="plain-syntax">, -1, </span><span class="identifier-syntax">error_text</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">error_text</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">licence</span><span class="plain-syntax">-></span><span class="element-syntax">standard_licence</span><span class="plain-syntax">-></span><span class="element-syntax">deprecated</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">error_text</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">error_text</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="string-syntax">"the licence '%S', is a valid SPDX code but for a licence now deprecated"</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">id</span><span class="plain-syntax">-></span><span class="identifier-syntax">if_string</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-cps.html#SP5" class="function-link"><span class="function-syntax">Copies::attach_error</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">, </span><a href="2-ce.html#SP2" class="function-link"><span class="function-syntax">CopyErrors::new_T</span></a><span class="plain-syntax">(</span><span class="constant-syntax">MALFORMED_LICENCE_CE</span><span class="plain-syntax">, -1, </span><span class="identifier-syntax">error_text</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">error_text</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">licence</span><span class="plain-syntax">-></span><span class="element-syntax">rights_owner</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Str::duplicate</span><span class="plain-syntax">(</span><span class="identifier-syntax">owner</span><span class="plain-syntax">-></span><span class="identifier-syntax">if_string</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">licence</span><span class="plain-syntax">-></span><span class="element-syntax">rights_owner</span><span class="plain-syntax">) == </span><span class="constant-syntax">0</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><a href="2-cps.html#SP5" class="function-link"><span class="function-syntax">Copies::attach_error</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">, </span><a href="2-ce.html#SP2" class="function-link"><span class="function-syntax">CopyErrors::new_T</span></a><span class="plain-syntax">(</span>
|
||||
<span class="plain-syntax"> </span><span class="constant-syntax">MALFORMED_LICENCE_CE</span><span class="plain-syntax">, -1, </span><span class="identifier-syntax">I</span><span class="string-syntax">"the rights owner must be non-empty"</span><span class="plain-syntax">));</span>
|
||||
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">licence</span><span class="plain-syntax">-></span><span class="element-syntax">copyright_year</span><span class="plain-syntax"> = </span><span class="identifier-syntax">date</span><span class="plain-syntax">-></span><span class="identifier-syntax">if_integer</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">licence</span><span class="plain-syntax">-></span><span class="element-syntax">copyright_year</span><span class="plain-syntax"> < </span><span class="constant-syntax">1980</span><span class="plain-syntax">) || (</span><span class="identifier-syntax">licence</span><span class="plain-syntax">-></span><span class="element-syntax">copyright_year</span><span class="plain-syntax"> >= </span><span class="constant-syntax">10000</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">error_text</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">error_text</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="string-syntax">"the date '%d' needs to be a four-digit year after 1980"</span><span class="plain-syntax">, </span><span class="identifier-syntax">date</span><span class="plain-syntax">-></span><span class="identifier-syntax">if_integer</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-cps.html#SP5" class="function-link"><span class="function-syntax">Copies::attach_error</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">, </span><a href="2-ce.html#SP2" class="function-link"><span class="function-syntax">CopyErrors::new_T</span></a><span class="plain-syntax">(</span><span class="constant-syntax">MALFORMED_LICENCE_CE</span><span class="plain-syntax">, -1, </span><span class="identifier-syntax">error_text</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">error_text</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">licence</span><span class="plain-syntax">-></span><span class="element-syntax">copyright_year</span><span class="plain-syntax"> = </span><span class="constant-syntax">1980</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">licence</span><span class="plain-syntax">-></span><span class="element-syntax">revision_year</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">rev_date</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">licence</span><span class="plain-syntax">-></span><span class="element-syntax">revision_year</span><span class="plain-syntax"> = </span><span class="identifier-syntax">rev_date</span><span class="plain-syntax">-></span><span class="identifier-syntax">if_integer</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">licence</span><span class="plain-syntax">-></span><span class="element-syntax">revision_year</span><span class="plain-syntax"> <= </span><span class="identifier-syntax">licence</span><span class="plain-syntax">-></span><span class="element-syntax">copyright_year</span><span class="plain-syntax">) ||</span>
|
||||
<span class="plain-syntax"> (</span><span class="identifier-syntax">licence</span><span class="plain-syntax">-></span><span class="element-syntax">revision_year</span><span class="plain-syntax"> >= </span><span class="constant-syntax">10000</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">error_text</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">error_text</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="string-syntax">"the revision date '%d' needs to be a four-digit year after the date"</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">rev_date</span><span class="plain-syntax">-></span><span class="identifier-syntax">if_integer</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-cps.html#SP5" class="function-link"><span class="function-syntax">Copies::attach_error</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">, </span><a href="2-ce.html#SP2" class="function-link"><span class="function-syntax">CopyErrors::new_T</span></a><span class="plain-syntax">(</span><span class="constant-syntax">MALFORMED_LICENCE_CE</span><span class="plain-syntax">, -1, </span><span class="identifier-syntax">error_text</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">error_text</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">licence</span><span class="plain-syntax">-></span><span class="element-syntax">revision_year</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">url</span><span class="plain-syntax">) </span><span class="identifier-syntax">licence</span><span class="plain-syntax">-></span><span class="element-syntax">origin_URL</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Str::duplicate</span><span class="plain-syntax">(</span><span class="identifier-syntax">url</span><span class="plain-syntax">-></span><span class="identifier-syntax">if_string</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="identifier-syntax">licence</span><span class="plain-syntax">-></span><span class="element-syntax">origin_URL</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
|
||||
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">rights</span><span class="plain-syntax">) </span><span class="identifier-syntax">licence</span><span class="plain-syntax">-></span><span class="element-syntax">rights_history</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Str::duplicate</span><span class="plain-syntax">(</span><span class="identifier-syntax">rights</span><span class="plain-syntax">-></span><span class="identifier-syntax">if_string</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="identifier-syntax">licence</span><span class="plain-syntax">-></span><span class="element-syntax">rights_history</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP4" class="paragraph-anchor"></a><b>§4. Data to a JSON object. </b>And conversely...
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="identifier-syntax">JSON_value</span><span class="plain-syntax"> *</span><span class="function-syntax">Licences::to_JSON</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">Licences::to_JSON</span></span>:<br/>Extension Services - <a href="5-es.html#SP2_7">§2.7</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inbuild_licence</span><span class="plain-syntax"> *</span><span class="identifier-syntax">licence</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">licence</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) </span><span class="identifier-syntax">internal_error</span><span class="plain-syntax">(</span><span class="string-syntax">"not a licence"</span><span class="plain-syntax">);</span>
|
||||
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">JSON_value</span><span class="plain-syntax"> *</span><span class="identifier-syntax">licence_object</span><span class="plain-syntax"> = </span><span class="identifier-syntax">JSON::new_object</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">licence</span><span class="plain-syntax">-></span><span class="element-syntax">standard_licence</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">JSON::add_to_object</span><span class="plain-syntax">(</span><span class="identifier-syntax">licence_object</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"licence"</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">JSON::new_string</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="string-syntax">"Unspecified"</span><span class="plain-syntax">));</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">JSON::add_to_object</span><span class="plain-syntax">(</span><span class="identifier-syntax">licence_object</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"licence"</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">JSON::new_string</span><span class="plain-syntax">(</span><span class="identifier-syntax">licence</span><span class="plain-syntax">-></span><span class="element-syntax">standard_licence</span><span class="plain-syntax">-></span><span class="identifier-syntax">SPDX_id</span><span class="plain-syntax">));</span>
|
||||
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">JSON::add_to_object</span><span class="plain-syntax">(</span><span class="identifier-syntax">licence_object</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"rights-owner"</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">JSON::new_string</span><span class="plain-syntax">(</span><span class="identifier-syntax">licence</span><span class="plain-syntax">-></span><span class="element-syntax">rights_owner</span><span class="plain-syntax">));</span>
|
||||
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">JSON::add_to_object</span><span class="plain-syntax">(</span><span class="identifier-syntax">licence_object</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"date"</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">JSON::new_number</span><span class="plain-syntax">(</span><span class="identifier-syntax">licence</span><span class="plain-syntax">-></span><span class="element-syntax">copyright_year</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">licence</span><span class="plain-syntax">-></span><span class="element-syntax">revision_year</span><span class="plain-syntax"> > </span><span class="constant-syntax">0</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">JSON::add_to_object</span><span class="plain-syntax">(</span><span class="identifier-syntax">licence_object</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"revision-date"</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">JSON::new_number</span><span class="plain-syntax">(</span><span class="identifier-syntax">licence</span><span class="plain-syntax">-></span><span class="element-syntax">revision_year</span><span class="plain-syntax">));</span>
|
||||
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">licence</span><span class="plain-syntax">-></span><span class="element-syntax">origin_URL</span><span class="plain-syntax">) > </span><span class="constant-syntax">0</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">JSON::add_to_object</span><span class="plain-syntax">(</span><span class="identifier-syntax">licence_object</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"origin-url"</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">JSON::new_string</span><span class="plain-syntax">(</span><span class="identifier-syntax">licence</span><span class="plain-syntax">-></span><span class="element-syntax">origin_URL</span><span class="plain-syntax">));</span>
|
||||
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">licence</span><span class="plain-syntax">-></span><span class="element-syntax">rights_history</span><span class="plain-syntax">) > </span><span class="constant-syntax">0</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">JSON::add_to_object</span><span class="plain-syntax">(</span><span class="identifier-syntax">licence_object</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"rights-history"</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">JSON::new_string</span><span class="plain-syntax">(</span><span class="identifier-syntax">licence</span><span class="plain-syntax">-></span><span class="element-syntax">rights_history</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">licence_object</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="2-jm.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-sm.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-gnr.html">gnr</a></li><li class="progresssection"><a href="2-wrk.html">wrk</a></li><li class="progresssection"><a href="2-edt.html">edt</a></li><li class="progresssection"><a href="2-cps.html">cps</a></li><li class="progresssection"><a href="2-ce.html">ce</a></li><li class="progresssection"><a href="2-rqr.html">rqr</a></li><li class="progresssection"><a href="2-nst.html">nst</a></li><li class="progresssection"><a href="2-rgs.html">rgs</a></li><li class="progresssection"><a href="2-jm.html">jm</a></li><li class="progresscurrent">lcn</li><li class="progresschapter"><a href="3-bg.html">3</a></li><li class="progresschapter"><a href="4-em.html">4</a></li><li class="progresschapter"><a href="5-es.html">5</a></li><li class="progresschapter"><a href="6-st.html">6</a></li><li class="progresschapter"><a href="7-tm.html">7</a></li><li class="progressnext"><a href="3-bg.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -82,7 +82,7 @@ positions in the file system hierarchy which may or may not exist.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">N</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>The structure inbuild_nest is accessed in 1/ic, 2/rgs, 3/bg, 3/is2, 4/em, 4/ebm, 4/km, 4/lm, 4/pm, 4/tm, 5/ps2, 7/mrp and here.</li></ul>
|
||||
<ul class="endnotetexts"><li>The structure inbuild_nest is accessed in 1/ic, 2/rgs, 2/lcn, 3/bg, 3/is2, 4/em, 4/ebm, 4/km, 4/lm, 4/pm, 4/tm, 5/ps2, 7/mrp and here.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP2" class="paragraph-anchor"></a><b>§2. </b>Nests used by the Inform and Inbuild tools are tagged with the following
|
||||
constants. (There used to be quite a good joke here, but refactoring of the
|
||||
code removed its premise. Literate programming is like that sometimes.)
|
||||
|
@ -297,7 +297,7 @@ semantic version numbers.
|
|||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="2-rqr.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-sm.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-gnr.html">gnr</a></li><li class="progresssection"><a href="2-wrk.html">wrk</a></li><li class="progresssection"><a href="2-edt.html">edt</a></li><li class="progresssection"><a href="2-cps.html">cps</a></li><li class="progresssection"><a href="2-ce.html">ce</a></li><li class="progresssection"><a href="2-rqr.html">rqr</a></li><li class="progresscurrent">nst</li><li class="progresssection"><a href="2-rgs.html">rgs</a></li><li class="progresssection"><a href="2-jm.html">jm</a></li><li class="progresschapter"><a href="3-bg.html">3</a></li><li class="progresschapter"><a href="4-em.html">4</a></li><li class="progresschapter"><a href="5-es.html">5</a></li><li class="progresschapter"><a href="6-st.html">6</a></li><li class="progresschapter"><a href="7-tm.html">7</a></li><li class="progressnext"><a href="2-rgs.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="2-rqr.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-sm.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-gnr.html">gnr</a></li><li class="progresssection"><a href="2-wrk.html">wrk</a></li><li class="progresssection"><a href="2-edt.html">edt</a></li><li class="progresssection"><a href="2-cps.html">cps</a></li><li class="progresssection"><a href="2-ce.html">ce</a></li><li class="progresssection"><a href="2-rqr.html">rqr</a></li><li class="progresscurrent">nst</li><li class="progresssection"><a href="2-rgs.html">rgs</a></li><li class="progresssection"><a href="2-jm.html">jm</a></li><li class="progresssection"><a href="2-lcn.html">lcn</a></li><li class="progresschapter"><a href="3-bg.html">3</a></li><li class="progresschapter"><a href="4-em.html">4</a></li><li class="progresschapter"><a href="5-es.html">5</a></li><li class="progresschapter"><a href="6-st.html">6</a></li><li class="progresschapter"><a href="7-tm.html">7</a></li><li class="progressnext"><a href="2-rgs.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -800,7 +800,7 @@ file in the apps which lists keyboard shortcuts to vary with platform.
|
|||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="2-nst.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-sm.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-gnr.html">gnr</a></li><li class="progresssection"><a href="2-wrk.html">wrk</a></li><li class="progresssection"><a href="2-edt.html">edt</a></li><li class="progresssection"><a href="2-cps.html">cps</a></li><li class="progresssection"><a href="2-ce.html">ce</a></li><li class="progresssection"><a href="2-rqr.html">rqr</a></li><li class="progresssection"><a href="2-nst.html">nst</a></li><li class="progresscurrent">rgs</li><li class="progresssection"><a href="2-jm.html">jm</a></li><li class="progresschapter"><a href="3-bg.html">3</a></li><li class="progresschapter"><a href="4-em.html">4</a></li><li class="progresschapter"><a href="5-es.html">5</a></li><li class="progresschapter"><a href="6-st.html">6</a></li><li class="progresschapter"><a href="7-tm.html">7</a></li><li class="progressnext"><a href="2-jm.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="2-nst.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-sm.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-gnr.html">gnr</a></li><li class="progresssection"><a href="2-wrk.html">wrk</a></li><li class="progresssection"><a href="2-edt.html">edt</a></li><li class="progresssection"><a href="2-cps.html">cps</a></li><li class="progresssection"><a href="2-ce.html">ce</a></li><li class="progresssection"><a href="2-rqr.html">rqr</a></li><li class="progresssection"><a href="2-nst.html">nst</a></li><li class="progresscurrent">rgs</li><li class="progresssection"><a href="2-jm.html">jm</a></li><li class="progresssection"><a href="2-lcn.html">lcn</a></li><li class="progresschapter"><a href="3-bg.html">3</a></li><li class="progresschapter"><a href="4-em.html">4</a></li><li class="progresschapter"><a href="5-es.html">5</a></li><li class="progresschapter"><a href="6-st.html">6</a></li><li class="progresschapter"><a href="7-tm.html">7</a></li><li class="progressnext"><a href="2-jm.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -283,7 +283,7 @@ imposes no version constraints.
|
|||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="2-ce.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-sm.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-gnr.html">gnr</a></li><li class="progresssection"><a href="2-wrk.html">wrk</a></li><li class="progresssection"><a href="2-edt.html">edt</a></li><li class="progresssection"><a href="2-cps.html">cps</a></li><li class="progresssection"><a href="2-ce.html">ce</a></li><li class="progresscurrent">rqr</li><li class="progresssection"><a href="2-nst.html">nst</a></li><li class="progresssection"><a href="2-rgs.html">rgs</a></li><li class="progresssection"><a href="2-jm.html">jm</a></li><li class="progresschapter"><a href="3-bg.html">3</a></li><li class="progresschapter"><a href="4-em.html">4</a></li><li class="progresschapter"><a href="5-es.html">5</a></li><li class="progresschapter"><a href="6-st.html">6</a></li><li class="progresschapter"><a href="7-tm.html">7</a></li><li class="progressnext"><a href="2-nst.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="2-ce.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-sm.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-gnr.html">gnr</a></li><li class="progresssection"><a href="2-wrk.html">wrk</a></li><li class="progresssection"><a href="2-edt.html">edt</a></li><li class="progresssection"><a href="2-cps.html">cps</a></li><li class="progresssection"><a href="2-ce.html">ce</a></li><li class="progresscurrent">rqr</li><li class="progresssection"><a href="2-nst.html">nst</a></li><li class="progresssection"><a href="2-rgs.html">rgs</a></li><li class="progresssection"><a href="2-jm.html">jm</a></li><li class="progresssection"><a href="2-lcn.html">lcn</a></li><li class="progresschapter"><a href="3-bg.html">3</a></li><li class="progresschapter"><a href="4-em.html">4</a></li><li class="progresschapter"><a href="5-es.html">5</a></li><li class="progresschapter"><a href="6-st.html">6</a></li><li class="progresschapter"><a href="7-tm.html">7</a></li><li class="progressnext"><a href="2-nst.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -336,7 +336,7 @@ each extension's page is generated from its <span class="extract"><span class="e
|
|||
</pre>
|
||||
<ul class="endnotetexts"><li>The function Works::escape_apostrophes is used in Extensions Index Page (<a href="7-eip.html#SP1_2_2_4_4_1">§1.2.2.4.4.1</a>), The Installer (<a href="7-ti.html#SP2_4_2_1">§2.4.2.1</a>).</li></ul>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="2-gnr.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-sm.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-gnr.html">gnr</a></li><li class="progresscurrent">wrk</li><li class="progresssection"><a href="2-edt.html">edt</a></li><li class="progresssection"><a href="2-cps.html">cps</a></li><li class="progresssection"><a href="2-ce.html">ce</a></li><li class="progresssection"><a href="2-rqr.html">rqr</a></li><li class="progresssection"><a href="2-nst.html">nst</a></li><li class="progresssection"><a href="2-rgs.html">rgs</a></li><li class="progresssection"><a href="2-jm.html">jm</a></li><li class="progresschapter"><a href="3-bg.html">3</a></li><li class="progresschapter"><a href="4-em.html">4</a></li><li class="progresschapter"><a href="5-es.html">5</a></li><li class="progresschapter"><a href="6-st.html">6</a></li><li class="progresschapter"><a href="7-tm.html">7</a></li><li class="progressnext"><a href="2-edt.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="2-gnr.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-sm.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-gnr.html">gnr</a></li><li class="progresscurrent">wrk</li><li class="progresssection"><a href="2-edt.html">edt</a></li><li class="progresssection"><a href="2-cps.html">cps</a></li><li class="progresssection"><a href="2-ce.html">ce</a></li><li class="progresssection"><a href="2-rqr.html">rqr</a></li><li class="progresssection"><a href="2-nst.html">nst</a></li><li class="progresssection"><a href="2-rgs.html">rgs</a></li><li class="progresssection"><a href="2-jm.html">jm</a></li><li class="progresssection"><a href="2-lcn.html">lcn</a></li><li class="progresschapter"><a href="3-bg.html">3</a></li><li class="progresschapter"><a href="4-em.html">4</a></li><li class="progresschapter"><a href="5-es.html">5</a></li><li class="progresschapter"><a href="6-st.html">6</a></li><li class="progresschapter"><a href="7-tm.html">7</a></li><li class="progressnext"><a href="2-edt.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -426,7 +426,7 @@ to <span class="extract"><span class="extract-syntax">N</span></span> if it's al
|
|||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="3-bg.html#SP10">§10</a>.</li></ul>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="2-jm.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-sm.html">1</a></li><li class="progresschapter"><a href="2-gnr.html">2</a></li><li class="progresscurrentchapter">3</li><li class="progresscurrent">bg</li><li class="progresssection"><a href="3-bm.html">bm</a></li><li class="progresssection"><a href="3-ib.html">ib</a></li><li class="progresssection"><a href="3-bs.html">bs</a></li><li class="progresssection"><a href="3-bs2.html">bs2</a></li><li class="progresssection"><a href="3-is.html">is</a></li><li class="progresssection"><a href="3-is2.html">is2</a></li><li class="progresssection"><a href="3-is3.html">is3</a></li><li class="progresssection"><a href="3-is4.html">is4</a></li><li class="progresschapter"><a href="4-em.html">4</a></li><li class="progresschapter"><a href="5-es.html">5</a></li><li class="progresschapter"><a href="6-st.html">6</a></li><li class="progresschapter"><a href="7-tm.html">7</a></li><li class="progressnext"><a href="3-bm.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="2-lcn.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-sm.html">1</a></li><li class="progresschapter"><a href="2-gnr.html">2</a></li><li class="progresscurrentchapter">3</li><li class="progresscurrent">bg</li><li class="progresssection"><a href="3-bm.html">bm</a></li><li class="progresssection"><a href="3-ib.html">ib</a></li><li class="progresssection"><a href="3-bs.html">bs</a></li><li class="progresssection"><a href="3-bs2.html">bs2</a></li><li class="progresssection"><a href="3-is.html">is</a></li><li class="progresssection"><a href="3-is2.html">is2</a></li><li class="progresssection"><a href="3-is3.html">is3</a></li><li class="progresssection"><a href="3-is4.html">is4</a></li><li class="progresschapter"><a href="4-em.html">4</a></li><li class="progresschapter"><a href="5-es.html">5</a></li><li class="progresschapter"><a href="6-st.html">6</a></li><li class="progresschapter"><a href="7-tm.html">7</a></li><li class="progressnext"><a href="3-bm.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -700,11 +700,16 @@ in a minimal sort of way, with just an <span class="extract"><span class="extrac
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">internal_error</span><span class="plain-syntax">(</span><span class="string-syntax">"should not try to write JSON except in repair mode"</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="element-syntax">location_if_path</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">internal_error</span><span class="plain-syntax">(</span><span class="string-syntax">"should not try to write JSON except for a directory extension"</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">write_legal</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">C</span><span class="plain-syntax">-></span><span class="element-syntax">metadata_record</span><span class="plain-syntax">) && (</span><span class="identifier-syntax">JSON::look_up_object</span><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">-></span><span class="element-syntax">metadata_record</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"rights"</span><span class="plain-syntax">)))</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">write_legal</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">JSON_value</span><span class="plain-syntax"> *</span><span class="identifier-syntax">is_object</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-es.html#SP2_7_1" class="named-paragraph-link"><span class="named-paragraph">Find or create the is-object</span><span class="named-paragraph-number">2.7.1</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-es.html#SP2_7_2" class="named-paragraph-link"><span class="named-paragraph">Populate the is-object with correct values</span><span class="named-paragraph-number">2.7.2</span></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">LinkedLists::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">missing_kits</span><span class="plain-syntax">) > </span><span class="constant-syntax">0</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-es.html#SP2_7_3" class="named-paragraph-link"><span class="named-paragraph">Add any missing kits to the needs-object</span><span class="named-paragraph-number">2.7.3</span></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">write_legal</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">JSON::add_to_object</span><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">-></span><span class="element-syntax">metadata_record</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"rights"</span><span class="plain-syntax">, </span><a href="2-lcn.html#SP4" class="function-link"><span class="function-syntax">Licences::to_JSON</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">-></span><span class="element-syntax">licence</span><span class="plain-syntax">));</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-es.html#SP2_7_4" class="named-paragraph-link"><span class="named-paragraph">Write the JSON metadata back to the filing system</span><span class="named-paragraph-number">2.7.4</span></a></span><span class="plain-syntax">;</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="5-es.html#SP2">§2</a>.</li></ul>
|
||||
|
|
|
@ -124,6 +124,11 @@
|
|||
<spon class="sectiontitle">JSON Metadata</span></a> -
|
||||
<span class="sectionpurpose">Managing JSON-encoded metadata files for resources such as kits.</span></p>
|
||||
</li>
|
||||
<li>
|
||||
<p class="sectionentry"><a href="2-lcn.html">
|
||||
<spon class="sectiontitle">Licences</span></a> -
|
||||
<span class="sectionpurpose">A copy of any genre can in principle have a licence declaration attached to it.</span></p>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
|
|
|
@ -32,6 +32,7 @@ which use this module:
|
|||
@e inbuild_copy_CLASS
|
||||
@e inbuild_edition_CLASS
|
||||
@e inbuild_genre_CLASS
|
||||
@e inbuild_licence_CLASS
|
||||
@e inbuild_nest_CLASS
|
||||
@e inbuild_registry_CLASS
|
||||
@e inbuild_requirement_CLASS
|
||||
|
@ -75,6 +76,7 @@ DECLARE_CLASS(heading)
|
|||
DECLARE_CLASS(inbuild_copy)
|
||||
DECLARE_CLASS(inbuild_edition)
|
||||
DECLARE_CLASS(inbuild_genre)
|
||||
DECLARE_CLASS(inbuild_licence)
|
||||
DECLARE_CLASS(inbuild_nest)
|
||||
DECLARE_CLASS(inbuild_registry)
|
||||
DECLARE_CLASS(inbuild_requirement)
|
||||
|
|
|
@ -28,6 +28,7 @@ typedef struct inbuild_copy {
|
|||
struct inbuild_requirement *found_by; /* if this was claimed in a search */
|
||||
struct linked_list *errors_reading_source_text; /* of |copy_error| */
|
||||
int last_scanned;
|
||||
struct inbuild_licence *licence; /* optional licence declaration which seems to apply */
|
||||
CLASS_DEFINITION
|
||||
} inbuild_copy;
|
||||
|
||||
|
@ -50,6 +51,7 @@ inbuild_copy *Copies::new_p(inbuild_edition *edition) {
|
|||
copy->found_by = NULL;
|
||||
copy->errors_reading_source_text = NEW_LINKED_LIST(copy_error);
|
||||
copy->last_scanned = 0;
|
||||
copy->licence = Licences::new(copy);
|
||||
return copy;
|
||||
}
|
||||
|
||||
|
|
|
@ -14,6 +14,7 @@ fields are blank.
|
|||
|
||||
@e OPEN_FAILED_CE from 1
|
||||
@e METADATA_MALFORMED_CE
|
||||
@e MALFORMED_LICENCE_CE
|
||||
@e EXT_MISWORDED_CE
|
||||
@e EXT_BAD_DIRNAME_CE
|
||||
@e EXT_BAD_FILENAME_CE
|
||||
|
@ -139,6 +140,8 @@ void CopyErrors::write(OUTPUT_STREAM, copy_error *CE) {
|
|||
case PROJECT_MALFORMED_CE: WRITE("project malformed: %S", CE->details); break;
|
||||
case METADATA_MALFORMED_CE: WRITE("%S has incorrect metadata: %S",
|
||||
CE->copy->edition->work->genre->genre_name, CE->details); break;
|
||||
case MALFORMED_LICENCE_CE: WRITE("%S has incorrect 'legal-metadata': %S",
|
||||
CE->copy->edition->work->genre->genre_name, CE->details); break;
|
||||
case EXT_TITLE_TOO_LONG_CE: WRITE("title too long: %d characters (max is %d)",
|
||||
CE->details_N, MAX_EXTENSION_TITLE_LENGTH); break;
|
||||
case EXT_AUTHOR_TOO_LONG_CE: WRITE("author name too long: %d characters (max is %d)",
|
||||
|
|
|
@ -32,6 +32,8 @@ void JSONMetadata::read_metadata_file(inbuild_copy *C, filename *F,
|
|||
@<Police the "needs"@>;
|
||||
JSON_value *compatibility = JSON::look_up_object(obj, I"compatibility");
|
||||
if (compatibility) @<Extract compatibility@>;
|
||||
JSON_value *rights = JSON::look_up_object(C->metadata_record, I"rights");
|
||||
if (rights) Licences::from_JSON(C->licence, rights);
|
||||
}
|
||||
|
||||
void JSONMetadata::read_metadata_file_helper(text_stream *text, text_file_position *tfp,
|
||||
|
|
144
inbuild/supervisor-module/Chapter 2/Licences.w
Normal file
144
inbuild/supervisor-module/Chapter 2/Licences.w
Normal file
|
@ -0,0 +1,144 @@
|
|||
[Licences::] Licences.
|
||||
|
||||
A copy of any genre can in principle have a licence declaration attached to it.
|
||||
|
||||
@h Creation.
|
||||
It could be argued that licences belong to editions, not copies, but we want to
|
||||
be pragmatic. We're not storing the true state of the legal status of the material
|
||||
in the copy, only what this copy claims about itself.
|
||||
|
||||
=
|
||||
typedef struct inbuild_licence {
|
||||
struct open_source_licence *standard_licence;
|
||||
struct inbuild_copy *on_copy;
|
||||
struct text_stream *rights_owner;
|
||||
int copyright_year;
|
||||
int revision_year;
|
||||
struct text_stream *origin_URL;
|
||||
struct text_stream *rights_history;
|
||||
CLASS_DEFINITION
|
||||
} inbuild_licence;
|
||||
|
||||
@ Copies begin with this blank sort of non-licence:
|
||||
|
||||
=
|
||||
inbuild_licence *Licences::new(inbuild_copy *copy) {
|
||||
inbuild_licence *licence = CREATE(inbuild_licence);
|
||||
licence->standard_licence = NULL;
|
||||
licence->on_copy = copy;
|
||||
licence->rights_owner = I"Unknown";
|
||||
licence->copyright_year = 1980;
|
||||
licence->revision_year = 0;
|
||||
licence->origin_URL = NULL;
|
||||
licence->rights_history = NULL;
|
||||
return licence;
|
||||
}
|
||||
|
||||
@h Date from a JSON object.
|
||||
This is the optional |legal-metadata| object in any inbuild-standard JSON
|
||||
metadata file.
|
||||
|
||||
=
|
||||
void Licences::from_JSON(inbuild_licence *licence, JSON_value *legal_metadata) {
|
||||
JSON_value *id = JSON::look_up_object(legal_metadata, I"licence");
|
||||
JSON_value *owner = JSON::look_up_object(legal_metadata, I"rights-owner");
|
||||
JSON_value *date = JSON::look_up_object(legal_metadata, I"date");
|
||||
JSON_value *rev_date = JSON::look_up_object(legal_metadata, I"revision-date");
|
||||
JSON_value *url = JSON::look_up_object(legal_metadata, I"origin-url");
|
||||
JSON_value *rights = JSON::look_up_object(legal_metadata, I"rights-history");
|
||||
|
||||
if ((id == NULL) || (owner == NULL) || (date == NULL)) return;
|
||||
|
||||
inbuild_copy *C = licence->on_copy;
|
||||
|
||||
licence->standard_licence = NULL;
|
||||
if (Str::ne(id->if_string, I"Unspecified")) {
|
||||
licence->standard_licence = LicenceData::from_SPDX_id(id->if_string);
|
||||
if (licence->standard_licence == NULL) {
|
||||
TEMPORARY_TEXT(error_text)
|
||||
WRITE_TO(error_text,
|
||||
"the licence '%S', given in JSON metadata, is not an SPDX standard licence code",
|
||||
id->if_string);
|
||||
Copies::attach_error(C, CopyErrors::new_T(MALFORMED_LICENCE_CE, -1, error_text));
|
||||
DISCARD_TEXT(error_text)
|
||||
} else if (licence->standard_licence->deprecated) {
|
||||
TEMPORARY_TEXT(error_text)
|
||||
WRITE_TO(error_text,
|
||||
"the licence '%S', is a valid SPDX code but for a licence now deprecated",
|
||||
id->if_string);
|
||||
Copies::attach_error(C, CopyErrors::new_T(MALFORMED_LICENCE_CE, -1, error_text));
|
||||
DISCARD_TEXT(error_text)
|
||||
}
|
||||
}
|
||||
|
||||
licence->rights_owner = Str::duplicate(owner->if_string);
|
||||
if (Str::len(licence->rights_owner) == 0)
|
||||
Copies::attach_error(C, CopyErrors::new_T(
|
||||
MALFORMED_LICENCE_CE, -1, I"the rights owner must be non-empty"));
|
||||
|
||||
licence->copyright_year = date->if_integer;
|
||||
if ((licence->copyright_year < 1980) || (licence->copyright_year >= 10000)) {
|
||||
TEMPORARY_TEXT(error_text)
|
||||
WRITE_TO(error_text,
|
||||
"the date '%d' needs to be a four-digit year after 1980", date->if_integer);
|
||||
Copies::attach_error(C, CopyErrors::new_T(MALFORMED_LICENCE_CE, -1, error_text));
|
||||
DISCARD_TEXT(error_text)
|
||||
licence->copyright_year = 1980;
|
||||
}
|
||||
|
||||
licence->revision_year = 0;
|
||||
if (rev_date) {
|
||||
licence->revision_year = rev_date->if_integer;
|
||||
if ((licence->revision_year <= licence->copyright_year) ||
|
||||
(licence->revision_year >= 10000)) {
|
||||
TEMPORARY_TEXT(error_text)
|
||||
WRITE_TO(error_text,
|
||||
"the revision date '%d' needs to be a four-digit year after the date",
|
||||
rev_date->if_integer);
|
||||
Copies::attach_error(C, CopyErrors::new_T(MALFORMED_LICENCE_CE, -1, error_text));
|
||||
DISCARD_TEXT(error_text)
|
||||
licence->revision_year = 0;
|
||||
}
|
||||
}
|
||||
|
||||
if (url) licence->origin_URL = Str::duplicate(url->if_string);
|
||||
else licence->origin_URL = NULL;
|
||||
|
||||
if (rights) licence->rights_history = Str::duplicate(rights->if_string);
|
||||
else licence->rights_history = NULL;
|
||||
}
|
||||
|
||||
@h Data to a JSON object.
|
||||
And conversely...
|
||||
|
||||
=
|
||||
JSON_value *Licences::to_JSON(inbuild_licence *licence) {
|
||||
if (licence == NULL) internal_error("not a licence");
|
||||
|
||||
JSON_value *licence_object = JSON::new_object();
|
||||
if (licence->standard_licence == NULL)
|
||||
JSON::add_to_object(licence_object, I"licence",
|
||||
JSON::new_string(I"Unspecified"));
|
||||
else
|
||||
JSON::add_to_object(licence_object, I"licence",
|
||||
JSON::new_string(licence->standard_licence->SPDX_id));
|
||||
|
||||
JSON::add_to_object(licence_object, I"rights-owner",
|
||||
JSON::new_string(licence->rights_owner));
|
||||
|
||||
JSON::add_to_object(licence_object, I"date",
|
||||
JSON::new_number(licence->copyright_year));
|
||||
if (licence->revision_year > 0)
|
||||
JSON::add_to_object(licence_object, I"revision-date",
|
||||
JSON::new_number(licence->revision_year));
|
||||
|
||||
if (Str::len(licence->origin_URL) > 0)
|
||||
JSON::add_to_object(licence_object, I"origin-url",
|
||||
JSON::new_string(licence->origin_URL));
|
||||
|
||||
if (Str::len(licence->rights_history) > 0)
|
||||
JSON::add_to_object(licence_object, I"rights-history",
|
||||
JSON::new_string(licence->rights_history));
|
||||
|
||||
return licence_object;
|
||||
}
|
|
@ -538,11 +538,16 @@ in a minimal sort of way, with just an |is| object.
|
|||
internal_error("should not try to write JSON except in repair mode");
|
||||
if (C->location_if_path == NULL)
|
||||
internal_error("should not try to write JSON except for a directory extension");
|
||||
int write_legal = FALSE;
|
||||
if ((C->metadata_record) && (JSON::look_up_object(C->metadata_record, I"rights")))
|
||||
write_legal = TRUE;
|
||||
JSON_value *is_object = NULL;
|
||||
@<Find or create the is-object@>;
|
||||
@<Populate the is-object with correct values@>;
|
||||
if (LinkedLists::len(missing_kits) > 0)
|
||||
@<Add any missing kits to the needs-object@>;
|
||||
if (write_legal)
|
||||
JSON::add_to_object(C->metadata_record, I"rights", Licences::to_JSON(C->licence));
|
||||
@<Write the JSON metadata back to the filing system@>;
|
||||
|
||||
@<Find or create the is-object@> =
|
||||
|
|
|
@ -21,6 +21,7 @@ Chapter 2: Conceptual Framework
|
|||
Nests
|
||||
Registries
|
||||
JSON Metadata
|
||||
Licences
|
||||
|
||||
Chapter 3: Incremental Builds
|
||||
Build Graphs
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
Size of lexicon: 3173 excerpt meanings
|
||||
Stored among 859 words out of total vocabulary of 10638
|
||||
Stored among 859 words out of total vocabulary of 10637
|
||||
723 words have a start list: longest belongs to report (with 293 meanings)
|
||||
21 words have an end list: longest belongs to digits (with 7 meanings)
|
||||
29 words have a middle list: longest belongs to to (with 4 meanings)
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<preform-nonterminal> internal nti 28 constraint (none) extremes [1, 1]
|
||||
|
||||
<if-start-of-paragraph> internal hits 1319/8690 nti 29 constraint (none) extremes [0, 0]
|
||||
<if-start-of-paragraph> internal hits 1318/8688 nti 29 constraint (none) extremes [0, 0]
|
||||
|
||||
<if-not-cap> internal hits 4054/8268 nti 30 constraint (none) extremes [0, 0]
|
||||
<if-not-cap> internal hits 4052/8264 nti 30 constraint (none) extremes [0, 0]
|
||||
|
||||
<balanced-text> hits 754/1508 nti 6 constraint (none) extremes [1, infinity)
|
||||
English:
|
||||
|
@ -16,7 +16,7 @@
|
|||
|
||||
<any-integer> internal nti 7 constraint (none) extremes [1, 1]
|
||||
|
||||
<quoted-text> internal hits 2994/26232 nti 8 constraint (none) extremes [1, 1]
|
||||
<quoted-text> internal hits 2993/26230 nti 8 constraint (none) extremes [1, 1]
|
||||
|
||||
<quoted-text-with-subs> internal nti 9 constraint (none) extremes [1, 1]
|
||||
|
||||
|
@ -24,7 +24,7 @@
|
|||
|
||||
<empty-text> internal nti 11 constraint (none) extremes [1, 1]
|
||||
|
||||
<if-start-of-source-text> internal hits 2/13876 nti 12 constraint (none) extremes [0, 0]
|
||||
<if-start-of-source-text> internal hits 2/13872 nti 12 constraint (none) extremes [0, 0]
|
||||
|
||||
<list-or-division> hits 0/18 nti 16 constraint DS = {16} extremes [3, infinity)
|
||||
English:
|
||||
|
@ -4743,9 +4743,9 @@
|
|||
|
||||
<article> internal hits 16903/103250 nti r2 constraint (none) extremes [1, 1]
|
||||
|
||||
<definite-article> internal hits 20819/245384 nti r2 constraint (none) extremes [1, 1]
|
||||
<definite-article> internal hits 20818/245382 nti r2 constraint (none) extremes [1, 1]
|
||||
|
||||
<indefinite-article> internal hits 2234/43728 nti r2 constraint (none) extremes [1, 1]
|
||||
<indefinite-article> internal hits 2234/43722 nti r2 constraint (none) extremes [1, 1]
|
||||
|
||||
<definite-article-table> nti r2 constraint CS = {r2} extremes [6, 6]
|
||||
English:
|
||||
|
@ -4894,7 +4894,7 @@
|
|||
|
||||
<copular-verb> internal hits 16/128 nti 7 constraint FS = {7} extremes [1, infinity)
|
||||
|
||||
<negated-noncopular-verb-present> internal hits 1/7164 nti 8 constraint FS = {8} extremes [1, infinity)
|
||||
<negated-noncopular-verb-present> internal hits 1/7158 nti 8 constraint FS = {8} extremes [1, infinity)
|
||||
|
||||
<universal-verb> internal hits 0/2592 nti 9 constraint FS = {9} extremes [1, infinity)
|
||||
|
||||
|
@ -4918,7 +4918,7 @@
|
|||
|
||||
<permitted-preposition> internal hits 258/8632 nti 14 constraint DS = {14} extremes [1, infinity)
|
||||
|
||||
<certainty> hits 68/4818 nti 14 constraint CS = {14} extremes [1, 1]
|
||||
<certainty> hits 68/4814 nti 14 constraint CS = {14} extremes [1, 1]
|
||||
English:
|
||||
always/certainly
|
||||
(hits 10/937) (matched: 'always') constraint CS = {14} extremes [1, 1]
|
||||
|
@ -4998,10 +4998,10 @@
|
|||
<cardinal-number>
|
||||
constraint CS = {r0} extremes [1, 1]
|
||||
|
||||
<np-unparsed> hits 3315/6630 nti 18 constraint (none) extremes [1, infinity)
|
||||
<np-unparsed> hits 3313/6626 nti 18 constraint (none) extremes [1, infinity)
|
||||
English:
|
||||
{...}
|
||||
(hits 3315/3315) (matched long text) constraint (none) extremes [1, infinity)
|
||||
(hits 3313/3313) (matched long text) constraint (none) extremes [1, infinity)
|
||||
|
||||
<np-unparsed-bal> hits 62/124 nti 19 constraint (none) extremes [0, infinity)
|
||||
English:
|
||||
|
@ -5010,21 +5010,21 @@
|
|||
<np-unparsed>
|
||||
(hits 62/62) (matched: 'fixed in place') constraint (none) extremes [1, infinity)
|
||||
|
||||
<np-existential> hits 33/158102 nti 20 constraint CS = {20} extremes [1, 1]
|
||||
<np-existential> hits 33/157920 nti 20 constraint CS = {20} extremes [1, 1]
|
||||
English:
|
||||
there
|
||||
(hits 33/530) (matched: 'there') constraint CS = {20} extremes [1, 1]
|
||||
|
||||
<np-articled> hits 2224/4448 nti 20 constraint (none) extremes [1, infinity)
|
||||
<np-articled> hits 2222/4444 nti 20 constraint (none) extremes [1, infinity)
|
||||
English:
|
||||
{...}
|
||||
(hits 99/2224) (matched: '"(considering the first sixteen objects only)[command clarification break]" ( a )') constraint (none) extremes [1, infinity)
|
||||
(hits 99/2222) (matched: '"(considering the first sixteen objects only)[command clarification break]" ( a )') constraint (none) extremes [1, infinity)
|
||||
<if-not-cap> <indefinite-article> <np-unparsed>
|
||||
(hits 328/1486) (matched: 'an action based rule producing nothing that varies') constraint (none) extremes [2, infinity)
|
||||
(hits 328/1485) (matched: 'an action based rule producing nothing that varies') constraint (none) extremes [2, infinity)
|
||||
<if-not-cap> <definite-article> <np-unparsed>
|
||||
(hits 732/1158) (matched long text) constraint (none) extremes [2, infinity)
|
||||
(hits 731/1157) (matched long text) constraint (none) extremes [2, infinity)
|
||||
<np-unparsed>
|
||||
(hits 1065/1065) (matched long text) constraint (none) extremes [1, infinity)
|
||||
(hits 1064/1064) (matched long text) constraint (none) extremes [1, infinity)
|
||||
|
||||
<np-articled-bal> hits 255/510 nti 21 constraint (none) extremes [0, infinity)
|
||||
English:
|
||||
|
@ -5205,27 +5205,27 @@
|
|||
|
||||
<sentence> internal nti 8 constraint (none) extremes [1, infinity)
|
||||
|
||||
<sentence-without-occurrences> internal hits 1427/2854 nti 9 constraint (none) extremes [1, infinity)
|
||||
<sentence-without-occurrences> internal hits 1426/2852 nti 9 constraint (none) extremes [1, infinity)
|
||||
|
||||
<pre-verb-certainty> hits 0/2914 nti 10 constraint DS = {14} extremes [2, infinity)
|
||||
<pre-verb-certainty> hits 0/2912 nti 10 constraint DS = {14} extremes [2, infinity)
|
||||
English:
|
||||
{...} <certainty>
|
||||
(hits 0/1121) constraint DS = {14} extremes [2, infinity)
|
||||
(hits 0/1120) constraint DS = {14} extremes [2, infinity)
|
||||
|
||||
<post-verb-certainty> hits 68/2914 nti 11 constraint DS = {14} extremes [2, infinity)
|
||||
<post-verb-certainty> hits 68/2912 nti 11 constraint DS = {14} extremes [2, infinity)
|
||||
English:
|
||||
<certainty> {...}
|
||||
(hits 68/1288) (matched: 'usually table of general chitchat') constraint DS = {14} extremes [2, infinity)
|
||||
(hits 68/1287) (matched: 'usually table of general chitchat') constraint DS = {14} extremes [2, infinity)
|
||||
|
||||
<rc-marker> hits 798/26696 nti 6 constraint CS = {6} extremes [1, 1]
|
||||
<rc-marker> hits 798/26694 nti 6 constraint CS = {6} extremes [1, 1]
|
||||
English:
|
||||
which/who/that
|
||||
(hits 798/5394) (matched: 'which') constraint CS = {6} extremes [1, 1]
|
||||
|
||||
<pre-verb-rc-marker> hits 3/2886 nti 12 constraint DS = {6} extremes [2, infinity)
|
||||
<pre-verb-rc-marker> hits 3/2884 nti 12 constraint DS = {6} extremes [2, infinity)
|
||||
English:
|
||||
{...} <rc-marker>
|
||||
(hits 3/513) (matched: 'the asking which') constraint DS = {6} extremes [2, infinity)
|
||||
(hits 3/512) (matched: 'the asking which') constraint DS = {6} extremes [2, infinity)
|
||||
|
||||
<phrase-with-calling> nti 7 constraint DS = {7} extremes [3, infinity)
|
||||
English:
|
||||
|
@ -5446,83 +5446,83 @@
|
|||
|
||||
<natural-language> internal nti 18 constraint (none) extremes [1, infinity)
|
||||
|
||||
<dividing-sentence> hits 212/10970 nti 19 constraint DW = {12, 13} extremes [2, infinity)
|
||||
<dividing-sentence> hits 212/10968 nti 19 constraint DW = {12, 13} extremes [2, infinity)
|
||||
English:
|
||||
<if-start-of-paragraph> <heading>
|
||||
(hits 204/4331) (matched long text) constraint DS = {12} extremes [2, infinity)
|
||||
(hits 204/4330) (matched long text) constraint DS = {12} extremes [2, infinity)
|
||||
<extension-end-marker-sentence>
|
||||
(hits 8/3627) (matched long text) constraint DS = {13} extremes [3, infinity)
|
||||
(hits 8/3626) (matched long text) constraint DS = {13} extremes [3, infinity)
|
||||
|
||||
<heading> hits 204/2610 nti 12 constraint DS = {12} extremes [2, infinity)
|
||||
<heading> hits 204/2608 nti 12 constraint DS = {12} extremes [2, infinity)
|
||||
English:
|
||||
volume {...}
|
||||
(hits 6/1305) (matched long text) constraint DS = {12} extremes [2, infinity)
|
||||
(hits 6/1304) (matched long text) constraint DS = {12} extremes [2, infinity)
|
||||
book {...}
|
||||
(hits 0/1299) constraint DS = {12} extremes [2, infinity)
|
||||
(hits 0/1298) constraint DS = {12} extremes [2, infinity)
|
||||
part {...}
|
||||
(hits 14/1299) (matched: 'part two - the physical world model') constraint DS = {12} extremes [2, infinity)
|
||||
(hits 14/1298) (matched: 'part two - the physical world model') constraint DS = {12} extremes [2, infinity)
|
||||
chapter {...}
|
||||
(hits 23/1285) (matched long text) constraint DS = {12} extremes [2, infinity)
|
||||
(hits 23/1284) (matched long text) constraint DS = {12} extremes [2, infinity)
|
||||
section {...} ( dialog )
|
||||
(hits 0/1178) constraint DS = {12} extremes [5, infinity)
|
||||
(hits 0/1177) constraint DS = {12} extremes [5, infinity)
|
||||
section {...} ( dialogue )
|
||||
(hits 0/1178) constraint DS = {12} extremes [5, infinity)
|
||||
(hits 0/1177) constraint DS = {12} extremes [5, infinity)
|
||||
section {...} ( dialog during {...} )
|
||||
(hits 0/1015) constraint DS = {12} extremes [7, infinity)
|
||||
(hits 0/1014) constraint DS = {12} extremes [7, infinity)
|
||||
section {...} ( dialogue during {...} )
|
||||
(hits 0/1015) constraint DS = {12} extremes [7, infinity)
|
||||
(hits 0/1014) constraint DS = {12} extremes [7, infinity)
|
||||
section {...}
|
||||
(hits 161/1262) (matched long text) constraint DS = {12} extremes [2, infinity)
|
||||
(hits 161/1261) (matched long text) constraint DS = {12} extremes [2, infinity)
|
||||
|
||||
<extension-end-marker-sentence> hits 8/7254 nti 13 constraint DS = {13} extremes [3, infinity)
|
||||
<extension-end-marker-sentence> hits 8/7252 nti 13 constraint DS = {13} extremes [3, infinity)
|
||||
English:
|
||||
{...} begin/begins here
|
||||
(hits 4/3627) (matched long text) constraint DS = {13} extremes [3, infinity)
|
||||
(hits 4/3626) (matched long text) constraint DS = {13} extremes [3, infinity)
|
||||
{...} end/ends here
|
||||
(hits 4/3623) (matched: 'the standard rules end here') constraint DS = {13} extremes [3, infinity)
|
||||
(hits 4/3622) (matched: 'the standard rules end here') constraint DS = {13} extremes [3, infinity)
|
||||
|
||||
<structural-sentence> hits 32/13876 nti 15 constraint (none) extremes [1, infinity)
|
||||
<structural-sentence> hits 32/13872 nti 15 constraint (none) extremes [1, infinity)
|
||||
English:
|
||||
<if-start-of-source-text> <quoted-text>
|
||||
(hits 0/20) constraint (none) extremes [1, 1]
|
||||
<if-start-of-source-text> <quoted-text> {...}
|
||||
(hits 0/6918) constraint (none) extremes [2, infinity)
|
||||
(hits 0/6916) constraint (none) extremes [2, infinity)
|
||||
<language-modifying-sentence>
|
||||
(hits 0/6743) constraint DS = {14} extremes [4, infinity)
|
||||
(hits 0/6741) constraint DS = {14} extremes [4, infinity)
|
||||
*
|
||||
constraint CS = {15} extremes [1, 1]
|
||||
* <quoted-text-without-subs>
|
||||
constraint DS = {15} extremes [2, 2]
|
||||
<if-start-of-paragraph> table {...}
|
||||
(hits 14/6771) (matched long text) constraint DS = {15} extremes [2, infinity)
|
||||
(hits 14/6769) (matched long text) constraint DS = {15} extremes [2, infinity)
|
||||
<if-start-of-paragraph> equation {...}
|
||||
(hits 0/6757) constraint DS = {15} extremes [2, infinity)
|
||||
(hits 0/6755) constraint DS = {15} extremes [2, infinity)
|
||||
include the {...} by {...}
|
||||
(hits 0/6745) constraint DS = {15} extremes [5, infinity)
|
||||
(hits 0/6743) constraint DS = {15} extremes [5, infinity)
|
||||
include {...} by {...}
|
||||
(hits 18/6757) (matched long text) constraint DS = {15} extremes [4, infinity)
|
||||
(hits 18/6755) (matched long text) constraint DS = {15} extremes [4, infinity)
|
||||
include (- {...}
|
||||
(hits 0/6739) constraint DS = {15} extremes [3, infinity)
|
||||
(hits 0/6737) constraint DS = {15} extremes [3, infinity)
|
||||
|
||||
<comma-divisible-sentence> hits 9/2928 nti 16 constraint DS = {16} extremes [2, infinity)
|
||||
<comma-divisible-sentence> hits 9/2926 nti 16 constraint DS = {16} extremes [2, infinity)
|
||||
English:
|
||||
instead of {...}
|
||||
(hits 0/1301) constraint DS = {16} extremes [3, infinity)
|
||||
(hits 0/1300) constraint DS = {16} extremes [3, infinity)
|
||||
every turn {***}
|
||||
(hits 1/1301) (matched: 'every turn rules is a rulebook') constraint DS = {16} extremes [2, infinity)
|
||||
(hits 1/1300) (matched: 'every turn rules is a rulebook') constraint DS = {16} extremes [2, infinity)
|
||||
before {...}
|
||||
(hits 2/1300) (matched long text) constraint DS = {16} extremes [2, infinity)
|
||||
(hits 2/1299) (matched long text) constraint DS = {16} extremes [2, infinity)
|
||||
after {...}
|
||||
(hits 2/1298) (matched long text) constraint DS = {16} extremes [2, infinity)
|
||||
(hits 2/1297) (matched long text) constraint DS = {16} extremes [2, infinity)
|
||||
when {...}
|
||||
(hits 4/1296) (matched: 'when scene begins is a scene based rulebook') constraint DS = {16} extremes [2, infinity)
|
||||
(hits 4/1295) (matched: 'when scene begins is a scene based rulebook') constraint DS = {16} extremes [2, infinity)
|
||||
|
||||
<language-modifying-sentence> hits 0/13486 nti 14 constraint DS = {14} extremes [4, infinity)
|
||||
<language-modifying-sentence> hits 0/13482 nti 14 constraint DS = {14} extremes [4, infinity)
|
||||
English:
|
||||
include (- {###} in the preform grammar
|
||||
(hits 0/111) constraint DS = {14} extremes [7, 7]
|
||||
use {...} language element/elements
|
||||
(hits 0/6743) constraint DS = {14} extremes [4, infinity)
|
||||
(hits 0/6741) constraint DS = {14} extremes [4, infinity)
|
||||
|
||||
<heading-qualifier> hits 37/482 nti 22 constraint DS = {22} extremes [2, infinity)
|
||||
English:
|
||||
|
@ -5945,12 +5945,12 @@
|
|||
{...}
|
||||
constraint (none) extremes [1, infinity)
|
||||
|
||||
<plural-sentence-subject> hits 4/1674 nti 25 constraint DS = {25} extremes [3, infinity)
|
||||
<plural-sentence-subject> hits 4/1672 nti 25 constraint DS = {25} extremes [3, infinity)
|
||||
English:
|
||||
<article> plural of <np-articled>
|
||||
(hits 4/467) (matched: 'the plural of person') constraint DS = {25} extremes [4, infinity)
|
||||
(hits 4/466) (matched: 'the plural of person') constraint DS = {25} extremes [4, infinity)
|
||||
plural of <np-articled>
|
||||
(hits 0/625) constraint DS = {25} extremes [3, infinity)
|
||||
(hits 0/624) constraint DS = {25} extremes [3, infinity)
|
||||
|
||||
<translation-target-language> nti 6 constraint (none) extremes [1, infinity)
|
||||
English:
|
||||
|
@ -5978,43 +5978,43 @@
|
|||
inform 6
|
||||
constraint CS = {27} extremes [2, 2]
|
||||
|
||||
<defined-by-inter-sentence-object> hits 134/1138 nti 28 constraint DS = {28} extremes [5, infinity)
|
||||
<defined-by-inter-sentence-object> hits 133/1136 nti 28 constraint DS = {28} extremes [5, infinity)
|
||||
English:
|
||||
defined by inter as {...}
|
||||
(hits 134/242) (matched long text) constraint DS = {28} extremes [5, infinity)
|
||||
(hits 133/241) (matched long text) constraint DS = {28} extremes [5, infinity)
|
||||
|
||||
<accessible-to-inter-sentence-object> hits 141/1420 nti 29 constraint DS = {29} extremes [5, infinity)
|
||||
<accessible-to-inter-sentence-object> hits 141/1418 nti 29 constraint DS = {29} extremes [5, infinity)
|
||||
English:
|
||||
accessible to inter as {...}
|
||||
(hits 141/385) (matched: 'accessible to inter as STARTUP_RB') constraint DS = {29} extremes [5, infinity)
|
||||
(hits 141/384) (matched: 'accessible to inter as STARTUP_RB') constraint DS = {29} extremes [5, infinity)
|
||||
|
||||
<translates-into-i6-sentence-subject> hits 572/1144 nti 30 constraint (none) extremes [1, infinity)
|
||||
<translates-into-i6-sentence-subject> hits 570/1140 nti 30 constraint (none) extremes [1, infinity)
|
||||
English:
|
||||
{...} property
|
||||
(hits 70/572) (matched: 'printed plural name property') constraint DS = {30} extremes [2, infinity)
|
||||
(hits 70/570) (matched: 'printed plural name property') constraint DS = {30} extremes [2, infinity)
|
||||
{...} object/kind
|
||||
(hits 6/502) (matched: 'inside object') constraint DS = {30} extremes [2, infinity)
|
||||
(hits 6/500) (matched: 'inside object') constraint DS = {30} extremes [2, infinity)
|
||||
{... rule}
|
||||
(hits 148/496) (matched: 'standard report preferring sometimes abbreviated room descriptions rule') constraint DS = {30} extremes [2, infinity)
|
||||
(hits 148/494) (matched: 'standard report preferring sometimes abbreviated room descriptions rule') constraint DS = {30} extremes [2, infinity)
|
||||
{... rules/rulebook}
|
||||
(hits 54/348) (matched: 'does the player mean rulebook') constraint DS = {30} extremes [2, infinity)
|
||||
(hits 54/346) (matched: 'does the player mean rulebook') constraint DS = {30} extremes [2, infinity)
|
||||
{... activity}
|
||||
(hits 68/294) (matched long text) constraint DS = {30} extremes [2, infinity)
|
||||
(hits 68/292) (matched long text) constraint DS = {30} extremes [2, infinity)
|
||||
{...} variable
|
||||
(hits 70/226) (matched: 'current item from the multiple object list variable') constraint DS = {30} extremes [2, infinity)
|
||||
(hits 70/224) (matched: 'current item from the multiple object list variable') constraint DS = {30} extremes [2, infinity)
|
||||
{...} action
|
||||
(hits 154/156) (matched: 'switching the story transcript on action') constraint DS = {30} extremes [2, infinity)
|
||||
(hits 154/154) (matched: 'switching the story transcript on action') constraint DS = {30} extremes [2, infinity)
|
||||
understand token {...}
|
||||
(hits 2/2) (matched: 'understand token a time period') constraint DS = {30} extremes [3, infinity)
|
||||
constraint DS = {30} extremes [3, infinity)
|
||||
{...}
|
||||
constraint (none) extremes [1, infinity)
|
||||
|
||||
<translates-into-i6-sentence-object> hits 286/572 nti 6 constraint (none) extremes [1, infinity)
|
||||
<translates-into-i6-sentence-object> hits 285/570 nti 6 constraint (none) extremes [1, infinity)
|
||||
English:
|
||||
<quoted-text> with <np-articled-list>
|
||||
(hits 36/36) (matched long text) constraint DS = {6} extremes [3, infinity)
|
||||
<quoted-text>
|
||||
(hits 250/250) (matched: 'article') constraint (none) extremes [1, 1]
|
||||
(hits 249/249) (matched: 'article') constraint (none) extremes [1, 1]
|
||||
|
||||
<extra-response> hits 134/268 nti 7 constraint DS = {7} extremes [4, 4]
|
||||
English:
|
||||
|
@ -6286,7 +6286,7 @@
|
|||
{...}
|
||||
constraint (none) extremes [1, infinity)
|
||||
|
||||
<bare-activity-sentence-object> hits 33/1666 nti 26 constraint DS = {26} extremes [1, 2]
|
||||
<bare-activity-sentence-object> hits 33/1664 nti 26 constraint DS = {26} extremes [1, 2]
|
||||
English:
|
||||
<article> activity
|
||||
(hits 33/81) (matched: 'an activity') constraint DS = {26} extremes [2, 2]
|
||||
|
@ -6523,10 +6523,10 @@
|
|||
{...} relation
|
||||
constraint DS = {28} extremes [2, infinity)
|
||||
|
||||
<either-sentence-object> hits 0/1420 nti 29 constraint DS = {29} extremes [2, infinity)
|
||||
<either-sentence-object> hits 0/1418 nti 29 constraint DS = {29} extremes [2, infinity)
|
||||
English:
|
||||
either <np-unparsed>
|
||||
(hits 0/455) constraint DS = {29} extremes [2, infinity)
|
||||
(hits 0/454) constraint DS = {29} extremes [2, infinity)
|
||||
|
||||
<forbidden-property-owners> hits 0/88 nti 30 constraint (none) extremes [1, 2]
|
||||
English:
|
||||
|
@ -6571,7 +6571,7 @@
|
|||
<np-unparsed>
|
||||
constraint (none) extremes [1, infinity)
|
||||
|
||||
<new-verb-sentence-object> hits 74/1822 nti 24 constraint DS = {9} extremes [1, infinity)
|
||||
<new-verb-sentence-object> hits 74/1820 nti 24 constraint DS = {9} extremes [1, infinity)
|
||||
English:
|
||||
<indefinite-article> <new-verb-sentence-object-unarticled>
|
||||
(hits 74/507) (matched: 'a verb') constraint DS = {9} extremes [2, infinity)
|
||||
|
@ -6665,21 +6665,21 @@
|
|||
{***} <probable-participle>
|
||||
(hits 0/1) constraint (none) extremes [1, infinity)
|
||||
|
||||
<new-adjective-sentence-object> hits 0/1420 nti 27 constraint DS = {16} extremes [1, infinity)
|
||||
<new-adjective-sentence-object> hits 0/1418 nti 27 constraint DS = {16} extremes [1, infinity)
|
||||
English:
|
||||
<indefinite-article> <new-adjective-sentence-object-unarticled>
|
||||
(hits 0/457) constraint DS = {16} extremes [2, infinity)
|
||||
(hits 0/456) constraint DS = {16} extremes [2, infinity)
|
||||
<new-adjective-sentence-object-unarticled>
|
||||
(hits 0/458) constraint DS = {16} extremes [1, infinity)
|
||||
(hits 0/457) constraint DS = {16} extremes [1, infinity)
|
||||
|
||||
<new-adjective-sentence-object-unarticled> hits 0/1058 nti 16 constraint DS = {16} extremes [1, infinity)
|
||||
<new-adjective-sentence-object-unarticled> hits 0/1056 nti 16 constraint DS = {16} extremes [1, infinity)
|
||||
English:
|
||||
adjective
|
||||
(hits 0/1) constraint CS = {16} extremes [1, 1]
|
||||
adjective implying/meaning <definite-article> <np-unparsed>
|
||||
(hits 0/455) constraint DS = {16} extremes [4, infinity)
|
||||
(hits 0/454) constraint DS = {16} extremes [4, infinity)
|
||||
adjective implying/meaning <np-unparsed>
|
||||
(hits 0/505) constraint DS = {16} extremes [3, infinity)
|
||||
(hits 0/504) constraint DS = {16} extremes [3, infinity)
|
||||
|
||||
<adjective-definition-subject> nti 17 constraint (none) extremes [1, infinity)
|
||||
English:
|
||||
|
@ -8934,7 +8934,7 @@
|
|||
map region
|
||||
(hits 1/1) (matched: 'map region') constraint CS = {17} extremes [2, 2]
|
||||
|
||||
<notable-map-kinds> hits 19/2296 nti 18 constraint CS = {18} extremes [1, 1]
|
||||
<notable-map-kinds> hits 19/2294 nti 18 constraint CS = {18} extremes [1, 1]
|
||||
English:
|
||||
direction
|
||||
(hits 13/45) (matched: 'direction') constraint CS = {18} extremes [1, 1]
|
||||
|
@ -9176,19 +9176,19 @@
|
|||
waiting
|
||||
(hits 1/20) (matched: 'waiting') constraint CS = {12} extremes [1, 1]
|
||||
|
||||
<new-action-sentence-object> hits 91/1600 nti 12 constraint DS = {13} extremes [1, infinity)
|
||||
<new-action-sentence-object> hits 91/1598 nti 12 constraint DS = {13} extremes [1, infinity)
|
||||
English:
|
||||
<indefinite-article> <new-action-sentence-object-unarticled>
|
||||
(hits 91/610) (matched long text) constraint DS = {13} extremes [2, infinity)
|
||||
(hits 91/609) (matched long text) constraint DS = {13} extremes [2, infinity)
|
||||
<new-action-sentence-object-unarticled>
|
||||
(hits 0/519) constraint DS = {13} extremes [1, infinity)
|
||||
(hits 0/518) constraint DS = {13} extremes [1, infinity)
|
||||
|
||||
<new-action-sentence-object-unarticled> hits 91/1484 nti 13 constraint DS = {13} extremes [1, infinity)
|
||||
<new-action-sentence-object-unarticled> hits 91/1482 nti 13 constraint DS = {13} extremes [1, infinity)
|
||||
English:
|
||||
action based {...}
|
||||
(hits 1/610) (matched: 'action based rule producing nothing that varies') constraint DS = {13} extremes [3, infinity)
|
||||
(hits 1/609) (matched: 'action based rule producing nothing that varies') constraint DS = {13} extremes [3, infinity)
|
||||
action <nounphrase-actionable>
|
||||
(hits 90/657) (matched long text) constraint DS = {13} extremes [1, infinity)
|
||||
(hits 90/656) (matched long text) constraint DS = {13} extremes [1, infinity)
|
||||
action
|
||||
constraint CS = {13} extremes [1, 1]
|
||||
|
||||
|
|
|
@ -1,24 +1,24 @@
|
|||
Total memory consumption was 140785K = 137 MB
|
||||
Total memory consumption was 143335K = 140 MB
|
||||
|
||||
---- was used for 2147617 objects, in 381570 frames in 0 x 800K = 0K = 0 MB:
|
||||
---- was used for 2168968 objects, in 382527 frames in 0 x 800K = 0K = 0 MB:
|
||||
|
||||
30.0% inter_tree_node_array 60 x 8192 = 491520 objects, 43255680 bytes
|
||||
19.5% text_stream_array 5013 x 100 = 501300 objects, 28233216 bytes
|
||||
18.4% linked_list 47624 objects, 26669440 bytes
|
||||
9.9% inter_symbol_array 135 x 1024 = 138240 objects, 14381280 bytes
|
||||
9.7% inter_error_stash_array 107 x 1024 = 109568 objects, 14028128 bytes
|
||||
7.4% parse_node 133963 objects, 10717040 bytes
|
||||
7.3% scan_directory 2580 objects, 10650240 bytes
|
||||
5.2% verb_conjugation 164 objects, 7610912 bytes
|
||||
29.4% inter_tree_node_array 60 x 8192 = 491520 objects, 43255680 bytes
|
||||
19.9% text_stream_array 5194 x 100 = 519400 objects, 29252608 bytes
|
||||
18.1% linked_list 47633 objects, 26674480 bytes
|
||||
9.7% inter_symbol_array 135 x 1024 = 138240 objects, 14381280 bytes
|
||||
9.5% inter_error_stash_array 107 x 1024 = 109568 objects, 14028128 bytes
|
||||
7.3% parse_node 133959 objects, 10716720 bytes
|
||||
7.2% scan_directory 2580 objects, 10650240 bytes
|
||||
5.1% verb_conjugation 164 objects, 7610912 bytes
|
||||
3.9% parse_node_annotation_array 358 x 500 = 179000 objects, 5739456 bytes
|
||||
2.4% pcalc_prop_array 26 x 1000 = 26000 objects, 3536832 bytes
|
||||
2.2% inter_name_array 68 x 1000 = 68000 objects, 3266176 bytes
|
||||
1.8% kind_array 68 x 1000 = 68000 objects, 2722176 bytes
|
||||
1.5% inter_schema_token 14235 objects, 2163720 bytes
|
||||
1.4% inter_schema_token 14235 objects, 2163720 bytes
|
||||
1.4% inter_name_generator_array 52 x 1000 = 52000 objects, 2081664 bytes
|
||||
1.3% package_request 21384 objects, 1881792 bytes
|
||||
1.2% package_request 21384 objects, 1881792 bytes
|
||||
1.2% vocabulary_entry_array 164 x 100 = 16400 objects, 1842048 bytes
|
||||
1.1% dict_entry_array 504 x 100 = 50400 objects, 1628928 bytes
|
||||
1.1% dict_entry_array 529 x 100 = 52900 objects, 1709728 bytes
|
||||
1.0% inter_symbols_table 26994 objects, 1511664 bytes
|
||||
1.0% match_trie_array 11 x 1000 = 11000 objects, 1496352 bytes
|
||||
0.9% i6_schema_array 24 x 100 = 2400 objects, 1440768 bytes
|
||||
|
@ -26,20 +26,20 @@ Total memory consumption was 140785K = 137 MB
|
|||
0.7% map_data 684 objects, 1149120 bytes
|
||||
0.7% id_body 982 objects, 1123408 bytes
|
||||
0.7% adjective_meaning 210 objects, 1039920 bytes
|
||||
0.7% inter_schema_node 9103 objects, 1019536 bytes
|
||||
0.6% inter_schema_node 9103 objects, 1019536 bytes
|
||||
0.6% excerpt_meaning 3173 objects, 989976 bytes
|
||||
0.6% production 4001 objects, 928232 bytes
|
||||
0.6% ptoken 8705 objects, 905320 bytes
|
||||
0.6% grammatical_usage 3653 objects, 876720 bytes
|
||||
0.6% individual_form 2588 objects, 869568 bytes
|
||||
0.5% grammatical_usage 3653 objects, 876720 bytes
|
||||
0.5% individual_form 2588 objects, 869568 bytes
|
||||
0.4% unary_predicate_array 17 x 1000 = 17000 objects, 680544 bytes
|
||||
0.3% local_variable_array 49 x 100 = 4900 objects, 471968 bytes
|
||||
0.2% verb_usage 1148 objects, 394912 bytes
|
||||
0.2% dictionary 7809 objects, 374832 bytes
|
||||
0.2% rule 478 objects, 374752 bytes
|
||||
0.2% dictionary 7804 objects, 374592 bytes
|
||||
0.2% verb_form 388 objects, 350752 bytes
|
||||
0.1% noun 2398 objects, 287760 bytes
|
||||
0.1% compilation_subtask 3392 objects, 271360 bytes
|
||||
0.1% compilation_subtask 3391 objects, 271280 bytes
|
||||
0.1% inference_subject 679 objects, 266168 bytes
|
||||
0.1% inter_annotation_array 2 x 8192 = 16384 objects, 262208 bytes
|
||||
0.1% vanilla_function 3845 objects, 246080 bytes
|
||||
|
@ -73,7 +73,7 @@ Total memory consumption was 140785K = 137 MB
|
|||
---- booking 868 objects, 62496 bytes
|
||||
---- kind_macro_definition 9 objects, 62280 bytes
|
||||
---- response_message 408 objects, 58752 bytes
|
||||
---- command_grammar 130 objects, 58240 bytes
|
||||
---- command_grammar 129 objects, 57792 bytes
|
||||
---- table 7 objects, 56672 bytes
|
||||
---- pcalc_func_array 1 x 1000 objects, 56032 bytes
|
||||
---- cg_token 619 objects, 54472 bytes
|
||||
|
@ -90,13 +90,14 @@ Total memory consumption was 140785K = 137 MB
|
|||
---- shared_variable_access_list_array 12 x 100 = 1200 objects, 38784 bytes
|
||||
---- parsing_data 684 objects, 38304 bytes
|
||||
---- production_list 627 objects, 35112 bytes
|
||||
---- counting_data 684 objects, 32832 bytes
|
||||
---- regions_data 684 objects, 32832 bytes
|
||||
---- counting_data 684 objects, 32832 bytes
|
||||
---- property_permission 97 objects, 31816 bytes
|
||||
---- stack_frame_box 307 objects, 29472 bytes
|
||||
---- verb_sense 407 objects, 29304 bytes
|
||||
---- parse_node_tree 33 objects, 28776 bytes
|
||||
---- action_pattern_array 7 x 100 = 700 objects, 28224 bytes
|
||||
---- open_source_licence 648 objects, 25920 bytes
|
||||
---- shared_variable_set_array 6 x 100 = 600 objects, 24192 bytes
|
||||
---- property 150 objects, 22800 bytes
|
||||
---- backdrops_data 684 objects, 21888 bytes
|
||||
|
@ -112,8 +113,8 @@ Total memory consumption was 140785K = 137 MB
|
|||
---- pcalc_prop_deferral 86 objects, 17888 bytes
|
||||
---- to_phrase_request 63 objects, 17136 bytes
|
||||
---- understanding_reference_array 2 x 100 = 200 objects, 16064 bytes
|
||||
---- action_name_list_array 1 x 1000 objects, 16032 bytes
|
||||
---- match_avinue_array 1 x 1000 objects, 16032 bytes
|
||||
---- action_name_list_array 1 x 1000 objects, 16032 bytes
|
||||
---- adjective 142 objects, 15904 bytes
|
||||
---- md_doc_state 3 objects, 15720 bytes
|
||||
---- booking_list 407 objects, 13024 bytes
|
||||
|
@ -124,7 +125,7 @@ Total memory consumption was 140785K = 137 MB
|
|||
---- heading_tree 33 objects, 10296 bytes
|
||||
---- stopwatch_timer 124 objects, 9920 bytes
|
||||
---- inbuild_work 142 objects, 9088 bytes
|
||||
---- inbuild_copy 65 objects, 7800 bytes
|
||||
---- inbuild_copy 65 objects, 8840 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
|
||||
|
@ -141,6 +142,7 @@ Total memory consumption was 140785K = 137 MB
|
|||
---- semver_range 48 objects, 4992 bytes
|
||||
---- value_property_data 88 objects, 4928 bytes
|
||||
---- explicit_action_array 1 x 100 objects, 4832 bytes
|
||||
---- inbuild_licence 65 objects, 4680 bytes
|
||||
---- parsing_pp_data 97 objects, 4656 bytes
|
||||
---- method_set 144 objects, 4608 bytes
|
||||
---- command_line_switch 56 objects, 4480 bytes
|
||||
|
@ -151,14 +153,14 @@ Total memory consumption was 140785K = 137 MB
|
|||
---- property_setting_bp_data 88 objects, 3520 bytes
|
||||
---- submodule_request 86 objects, 3440 bytes
|
||||
---- parsed_use_option_setting 47 objects, 3384 bytes
|
||||
---- kind_constructor_comparison_schema_array 1 x 100 objects, 3232 bytes
|
||||
---- JSON_type 46 objects, 3312 bytes
|
||||
---- arithmetic_schema_array 1 x 50 objects, 3232 bytes
|
||||
---- kind_constructor_comparison_schema_array 1 x 100 objects, 3232 bytes
|
||||
---- JSON_single_requirement 63 objects, 3024 bytes
|
||||
---- target_vm 21 objects, 3024 bytes
|
||||
---- JSON_type 39 objects, 2808 bytes
|
||||
---- JSON_single_requirement 55 objects, 2640 bytes
|
||||
---- local_parking_lot 64 objects, 2560 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_casting_rule_array 1 x 100 objects, 2432 bytes
|
||||
---- kind_constructor_instance_rule_array 1 x 100 objects, 2432 bytes
|
||||
---- equation_symbol 30 objects, 2400 bytes
|
||||
|
@ -168,120 +170,120 @@ Total memory consumption was 140785K = 137 MB
|
|||
---- pronoun_usage 42 objects, 1680 bytes
|
||||
---- compiler_feature 30 objects, 1680 bytes
|
||||
---- table_contribution_array 1 x 100 objects, 1632 bytes
|
||||
---- JSON_requirement 50 objects, 1600 bytes
|
||||
---- markdown_feature 33 objects, 1584 bytes
|
||||
---- inform_pipeline 24 objects, 1536 bytes
|
||||
---- noun_filter_token 22 objects, 1408 bytes
|
||||
---- special_meaning_holder 35 objects, 1400 bytes
|
||||
---- inter_node_array 35 objects, 1400 bytes
|
||||
---- JSON_requirement 42 objects, 1344 bytes
|
||||
---- table_column 16 objects, 1280 bytes
|
||||
---- constant_phrase 20 objects, 1280 bytes
|
||||
---- invocation_options_array 1 x 100 objects, 1224 bytes
|
||||
---- direction_inference_data 30 objects, 1200 bytes
|
||||
---- inbuild_search_result 29 objects, 1160 bytes
|
||||
---- JSON_pair_requirement 36 objects, 1152 bytes
|
||||
---- tree_inventory_item 28 objects, 1120 bytes
|
||||
---- submodule_identity 34 objects, 1088 bytes
|
||||
---- runtime_kind_structure 13 objects, 1040 bytes
|
||||
---- quantifier 16 objects, 1024 bytes
|
||||
---- web_md 7 objects, 1008 bytes
|
||||
---- named_rulebook_outcome 15 objects, 960 bytes
|
||||
---- compiled_documentation 3 objects, 960 bytes
|
||||
---- named_rulebook_outcome 15 objects, 960 bytes
|
||||
---- pipeline_stage 20 objects, 960 bytes
|
||||
---- JSON_pair_requirement 29 objects, 928 bytes
|
||||
---- control_structure_phrase 12 objects, 864 bytes
|
||||
---- kit_configuration 21 objects, 840 bytes
|
||||
---- cached_understanding 21 objects, 840 bytes
|
||||
---- kit_configuration 21 objects, 840 bytes
|
||||
---- phrase_option_array 1 x 100 objects, 824 bytes
|
||||
---- inform_kit 7 objects, 784 bytes
|
||||
---- copy_error 7 objects, 784 bytes
|
||||
---- inform_kit 7 objects, 784 bytes
|
||||
---- internal_test 15 objects, 720 bytes
|
||||
---- relation_guard 5 objects, 640 bytes
|
||||
---- implication 13 objects, 624 bytes
|
||||
---- chapter_md 7 objects, 616 bytes
|
||||
---- code_generation 1 object, 576 bytes
|
||||
---- inter_annotation_form 14 objects, 560 bytes
|
||||
---- inter_warehouse_room 10 objects, 560 bytes
|
||||
---- generated_segment 14 objects, 560 bytes
|
||||
---- module 7 objects, 560 bytes
|
||||
---- inter_annotation_form 14 objects, 560 bytes
|
||||
---- rulebook_outcome 17 objects, 544 bytes
|
||||
---- small_word_set 11 objects, 528 bytes
|
||||
---- indexing_category 6 objects, 528 bytes
|
||||
---- markdown_variation 3 objects, 528 bytes
|
||||
---- indexing_category 6 objects, 528 bytes
|
||||
---- small_word_set 11 objects, 528 bytes
|
||||
---- IFM_example 4 objects, 512 bytes
|
||||
---- equation 4 objects, 480 bytes
|
||||
---- inbuild_genre 8 objects, 448 bytes
|
||||
---- bp_family 14 objects, 448 bytes
|
||||
---- inference_family 11 objects, 440 bytes
|
||||
---- source_file 5 objects, 440 bytes
|
||||
---- inference_family 11 objects, 440 bytes
|
||||
---- article_usage 8 objects, 384 bytes
|
||||
---- cached_kind_declaration 8 objects, 320 bytes
|
||||
---- pronoun 8 objects, 320 bytes
|
||||
---- module_request 8 objects, 320 bytes
|
||||
---- door_dir_notice 5 objects, 320 bytes
|
||||
---- grammatical_category 8 objects, 320 bytes
|
||||
---- module_request 8 objects, 320 bytes
|
||||
---- pronoun 8 objects, 320 bytes
|
||||
---- tree_inventory 1 object, 320 bytes
|
||||
---- door_dir_notice 5 objects, 320 bytes
|
||||
---- inter_pipeline 1 object, 312 bytes
|
||||
---- up_family 9 objects, 288 bytes
|
||||
---- compilation_unit 5 objects, 280 bytes
|
||||
---- contents_entry 7 objects, 280 bytes
|
||||
---- explicit_bp_data 5 objects, 280 bytes
|
||||
---- compilation_unit 5 objects, 280 bytes
|
||||
---- door_to_notice 5 objects, 280 bytes
|
||||
---- kit_dependency 5 objects, 240 bytes
|
||||
---- explicit_bp_data 5 objects, 280 bytes
|
||||
---- verb_usage_tier 5 objects, 240 bytes
|
||||
---- kit_dependency 5 objects, 240 bytes
|
||||
---- inform_project 1 object, 232 bytes
|
||||
---- adjective_meaning_family 7 objects, 224 bytes
|
||||
---- local_block_value 4 objects, 224 bytes
|
||||
---- index_lemma 4 objects, 224 bytes
|
||||
---- index_reference 4 objects, 224 bytes
|
||||
---- local_block_value 4 objects, 224 bytes
|
||||
---- test_scenario 1 object, 216 bytes
|
||||
---- cd_volume 3 objects, 216 bytes
|
||||
---- release_instructions 1 object, 208 bytes
|
||||
---- attachment_instruction 5 objects, 200 bytes
|
||||
---- code_generator 5 objects, 200 bytes
|
||||
---- build_skill 5 objects, 200 bytes
|
||||
---- code_generator 5 objects, 200 bytes
|
||||
---- attachment_instruction 5 objects, 200 bytes
|
||||
---- plural_dictionary_entry 4 objects, 192 bytes
|
||||
---- element_activation 6 objects, 192 bytes
|
||||
---- imperative_defn_family 4 objects, 160 bytes
|
||||
---- inference_subject_family 5 objects, 160 bytes
|
||||
---- imperative_defn_family 4 objects, 160 bytes
|
||||
---- inter_architecture 4 objects, 160 bytes
|
||||
---- cd_pageset 3 objects, 144 bytes
|
||||
---- inbuild_nest 3 objects, 120 bytes
|
||||
---- inform_language 1 object, 104 bytes
|
||||
---- md_links_dictionary 3 objects, 96 bytes
|
||||
---- article 2 objects, 80 bytes
|
||||
---- compile_task_data 1 object, 80 bytes
|
||||
---- group_together_function 2 objects, 80 bytes
|
||||
---- inter_warehouse 1 object, 56 bytes
|
||||
---- compile_task_data 1 object, 80 bytes
|
||||
---- article 2 objects, 80 bytes
|
||||
---- figures_data 1 object, 56 bytes
|
||||
---- build_methodology 1 object, 56 bytes
|
||||
---- inform_kit_ittt 1 object, 48 bytes
|
||||
---- HTML_file_state 1 object, 48 bytes
|
||||
---- I6_generation_data 1 object, 48 bytes
|
||||
---- inter_warehouse 1 object, 56 bytes
|
||||
---- star_invention 1 object, 48 bytes
|
||||
---- by_function_bp_data 1 object, 40 bytes
|
||||
---- I6_generation_data 1 object, 48 bytes
|
||||
---- HTML_file_state 1 object, 48 bytes
|
||||
---- inform_kit_ittt 1 object, 48 bytes
|
||||
---- loop_over_scope 1 object, 40 bytes
|
||||
---- kind_template_definition 1 object, 40 bytes
|
||||
---- by_function_bp_data 1 object, 40 bytes
|
||||
---- i6_memory_setting 1 object, 32 bytes
|
||||
|
||||
99.9% was used for memory not allocated for objects:
|
||||
100.0% was used for memory not allocated for objects:
|
||||
|
||||
62.6% text stream storage 90317276 bytes in 521559 claims
|
||||
3.8% dictionary storage 5527616 bytes in 7804 claims
|
||||
63.1% text stream storage 92690276 bytes in 539924 claims
|
||||
3.9% dictionary storage 5765696 bytes in 7809 claims
|
||||
---- sorting 6400 bytes in 1489 claims
|
||||
4.9% source text 7200000 bytes in 3 claims
|
||||
7.4% source text details 10800000 bytes in 2 claims
|
||||
7.3% source text details 10800000 bytes in 2 claims
|
||||
0.1% documentation fragments 262144 bytes in 1 claim
|
||||
---- linguistic stock array 81920 bytes in 2 claims
|
||||
---- small word set array 105600 bytes in 22 claims
|
||||
3.1% inter symbols storage 4590080 bytes in 28364 claims
|
||||
11.6% inter bytecode storage 16759000 bytes in 15 claims
|
||||
4.3% inter links storage 6222976 bytes in 11 claims
|
||||
11.4% inter bytecode storage 16759000 bytes in 15 claims
|
||||
4.2% inter links storage 6222976 bytes in 11 claims
|
||||
0.1% inter tree location list storage 191232 bytes in 32 claims
|
||||
1.2% instance-of-kind counting 1768900 bytes in 1 claim
|
||||
---- compilation workspace for objects 22056 bytes in 25 claims
|
||||
---- lists for type-checking invocations 16000 bytes in 1 claim
|
||||
---- code generation workspace for objects 3536 bytes in 19 claims
|
||||
0.2% emitter array storage 290048 bytes in 2074 claims
|
||||
0.1% emitter array storage 290048 bytes in 2074 claims
|
||||
|
||||
-141.-3% was overhead - -203757848 bytes = -198982K = -194 MB
|
||||
-139.-5% was overhead - -204895480 bytes = -200093K = -195 MB
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
100.0% in inform7 run
|
||||
66.7% in compilation to Inter
|
||||
45.4% in //Sequence::undertake_queued_tasks//
|
||||
66.9% in compilation to Inter
|
||||
45.2% in //Sequence::undertake_queued_tasks//
|
||||
4.1% in //MajorNodes::pre_pass//
|
||||
3.4% in //MajorNodes::pass_1//
|
||||
1.9% in //ImperativeDefinitions::assess_all//
|
||||
|
@ -13,8 +13,8 @@
|
|||
0.3% in //Sequence::undertake_queued_tasks//
|
||||
0.3% in //Sequence::undertake_queued_tasks//
|
||||
0.3% in //World::stage_V//
|
||||
5.3% not specifically accounted for
|
||||
27.0% in running Inter pipeline
|
||||
5.7% not specifically accounted for
|
||||
26.9% in running Inter pipeline
|
||||
8.7% in step 14/15: generate inform6 -> auto.inf
|
||||
6.8% in step 5/15: load-binary-kits
|
||||
5.7% in step 6/15: make-synoptic-module
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
"is": {
|
||||
"type": "kit",
|
||||
"title": "Architecture16Kit",
|
||||
"version": "10.2.0-beta+6X50"
|
||||
"version": "10.2.0-beta+6X51"
|
||||
},
|
||||
"compatibility": "16-bit",
|
||||
"kit-details": {
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
"is": {
|
||||
"type": "kit",
|
||||
"title": "Architecture32Kit",
|
||||
"version": "10.2.0-beta+6X50"
|
||||
"version": "10.2.0-beta+6X51"
|
||||
},
|
||||
"compatibility": "32-bit",
|
||||
"kit-details": {
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
"is": {
|
||||
"type": "kit",
|
||||
"title": "BasicInformKit",
|
||||
"version": "10.2.0-beta+6X50"
|
||||
"version": "10.2.0-beta+6X51"
|
||||
},
|
||||
"needs": [ {
|
||||
"need": {
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
"is": {
|
||||
"type": "kit",
|
||||
"title": "CommandParserKit",
|
||||
"version": "10.2.0-beta+6X50"
|
||||
"version": "10.2.0-beta+6X51"
|
||||
},
|
||||
"needs": [ {
|
||||
"need": {
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
"is": {
|
||||
"type": "kit",
|
||||
"title": "EnglishLanguageKit",
|
||||
"version": "10.2.0-beta+6X50"
|
||||
"version": "10.2.0-beta+6X51"
|
||||
},
|
||||
"needs": [ {
|
||||
"need": {
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
"is": {
|
||||
"type": "kit",
|
||||
"title": "WorldModelKit",
|
||||
"version": "10.2.0-beta+6X50"
|
||||
"version": "10.2.0-beta+6X51"
|
||||
},
|
||||
"needs": [ {
|
||||
"need": {
|
||||
|
|
|
@ -30,9 +30,19 @@
|
|||
?"translated-syntax-cue": string
|
||||
}
|
||||
|
||||
<legal-metadata> ::= {
|
||||
"licence": string,
|
||||
"rights-owner": string,
|
||||
"date": number,
|
||||
?"revision-date": number,
|
||||
?"origin-url": string,
|
||||
?"rights-history": string
|
||||
}
|
||||
|
||||
<resource-metadata> ::= {
|
||||
"is": <resource>,
|
||||
?"compatibility": string,
|
||||
?"rights": <legal-metadata>,
|
||||
?"activates": [ string* ],
|
||||
?"deactivates": [ string* ],
|
||||
?"needs": [ {
|
||||
|
|
|
@ -70,6 +70,7 @@ void SourceProblems::issue_problems_arising(inbuild_copy *C) {
|
|||
Problems::issue_problem_end();
|
||||
break;
|
||||
case METADATA_MALFORMED_CE:
|
||||
case MALFORMED_LICENCE_CE:
|
||||
if (CE->copy->found_by) {
|
||||
Problems::quote_work(1, CE->copy->found_by->work);
|
||||
Problems::quote_stream(2, CE->details);
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
Size of lexicon: 3173 excerpt meanings
|
||||
Stored among 859 words out of total vocabulary of 10638
|
||||
Stored among 859 words out of total vocabulary of 10637
|
||||
723 words have a start list: longest belongs to report (with 293 meanings)
|
||||
21 words have an end list: longest belongs to digits (with 7 meanings)
|
||||
29 words have a middle list: longest belongs to to (with 4 meanings)
|
||||
|
|
Loading…
Reference in a new issue