mirror of
https://github.com/ganelson/inform.git
synced 2024-07-01 06:24:58 +03:00
Further simplified possessives
This commit is contained in:
parent
97a3197678
commit
f6a2e5495f
File diff suppressed because one or more lines are too long
|
@ -113,7 +113,7 @@ a <span class="extract"><span class="extract-syntax">pcalc_prop</span></span> st
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="reserved-syntax">pcalc_prop</span><span class="plain-syntax"> *</span><span class="identifier-syntax">next</span><span class="plain-syntax">; </span><span class="comment-syntax"> next atom in the list for this proposition</span>
|
||||
<span class="plain-syntax">} </span><span class="reserved-syntax">pcalc_prop</span><span class="plain-syntax">;</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>The structure pcalc_prop is accessed in 3/cs, 3/dlr, 3/pr, 3/tr, 5/lp, 5/ut, 5/un, 5/ins, 6/rlt, 6/nv, 7/rs, 9/tfa, 9/tbath, 9/rpt, 9/tc, 9/ma, 9/rk, 9/ass, 9/imp, 9/pd, 10/teav, 10/cap, 11/pr, 11/bas, 11/tc, 11/sc, 11/sm, 11/tcp, 12/ap, 12/ca, 12/dtd, 12/cad, 12/cdp, 14/rv, 14/lv, 14/cn, 14/ds, 14/ds2, 15/ps, 15/cp, 16/is, 16/in, 19/tb, 19/rsft, 19/tod, 20/eq, 21/rl, 21/rl2, 21/fao, 21/rps, 21/sv, 21/ac, 22/ph, 22/tp, 22/tp2, 23/ad, 24/lv, 24/sf, 25/in, 25/pi, 25/cii, 25/cp, 26/uo, 26/tti, 26/pc, 26/ts, 27/cm and here.</li></ul>
|
||||
<ul class="endnotetexts"><li>The structure pcalc_prop is accessed in 3/cs, 3/dlr, 3/pr, 3/tr, 5/lp, 5/ut, 5/un, 5/ins, 6/rlt, 6/nv, 7/rs, 9/tfa, 9/rpt, 9/tc, 9/ma, 9/rk, 9/ass, 9/imp, 9/pd, 10/teav, 10/cap, 11/pr, 11/bas, 11/tc, 11/sc, 11/sm, 11/tcp, 12/ap, 12/ca, 12/dtd, 12/cad, 12/cdp, 14/rv, 14/lv, 14/cn, 14/ds, 14/ds2, 15/ps, 15/cp, 16/is, 16/in, 19/tb, 19/rsft, 19/tod, 20/eq, 21/rl, 21/rl2, 21/fao, 21/rps, 21/sv, 21/ac, 22/ph, 22/tp, 22/tp2, 23/ad, 24/lv, 24/sf, 25/in, 25/pi, 25/cii, 25/cp, 26/uo, 26/tti, 26/pc, 26/ts, 27/cm and here.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP3"></a><b>§3. </b>The Universe is filled with atoms, but they come in different kinds, called
|
||||
elements. For us, an "element" is the identifying number, stored in the
|
||||
<span class="extract"><span class="extract-syntax">element</span></span> field, which tells Inform what kind of atom something is. The
|
||||
|
@ -414,7 +414,7 @@ that case.
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">pcalc_prop</span><span class="plain-syntax"> *</span><span class="function-syntax">Calculus::Atoms::KIND_new</span><button class="popup" onclick="togglePopup('usagePopup22')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup22">Usage of <span class="code-font"><span class="function-syntax">Calculus::Atoms::KIND_new</span></span>:<br/>Make Assertions - <a href="9-ma.html#SP3_3_39_5">§3.3.39.5</a><br/>Implications - <a href="9-imp.html#SP7_1_3">§7.1.3</a><br/>Tree Conversions - <a href="11-tc.html#SP1">§1</a>, <a href="11-tc.html#SP2">§2</a>, <a href="11-tc.html#SP7">§7</a><br/>Sentence Conversions - <a href="11-sc.html#SP3_3">§3.3</a><br/>Simplifications - <a href="11-sm.html#SP3_2">§3.2</a>, <a href="11-sm.html#SP4">§4</a>, <a href="11-sm.html#SP8">§8</a>, <a href="11-sm.html#SP10_3_2">§10.3.2</a><br/>Deciding to Defer - <a href="12-dtd.html#SP10">§10</a>, <a href="12-dtd.html#SP13">§13</a><br/>Descriptions - <a href="14-ds.html#SP3">§3</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">kind</span><span class="plain-syntax"> *</span><span class="identifier-syntax">K</span><span class="plain-syntax">, </span><span class="reserved-syntax">pcalc_term</span><span class="plain-syntax"> </span><span class="identifier-syntax">pt</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">pcalc_prop</span><span class="plain-syntax"> *</span><span class="function-syntax">Calculus::Atoms::KIND_new</span><button class="popup" onclick="togglePopup('usagePopup22')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup22">Usage of <span class="code-font"><span class="function-syntax">Calculus::Atoms::KIND_new</span></span>:<br/>Make Assertions - <a href="9-ma.html#SP4_3_39_5">§4.3.39.5</a><br/>Implications - <a href="9-imp.html#SP7_1_3">§7.1.3</a><br/>Tree Conversions - <a href="11-tc.html#SP1">§1</a>, <a href="11-tc.html#SP2">§2</a>, <a href="11-tc.html#SP7">§7</a><br/>Sentence Conversions - <a href="11-sc.html#SP3_3">§3.3</a><br/>Simplifications - <a href="11-sm.html#SP3_2">§3.2</a>, <a href="11-sm.html#SP4">§4</a>, <a href="11-sm.html#SP8">§8</a>, <a href="11-sm.html#SP10_3_2">§10.3.2</a><br/>Deciding to Defer - <a href="12-dtd.html#SP10">§10</a>, <a href="12-dtd.html#SP13">§13</a><br/>Descriptions - <a href="14-ds.html#SP3">§3</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">kind</span><span class="plain-syntax"> *</span><span class="identifier-syntax">K</span><span class="plain-syntax">, </span><span class="reserved-syntax">pcalc_term</span><span class="plain-syntax"> </span><span class="identifier-syntax">pt</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">pcalc_prop</span><span class="plain-syntax"> *</span><span class="identifier-syntax">prop</span><span class="plain-syntax"> = </span><a href="11-ap.html#SP7" class="function-link"><span class="function-syntax">Calculus::Atoms::new</span></a><span class="plain-syntax">(</span><span class="constant-syntax">KIND_ATOM</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">prop</span><span class="plain-syntax">-></span><span class="identifier-syntax">arity</span><span class="plain-syntax"> = </span><span class="constant-syntax">1</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">prop</span><span class="plain-syntax">-></span><span class="identifier-syntax">assert_kind</span><span class="plain-syntax"> = </span><span class="identifier-syntax">K</span><span class="plain-syntax">;</span>
|
||||
|
|
|
@ -213,7 +213,7 @@ the quantifier has finished. We set the <span class="extract"><span class="extra
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">Calculus::Variables::number_free</span><button class="popup" onclick="togglePopup('usagePopup4')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup4">Usage of <span class="code-font"><span class="function-syntax">Calculus::Variables::number_free</span></span>:<br/>Make Assertions - <a href="9-ma.html#SP3_3_39_5">§3.3.39.5</a><br/>Sentence Conversions - <a href="11-sc.html#SP1_14">§1.14</a>, <a href="11-sc.html#SP3_2">§3.2</a><br/>Deciding to Defer - <a href="12-dtd.html#SP28">§28</a><br/>Descriptions - <a href="14-ds.html#SP6">§6</a><br/>Dash - <a href="14-ds2.html#SP25">§25</a><br/>Describing Phrase Type Data - <a href="22-dptd.html#SP20_2_3">§20.2.3</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">pcalc_prop</span><span class="plain-syntax"> *</span><span class="identifier-syntax">prop</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">Calculus::Variables::number_free</span><button class="popup" onclick="togglePopup('usagePopup4')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup4">Usage of <span class="code-font"><span class="function-syntax">Calculus::Variables::number_free</span></span>:<br/>Make Assertions - <a href="9-ma.html#SP4_3_39_5">§4.3.39.5</a><br/>Sentence Conversions - <a href="11-sc.html#SP1_14">§1.14</a>, <a href="11-sc.html#SP3_2">§3.2</a><br/>Deciding to Defer - <a href="12-dtd.html#SP28">§28</a><br/>Descriptions - <a href="14-ds.html#SP6">§6</a><br/>Dash - <a href="14-ds2.html#SP25">§25</a><br/>Describing Phrase Type Data - <a href="22-dptd.html#SP20_2_3">§20.2.3</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">pcalc_prop</span><span class="plain-syntax"> *</span><span class="identifier-syntax">prop</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">var_states</span><span class="plain-syntax">[26], </span><span class="identifier-syntax">j</span><span class="plain-syntax">, </span><span class="identifier-syntax">c</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><a href="11-bas.html#SP4" class="function-link"><span class="function-syntax">Calculus::Variables::determine_status</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">prop</span><span class="plain-syntax">, </span><span class="identifier-syntax">var_states</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">for</span><span class="plain-syntax"> (</span><span class="identifier-syntax">j</span><span class="plain-syntax">=0, </span><span class="identifier-syntax">c</span><span class="plain-syntax">=0; </span><span class="identifier-syntax">j</span><span class="plain-syntax"><26; </span><span class="identifier-syntax">j</span><span class="plain-syntax">++) </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">var_states</span><span class="plain-syntax">[</span><span class="identifier-syntax">j</span><span class="plain-syntax">] == </span><span class="constant-syntax">FREE_VST</span><span class="plain-syntax">) </span><span class="identifier-syntax">c</span><span class="plain-syntax">++;</span>
|
||||
|
|
|
@ -115,7 +115,7 @@ their existence.
|
|||
<span class="plain-syntax"> </span><a href="5-ins.html#SP13" class="function-link"><span class="function-syntax">Instances::as_subject</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">), </span><span class="identifier-syntax">prevailing_mood</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">Calculus::Propositions::Abstract::assert_kind_of_subject</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">Calculus::Propositions::Abstract::assert_kind_of_subject</span></span>:<br/>The Creator - <a href="9-tc.html#SP5_2_1">§5.2.1</a><br/>Make Assertions - <a href="9-ma.html#SP3_3_8">§3.3.8</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inference_subject</span><span class="plain-syntax"> *</span><span class="identifier-syntax">inst</span><span class="plain-syntax">, </span><span class="reserved-syntax">inference_subject</span><span class="plain-syntax"> *</span><span class="identifier-syntax">new</span><span class="plain-syntax">,</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Calculus::Propositions::Abstract::assert_kind_of_subject</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">Calculus::Propositions::Abstract::assert_kind_of_subject</span></span>:<br/>The Creator - <a href="9-tc.html#SP5_2_1">§5.2.1</a><br/>Make Assertions - <a href="9-ma.html#SP4_3_8">§4.3.8</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inference_subject</span><span class="plain-syntax"> *</span><span class="identifier-syntax">inst</span><span class="plain-syntax">, </span><span class="reserved-syntax">inference_subject</span><span class="plain-syntax"> *</span><span class="identifier-syntax">new</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">pcalc_prop</span><span class="plain-syntax"> *</span><span class="identifier-syntax">subject_to</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">kind</span><span class="plain-syntax"> *</span><span class="identifier-syntax">K</span><span class="plain-syntax"> = </span><a href="16-is.html#SP21" class="function-link"><span class="function-syntax">InferenceSubjects::domain</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">new</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">pcalc_prop</span><span class="plain-syntax"> *</span><span class="identifier-syntax">prop</span><span class="plain-syntax"> = </span><a href="11-ap.html#SP18" class="function-link"><span class="function-syntax">Calculus::Atoms::KIND_new</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">K</span><span class="plain-syntax">, </span><a href="11-tr.html#SP4" class="function-link"><span class="function-syntax">Calculus::Terms::new_variable</span></a><span class="plain-syntax">(0));</span>
|
||||
|
@ -253,7 +253,7 @@ parse the text to find what which property is referred to.
|
|||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="function-syntax"><np-as-object></span><span class="plain-syntax">(</span><span class="identifier-syntax">VW</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pn</span><span class="plain-syntax"> = </span><span class="function-syntax"><<rp>></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><a href="9-rpt.html#SP8" class="function-link"><span class="function-syntax">Assertions::Refiner::refine</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">pn</span><span class="plain-syntax">, </span><span class="constant-syntax">FORBID_CREATION</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="9-rpt.html#SP9" class="function-link"><span class="function-syntax">Assertions::Refiner::refine</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">pn</span><span class="plain-syntax">, </span><span class="constant-syntax">FORBID_CREATION</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">pcalc_prop</span><span class="plain-syntax"> *</span><span class="identifier-syntax">P</span><span class="plain-syntax"> = </span><a href="11-tc.html#SP6" class="function-link"><span class="function-syntax">Calculus::Propositions::Abstract::from_property_subtree</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">prn</span><span class="plain-syntax">, </span><span class="identifier-syntax">pn</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">prop</span><span class="plain-syntax"> = </span><a href="11-pr.html#SP16" class="function-link"><span class="function-syntax">Calculus::Propositions::conjoin</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">prop</span><span class="plain-syntax">, </span><span class="identifier-syntax">P</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> } </span><span class="reserved-syntax">else</span><span class="plain-syntax"> { </span><span class="comment-syntax"> no value is supplied...</span>
|
||||
|
|
|
@ -146,7 +146,7 @@ field is
|
|||
<p class="commentary firstcommentary"><a id="SP4"></a><b>§4. Creating new terms. </b></p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">pcalc_term</span><span class="plain-syntax"> </span><span class="function-syntax">Calculus::Terms::new_variable</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">Calculus::Terms::new_variable</span></span>:<br/><a href="11-tr.html#SP8">§8</a><br/>Make Assertions - <a href="9-ma.html#SP3_3_39_5">§3.3.39.5</a><br/>Implications - <a href="9-imp.html#SP7_1_3">§7.1.3</a><br/>Atomic Propositions - <a href="11-ap.html#SP8">§8</a>, <a href="11-ap.html#SP20">§20</a>, <a href="11-ap.html#SP22">§22</a><br/>Propositions - <a href="11-pr.html#SP26">§26</a>, <a href="11-pr.html#SP27">§27</a><br/>Tree Conversions - <a href="11-tc.html#SP1">§1</a>, <a href="11-tc.html#SP2">§2</a>, <a href="11-tc.html#SP3">§3</a>, <a href="11-tc.html#SP4">§4</a>, <a href="11-tc.html#SP5">§5</a>, <a href="11-tc.html#SP7">§7</a><br/>Sentence Conversions - <a href="11-sc.html#SP3_3">§3.3</a>, <a href="11-sc.html#SP3_7">§3.7</a><br/>Simplifications - <a href="11-sm.html#SP3_2">§3.2</a>, <a href="11-sm.html#SP4">§4</a>, <a href="11-sm.html#SP8">§8</a>, <a href="11-sm.html#SP10_3_2">§10.3.2</a><br/>Compile Atoms - <a href="12-ca.html#SP8">§8</a><br/>Deciding to Defer - <a href="12-dtd.html#SP10">§10</a>, <a href="12-dtd.html#SP13">§13</a><br/>Compile Deferred Propositions - <a href="12-cdp.html#SP5">§5</a><br/>Descriptions - <a href="14-ds.html#SP3">§3</a>, <a href="14-ds.html#SP10">§10</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">v</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">pcalc_term</span><span class="plain-syntax"> </span><span class="function-syntax">Calculus::Terms::new_variable</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">Calculus::Terms::new_variable</span></span>:<br/><a href="11-tr.html#SP8">§8</a><br/>Make Assertions - <a href="9-ma.html#SP4_3_39_5">§4.3.39.5</a><br/>Implications - <a href="9-imp.html#SP7_1_3">§7.1.3</a><br/>Atomic Propositions - <a href="11-ap.html#SP8">§8</a>, <a href="11-ap.html#SP20">§20</a>, <a href="11-ap.html#SP22">§22</a><br/>Propositions - <a href="11-pr.html#SP26">§26</a>, <a href="11-pr.html#SP27">§27</a><br/>Tree Conversions - <a href="11-tc.html#SP1">§1</a>, <a href="11-tc.html#SP2">§2</a>, <a href="11-tc.html#SP3">§3</a>, <a href="11-tc.html#SP4">§4</a>, <a href="11-tc.html#SP5">§5</a>, <a href="11-tc.html#SP7">§7</a><br/>Sentence Conversions - <a href="11-sc.html#SP3_3">§3.3</a>, <a href="11-sc.html#SP3_7">§3.7</a><br/>Simplifications - <a href="11-sm.html#SP3_2">§3.2</a>, <a href="11-sm.html#SP4">§4</a>, <a href="11-sm.html#SP8">§8</a>, <a href="11-sm.html#SP10_3_2">§10.3.2</a><br/>Compile Atoms - <a href="12-ca.html#SP8">§8</a><br/>Deciding to Defer - <a href="12-dtd.html#SP10">§10</a>, <a href="12-dtd.html#SP13">§13</a><br/>Compile Deferred Propositions - <a href="12-cdp.html#SP5">§5</a><br/>Descriptions - <a href="14-ds.html#SP3">§3</a>, <a href="14-ds.html#SP10">§10</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">v</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">pcalc_term</span><span class="plain-syntax"> </span><span class="identifier-syntax">pt</span><span class="plain-syntax">; </span><span class="named-paragraph-container code-font"><a href="11-tr.html#SP4_1" class="named-paragraph-link"><span class="named-paragraph">Make new blank term structure pt</span><span class="named-paragraph-number">4.1</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">v</span><span class="plain-syntax"> < </span><span class="constant-syntax">0</span><span class="plain-syntax">) || (</span><span class="identifier-syntax">v</span><span class="plain-syntax"> >= </span><span class="constant-syntax">26</span><span class="plain-syntax">)) </span><span class="identifier-syntax">internal_error</span><span class="plain-syntax">(</span><span class="string-syntax">"bad variable term created"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">pt</span><span class="plain-syntax">.</span><span class="element-syntax">variable</span><span class="plain-syntax"> = </span><span class="identifier-syntax">v</span><span class="plain-syntax">;</span>
|
||||
|
|
|
@ -173,7 +173,7 @@ we don't accidentally break this rule:
|
|||
<span class="plain-syntax"> </span><a href="12-ap.html#SP8" class="function-link"><span class="function-syntax">Calculus::Propositions::Assert::prop_true_in_world_model_inner</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">prop</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="identifier-syntax">certitude</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">Calculus::Propositions::Assert::assert_true_about</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">Calculus::Propositions::Assert::assert_true_about</span></span>:<br/>Relations - <a href="6-rlt.html#SP9">§9</a><br/>Make Assertions - <a href="9-ma.html#SP3_3_39_5">§3.3.39.5</a><br/>Property Knowledge - <a href="9-pk.html#SP3">§3</a><br/>Relation Knowledge - <a href="9-rk.html#SP1_2">§1.2</a><br/>Implications - <a href="9-imp.html#SP7_1_3">§7.1.3</a><br/>Property Declarations - <a href="9-pd.html#SP5_9">§5.9</a>, <a href="9-pd.html#SP5_10">§5.10</a>, <a href="9-pd.html#SP6_1">§6.1</a><br/>Tree Conversions - <a href="11-tc.html#SP2">§2</a><br/>Either-Or Properties - <a href="15-ep.html#SP9">§9</a><br/>Valued Properties - <a href="15-vp.html#SP10">§10</a><br/>Tables of Definitions - <a href="19-tod.html#SP6_4">§6.4</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">pcalc_prop</span><span class="plain-syntax"> *</span><span class="identifier-syntax">prop</span><span class="plain-syntax">, </span><span class="reserved-syntax">inference_subject</span><span class="plain-syntax"> *</span><span class="identifier-syntax">infs</span><span class="plain-syntax">,</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Calculus::Propositions::Assert::assert_true_about</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">Calculus::Propositions::Assert::assert_true_about</span></span>:<br/>Relations - <a href="6-rlt.html#SP9">§9</a><br/>Make Assertions - <a href="9-ma.html#SP4_3_39_5">§4.3.39.5</a><br/>Property Knowledge - <a href="9-pk.html#SP3">§3</a><br/>Relation Knowledge - <a href="9-rk.html#SP1_2">§1.2</a><br/>Implications - <a href="9-imp.html#SP7_1_3">§7.1.3</a><br/>Property Declarations - <a href="9-pd.html#SP5_9">§5.9</a>, <a href="9-pd.html#SP5_10">§5.10</a>, <a href="9-pd.html#SP6_1">§6.1</a><br/>Tree Conversions - <a href="11-tc.html#SP2">§2</a><br/>Either-Or Properties - <a href="15-ep.html#SP9">§9</a><br/>Valued Properties - <a href="15-vp.html#SP10">§10</a><br/>Tables of Definitions - <a href="19-tod.html#SP6_4">§6.4</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">pcalc_prop</span><span class="plain-syntax"> *</span><span class="identifier-syntax">prop</span><span class="plain-syntax">, </span><span class="reserved-syntax">inference_subject</span><span class="plain-syntax"> *</span><span class="identifier-syntax">infs</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">certitude</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><a href="12-ap.html#SP8" class="function-link"><span class="function-syntax">Calculus::Propositions::Assert::prop_true_in_world_model_inner</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">prop</span><span class="plain-syntax">, </span><span class="identifier-syntax">infs</span><span class="plain-syntax">, </span><span class="identifier-syntax">certitude</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
|
|
@ -87,7 +87,7 @@ are drawn about them.
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">inference_subject</span><span class="plain-syntax"> *</span><span class="function-syntax">Kinds::Knowledge::as_subject</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">Kinds::Knowledge::as_subject</span></span>:<br/><a href="13-kak.html#SP5">§5</a>, <a href="13-kak.html#SP6">§6</a><br/>Adjective Meanings - <a href="4-am.html#SP22">§22</a>, <a href="4-am.html#SP23">§23</a>, <a href="4-am.html#SP24">§24</a><br/>Instances - <a href="5-ins.html#SP6_2">§6.2</a>, <a href="5-ins.html#SP19">§19</a><br/>Index Physical World - <a href="5-ipw.html#SP3_7">§3.7</a><br/>Binary Predicates - <a href="6-bp.html#SP20">§20</a><br/>Relations - <a href="6-rlt.html#SP9_3_1">§9.3.1</a>, <a href="6-rlt.html#SP9_3_8">§9.3.8</a>, <a href="6-rlt.html#SP20_4">§20.4</a><br/>Refine Parse Tree - <a href="9-rpt.html#SP1">§1</a>, <a href="9-rpt.html#SP9_6">§9.6</a>, <a href="9-rpt.html#SP9_6_1">§9.6.1</a>, <a href="9-rpt.html#SP9_6_2">§9.6.2</a>, <a href="9-rpt.html#SP9_8_2_3_1">§9.8.2.3.1</a>, <a href="9-rpt.html#SP10_1">§10.1</a><br/>The Creator - <a href="9-tc.html#SP8_4_1_2">§8.4.1.2</a><br/>Make Assertions - <a href="9-ma.html#SP3_3_25">§3.3.25</a>, <a href="9-ma.html#SP3_3_26">§3.3.26</a>, <a href="9-ma.html#SP3_3_34">§3.3.34</a>, <a href="9-ma.html#SP3_3_39">§3.3.39</a><br/>Property Knowledge - <a href="9-pk.html#SP3">§3</a><br/>Implications - <a href="9-imp.html#SP4_2_1">§4.2.1</a><br/>Property Declarations - <a href="9-pd.html#SP5_6">§5.6</a>, <a href="9-pd.html#SP6_1_1">§6.1.1</a><br/>Quasinumeric Relations - <a href="12-qr.html#SP3">§3</a><br/>Assert Propositions - <a href="12-ap.html#SP9_5_2">§9.5.2</a>, <a href="12-ap.html#SP12">§12</a><br/>Kinds Index - <a href="13-ki.html#SP1_11">§1.11</a><br/>Dash - <a href="14-ds2.html#SP11_9_1_2_3">§11.9.1.2.3</a><br/>Indefinite Appearance - <a href="15-ia.html#SP1">§1</a><br/>The Provision Relation - <a href="15-tpr.html#SP7_2">§7.2</a><br/>Setting Property Relation - <a href="15-spr2.html#SP2">§2</a><br/>Inference Subjects - <a href="16-is.html#SP17">§17</a><br/>Instance Counting - <a href="16-ic.html#SP12_2">§12.2</a>, <a href="16-ic.html#SP12_3">§12.3</a>, <a href="16-ic.html#SP13">§13</a>, <a href="16-ic.html#SP14">§14</a>, <a href="16-ic.html#SP15">§15</a><br/>Tables of Definitions - <a href="19-tod.html#SP6_4">§6.4</a><br/>Listed-In Relations - <a href="19-lr.html#SP2">§2</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">kind</span><span class="plain-syntax"> *</span><span class="identifier-syntax">K</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">inference_subject</span><span class="plain-syntax"> *</span><span class="function-syntax">Kinds::Knowledge::as_subject</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">Kinds::Knowledge::as_subject</span></span>:<br/><a href="13-kak.html#SP5">§5</a>, <a href="13-kak.html#SP6">§6</a><br/>Adjective Meanings - <a href="4-am.html#SP22">§22</a>, <a href="4-am.html#SP23">§23</a>, <a href="4-am.html#SP24">§24</a><br/>Instances - <a href="5-ins.html#SP6_2">§6.2</a>, <a href="5-ins.html#SP19">§19</a><br/>Index Physical World - <a href="5-ipw.html#SP3_7">§3.7</a><br/>Binary Predicates - <a href="6-bp.html#SP20">§20</a><br/>Relations - <a href="6-rlt.html#SP9_3_1">§9.3.1</a>, <a href="6-rlt.html#SP9_3_8">§9.3.8</a>, <a href="6-rlt.html#SP20_4">§20.4</a><br/>Refine Parse Tree - <a href="9-rpt.html#SP1">§1</a>, <a href="9-rpt.html#SP10_6">§10.6</a>, <a href="9-rpt.html#SP10_6_1">§10.6.1</a>, <a href="9-rpt.html#SP10_6_2">§10.6.2</a>, <a href="9-rpt.html#SP10_8_2_3_1">§10.8.2.3.1</a>, <a href="9-rpt.html#SP11_1">§11.1</a><br/>The Creator - <a href="9-tc.html#SP8_4_1_2">§8.4.1.2</a><br/>Make Assertions - <a href="9-ma.html#SP4_3_25">§4.3.25</a>, <a href="9-ma.html#SP4_3_26">§4.3.26</a>, <a href="9-ma.html#SP4_3_34">§4.3.34</a>, <a href="9-ma.html#SP4_3_39">§4.3.39</a><br/>Property Knowledge - <a href="9-pk.html#SP3">§3</a><br/>Implications - <a href="9-imp.html#SP4_2_1">§4.2.1</a><br/>Property Declarations - <a href="9-pd.html#SP5_6">§5.6</a>, <a href="9-pd.html#SP6_1_1">§6.1.1</a><br/>Quasinumeric Relations - <a href="12-qr.html#SP3">§3</a><br/>Assert Propositions - <a href="12-ap.html#SP9_5_2">§9.5.2</a>, <a href="12-ap.html#SP12">§12</a><br/>Kinds Index - <a href="13-ki.html#SP1_11">§1.11</a><br/>Dash - <a href="14-ds2.html#SP11_9_1_2_3">§11.9.1.2.3</a><br/>Indefinite Appearance - <a href="15-ia.html#SP1">§1</a><br/>The Provision Relation - <a href="15-tpr.html#SP7_2">§7.2</a><br/>Setting Property Relation - <a href="15-spr2.html#SP2">§2</a><br/>Inference Subjects - <a href="16-is.html#SP17">§17</a><br/>Instance Counting - <a href="16-ic.html#SP12_2">§12.2</a>, <a href="16-ic.html#SP12_3">§12.3</a>, <a href="16-ic.html#SP13">§13</a>, <a href="16-ic.html#SP14">§14</a>, <a href="16-ic.html#SP15">§15</a><br/>Tables of Definitions - <a href="19-tod.html#SP6_4">§6.4</a><br/>Listed-In Relations - <a href="19-lr.html#SP2">§2</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">kind</span><span class="plain-syntax"> *</span><span class="identifier-syntax">K</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">K</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="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">K</span><span class="plain-syntax">-></span><span class="element-syntax">construct</span><span class="plain-syntax">-></span><span class="identifier-syntax">dt_knowledge</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
|
|
@ -143,7 +143,7 @@ a kind but do so only implicitly ("scenery").
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">Descriptions::makes_kind_explicit</span><button class="popup" onclick="togglePopup('usagePopup6')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup6">Usage of <span class="code-font"><span class="function-syntax">Descriptions::makes_kind_explicit</span></span>:<br/>Refine Parse Tree - <a href="9-rpt.html#SP10_1">§10.1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">spec</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">Descriptions::makes_kind_explicit</span><button class="popup" onclick="togglePopup('usagePopup6')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup6">Usage of <span class="code-font"><span class="function-syntax">Descriptions::makes_kind_explicit</span></span>:<br/>Refine Parse Tree - <a href="9-rpt.html#SP11_1">§11.1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">spec</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> ((</span><a href="14-sp.html#SP3" class="function-link"><span class="function-syntax">Specifications::is_description</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">spec</span><span class="plain-syntax">)) &&</span>
|
||||
<span class="plain-syntax"> (</span><a href="14-ds.html#SP4" class="function-link"><span class="function-syntax">Descriptions::explicit_kind</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">spec</span><span class="plain-syntax">))) </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">;</span>
|
||||
|
@ -168,7 +168,7 @@ a named object or similar, so:
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><a href="14-ds.html#SP1" class="function-link"><span class="function-syntax">Descriptions::from_proposition</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">prop</span><span class="plain-syntax">, </span><span class="identifier-syntax">W</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="reserved-syntax">instance</span><span class="plain-syntax"> *</span><span class="function-syntax">Descriptions::to_instance</span><button class="popup" onclick="togglePopup('usagePopup9')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup9">Usage of <span class="code-font"><span class="function-syntax">Descriptions::to_instance</span></span>:<br/>Refine Parse Tree - <a href="9-rpt.html#SP9_8_2_3_1">§9.8.2.3.1</a>, <a href="9-rpt.html#SP9_8_2_5_1">§9.8.2.5.1</a>, <a href="9-rpt.html#SP10_1">§10.1</a><br/>Assert Propositions - <a href="12-ap.html#SP12">§12</a><br/>Deciding to Defer - <a href="12-dtd.html#SP18">§18</a><br/>Specifications - <a href="14-sp.html#SP4">§4</a><br/>Dash - <a href="14-ds2.html#SP27">§27</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">spec</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">instance</span><span class="plain-syntax"> *</span><span class="function-syntax">Descriptions::to_instance</span><button class="popup" onclick="togglePopup('usagePopup9')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup9">Usage of <span class="code-font"><span class="function-syntax">Descriptions::to_instance</span></span>:<br/>Refine Parse Tree - <a href="9-rpt.html#SP10_8_2_3_1">§10.8.2.3.1</a>, <a href="9-rpt.html#SP10_8_2_5_1">§10.8.2.5.1</a>, <a href="9-rpt.html#SP11_1">§11.1</a><br/>Assert Propositions - <a href="12-ap.html#SP12">§12</a><br/>Deciding to Defer - <a href="12-dtd.html#SP18">§18</a><br/>Specifications - <a href="14-sp.html#SP4">§4</a><br/>Dash - <a href="14-ds2.html#SP27">§27</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">spec</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="14-sp.html#SP3" class="function-link"><span class="function-syntax">Specifications::is_description</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">spec</span><span class="plain-syntax">)) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">pcalc_prop</span><span class="plain-syntax"> *</span><span class="identifier-syntax">prop</span><span class="plain-syntax"> = </span><a href="14-ds.html#SP1" class="function-link"><span class="function-syntax">Descriptions::to_proposition</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">spec</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">val</span><span class="plain-syntax"> = </span><a href="11-pr.html#SP24" class="function-link"><span class="function-syntax">Calculus::Propositions::describes_value</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">prop</span><span class="plain-syntax">);</span>
|
||||
|
@ -230,7 +230,7 @@ during play.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</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">int</span><span class="plain-syntax"> </span><span class="function-syntax">Descriptions::is_complex</span><button class="popup" onclick="togglePopup('usagePopup13')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup13">Usage of <span class="code-font"><span class="function-syntax">Descriptions::is_complex</span></span>:<br/><a href="14-ds.html#SP12_1">§12.1</a><br/>Refine Parse Tree - <a href="9-rpt.html#SP9_8_2_5">§9.8.2.5</a><br/>Dash - <a href="14-ds2.html#SP19_4">§19.4</a>, <a href="14-ds2.html#SP19_6_2_1">§19.6.2.1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">spec</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">Descriptions::is_complex</span><button class="popup" onclick="togglePopup('usagePopup13')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup13">Usage of <span class="code-font"><span class="function-syntax">Descriptions::is_complex</span></span>:<br/><a href="14-ds.html#SP12_1">§12.1</a><br/>Refine Parse Tree - <a href="9-rpt.html#SP10_8_2_5">§10.8.2.5</a><br/>Dash - <a href="14-ds2.html#SP19_4">§19.4</a>, <a href="14-ds2.html#SP19_6_2_1">§19.6.2.1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">spec</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="14-sp.html#SP3" class="function-link"><span class="function-syntax">Specifications::is_description</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">spec</span><span class="plain-syntax">))</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><a href="11-pr.html#SP13" class="function-link"><span class="function-syntax">Calculus::Propositions::is_complex</span></a><span class="plain-syntax">(</span>
|
||||
<span class="plain-syntax"> </span><a href="14-ds.html#SP1" class="function-link"><span class="function-syntax">Descriptions::to_proposition</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">spec</span><span class="plain-syntax">));</span>
|
||||
|
@ -258,12 +258,12 @@ a list. It's sometimes convenient to loop through this list:
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">au</span><span class="plain-syntax"> = </span><a href="11-pr.html#SP28" class="function-link"><span class="function-syntax">Calculus::Propositions::next_unary_predicate</span></a><span class="plain-syntax">(&</span><span class="identifier-syntax">au_prop</span><span class="plain-syntax">))</span>
|
||||
</pre>
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">Descriptions::number_of_adjectives_applied_to</span><button class="popup" onclick="togglePopup('usagePopup15')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup15">Usage of <span class="code-font"><span class="function-syntax">Descriptions::number_of_adjectives_applied_to</span></span>:<br/><a href="14-ds.html#SP7">§7</a>, <a href="14-ds.html#SP12_3">§12.3</a><br/>Refine Parse Tree - <a href="9-rpt.html#SP9_8_2_3_1">§9.8.2.3.1</a>, <a href="9-rpt.html#SP9_8_2_5_1">§9.8.2.5.1</a>, <a href="9-rpt.html#SP10">§10</a>, <a href="9-rpt.html#SP10_3">§10.3</a><br/>Property Knowledge - <a href="9-pk.html#SP3_2">§3.2</a><br/>Deciding to Defer - <a href="12-dtd.html#SP18">§18</a><br/>Dash - <a href="14-ds2.html#SP11_9_1_1_5_1_2">§11.9.1.1.5.1.2</a><br/>Activities - <a href="21-ac.html#SP8">§8</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">spec</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">Descriptions::number_of_adjectives_applied_to</span><button class="popup" onclick="togglePopup('usagePopup15')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup15">Usage of <span class="code-font"><span class="function-syntax">Descriptions::number_of_adjectives_applied_to</span></span>:<br/><a href="14-ds.html#SP7">§7</a>, <a href="14-ds.html#SP12_3">§12.3</a><br/>Refine Parse Tree - <a href="9-rpt.html#SP10_8_2_3_1">§10.8.2.3.1</a>, <a href="9-rpt.html#SP10_8_2_5_1">§10.8.2.5.1</a>, <a href="9-rpt.html#SP11">§11</a>, <a href="9-rpt.html#SP11_3">§11.3</a><br/>Property Knowledge - <a href="9-pk.html#SP3_2">§3.2</a><br/>Deciding to Defer - <a href="12-dtd.html#SP18">§18</a><br/>Dash - <a href="14-ds2.html#SP11_9_1_1_5_1_2">§11.9.1.1.5.1.2</a><br/>Activities - <a href="21-ac.html#SP8">§8</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">spec</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><a href="11-pr.html#SP25" class="function-link"><span class="function-syntax">Calculus::Propositions::count_unary_predicates</span></a><span class="plain-syntax">(</span>
|
||||
<span class="plain-syntax"> </span><a href="14-ds.html#SP1" class="function-link"><span class="function-syntax">Descriptions::to_proposition</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">spec</span><span class="plain-syntax">));</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="reserved-syntax">unary_predicate</span><span class="plain-syntax"> *</span><span class="function-syntax">Descriptions::first_unary_predicate</span><button class="popup" onclick="togglePopup('usagePopup16')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup16">Usage of <span class="code-font"><span class="function-syntax">Descriptions::first_unary_predicate</span></span>:<br/>Refine Parse Tree - <a href="9-rpt.html#SP10_3">§10.3</a><br/>Dash - <a href="14-ds2.html#SP11_9_1_1_5_1_2">§11.9.1.1.5.1.2</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">spec</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">unary_predicate</span><span class="plain-syntax"> *</span><span class="function-syntax">Descriptions::first_unary_predicate</span><button class="popup" onclick="togglePopup('usagePopup16')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup16">Usage of <span class="code-font"><span class="function-syntax">Descriptions::first_unary_predicate</span></span>:<br/>Refine Parse Tree - <a href="9-rpt.html#SP11_3">§11.3</a><br/>Dash - <a href="14-ds2.html#SP11_9_1_1_5_1_2">§11.9.1.1.5.1.2</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">spec</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><a href="11-pr.html#SP28" class="function-link"><span class="function-syntax">Calculus::Propositions::first_unary_predicate</span></a><span class="plain-syntax">(</span>
|
||||
<span class="plain-syntax"> </span><a href="14-ds.html#SP1" class="function-link"><span class="function-syntax">Descriptions::to_proposition</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">spec</span><span class="plain-syntax">), </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
@ -331,7 +331,7 @@ a list. It's sometimes convenient to loop through this list:
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><a href="11-pr.html#SP35" class="function-link"><span class="function-syntax">Calculus::Propositions::from_spec</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">spec</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="identifier-syntax">quantifier</span><span class="plain-syntax"> *</span><span class="function-syntax">Descriptions::get_quantifier</span><button class="popup" onclick="togglePopup('usagePopup22')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup22">Usage of <span class="code-font"><span class="function-syntax">Descriptions::get_quantifier</span></span>:<br/><a href="14-ds.html#SP8">§8</a><br/>Refine Parse Tree - <a href="9-rpt.html#SP9_8_2_3">§9.8.2.3</a>, <a href="9-rpt.html#SP9_8_2_3_1">§9.8.2.3.1</a><br/>Deciding to Defer - <a href="12-dtd.html#SP13">§13</a><br/>Dash - <a href="14-ds2.html#SP11_9_1_2_3_3">§11.9.1.2.3.3</a>, <a href="14-ds2.html#SP19_5_3">§19.5.3</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">spec</span><span class="plain-syntax">) {</span>
|
||||
<span class="identifier-syntax">quantifier</span><span class="plain-syntax"> *</span><span class="function-syntax">Descriptions::get_quantifier</span><button class="popup" onclick="togglePopup('usagePopup22')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup22">Usage of <span class="code-font"><span class="function-syntax">Descriptions::get_quantifier</span></span>:<br/><a href="14-ds.html#SP8">§8</a><br/>Refine Parse Tree - <a href="9-rpt.html#SP10_8_2_3">§10.8.2.3</a>, <a href="9-rpt.html#SP10_8_2_3_1">§10.8.2.3.1</a><br/>Deciding to Defer - <a href="12-dtd.html#SP13">§13</a><br/>Dash - <a href="14-ds2.html#SP11_9_1_2_3_3">§11.9.1.2.3.3</a>, <a href="14-ds2.html#SP19_5_3">§19.5.3</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">spec</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="14-sp.html#SP3" class="function-link"><span class="function-syntax">Specifications::is_description</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">spec</span><span class="plain-syntax">))</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><a href="11-ap.html#SP9" class="function-link"><span class="function-syntax">Calculus::Atoms::get_quantifier</span></a><span class="plain-syntax">(</span><a href="14-ds.html#SP1" class="function-link"><span class="function-syntax">Descriptions::to_proposition</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">spec</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">NULL</span><span class="plain-syntax">;</span>
|
||||
|
|
|
@ -201,7 +201,7 @@ make problem messages more readable.
|
|||
<p class="commentary firstcommentary"><a id="SP7"></a><b>§7. Testing. </b></p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="identifier-syntax">node_type_t</span><span class="plain-syntax"> </span><span class="function-syntax">Lvalues::get_storage_form</span><button class="popup" onclick="togglePopup('usagePopup7')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup7">Usage of <span class="code-font"><span class="function-syntax">Lvalues::get_storage_form</span></span>:<br/>Nonlocal Variables - <a href="5-nv.html#SP25">§25</a><br/>Make Assertions - <a href="9-ma.html#SP3_3_39">§3.3.39</a>, <a href="9-ma.html#SP3_3_41_3">§3.3.41.3</a><br/>Verbal and Relative Clauses - <a href="10-varc.html#SP13_4_1">§13.4.1</a><br/>Binding and Substitution - <a href="11-bas.html#SP19">§19</a><br/>Simplifications - <a href="11-sm.html#SP4">§4</a><br/>The Equality Relation - <a href="12-ter.html#SP8">§8</a><br/>Deciding to Defer - <a href="12-dtd.html#SP10">§10</a><br/>Specifications - <a href="14-sp.html#SP7_5">§7.5</a><br/>Dash - <a href="14-ds2.html#SP11_9_1_1_5_2">§11.9.1.1.5.2</a>, <a href="14-ds2.html#SP11_9_1_1_8">§11.9.1.1.8</a><br/>Phrase Type Data - <a href="22-ptd.html#SP18">§18</a><br/>Compile Invocations Inline - <a href="25-cii.html#SP3_5_4">§3.5.4</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">spec</span><span class="plain-syntax">) {</span>
|
||||
<span class="identifier-syntax">node_type_t</span><span class="plain-syntax"> </span><span class="function-syntax">Lvalues::get_storage_form</span><button class="popup" onclick="togglePopup('usagePopup7')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup7">Usage of <span class="code-font"><span class="function-syntax">Lvalues::get_storage_form</span></span>:<br/>Nonlocal Variables - <a href="5-nv.html#SP25">§25</a><br/>Make Assertions - <a href="9-ma.html#SP4_3_39">§4.3.39</a>, <a href="9-ma.html#SP4_3_41_3">§4.3.41.3</a><br/>Verbal and Relative Clauses - <a href="10-varc.html#SP13_4_1">§13.4.1</a><br/>Binding and Substitution - <a href="11-bas.html#SP19">§19</a><br/>Simplifications - <a href="11-sm.html#SP4">§4</a><br/>The Equality Relation - <a href="12-ter.html#SP8">§8</a><br/>Deciding to Defer - <a href="12-dtd.html#SP10">§10</a><br/>Specifications - <a href="14-sp.html#SP7_5">§7.5</a><br/>Dash - <a href="14-ds2.html#SP11_9_1_1_5_2">§11.9.1.1.5.2</a>, <a href="14-ds2.html#SP11_9_1_1_8">§11.9.1.1.8</a><br/>Phrase Type Data - <a href="22-ptd.html#SP18">§18</a><br/>Compile Invocations Inline - <a href="25-cii.html#SP3_5_4">§3.5.4</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">spec</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="7-ptu.html#SP12" class="function-link"><span class="function-syntax">ParseTreeUsage::is_lvalue</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">spec</span><span class="plain-syntax">)) </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">Node::get_type</span><span class="plain-syntax">(</span><span class="identifier-syntax">spec</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">UNKNOWN_NT</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
@ -210,7 +210,7 @@ make problem messages more readable.
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">Lvalues::is_actual_NONLOCAL_VARIABLE</span><button class="popup" onclick="togglePopup('usagePopup8')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup8">Usage of <span class="code-font"><span class="function-syntax">Lvalues::is_actual_NONLOCAL_VARIABLE</span></span>:<br/>Make Assertions - <a href="9-ma.html#SP3_2">§3.2</a><br/>Property Declarations - <a href="9-pd.html#SP5_6">§5.6</a><br/>The Equality Relation - <a href="12-ter.html#SP7">§7</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">spec</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">Lvalues::is_actual_NONLOCAL_VARIABLE</span><button class="popup" onclick="togglePopup('usagePopup8')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup8">Usage of <span class="code-font"><span class="function-syntax">Lvalues::is_actual_NONLOCAL_VARIABLE</span></span>:<br/>Make Assertions - <a href="9-ma.html#SP4_2">§4.2</a><br/>Property Declarations - <a href="9-pd.html#SP5_6">§5.6</a><br/>The Equality Relation - <a href="12-ter.html#SP7">§7</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">spec</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">Node::is</span><span class="plain-syntax">(</span><span class="identifier-syntax">spec</span><span class="plain-syntax">, </span><span class="constant-syntax">NONLOCAL_VARIABLE_NT</span><span class="plain-syntax">)) </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
|
|
@ -87,7 +87,7 @@ pointers:
|
|||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax">#</span><span class="identifier-syntax">ifdef</span><span class="plain-syntax"> </span><span class="identifier-syntax">IF_MODULE</span>
|
||||
<span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="function-syntax">Rvalues::from_action_name</span><span class="plain-syntax">(</span><span class="identifier-syntax">action_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">val</span><span class="plain-syntax">) { </span><span class="identifier-syntax">CONV_FROM</span><span class="plain-syntax">(</span><span class="identifier-syntax">action_name</span><span class="plain-syntax">, </span><span class="identifier-syntax">K_action_name</span><span class="plain-syntax">) }</span>
|
||||
<span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="function-syntax">Rvalues::from_action_pattern</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">Rvalues::from_action_pattern</span></span>:<br/>Make Assertions - <a href="9-ma.html#SP3_3_11">§3.3.11</a><br/>Conditions - <a href="14-cn.html#SP10">§10</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">action_pattern</span><span class="plain-syntax"> *</span><span class="identifier-syntax">val</span><span class="plain-syntax">) {</span>
|
||||
<span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="function-syntax">Rvalues::from_action_pattern</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">Rvalues::from_action_pattern</span></span>:<br/>Make Assertions - <a href="9-ma.html#SP4_3_11">§4.3.11</a><br/>Conditions - <a href="14-cn.html#SP10">§10</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">action_pattern</span><span class="plain-syntax"> *</span><span class="identifier-syntax">val</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">PL::Actions::Patterns::is_unspecific</span><span class="plain-syntax">(</span><span class="identifier-syntax">val</span><span class="plain-syntax">) == </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">) &&</span>
|
||||
<span class="plain-syntax"> (</span><span class="identifier-syntax">PL::Actions::Patterns::is_overspecific</span><span class="plain-syntax">(</span><span class="identifier-syntax">val</span><span class="plain-syntax">) == </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">)) ||</span>
|
||||
<span class="plain-syntax"> (</span><span class="identifier-syntax">preform_lookahead_mode</span><span class="plain-syntax">)) {</span>
|
||||
|
@ -105,7 +105,7 @@ pointers:
|
|||
<span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="function-syntax">Rvalues::from_constant_phrase</span><button class="popup" onclick="togglePopup('usagePopup4')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup4">Usage of <span class="code-font"><span class="function-syntax">Rvalues::from_constant_phrase</span></span>:<br/>Phrases as Values - <a href="22-pav.html#SP3">§3</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">constant_phrase</span><span class="plain-syntax"> *</span><span class="identifier-syntax">val</span><span class="plain-syntax">) { </span><span class="identifier-syntax">CONV_FROM</span><span class="plain-syntax">(</span><span class="reserved-syntax">constant_phrase</span><span class="plain-syntax">, </span><span class="identifier-syntax">Kinds::base_construction</span><span class="plain-syntax">(</span><span class="identifier-syntax">CON_phrase</span><span class="plain-syntax">)) }</span>
|
||||
<span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="function-syntax">Rvalues::from_equation</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">Rvalues::from_equation</span></span>:<br/>Type Expressions and Values - <a href="10-teav.html#SP12_1">§12.1</a>, <a href="10-teav.html#SP12_3">§12.3</a><br/>Equations - <a href="20-eq.html#SP10_1_3">§10.1.3</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">equation</span><span class="plain-syntax"> *</span><span class="identifier-syntax">val</span><span class="plain-syntax">) { </span><span class="identifier-syntax">CONV_FROM</span><span class="plain-syntax">(</span><span class="reserved-syntax">equation</span><span class="plain-syntax">, </span><span class="identifier-syntax">K_equation</span><span class="plain-syntax">) }</span>
|
||||
<span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="function-syntax">Rvalues::from_named_rulebook_outcome</span><button class="popup" onclick="togglePopup('usagePopup6')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup6">Usage of <span class="code-font"><span class="function-syntax">Rvalues::from_named_rulebook_outcome</span></span>:<br/>Focus and Outcome - <a href="21-fao.html#SP10">§10</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">named_rulebook_outcome</span><span class="plain-syntax"> *</span><span class="identifier-syntax">val</span><span class="plain-syntax">) { </span><span class="identifier-syntax">CONV_FROM</span><span class="plain-syntax">(</span><span class="reserved-syntax">named_rulebook_outcome</span><span class="plain-syntax">, </span><span class="identifier-syntax">K_rulebook_outcome</span><span class="plain-syntax">) }</span>
|
||||
<span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="function-syntax">Rvalues::from_property</span><button class="popup" onclick="togglePopup('usagePopup7')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup7">Usage of <span class="code-font"><span class="function-syntax">Rvalues::from_property</span></span>:<br/>Refine Parse Tree - <a href="9-rpt.html#SP9_8_2_1">§9.8.2.1</a><br/>Terms - <a href="11-tr.html#SP8">§8</a><br/>Propositions - <a href="11-pr.html#SP27">§27</a><br/>Tree Conversions - <a href="11-tc.html#SP4">§4</a><br/>Properties - <a href="15-pr.html#SP5_8">§5.8</a><br/>Measurement Adjectives - <a href="15-ma.html#SP13">§13</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">property</span><span class="plain-syntax"> *</span><span class="identifier-syntax">val</span><span class="plain-syntax">) { </span><span class="identifier-syntax">CONV_FROM</span><span class="plain-syntax">(</span><span class="reserved-syntax">property</span><span class="plain-syntax">, </span><a href="15-pr.html#SP6" class="function-link"><span class="function-syntax">Properties::to_kind</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">val</span><span class="plain-syntax">)) }</span>
|
||||
<span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="function-syntax">Rvalues::from_property</span><button class="popup" onclick="togglePopup('usagePopup7')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup7">Usage of <span class="code-font"><span class="function-syntax">Rvalues::from_property</span></span>:<br/>Refine Parse Tree - <a href="9-rpt.html#SP10_8_2_1">§10.8.2.1</a><br/>Terms - <a href="11-tr.html#SP8">§8</a><br/>Propositions - <a href="11-pr.html#SP27">§27</a><br/>Tree Conversions - <a href="11-tc.html#SP4">§4</a><br/>Properties - <a href="15-pr.html#SP5_8">§5.8</a><br/>Measurement Adjectives - <a href="15-ma.html#SP13">§13</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">property</span><span class="plain-syntax"> *</span><span class="identifier-syntax">val</span><span class="plain-syntax">) { </span><span class="identifier-syntax">CONV_FROM</span><span class="plain-syntax">(</span><span class="reserved-syntax">property</span><span class="plain-syntax">, </span><a href="15-pr.html#SP6" class="function-link"><span class="function-syntax">Properties::to_kind</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">val</span><span class="plain-syntax">)) }</span>
|
||||
<span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="function-syntax">Rvalues::from_rule</span><button class="popup" onclick="togglePopup('usagePopup8')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup8">Usage of <span class="code-font"><span class="function-syntax">Rvalues::from_rule</span></span>:<br/>Rules - <a href="21-rl.html#SP5_1">§5.1</a><br/>Rule Bookings - <a href="21-rb.html#SP24_1">§24.1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">rule</span><span class="plain-syntax"> *</span><span class="identifier-syntax">val</span><span class="plain-syntax">) { </span><span class="identifier-syntax">CONV_FROM</span><span class="plain-syntax">(</span><span class="reserved-syntax">rule</span><span class="plain-syntax">, </span><a href="21-rl.html#SP8" class="function-link"><span class="function-syntax">Rules::to_kind</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">val</span><span class="plain-syntax">)) }</span>
|
||||
<span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="function-syntax">Rvalues::from_rulebook</span><button class="popup" onclick="togglePopup('usagePopup9')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup9">Usage of <span class="code-font"><span class="function-syntax">Rvalues::from_rulebook</span></span>:<br/>The Creator - <a href="9-tc.html#SP5_4_2_4">§5.4.2.4</a><br/>Rulebooks - <a href="21-rl2.html#SP10">§10</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">rulebook</span><span class="plain-syntax"> *</span><span class="identifier-syntax">val</span><span class="plain-syntax">) { </span><span class="identifier-syntax">CONV_FROM</span><span class="plain-syntax">(</span><span class="reserved-syntax">rulebook</span><span class="plain-syntax">, </span><a href="21-rl2.html#SP10" class="function-link"><span class="function-syntax">Rulebooks::to_kind</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">val</span><span class="plain-syntax">)) }</span>
|
||||
<span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="function-syntax">Rvalues::from_table</span><button class="popup" onclick="togglePopup('usagePopup10')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup10">Usage of <span class="code-font"><span class="function-syntax">Rvalues::from_table</span></span>:<br/>Tables - <a href="19-tb.html#SP20_7">§20.7</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">table</span><span class="plain-syntax"> *</span><span class="identifier-syntax">val</span><span class="plain-syntax">) { </span><span class="identifier-syntax">CONV_FROM</span><span class="plain-syntax">(</span><span class="reserved-syntax">table</span><span class="plain-syntax">, </span><span class="identifier-syntax">K_table</span><span class="plain-syntax">) }</span>
|
||||
|
@ -129,14 +129,14 @@ pointers:
|
|||
<span class="identifier-syntax">named_action_pattern</span><span class="plain-syntax"> *</span><span class="function-syntax">Rvalues::to_named_action_pattern</span><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">spec</span><span class="plain-syntax">) { </span><span class="identifier-syntax">CONV_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">named_action_pattern</span><span class="plain-syntax">) }</span>
|
||||
<span class="identifier-syntax">scene</span><span class="plain-syntax"> *</span><span class="function-syntax">Rvalues::to_scene</span><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">spec</span><span class="plain-syntax">) { </span><span class="identifier-syntax">CONV_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">scene</span><span class="plain-syntax">) }</span>
|
||||
<span class="plain-syntax">#</span><span class="identifier-syntax">endif</span>
|
||||
<span class="reserved-syntax">activity</span><span class="plain-syntax"> *</span><span class="function-syntax">Rvalues::to_activity</span><button class="popup" onclick="togglePopup('usagePopup15')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup15">Usage of <span class="code-font"><span class="function-syntax">Rvalues::to_activity</span></span>:<br/><a href="14-rv.html#SP20">§20</a>, <a href="14-rv.html#SP24_3">§24.3</a><br/>Make Assertions - <a href="9-ma.html#SP3_3_25_1">§3.3.25.1</a><br/>Activities - <a href="21-ac.html#SP11">§11</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">spec</span><span class="plain-syntax">) { </span><span class="identifier-syntax">CONV_TO</span><span class="plain-syntax">(</span><span class="reserved-syntax">activity</span><span class="plain-syntax">) }</span>
|
||||
<span class="reserved-syntax">activity</span><span class="plain-syntax"> *</span><span class="function-syntax">Rvalues::to_activity</span><button class="popup" onclick="togglePopup('usagePopup15')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup15">Usage of <span class="code-font"><span class="function-syntax">Rvalues::to_activity</span></span>:<br/><a href="14-rv.html#SP20">§20</a>, <a href="14-rv.html#SP24_3">§24.3</a><br/>Make Assertions - <a href="9-ma.html#SP4_3_25_1">§4.3.25.1</a><br/>Activities - <a href="21-ac.html#SP11">§11</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">spec</span><span class="plain-syntax">) { </span><span class="identifier-syntax">CONV_TO</span><span class="plain-syntax">(</span><span class="reserved-syntax">activity</span><span class="plain-syntax">) }</span>
|
||||
<span class="reserved-syntax">binary_predicate</span><span class="plain-syntax"> *</span><span class="function-syntax">Rvalues::to_binary_predicate</span><button class="popup" onclick="togglePopup('usagePopup16')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup16">Usage of <span class="code-font"><span class="function-syntax">Rvalues::to_binary_predicate</span></span>:<br/><a href="14-rv.html#SP20">§20</a>, <a href="14-rv.html#SP23_2">§23.2</a>, <a href="14-rv.html#SP24_3">§24.3</a><br/>Type Check Propositions - <a href="11-tcp.html#SP11_3">§11.3</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">spec</span><span class="plain-syntax">) { </span><span class="identifier-syntax">CONV_TO</span><span class="plain-syntax">(</span><span class="reserved-syntax">binary_predicate</span><span class="plain-syntax">) }</span>
|
||||
<span class="reserved-syntax">constant_phrase</span><span class="plain-syntax"> *</span><span class="function-syntax">Rvalues::to_constant_phrase</span><button class="popup" onclick="togglePopup('usagePopup17')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup17">Usage of <span class="code-font"><span class="function-syntax">Rvalues::to_constant_phrase</span></span>:<br/><a href="14-rv.html#SP20">§20</a>, <a href="14-rv.html#SP23_6">§23.6</a>, <a href="14-rv.html#SP24_3">§24.3</a><br/>Phrases as Values - <a href="22-pav.html#SP4">§4</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">spec</span><span class="plain-syntax">) { </span><span class="identifier-syntax">CONV_TO</span><span class="plain-syntax">(</span><span class="reserved-syntax">constant_phrase</span><span class="plain-syntax">) }</span>
|
||||
<span class="reserved-syntax">equation</span><span class="plain-syntax"> *</span><span class="function-syntax">Rvalues::to_equation</span><button class="popup" onclick="togglePopup('usagePopup18')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup18">Usage of <span class="code-font"><span class="function-syntax">Rvalues::to_equation</span></span>:<br/><a href="14-rv.html#SP24_3">§24.3</a><br/>Type Expressions and Values - <a href="10-teav.html#SP12_2">§12.2</a><br/>Compile Invocations Inline - <a href="25-cii.html#SP3_7_3">§3.7.3</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">spec</span><span class="plain-syntax">) { </span><span class="identifier-syntax">CONV_TO</span><span class="plain-syntax">(</span><span class="reserved-syntax">equation</span><span class="plain-syntax">) }</span>
|
||||
<span class="reserved-syntax">named_rulebook_outcome</span><span class="plain-syntax"> *</span><span class="function-syntax">Rvalues::to_named_rulebook_outcome</span><button class="popup" onclick="togglePopup('usagePopup19')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup19">Usage of <span class="code-font"><span class="function-syntax">Rvalues::to_named_rulebook_outcome</span></span>:<br/><a href="14-rv.html#SP24_3">§24.3</a><br/>Focus and Outcome - <a href="21-fao.html#SP9">§9</a>, <a href="21-fao.html#SP10">§10</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">spec</span><span class="plain-syntax">) { </span><span class="identifier-syntax">CONV_TO</span><span class="plain-syntax">(</span><span class="reserved-syntax">named_rulebook_outcome</span><span class="plain-syntax">) }</span>
|
||||
<span class="reserved-syntax">property</span><span class="plain-syntax"> *</span><span class="function-syntax">Rvalues::to_property</span><button class="popup" onclick="togglePopup('usagePopup20')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup20">Usage of <span class="code-font"><span class="function-syntax">Rvalues::to_property</span></span>:<br/><a href="14-rv.html#SP20">§20</a>, <a href="14-rv.html#SP23_3">§23.3</a>, <a href="14-rv.html#SP24_3_1">§24.3.1</a><br/>The Creator - <a href="9-tc.html#SP4_5">§4.5</a><br/>Make Assertions - <a href="9-ma.html#SP3_3_8_2">§3.3.8.2</a>, <a href="9-ma.html#SP3_3_41_4">§3.3.41.4</a>, <a href="9-ma.html#SP3_3_41_7">§3.3.41.7</a><br/>Propositions - <a href="11-pr.html#SP35_2">§35.2</a><br/>Sentence Conversions - <a href="11-sc.html#SP3_3">§3.3</a><br/>Simplifications - <a href="11-sm.html#SP17_1">§17.1</a>, <a href="11-sm.html#SP18">§18</a><br/>Lvalues - <a href="14-lv.html#SP10">§10</a>, <a href="14-lv.html#SP12_5">§12.5</a>, <a href="14-lv.html#SP14_3">§14.3</a><br/>Dash - <a href="14-ds2.html#SP11_9_1_1_2_1">§11.9.1.1.2.1</a>, <a href="14-ds2.html#SP11_9_1_1_5_1_2">§11.9.1.1.5.1.2</a>, <a href="14-ds2.html#SP11_9_1_2_3">§11.9.1.2.3</a>, <a href="14-ds2.html#SP13">§13</a>, <a href="14-ds2.html#SP19_3">§19.3</a><br/>Properties - <a href="15-pr.html#SP4">§4</a><br/>The Provision Relation - <a href="15-tpr.html#SP6">§6</a>, <a href="15-tpr.html#SP7">§7</a><br/>Compile Invocations Inline - <a href="25-cii.html#SP3_1_1_4_11">§3.1.1.4.11</a>, <a href="25-cii.html#SP3_7">§3.7</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">spec</span><span class="plain-syntax">) { </span><span class="identifier-syntax">CONV_TO</span><span class="plain-syntax">(</span><span class="reserved-syntax">property</span><span class="plain-syntax">) }</span>
|
||||
<span class="reserved-syntax">rule</span><span class="plain-syntax"> *</span><span class="function-syntax">Rvalues::to_rule</span><button class="popup" onclick="togglePopup('usagePopup21')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup21">Usage of <span class="code-font"><span class="function-syntax">Rvalues::to_rule</span></span>:<br/><a href="14-rv.html#SP20">§20</a>, <a href="14-rv.html#SP24_3">§24.3</a><br/>Make Assertions - <a href="9-ma.html#SP3_3_41_6">§3.3.41.6</a><br/>I6 Schemas - <a href="12-is.html#SP7_1">§7.1</a><br/>Rules - <a href="21-rl.html#SP6">§6</a><br/>Compile Invocations Inline - <a href="25-cii.html#SP3_1_1_4_12">§3.1.1.4.12</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">spec</span><span class="plain-syntax">) { </span><span class="identifier-syntax">CONV_TO</span><span class="plain-syntax">(</span><span class="reserved-syntax">rule</span><span class="plain-syntax">) }</span>
|
||||
<span class="reserved-syntax">rulebook</span><span class="plain-syntax"> *</span><span class="function-syntax">Rvalues::to_rulebook</span><button class="popup" onclick="togglePopup('usagePopup22')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup22">Usage of <span class="code-font"><span class="function-syntax">Rvalues::to_rulebook</span></span>:<br/><a href="14-rv.html#SP20">§20</a>, <a href="14-rv.html#SP24_3">§24.3</a><br/>Make Assertions - <a href="9-ma.html#SP3_3_18">§3.3.18</a>, <a href="9-ma.html#SP3_3_25_2">§3.3.25.2</a><br/>Rule Placement Sentences - <a href="21-rps.html#SP2">§2</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">spec</span><span class="plain-syntax">) { </span><span class="identifier-syntax">CONV_TO</span><span class="plain-syntax">(</span><span class="reserved-syntax">rulebook</span><span class="plain-syntax">) }</span>
|
||||
<span class="reserved-syntax">property</span><span class="plain-syntax"> *</span><span class="function-syntax">Rvalues::to_property</span><button class="popup" onclick="togglePopup('usagePopup20')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup20">Usage of <span class="code-font"><span class="function-syntax">Rvalues::to_property</span></span>:<br/><a href="14-rv.html#SP20">§20</a>, <a href="14-rv.html#SP23_3">§23.3</a>, <a href="14-rv.html#SP24_3_1">§24.3.1</a><br/>The Creator - <a href="9-tc.html#SP4_5">§4.5</a><br/>Make Assertions - <a href="9-ma.html#SP4_3_8_2">§4.3.8.2</a>, <a href="9-ma.html#SP4_3_41_4">§4.3.41.4</a>, <a href="9-ma.html#SP4_3_41_7">§4.3.41.7</a><br/>Propositions - <a href="11-pr.html#SP35_2">§35.2</a><br/>Sentence Conversions - <a href="11-sc.html#SP3_3">§3.3</a><br/>Simplifications - <a href="11-sm.html#SP17_1">§17.1</a>, <a href="11-sm.html#SP18">§18</a><br/>Lvalues - <a href="14-lv.html#SP10">§10</a>, <a href="14-lv.html#SP12_5">§12.5</a>, <a href="14-lv.html#SP14_3">§14.3</a><br/>Dash - <a href="14-ds2.html#SP11_9_1_1_2_1">§11.9.1.1.2.1</a>, <a href="14-ds2.html#SP11_9_1_1_5_1_2">§11.9.1.1.5.1.2</a>, <a href="14-ds2.html#SP11_9_1_2_3">§11.9.1.2.3</a>, <a href="14-ds2.html#SP13">§13</a>, <a href="14-ds2.html#SP19_3">§19.3</a><br/>Properties - <a href="15-pr.html#SP4">§4</a><br/>The Provision Relation - <a href="15-tpr.html#SP6">§6</a>, <a href="15-tpr.html#SP7">§7</a><br/>Compile Invocations Inline - <a href="25-cii.html#SP3_1_1_4_11">§3.1.1.4.11</a>, <a href="25-cii.html#SP3_7">§3.7</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">spec</span><span class="plain-syntax">) { </span><span class="identifier-syntax">CONV_TO</span><span class="plain-syntax">(</span><span class="reserved-syntax">property</span><span class="plain-syntax">) }</span>
|
||||
<span class="reserved-syntax">rule</span><span class="plain-syntax"> *</span><span class="function-syntax">Rvalues::to_rule</span><button class="popup" onclick="togglePopup('usagePopup21')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup21">Usage of <span class="code-font"><span class="function-syntax">Rvalues::to_rule</span></span>:<br/><a href="14-rv.html#SP20">§20</a>, <a href="14-rv.html#SP24_3">§24.3</a><br/>Make Assertions - <a href="9-ma.html#SP4_3_41_6">§4.3.41.6</a><br/>I6 Schemas - <a href="12-is.html#SP7_1">§7.1</a><br/>Rules - <a href="21-rl.html#SP6">§6</a><br/>Compile Invocations Inline - <a href="25-cii.html#SP3_1_1_4_12">§3.1.1.4.12</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">spec</span><span class="plain-syntax">) { </span><span class="identifier-syntax">CONV_TO</span><span class="plain-syntax">(</span><span class="reserved-syntax">rule</span><span class="plain-syntax">) }</span>
|
||||
<span class="reserved-syntax">rulebook</span><span class="plain-syntax"> *</span><span class="function-syntax">Rvalues::to_rulebook</span><button class="popup" onclick="togglePopup('usagePopup22')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup22">Usage of <span class="code-font"><span class="function-syntax">Rvalues::to_rulebook</span></span>:<br/><a href="14-rv.html#SP20">§20</a>, <a href="14-rv.html#SP24_3">§24.3</a><br/>Make Assertions - <a href="9-ma.html#SP4_3_18">§4.3.18</a>, <a href="9-ma.html#SP4_3_25_2">§4.3.25.2</a><br/>Rule Placement Sentences - <a href="21-rps.html#SP2">§2</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">spec</span><span class="plain-syntax">) { </span><span class="identifier-syntax">CONV_TO</span><span class="plain-syntax">(</span><span class="reserved-syntax">rulebook</span><span class="plain-syntax">) }</span>
|
||||
<span class="reserved-syntax">table</span><span class="plain-syntax"> *</span><span class="function-syntax">Rvalues::to_table</span><button class="popup" onclick="togglePopup('usagePopup23')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup23">Usage of <span class="code-font"><span class="function-syntax">Rvalues::to_table</span></span>:<br/><a href="14-rv.html#SP24_3">§24.3</a><br/>Tables of Definitions - <a href="19-tod.html#SP6">§6</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">spec</span><span class="plain-syntax">) { </span><span class="identifier-syntax">CONV_TO</span><span class="plain-syntax">(</span><span class="reserved-syntax">table</span><span class="plain-syntax">) }</span>
|
||||
<span class="reserved-syntax">table_column</span><span class="plain-syntax"> *</span><span class="function-syntax">Rvalues::to_table_column</span><button class="popup" onclick="togglePopup('usagePopup24')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup24">Usage of <span class="code-font"><span class="function-syntax">Rvalues::to_table_column</span></span>:<br/><a href="14-rv.html#SP20">§20</a>, <a href="14-rv.html#SP23_5">§23.5</a>, <a href="14-rv.html#SP24_3">§24.3</a><br/>Simplifications - <a href="11-sm.html#SP4">§4</a><br/>Lvalues - <a href="14-lv.html#SP12_3">§12.3</a><br/>Table Columns - <a href="19-tc.html#SP13">§13</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">spec</span><span class="plain-syntax">) { </span><span class="identifier-syntax">CONV_TO</span><span class="plain-syntax">(</span><span class="reserved-syntax">table_column</span><span class="plain-syntax">) }</span>
|
||||
<span class="reserved-syntax">use_option</span><span class="plain-syntax"> *</span><span class="function-syntax">Rvalues::to_use_option</span><button class="popup" onclick="togglePopup('usagePopup25')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup25">Usage of <span class="code-font"><span class="function-syntax">Rvalues::to_use_option</span></span>:<br/><a href="14-rv.html#SP24_3">§24.3</a><br/>Use Options - <a href="26-uo.html#SP7">§7</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">spec</span><span class="plain-syntax">) { </span><span class="identifier-syntax">CONV_TO</span><span class="plain-syntax">(</span><span class="reserved-syntax">use_option</span><span class="plain-syntax">) }</span>
|
||||
|
@ -156,13 +156,13 @@ objects.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">val</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="reserved-syntax">instance</span><span class="plain-syntax"> *</span><span class="function-syntax">Rvalues::to_instance</span><button class="popup" onclick="togglePopup('usagePopup28')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup28">Usage of <span class="code-font"><span class="function-syntax">Rvalues::to_instance</span></span>:<br/><a href="14-rv.html#SP4">§4</a>, <a href="14-rv.html#SP20">§20</a>, <a href="14-rv.html#SP22">§22</a>, <a href="14-rv.html#SP23_1">§23.1</a>, <a href="14-rv.html#SP24_3">§24.3</a><br/>Supplementary Quotes - <a href="2-sq.html#SP4">§4</a><br/>Adjective Meanings - <a href="4-am.html#SP26_4">§26.4</a><br/>Instances - <a href="5-ins.html#SP17">§17</a><br/>Make Assertions - <a href="9-ma.html#SP3_3_39">§3.3.39</a>, <a href="9-ma.html#SP3_3_40_1">§3.3.40.1</a>, <a href="9-ma.html#SP3_3_41_5">§3.3.41.5</a><br/>Verbal and Relative Clauses - <a href="10-varc.html#SP9_1">§9.1</a><br/>Propositions - <a href="11-pr.html#SP35_1">§35.1</a><br/>The Equality Relation - <a href="12-ter.html#SP8_5">§8.5</a><br/>Specifications - <a href="14-sp.html#SP4">§4</a><br/>Descriptions - <a href="14-ds.html#SP5">§5</a><br/>Dash - <a href="14-ds2.html#SP11_9_1_1_5_1_1">§11.9.1.1.5.1.1</a><br/>Inference Subjects - <a href="16-is.html#SP17">§17</a><br/>Phrase Runtime Context Data - <a href="22-prcd.html#SP6">§6</a><br/>Local Variables - <a href="24-lv.html#SP34">§34</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">spec</span><span class="plain-syntax">) { </span><span class="identifier-syntax">CONV_TO</span><span class="plain-syntax">(</span><span class="reserved-syntax">instance</span><span class="plain-syntax">) }</span>
|
||||
<span class="reserved-syntax">instance</span><span class="plain-syntax"> *</span><span class="function-syntax">Rvalues::to_instance</span><button class="popup" onclick="togglePopup('usagePopup28')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup28">Usage of <span class="code-font"><span class="function-syntax">Rvalues::to_instance</span></span>:<br/><a href="14-rv.html#SP4">§4</a>, <a href="14-rv.html#SP20">§20</a>, <a href="14-rv.html#SP22">§22</a>, <a href="14-rv.html#SP23_1">§23.1</a>, <a href="14-rv.html#SP24_3">§24.3</a><br/>Supplementary Quotes - <a href="2-sq.html#SP4">§4</a><br/>Adjective Meanings - <a href="4-am.html#SP26_4">§26.4</a><br/>Instances - <a href="5-ins.html#SP17">§17</a><br/>Make Assertions - <a href="9-ma.html#SP4_3_39">§4.3.39</a>, <a href="9-ma.html#SP4_3_40_1">§4.3.40.1</a>, <a href="9-ma.html#SP4_3_41_5">§4.3.41.5</a><br/>Verbal and Relative Clauses - <a href="10-varc.html#SP9_1">§9.1</a><br/>Propositions - <a href="11-pr.html#SP35_1">§35.1</a><br/>The Equality Relation - <a href="12-ter.html#SP8_5">§8.5</a><br/>Specifications - <a href="14-sp.html#SP4">§4</a><br/>Descriptions - <a href="14-ds.html#SP5">§5</a><br/>Dash - <a href="14-ds2.html#SP11_9_1_1_5_1_1">§11.9.1.1.5.1.1</a><br/>Inference Subjects - <a href="16-is.html#SP17">§17</a><br/>Phrase Runtime Context Data - <a href="22-prcd.html#SP6">§6</a><br/>Local Variables - <a href="24-lv.html#SP34">§34</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">spec</span><span class="plain-syntax">) { </span><span class="identifier-syntax">CONV_TO</span><span class="plain-syntax">(</span><span class="reserved-syntax">instance</span><span class="plain-syntax">) }</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP4"></a><b>§4. </b>An instance of a subkind of <span class="extract"><span class="extract-syntax">K_object</span></span> is called an "object":
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">Rvalues::is_object</span><button class="popup" onclick="togglePopup('usagePopup29')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup29">Usage of <span class="code-font"><span class="function-syntax">Rvalues::is_object</span></span>:<br/><a href="14-rv.html#SP22">§22</a>, <a href="14-rv.html#SP23">§23</a><br/>Supplementary Quotes - <a href="2-sq.html#SP4">§4</a><br/>Make Assertions - <a href="9-ma.html#SP3_3_41">§3.3.41</a>, <a href="9-ma.html#SP3_3_41_2">§3.3.41.2</a><br/>Relation Knowledge - <a href="9-rk.html#SP1_3">§1.3</a><br/>Specifications - <a href="14-sp.html#SP3">§3</a>, <a href="14-sp.html#SP4">§4</a><br/>Dash - <a href="14-ds2.html#SP11_9_1_2_3">§11.9.1.2.3</a><br/>Local Variables - <a href="24-lv.html#SP34">§34</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">spec</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">Rvalues::is_object</span><button class="popup" onclick="togglePopup('usagePopup29')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup29">Usage of <span class="code-font"><span class="function-syntax">Rvalues::is_object</span></span>:<br/><a href="14-rv.html#SP22">§22</a>, <a href="14-rv.html#SP23">§23</a><br/>Supplementary Quotes - <a href="2-sq.html#SP4">§4</a><br/>Make Assertions - <a href="9-ma.html#SP4_3_41">§4.3.41</a>, <a href="9-ma.html#SP4_3_41_2">§4.3.41.2</a><br/>Relation Knowledge - <a href="9-rk.html#SP1_3">§1.3</a><br/>Specifications - <a href="14-sp.html#SP3">§3</a>, <a href="14-sp.html#SP4">§4</a><br/>Dash - <a href="14-ds2.html#SP11_9_1_2_3">§11.9.1.2.3</a><br/>Local Variables - <a href="24-lv.html#SP34">§34</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">spec</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">Node::is</span><span class="plain-syntax">(</span><span class="identifier-syntax">spec</span><span class="plain-syntax">, </span><span class="constant-syntax">CONSTANT_NT</span><span class="plain-syntax">)) &&</span>
|
||||
<span class="plain-syntax"> (</span><span class="identifier-syntax">Kinds::Compare::le</span><span class="plain-syntax">(</span><span class="identifier-syntax">Node::get_kind_of_value</span><span class="plain-syntax">(</span><span class="identifier-syntax">spec</span><span class="plain-syntax">), </span><span class="identifier-syntax">K_object</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">TRUE</span><span class="plain-syntax">;</span>
|
||||
|
@ -415,14 +415,14 @@ in the proposition.
|
|||
<p class="commentary firstcommentary"><a id="SP19"></a><b>§19. Testing. </b></p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">Rvalues::is_CONSTANT_construction</span><button class="popup" onclick="togglePopup('usagePopup50')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup50">Usage of <span class="code-font"><span class="function-syntax">Rvalues::is_CONSTANT_construction</span></span>:<br/><a href="14-rv.html#SP18">§18</a>, <a href="14-rv.html#SP21">§21</a>, <a href="14-rv.html#SP23">§23</a><br/>The Creator - <a href="9-tc.html#SP4_5">§4.5</a><br/>Make Assertions - <a href="9-ma.html#SP3_2">§3.2</a>, <a href="9-ma.html#SP3_3_18">§3.3.18</a>, <a href="9-ma.html#SP3_3_25">§3.3.25</a>, <a href="9-ma.html#SP3_3_41">§3.3.41</a>, <a href="9-ma.html#SP3_3_41_4">§3.3.41.4</a>, <a href="9-ma.html#SP3_3_41_7">§3.3.41.7</a><br/>Property Declarations - <a href="9-pd.html#SP5_11_1">§5.11.1</a><br/>Constants and Descriptions - <a href="10-cad.html#SP3">§3</a>, <a href="10-cad.html#SP5">§5</a><br/>Propositions - <a href="11-pr.html#SP35_2">§35.2</a><br/>Sentence Conversions - <a href="11-sc.html#SP3_3">§3.3</a>, <a href="11-sc.html#SP3_6">§3.6</a><br/>Simplifications - <a href="11-sm.html#SP17">§17</a>, <a href="11-sm.html#SP18">§18</a><br/>Deciding to Defer - <a href="12-dtd.html#SP18">§18</a><br/>Specifications - <a href="14-sp.html#SP3">§3</a><br/>Lvalues - <a href="14-lv.html#SP10">§10</a><br/>Descriptions - <a href="14-ds.html#SP1">§1</a>, <a href="14-ds.html#SP2">§2</a><br/>Dash - <a href="14-ds2.html#SP10_1_1_3_1_3">§10.1.1.3.1.3</a>, <a href="14-ds2.html#SP11_9_1_1_2_1">§11.9.1.1.2.1</a>, <a href="14-ds2.html#SP11_9_1_1_3_1_1">§11.9.1.1.3.1.1</a>, <a href="14-ds2.html#SP11_9_1_1_5_1">§11.9.1.1.5.1</a>, <a href="14-ds2.html#SP11_9_1_1_5_1_2">§11.9.1.1.5.1.2</a>, <a href="14-ds2.html#SP13">§13</a>, <a href="14-ds2.html#SP19_3">§19.3</a><br/>Properties - <a href="15-pr.html#SP5_2">§5.2</a><br/>Rules - <a href="21-rl.html#SP6">§6</a><br/>Rule Placement Sentences - <a href="21-rps.html#SP2">§2</a><br/>Activities - <a href="21-ac.html#SP11">§11</a><br/>Phrases as Values - <a href="22-pav.html#SP4">§4</a><br/>Local Variables - <a href="24-lv.html#SP34">§34</a><br/>Compile Invocations Inline - <a href="25-cii.html#SP3_1_1_4_12">§3.1.1.4.12</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">spec</span><span class="plain-syntax">, </span><span class="identifier-syntax">kind_constructor</span><span class="plain-syntax"> *</span><span class="identifier-syntax">con</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">Rvalues::is_CONSTANT_construction</span><button class="popup" onclick="togglePopup('usagePopup50')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup50">Usage of <span class="code-font"><span class="function-syntax">Rvalues::is_CONSTANT_construction</span></span>:<br/><a href="14-rv.html#SP18">§18</a>, <a href="14-rv.html#SP21">§21</a>, <a href="14-rv.html#SP23">§23</a><br/>The Creator - <a href="9-tc.html#SP4_5">§4.5</a><br/>Make Assertions - <a href="9-ma.html#SP4_2">§4.2</a>, <a href="9-ma.html#SP4_3_18">§4.3.18</a>, <a href="9-ma.html#SP4_3_25">§4.3.25</a>, <a href="9-ma.html#SP4_3_41">§4.3.41</a>, <a href="9-ma.html#SP4_3_41_4">§4.3.41.4</a>, <a href="9-ma.html#SP4_3_41_7">§4.3.41.7</a><br/>Property Declarations - <a href="9-pd.html#SP5_11_1">§5.11.1</a><br/>Constants and Descriptions - <a href="10-cad.html#SP3">§3</a>, <a href="10-cad.html#SP5">§5</a><br/>Propositions - <a href="11-pr.html#SP35_2">§35.2</a><br/>Sentence Conversions - <a href="11-sc.html#SP3_3">§3.3</a>, <a href="11-sc.html#SP3_6">§3.6</a><br/>Simplifications - <a href="11-sm.html#SP17">§17</a>, <a href="11-sm.html#SP18">§18</a><br/>Deciding to Defer - <a href="12-dtd.html#SP18">§18</a><br/>Specifications - <a href="14-sp.html#SP3">§3</a><br/>Lvalues - <a href="14-lv.html#SP10">§10</a><br/>Descriptions - <a href="14-ds.html#SP1">§1</a>, <a href="14-ds.html#SP2">§2</a><br/>Dash - <a href="14-ds2.html#SP10_1_1_3_1_3">§10.1.1.3.1.3</a>, <a href="14-ds2.html#SP11_9_1_1_2_1">§11.9.1.1.2.1</a>, <a href="14-ds2.html#SP11_9_1_1_3_1_1">§11.9.1.1.3.1.1</a>, <a href="14-ds2.html#SP11_9_1_1_5_1">§11.9.1.1.5.1</a>, <a href="14-ds2.html#SP11_9_1_1_5_1_2">§11.9.1.1.5.1.2</a>, <a href="14-ds2.html#SP13">§13</a>, <a href="14-ds2.html#SP19_3">§19.3</a><br/>Properties - <a href="15-pr.html#SP5_2">§5.2</a><br/>Rules - <a href="21-rl.html#SP6">§6</a><br/>Rule Placement Sentences - <a href="21-rps.html#SP2">§2</a><br/>Activities - <a href="21-ac.html#SP11">§11</a><br/>Phrases as Values - <a href="22-pav.html#SP4">§4</a><br/>Local Variables - <a href="24-lv.html#SP34">§34</a><br/>Compile Invocations Inline - <a href="25-cii.html#SP3_1_1_4_12">§3.1.1.4.12</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">spec</span><span class="plain-syntax">, </span><span class="identifier-syntax">kind_constructor</span><span class="plain-syntax"> *</span><span class="identifier-syntax">con</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">Node::is</span><span class="plain-syntax">(</span><span class="identifier-syntax">spec</span><span class="plain-syntax">, </span><span class="constant-syntax">CONSTANT_NT</span><span class="plain-syntax">)) &&</span>
|
||||
<span class="plain-syntax"> (</span><span class="identifier-syntax">Kinds::get_construct</span><span class="plain-syntax">(</span><span class="identifier-syntax">Node::get_kind_of_value</span><span class="plain-syntax">(</span><span class="identifier-syntax">spec</span><span class="plain-syntax">)) == </span><span class="identifier-syntax">con</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">TRUE</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">FALSE</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">Rvalues::is_CONSTANT_of_kind</span><button class="popup" onclick="togglePopup('usagePopup51')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup51">Usage of <span class="code-font"><span class="function-syntax">Rvalues::is_CONSTANT_of_kind</span></span>:<br/><a href="14-rv.html#SP9">§9</a>, <a href="14-rv.html#SP10">§10</a>, <a href="14-rv.html#SP11">§11</a>, <a href="14-rv.html#SP12">§12</a><br/>Literal Patterns - <a href="5-lp.html#SP34_4">§34.4</a><br/>Traverse for Assertions - <a href="9-tfa.html#SP7_2_1">§7.2.1</a><br/>The Creator - <a href="9-tc.html#SP2">§2</a><br/>Make Assertions - <a href="9-ma.html#SP3_3_26_1_1">§3.3.26.1.1</a>, <a href="9-ma.html#SP3_3_41_6">§3.3.41.6</a><br/>Architecture of the S-Parser - <a href="10-aots.html#SP10">§10</a><br/>Constants and Descriptions - <a href="10-cad.html#SP3">§3</a>, <a href="10-cad.html#SP5">§5</a><br/>Type Expressions and Values - <a href="10-teav.html#SP12_2">§12.2</a><br/>Conditions and Phrases - <a href="10-cap.html#SP12_1">§12.1</a><br/>I6 Schemas - <a href="12-is.html#SP7_1">§7.1</a><br/>Dash - <a href="14-ds2.html#SP17">§17</a>, <a href="14-ds2.html#SP19_5_2">§19.5.2</a><br/>Responses - <a href="17-rs.html#SP11">§11</a><br/>Tables of Definitions - <a href="19-tod.html#SP2_1">§2.1</a><br/>Focus and Outcome - <a href="21-fao.html#SP9">§9</a>, <a href="21-fao.html#SP10">§10</a><br/>Compile Invocations - <a href="25-ci.html#SP4_2">§4.2</a><br/>Compile Invocations Inline - <a href="25-cii.html#SP3_1_1_4_6">§3.1.1.4.6</a>, <a href="25-cii.html#SP3_1_1_4_9">§3.1.1.4.9</a>, <a href="25-cii.html#SP3_1_1_4_10">§3.1.1.4.10</a>, <a href="25-cii.html#SP3_5_8_1">§3.5.8.1</a>, <a href="25-cii.html#SP3_7_3">§3.7.3</a><br/>Use Options - <a href="26-uo.html#SP7">§7</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">spec</span><span class="plain-syntax">, </span><span class="identifier-syntax">kind</span><span class="plain-syntax"> *</span><span class="identifier-syntax">K</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">Rvalues::is_CONSTANT_of_kind</span><button class="popup" onclick="togglePopup('usagePopup51')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup51">Usage of <span class="code-font"><span class="function-syntax">Rvalues::is_CONSTANT_of_kind</span></span>:<br/><a href="14-rv.html#SP9">§9</a>, <a href="14-rv.html#SP10">§10</a>, <a href="14-rv.html#SP11">§11</a>, <a href="14-rv.html#SP12">§12</a><br/>Literal Patterns - <a href="5-lp.html#SP34_4">§34.4</a><br/>Traverse for Assertions - <a href="9-tfa.html#SP7_2_1">§7.2.1</a><br/>The Creator - <a href="9-tc.html#SP2">§2</a><br/>Make Assertions - <a href="9-ma.html#SP4_3_26_1_1">§4.3.26.1.1</a>, <a href="9-ma.html#SP4_3_41_6">§4.3.41.6</a><br/>Architecture of the S-Parser - <a href="10-aots.html#SP10">§10</a><br/>Constants and Descriptions - <a href="10-cad.html#SP3">§3</a>, <a href="10-cad.html#SP5">§5</a><br/>Type Expressions and Values - <a href="10-teav.html#SP12_2">§12.2</a><br/>Conditions and Phrases - <a href="10-cap.html#SP12_1">§12.1</a><br/>I6 Schemas - <a href="12-is.html#SP7_1">§7.1</a><br/>Dash - <a href="14-ds2.html#SP17">§17</a>, <a href="14-ds2.html#SP19_5_2">§19.5.2</a><br/>Responses - <a href="17-rs.html#SP11">§11</a><br/>Tables of Definitions - <a href="19-tod.html#SP2_1">§2.1</a><br/>Focus and Outcome - <a href="21-fao.html#SP9">§9</a>, <a href="21-fao.html#SP10">§10</a><br/>Compile Invocations - <a href="25-ci.html#SP4_2">§4.2</a><br/>Compile Invocations Inline - <a href="25-cii.html#SP3_1_1_4_6">§3.1.1.4.6</a>, <a href="25-cii.html#SP3_1_1_4_9">§3.1.1.4.9</a>, <a href="25-cii.html#SP3_1_1_4_10">§3.1.1.4.10</a>, <a href="25-cii.html#SP3_5_8_1">§3.5.8.1</a>, <a href="25-cii.html#SP3_7_3">§3.7.3</a><br/>Use Options - <a href="26-uo.html#SP7">§7</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">spec</span><span class="plain-syntax">, </span><span class="identifier-syntax">kind</span><span class="plain-syntax"> *</span><span class="identifier-syntax">K</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">Node::is</span><span class="plain-syntax">(</span><span class="identifier-syntax">spec</span><span class="plain-syntax">, </span><span class="constant-syntax">CONSTANT_NT</span><span class="plain-syntax">)) &&</span>
|
||||
<span class="plain-syntax"> (</span><span class="identifier-syntax">Kinds::Compare::eq</span><span class="plain-syntax">(</span><span class="identifier-syntax">Node::get_kind_of_value</span><span class="plain-syntax">(</span><span class="identifier-syntax">spec</span><span class="plain-syntax">), </span><span class="identifier-syntax">K</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">TRUE</span><span class="plain-syntax">;</span>
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -236,7 +236,7 @@ becomes the name of a property.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">K</span><span class="plain-syntax">-></span><span class="element-syntax">construct</span><span class="plain-syntax">-></span><span class="identifier-syntax">can_coincide_with_property</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="reserved-syntax">property</span><span class="plain-syntax"> *</span><span class="function-syntax">Properties::Conditions::get_coinciding_property</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">Properties::Conditions::get_coinciding_property</span></span>:<br/><a href="15-cp.html#SP3">§3</a><br/>Instances - <a href="5-ins.html#SP6">§6</a>, <a href="5-ins.html#SP10">§10</a>, <a href="5-ins.html#SP36">§36</a>, <a href="5-ins.html#SP37">§37</a><br/>Make Assertions - <a href="9-ma.html#SP3_3_41">§3.3.41</a>, <a href="9-ma.html#SP3_3_41_5">§3.3.41.5</a><br/>Terms - <a href="11-tr.html#SP9">§9</a><br/>Propositions - <a href="11-pr.html#SP27">§27</a>, <a href="11-pr.html#SP35_1">§35.1</a><br/>The Equality Relation - <a href="12-ter.html#SP5_1">§5.1</a>, <a href="12-ter.html#SP8">§8</a>, <a href="12-ter.html#SP8_1">§8.1</a><br/>Dash - <a href="14-ds2.html#SP11_9_1_1_5_1_1">§11.9.1.1.5.1.1</a>, <a href="14-ds2.html#SP11_9_1_1_5_1_2">§11.9.1.1.5.1.2</a><br/>Comparative Relations - <a href="15-cr.html#SP5">§5</a>, <a href="15-cr.html#SP7_1">§7.1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">kind</span><span class="plain-syntax"> *</span><span class="identifier-syntax">K</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">property</span><span class="plain-syntax"> *</span><span class="function-syntax">Properties::Conditions::get_coinciding_property</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">Properties::Conditions::get_coinciding_property</span></span>:<br/><a href="15-cp.html#SP3">§3</a><br/>Instances - <a href="5-ins.html#SP6">§6</a>, <a href="5-ins.html#SP10">§10</a>, <a href="5-ins.html#SP36">§36</a>, <a href="5-ins.html#SP37">§37</a><br/>Make Assertions - <a href="9-ma.html#SP4_3_41">§4.3.41</a>, <a href="9-ma.html#SP4_3_41_5">§4.3.41.5</a><br/>Terms - <a href="11-tr.html#SP9">§9</a><br/>Propositions - <a href="11-pr.html#SP27">§27</a>, <a href="11-pr.html#SP35_1">§35.1</a><br/>The Equality Relation - <a href="12-ter.html#SP5_1">§5.1</a>, <a href="12-ter.html#SP8">§8</a>, <a href="12-ter.html#SP8_1">§8.1</a><br/>Dash - <a href="14-ds2.html#SP11_9_1_1_5_1_1">§11.9.1.1.5.1.1</a>, <a href="14-ds2.html#SP11_9_1_1_5_1_2">§11.9.1.1.5.1.2</a><br/>Comparative Relations - <a href="15-cr.html#SP5">§5</a>, <a href="15-cr.html#SP7_1">§7.1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">kind</span><span class="plain-syntax"> *</span><span class="identifier-syntax">K</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">K</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="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">K</span><span class="plain-syntax">-></span><span class="element-syntax">construct</span><span class="plain-syntax">-></span><span class="identifier-syntax">coinciding_property</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
|
|
@ -537,7 +537,7 @@ of the other:
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">Properties::is_either_or</span><button class="popup" onclick="togglePopup('usagePopup9')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup9">Usage of <span class="code-font"><span class="function-syntax">Properties::is_either_or</span></span>:<br/><a href="15-pr.html#SP21">§21</a>, <a href="15-pr.html#SP23">§23</a>, <a href="15-pr.html#SP25">§25</a>, <a href="15-pr.html#SP26">§26</a>, <a href="15-pr.html#SP27">§27</a><br/>Instances - <a href="5-ins.html#SP10">§10</a><br/>The Creator - <a href="9-tc.html#SP4_5">§4.5</a><br/>Make Assertions - <a href="9-ma.html#SP3_3_41_7">§3.3.41.7</a><br/>Property Knowledge - <a href="9-pk.html#SP4">§4</a><br/>Implications - <a href="9-imp.html#SP6">§6</a><br/>Property Declarations - <a href="9-pd.html#SP5_8_1">§5.8.1</a>, <a href="9-pd.html#SP5_8_3">§5.8.3</a>, <a href="9-pd.html#SP5_11_2">§5.11.2</a><br/>Propositions - <a href="11-pr.html#SP35_2">§35.2</a><br/>Tree Conversions - <a href="11-tc.html#SP7_1">§7.1</a><br/>Sentence Conversions - <a href="11-sc.html#SP3_3">§3.3</a><br/>RValues - <a href="14-rv.html#SP24_3_1">§24.3.1</a><br/>Lvalues - <a href="14-lv.html#SP12_5">§12.5</a><br/>Dash - <a href="14-ds2.html#SP11_9_1_2_3">§11.9.1.2.3</a>, <a href="14-ds2.html#SP13">§13</a><br/>Properties of Values - <a href="15-pov.html#SP4_1">§4.1</a><br/>Emit Property Values - <a href="15-epv.html#SP2">§2</a>, <a href="15-epv.html#SP2_1">§2.1</a>, <a href="15-epv.html#SP3">§3</a><br/>Property Permissions - <a href="16-pp.html#SP8">§8</a><br/>Inferences - <a href="16-in.html#SP14">§14</a>, <a href="16-in.html#SP16">§16</a>, <a href="16-in.html#SP17">§17</a>, <a href="16-in.html#SP19">§19</a><br/>Complete Model World - <a href="16-cmw.html#SP1_2_2">§1.2.2</a>, <a href="16-cmw.html#SP1_2_2_1_1">§1.2.2.1.1</a><br/>Compile Invocations Inline - <a href="25-cii.html#SP3_1_1_4_11">§3.1.1.4.11</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">property</span><span class="plain-syntax"> *</span><span class="identifier-syntax">prn</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">Properties::is_either_or</span><button class="popup" onclick="togglePopup('usagePopup9')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup9">Usage of <span class="code-font"><span class="function-syntax">Properties::is_either_or</span></span>:<br/><a href="15-pr.html#SP21">§21</a>, <a href="15-pr.html#SP23">§23</a>, <a href="15-pr.html#SP25">§25</a>, <a href="15-pr.html#SP26">§26</a>, <a href="15-pr.html#SP27">§27</a><br/>Instances - <a href="5-ins.html#SP10">§10</a><br/>The Creator - <a href="9-tc.html#SP4_5">§4.5</a><br/>Make Assertions - <a href="9-ma.html#SP4_3_41_7">§4.3.41.7</a><br/>Property Knowledge - <a href="9-pk.html#SP4">§4</a><br/>Implications - <a href="9-imp.html#SP6">§6</a><br/>Property Declarations - <a href="9-pd.html#SP5_8_1">§5.8.1</a>, <a href="9-pd.html#SP5_8_3">§5.8.3</a>, <a href="9-pd.html#SP5_11_2">§5.11.2</a><br/>Propositions - <a href="11-pr.html#SP35_2">§35.2</a><br/>Tree Conversions - <a href="11-tc.html#SP7_1">§7.1</a><br/>Sentence Conversions - <a href="11-sc.html#SP3_3">§3.3</a><br/>RValues - <a href="14-rv.html#SP24_3_1">§24.3.1</a><br/>Lvalues - <a href="14-lv.html#SP12_5">§12.5</a><br/>Dash - <a href="14-ds2.html#SP11_9_1_2_3">§11.9.1.2.3</a>, <a href="14-ds2.html#SP13">§13</a><br/>Properties of Values - <a href="15-pov.html#SP4_1">§4.1</a><br/>Emit Property Values - <a href="15-epv.html#SP2">§2</a>, <a href="15-epv.html#SP2_1">§2.1</a>, <a href="15-epv.html#SP3">§3</a><br/>Property Permissions - <a href="16-pp.html#SP8">§8</a><br/>Inferences - <a href="16-in.html#SP14">§14</a>, <a href="16-in.html#SP16">§16</a>, <a href="16-in.html#SP17">§17</a>, <a href="16-in.html#SP19">§19</a><br/>Complete Model World - <a href="16-cmw.html#SP1_2_2">§1.2.2</a>, <a href="16-cmw.html#SP1_2_2_1_1">§1.2.2.1.1</a><br/>Compile Invocations Inline - <a href="25-cii.html#SP3_1_1_4_11">§3.1.1.4.11</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">property</span><span class="plain-syntax"> *</span><span class="identifier-syntax">prn</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">prn</span><span class="plain-syntax">-></span><span class="element-syntax">either_or</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">Properties::is_value_property</span><button class="popup" onclick="togglePopup('usagePopup10')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup10">Usage of <span class="code-font"><span class="function-syntax">Properties::is_value_property</span></span>:<br/>Dash - <a href="14-ds2.html#SP10_1_1_3_1_3">§10.1.1.3.1.3</a>, <a href="14-ds2.html#SP11_9_1_1_2_1">§11.9.1.1.2.1</a>, <a href="14-ds2.html#SP19_3_1">§19.3.1</a><br/>The Provision Relation - <a href="15-tpr.html#SP7_1">§7.1</a><br/>Same Property Relation - <a href="15-spr.html#SP2">§2</a><br/>Inferences - <a href="16-in.html#SP20_3_3">§20.3.3</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">property</span><span class="plain-syntax"> *</span><span class="identifier-syntax">prn</span><span class="plain-syntax">) {</span>
|
||||
|
|
|
@ -106,7 +106,7 @@ sentence will be properly parsed later on.
|
|||
<span class="plain-syntax"> && (</span><a href="9-tfa.html#SP9" class="function-link"><span class="function-syntax">Assertions::Traverse::special</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">pn</span><span class="plain-syntax">) == </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> && (</span><span class="identifier-syntax">pn</span><span class="plain-syntax">-></span><span class="element-syntax">next</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> && (</span><span class="identifier-syntax">pn</span><span class="plain-syntax">-></span><span class="element-syntax">next</span><span class="plain-syntax">-></span><span class="element-syntax">next</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> && (</span><a href="9-tbath.html#SP3" class="function-link"><span class="function-syntax">Assertions::Copular::possessive</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">pn</span><span class="plain-syntax">-></span><span class="element-syntax">next</span><span class="plain-syntax">-></span><span class="element-syntax">next</span><span class="plain-syntax">))</span>
|
||||
<span class="plain-syntax"> && (</span><span class="identifier-syntax">Diagrams::is_possessive_RELATIONSHIP</span><span class="plain-syntax">(</span><span class="identifier-syntax">pn</span><span class="plain-syntax">-></span><span class="element-syntax">next</span><span class="plain-syntax">-></span><span class="element-syntax">next</span><span class="plain-syntax">))</span>
|
||||
<span class="plain-syntax"> && (</span><span class="identifier-syntax">Node::get_type</span><span class="plain-syntax">(</span><span class="identifier-syntax">pn</span><span class="plain-syntax">-></span><span class="element-syntax">next</span><span class="plain-syntax">-></span><span class="element-syntax">next</span><span class="plain-syntax">-></span><span class="element-syntax">down</span><span class="plain-syntax">) == </span><span class="identifier-syntax">CALLED_NT</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> && (</span><span class="identifier-syntax">pn</span><span class="plain-syntax">-></span><span class="element-syntax">next</span><span class="plain-syntax">-></span><span class="element-syntax">next</span><span class="plain-syntax">-></span><span class="element-syntax">down</span><span class="plain-syntax">-></span><span class="element-syntax">down</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> && (</span><span class="identifier-syntax">pn</span><span class="plain-syntax">-></span><span class="element-syntax">next</span><span class="plain-syntax">-></span><span class="element-syntax">next</span><span class="plain-syntax">-></span><span class="element-syntax">down</span><span class="plain-syntax">-></span><span class="element-syntax">down</span><span class="plain-syntax">-></span><span class="element-syntax">next</span><span class="plain-syntax">)) {</span>
|
||||
|
|
|
@ -356,7 +356,7 @@ be caught later on Inform's run.
|
|||
<p class="commentary firstcommentary"><a id="SP12"></a><b>§12. </b></p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">Properties::SettingRelations::bp_sets_a_property</span><button class="popup" onclick="togglePopup('usagePopup11')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup11">Usage of <span class="code-font"><span class="function-syntax">Properties::SettingRelations::bp_sets_a_property</span></span>:<br/>Make Assertions - <a href="9-ma.html#SP3_3_34_3">§3.3.34.3</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">binary_predicate</span><span class="plain-syntax"> *</span><span class="identifier-syntax">bp</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">Properties::SettingRelations::bp_sets_a_property</span><button class="popup" onclick="togglePopup('usagePopup11')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup11">Usage of <span class="code-font"><span class="function-syntax">Properties::SettingRelations::bp_sets_a_property</span></span>:<br/>Make Assertions - <a href="9-ma.html#SP4_3_34_4">§4.3.34.4</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">binary_predicate</span><span class="plain-syntax"> *</span><span class="identifier-syntax">bp</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">bp</span><span class="plain-syntax">-></span><span class="element-syntax">set_property</span><span class="plain-syntax">) || (</span><span class="identifier-syntax">Wordings::nonempty</span><span class="plain-syntax">(</span><span class="identifier-syntax">bp</span><span class="plain-syntax">-></span><span class="element-syntax">property_pending_text</span><span class="plain-syntax">))) </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
|
|
@ -73,7 +73,7 @@ exist, it will be created.
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">property</span><span class="plain-syntax"> *</span><span class="function-syntax">Properties::Valued::obtain</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">Properties::Valued::obtain</span></span>:<br/>Make Assertions - <a href="9-ma.html#SP3_3_13">§3.3.13</a>, <a href="9-ma.html#SP3_3_26">§3.3.26</a><br/>Property Declarations - <a href="9-pd.html#SP6_1">§6.1</a><br/>Property Sentences - <a href="15-ps.html#SP5">§5</a><br/>Condition Properties - <a href="15-cp.html#SP3">§3</a><br/>Tables of Definitions - <a href="19-tod.html#SP6_4_1">§6.4.1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">wording</span><span class="plain-syntax"> </span><span class="identifier-syntax">W</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">property</span><span class="plain-syntax"> *</span><span class="function-syntax">Properties::Valued::obtain</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">Properties::Valued::obtain</span></span>:<br/>Make Assertions - <a href="9-ma.html#SP4_3_13">§4.3.13</a>, <a href="9-ma.html#SP4_3_26">§4.3.26</a><br/>Property Declarations - <a href="9-pd.html#SP6_1">§6.1</a><br/>Property Sentences - <a href="15-ps.html#SP5">§5</a><br/>Condition Properties - <a href="15-cp.html#SP3">§3</a><br/>Tables of Definitions - <a href="19-tod.html#SP6_4_1">§6.4.1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">wording</span><span class="plain-syntax"> </span><span class="identifier-syntax">W</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><a href="15-pr.html#SP4" class="function-link"><span class="function-syntax">Properties::obtain</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">W</span><span class="plain-syntax">, </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
|
@ -182,7 +182,7 @@ to the end user.
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="identifier-syntax">kind</span><span class="plain-syntax"> *</span><span class="function-syntax">Properties::Valued::kind</span><button class="popup" onclick="togglePopup('usagePopup7')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup7">Usage of <span class="code-font"><span class="function-syntax">Properties::Valued::kind</span></span>:<br/><a href="15-vp.html#SP11">§11</a><br/>Instances - <a href="5-ins.html#SP10">§10</a><br/>The Creator - <a href="9-tc.html#SP4_5">§4.5</a><br/>Make Assertions - <a href="9-ma.html#SP3_3_25">§3.3.25</a>, <a href="9-ma.html#SP3_3_41_7">§3.3.41.7</a><br/>Property Knowledge - <a href="9-pk.html#SP4">§4</a><br/>Property Declarations - <a href="9-pd.html#SP5_11">§5.11</a>, <a href="9-pd.html#SP7_1">§7.1</a><br/>Tree Conversions - <a href="11-tc.html#SP7_1">§7.1</a><br/>Sentence Conversions - <a href="11-sc.html#SP3_3">§3.3</a><br/>RValues - <a href="14-rv.html#SP23_3">§23.3</a><br/>Lvalues - <a href="14-lv.html#SP10">§10</a>, <a href="14-lv.html#SP12_5">§12.5</a><br/>Dash - <a href="14-ds2.html#SP11_9_1_1_2_1">§11.9.1.1.2.1</a>, <a href="14-ds2.html#SP11_9_1_1_3_1_1">§11.9.1.1.3.1.1</a>, <a href="14-ds2.html#SP13">§13</a>, <a href="14-ds2.html#SP19_3_1">§19.3.1</a><br/>Properties - <a href="15-pr.html#SP15">§15</a><br/>Measurement Adjectives - <a href="15-ma.html#SP8_2">§8.2</a><br/>Setting Property Relation - <a href="15-spr2.html#SP8">§8</a>, <a href="15-spr2.html#SP9">§9</a><br/>Emit Property Values - <a href="15-epv.html#SP1_1_4">§1.1.4</a><br/>Inferences - <a href="16-in.html#SP14">§14</a>, <a href="16-in.html#SP16">§16</a><br/>Tables of Definitions - <a href="19-tod.html#SP6_4_1">§6.4.1</a><br/>Compile Invocations Inline - <a href="25-cii.html#SP3_1_1_4_11">§3.1.1.4.11</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">property</span><span class="plain-syntax"> *</span><span class="identifier-syntax">prn</span><span class="plain-syntax">) {</span>
|
||||
<span class="identifier-syntax">kind</span><span class="plain-syntax"> *</span><span class="function-syntax">Properties::Valued::kind</span><button class="popup" onclick="togglePopup('usagePopup7')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup7">Usage of <span class="code-font"><span class="function-syntax">Properties::Valued::kind</span></span>:<br/><a href="15-vp.html#SP11">§11</a><br/>Instances - <a href="5-ins.html#SP10">§10</a><br/>The Creator - <a href="9-tc.html#SP4_5">§4.5</a><br/>Make Assertions - <a href="9-ma.html#SP4_3_25">§4.3.25</a>, <a href="9-ma.html#SP4_3_41_7">§4.3.41.7</a><br/>Property Knowledge - <a href="9-pk.html#SP4">§4</a><br/>Property Declarations - <a href="9-pd.html#SP5_11">§5.11</a>, <a href="9-pd.html#SP7_1">§7.1</a><br/>Tree Conversions - <a href="11-tc.html#SP7_1">§7.1</a><br/>Sentence Conversions - <a href="11-sc.html#SP3_3">§3.3</a><br/>RValues - <a href="14-rv.html#SP23_3">§23.3</a><br/>Lvalues - <a href="14-lv.html#SP10">§10</a>, <a href="14-lv.html#SP12_5">§12.5</a><br/>Dash - <a href="14-ds2.html#SP11_9_1_1_2_1">§11.9.1.1.2.1</a>, <a href="14-ds2.html#SP11_9_1_1_3_1_1">§11.9.1.1.3.1.1</a>, <a href="14-ds2.html#SP13">§13</a>, <a href="14-ds2.html#SP19_3_1">§19.3.1</a><br/>Properties - <a href="15-pr.html#SP15">§15</a><br/>Measurement Adjectives - <a href="15-ma.html#SP8_2">§8.2</a><br/>Setting Property Relation - <a href="15-spr2.html#SP8">§8</a>, <a href="15-spr2.html#SP9">§9</a><br/>Emit Property Values - <a href="15-epv.html#SP1_1_4">§1.1.4</a><br/>Inferences - <a href="16-in.html#SP14">§14</a>, <a href="16-in.html#SP16">§16</a><br/>Tables of Definitions - <a href="19-tod.html#SP6_4_1">§6.4.1</a><br/>Compile Invocations Inline - <a href="25-cii.html#SP3_1_1_4_11">§3.1.1.4.11</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">property</span><span class="plain-syntax"> *</span><span class="identifier-syntax">prn</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">prn</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) || (</span><span class="identifier-syntax">prn</span><span class="plain-syntax">-></span><span class="element-syntax">either_or</span><span class="plain-syntax">)) </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">; </span><span class="comment-syntax"> for better type-checking Problems</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">prn</span><span class="plain-syntax">-></span><span class="element-syntax">property_value_kind</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
@ -232,7 +232,7 @@ then say that a thing has a weight: that makes a property also called
|
|||
<span class="plain-syntax"> </span><a href="5-ins.html#SP9" class="function-link"><span class="function-syntax">Instances::make_kind_coincident</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">K</span><span class="plain-syntax">, </span><span class="identifier-syntax">prn</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">Properties::Valued::coincides_with_kind</span><button class="popup" onclick="togglePopup('usagePopup10')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup10">Usage of <span class="code-font"><span class="function-syntax">Properties::Valued::coincides_with_kind</span></span>:<br/>The Creator - <a href="9-tc.html#SP4_5">§4.5</a><br/>Make Assertions - <a href="9-ma.html#SP3_3_25">§3.3.25</a>, <a href="9-ma.html#SP3_3_41_7">§3.3.41.7</a><br/>Sentence Conversions - <a href="11-sc.html#SP3_3">§3.3</a><br/>Dash - <a href="14-ds2.html#SP11_9_1_1_3_1_1">§11.9.1.1.3.1.1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">property</span><span class="plain-syntax"> *</span><span class="identifier-syntax">prn</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">Properties::Valued::coincides_with_kind</span><button class="popup" onclick="togglePopup('usagePopup10')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup10">Usage of <span class="code-font"><span class="function-syntax">Properties::Valued::coincides_with_kind</span></span>:<br/>The Creator - <a href="9-tc.html#SP4_5">§4.5</a><br/>Make Assertions - <a href="9-ma.html#SP4_3_25">§4.3.25</a>, <a href="9-ma.html#SP4_3_41_7">§4.3.41.7</a><br/>Sentence Conversions - <a href="11-sc.html#SP3_3">§3.3</a><br/>Dash - <a href="14-ds2.html#SP11_9_1_1_3_1_1">§11.9.1.1.3.1.1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">property</span><span class="plain-syntax"> *</span><span class="identifier-syntax">prn</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">prn</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) || (</span><span class="identifier-syntax">prn</span><span class="plain-syntax">-></span><span class="element-syntax">either_or</span><span class="plain-syntax">)) </span><span class="identifier-syntax">internal_error</span><span class="plain-syntax">(</span><span class="string-syntax">"non-value property"</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">prn</span><span class="plain-syntax">-></span><span class="element-syntax">also_a_type</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
|
|
@ -160,7 +160,7 @@ organised as linked lists; hence the <span class="extract"><span class="extract-
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">CLASS_DEFINITION</span>
|
||||
<span class="plain-syntax">} </span><span class="reserved-syntax">inference</span><span class="plain-syntax">;</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>The structure inference is accessed in 3/cs, 3/dlr, 3/pr, 3/tr, 5/lp, 5/ut, 5/un, 5/ins, 6/rlt, 6/nv, 7/rs, 9/tfa, 9/tbath, 9/rpt, 9/tc, 9/ma, 9/rk, 9/ass, 9/imp, 9/pd, 10/teav, 10/cap, 11/ap, 11/pr, 11/bas, 11/tc, 11/sm, 12/dtd, 12/cdp, 14/rv, 14/lv, 14/cn, 14/ds, 14/ds2, 15/ps, 15/cp, 16/is, 19/tb, 19/rsft, 19/tod, 20/eq, 21/rl, 21/rl2, 21/fao, 21/rps, 21/sv, 21/ac, 22/ph, 22/tp, 22/tp2, 23/ad, 24/lv, 24/sf, 25/in, 25/pi, 25/cii, 25/cp, 26/uo, 26/tti, 26/pc, 26/ts, 27/cm and here.</li></ul>
|
||||
<ul class="endnotetexts"><li>The structure inference is accessed in 3/cs, 3/dlr, 3/pr, 3/tr, 5/lp, 5/ut, 5/un, 5/ins, 6/rlt, 6/nv, 7/rs, 9/tfa, 9/rpt, 9/tc, 9/ma, 9/rk, 9/ass, 9/imp, 9/pd, 10/teav, 10/cap, 11/ap, 11/pr, 11/bas, 11/tc, 11/sm, 12/dtd, 12/cdp, 14/rv, 14/lv, 14/cn, 14/ds, 14/ds2, 15/ps, 15/cp, 16/is, 19/tb, 19/rsft, 19/tod, 20/eq, 21/rl, 21/rl2, 21/fao, 21/rps, 21/sv, 21/ac, 22/ph, 22/tp, 22/tp2, 23/ad, 24/lv, 24/sf, 25/in, 25/pi, 25/cii, 25/cp, 26/uo, 26/tti, 26/pc, 26/ts, 27/cm and here.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP7"></a><b>§7. Creation. </b>The following routine coins a newly minted inference which is not yet attached
|
||||
to any subject: but it will not stay unattached for long. Note that if nothing
|
||||
has been said about likelihood, the sentence is assumed to be factually certain.
|
||||
|
|
|
@ -356,7 +356,7 @@ read and written from specialist sections of Inform rather than here.
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="function-syntax">InferenceSubjects::where_created</span><button class="popup" onclick="togglePopup('usagePopup9')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup9">Usage of <span class="code-font"><span class="function-syntax">InferenceSubjects::where_created</span></span>:<br/>Make Assertions - <a href="9-ma.html#SP3_3_8">§3.3.8</a>, <a href="9-ma.html#SP3_3_8_1">§3.3.8.1</a>, <a href="9-ma.html#SP6">§6</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inference_subject</span><span class="plain-syntax"> *</span><span class="identifier-syntax">infs</span><span class="plain-syntax">) {</span>
|
||||
<span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="function-syntax">InferenceSubjects::where_created</span><button class="popup" onclick="togglePopup('usagePopup9')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup9">Usage of <span class="code-font"><span class="function-syntax">InferenceSubjects::where_created</span></span>:<br/>Make Assertions - <a href="9-ma.html#SP4_3_8">§4.3.8</a>, <a href="9-ma.html#SP4_3_8_1">§4.3.8.1</a>, <a href="9-ma.html#SP7">§7</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inference_subject</span><span class="plain-syntax"> *</span><span class="identifier-syntax">infs</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">infs</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">"null INFS"</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">infs</span><span class="plain-syntax">-></span><span class="element-syntax">infs_created_at</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
@ -448,7 +448,7 @@ arise.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="reserved-syntax">instance</span><span class="plain-syntax"> *</span><span class="function-syntax">InferenceSubjects::as_object_instance</span><button class="popup" onclick="togglePopup('usagePopup20')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup20">Usage of <span class="code-font"><span class="function-syntax">InferenceSubjects::as_object_instance</span></span>:<br/><a href="16-is.html#SP18">§18</a>, <a href="16-is.html#SP20">§20</a><br/>Supplementary Quotes - <a href="2-sq.html#SP2">§2</a><br/>Adjective Meanings - <a href="4-am.html#SP22">§22</a><br/>Traverse for Assertions - <a href="9-tfa.html#SP12">§12</a><br/>Assert Propositions - <a href="12-ap.html#SP9_6">§9.6</a>, <a href="12-ap.html#SP9_7">§9.7</a>, <a href="12-ap.html#SP9_8">§9.8</a>, <a href="12-ap.html#SP9_9">§9.9</a>, <a href="12-ap.html#SP9_10">§9.10</a>, <a href="12-ap.html#SP10">§10</a><br/>Lvalues - <a href="14-lv.html#SP14_3_1">§14.3.1</a><br/>Inferences - <a href="16-in.html#SP12">§12</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inference_subject</span><span class="plain-syntax"> *</span><span class="identifier-syntax">infs</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">instance</span><span class="plain-syntax"> *</span><span class="function-syntax">InferenceSubjects::as_object_instance</span><button class="popup" onclick="togglePopup('usagePopup20')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup20">Usage of <span class="code-font"><span class="function-syntax">InferenceSubjects::as_object_instance</span></span>:<br/><a href="16-is.html#SP18">§18</a>, <a href="16-is.html#SP20">§20</a><br/>Supplementary Quotes - <a href="2-sq.html#SP2">§2</a><br/>Adjective Meanings - <a href="4-am.html#SP22">§22</a><br/>Traverse for Assertions - <a href="9-tfa.html#SP13">§13</a><br/>Assert Propositions - <a href="12-ap.html#SP9_6">§9.6</a>, <a href="12-ap.html#SP9_7">§9.7</a>, <a href="12-ap.html#SP9_8">§9.8</a>, <a href="12-ap.html#SP9_9">§9.9</a>, <a href="12-ap.html#SP9_10">§9.10</a>, <a href="12-ap.html#SP10">§10</a><br/>Lvalues - <a href="14-lv.html#SP14_3_1">§14.3.1</a><br/>Inferences - <a href="16-in.html#SP12">§12</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inference_subject</span><span class="plain-syntax"> *</span><span class="identifier-syntax">infs</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">infs</span><span class="plain-syntax">) && (</span><span class="identifier-syntax">infs</span><span class="plain-syntax">-></span><span class="element-syntax">kind_of_infs</span><span class="plain-syntax"> == </span><span class="constant-syntax">INST_SUB</span><span class="plain-syntax">)) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">instance</span><span class="plain-syntax"> *</span><span class="identifier-syntax">nc</span><span class="plain-syntax"> = </span><span class="identifier-syntax">RETRIEVE_POINTER_instance</span><span class="plain-syntax">(</span><span class="identifier-syntax">infs</span><span class="plain-syntax">-></span><span class="element-syntax">represents</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">Kinds::Compare::le</span><span class="plain-syntax">(</span><a href="5-ins.html#SP18" class="function-link"><span class="function-syntax">Instances::to_kind</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">nc</span><span class="plain-syntax">), </span><span class="identifier-syntax">K_object</span><span class="plain-syntax">))</span>
|
||||
|
@ -457,7 +457,7 @@ arise.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="identifier-syntax">kind</span><span class="plain-syntax"> *</span><span class="function-syntax">InferenceSubjects::as_nonobject_kind</span><button class="popup" onclick="togglePopup('usagePopup21')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup21">Usage of <span class="code-font"><span class="function-syntax">InferenceSubjects::as_nonobject_kind</span></span>:<br/><a href="16-is.html#SP22">§22</a><br/>Adjective Meanings - <a href="4-am.html#SP27">§27</a><br/>Refine Parse Tree - <a href="9-rpt.html#SP9_6">§9.6</a><br/>Assemblies - <a href="9-ass.html#SP9_1">§9.1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inference_subject</span><span class="plain-syntax"> *</span><span class="identifier-syntax">infs</span><span class="plain-syntax">) {</span>
|
||||
<span class="identifier-syntax">kind</span><span class="plain-syntax"> *</span><span class="function-syntax">InferenceSubjects::as_nonobject_kind</span><button class="popup" onclick="togglePopup('usagePopup21')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup21">Usage of <span class="code-font"><span class="function-syntax">InferenceSubjects::as_nonobject_kind</span></span>:<br/><a href="16-is.html#SP22">§22</a><br/>Adjective Meanings - <a href="4-am.html#SP27">§27</a><br/>Refine Parse Tree - <a href="9-rpt.html#SP10_6">§10.6</a><br/>Assemblies - <a href="9-ass.html#SP9_1">§9.1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inference_subject</span><span class="plain-syntax"> *</span><span class="identifier-syntax">infs</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">infs</span><span class="plain-syntax">) && (</span><span class="identifier-syntax">infs</span><span class="plain-syntax">-></span><span class="element-syntax">kind_of_infs</span><span class="plain-syntax"> == </span><span class="constant-syntax">KIND_SUB</span><span class="plain-syntax">)) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">kind</span><span class="plain-syntax"> *</span><span class="identifier-syntax">K</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Kinds::base_construction</span><span class="plain-syntax">(</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">RETRIEVE_POINTER_kind_constructor</span><span class="plain-syntax">(</span><span class="identifier-syntax">infs</span><span class="plain-syntax">-></span><span class="element-syntax">represents</span><span class="plain-syntax">));</span>
|
||||
|
@ -467,7 +467,7 @@ arise.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="identifier-syntax">kind</span><span class="plain-syntax"> *</span><span class="function-syntax">InferenceSubjects::as_kind</span><button class="popup" onclick="togglePopup('usagePopup22')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup22">Usage of <span class="code-font"><span class="function-syntax">InferenceSubjects::as_kind</span></span>:<br/><a href="16-is.html#SP21">§21</a><br/>Instances - <a href="5-ins.html#SP18">§18</a><br/>To Be and To Have - <a href="9-tbath.html#SP6">§6</a><br/>Assert Propositions - <a href="12-ap.html#SP9_6">§9.6</a><br/>Knowledge about Kinds - <a href="13-kak.html#SP2">§2</a>, <a href="13-kak.html#SP4">§4</a>, <a href="13-kak.html#SP5">§5</a>, <a href="13-kak.html#SP6">§6</a><br/>Properties - <a href="15-pr.html#SP27">§27</a><br/>Emit Property Values - <a href="15-epv.html#SP1">§1</a>, <a href="15-epv.html#SP2">§2</a>, <a href="15-epv.html#SP2_1">§2.1</a><br/>Instance Counting - <a href="16-ic.html#SP12_3">§12.3</a>, <a href="16-ic.html#SP14">§14</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inference_subject</span><span class="plain-syntax"> *</span><span class="identifier-syntax">infs</span><span class="plain-syntax">) {</span>
|
||||
<span class="identifier-syntax">kind</span><span class="plain-syntax"> *</span><span class="function-syntax">InferenceSubjects::as_kind</span><button class="popup" onclick="togglePopup('usagePopup22')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup22">Usage of <span class="code-font"><span class="function-syntax">InferenceSubjects::as_kind</span></span>:<br/><a href="16-is.html#SP21">§21</a><br/>Instances - <a href="5-ins.html#SP18">§18</a><br/>Make Assertions - <a href="9-ma.html#SP1">§1</a><br/>Assert Propositions - <a href="12-ap.html#SP9_6">§9.6</a><br/>Knowledge about Kinds - <a href="13-kak.html#SP2">§2</a>, <a href="13-kak.html#SP4">§4</a>, <a href="13-kak.html#SP5">§5</a>, <a href="13-kak.html#SP6">§6</a><br/>Properties - <a href="15-pr.html#SP27">§27</a><br/>Emit Property Values - <a href="15-epv.html#SP1">§1</a>, <a href="15-epv.html#SP2">§2</a>, <a href="15-epv.html#SP2_1">§2.1</a><br/>Instance Counting - <a href="16-ic.html#SP12_3">§12.3</a>, <a href="16-ic.html#SP14">§14</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inference_subject</span><span class="plain-syntax"> *</span><span class="identifier-syntax">infs</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">infs</span><span class="plain-syntax">) && (</span><span class="identifier-syntax">infs</span><span class="plain-syntax">-></span><span class="element-syntax">kind_of_infs</span><span class="plain-syntax"> == </span><span class="constant-syntax">KIND_SUB</span><span class="plain-syntax">)) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">kind</span><span class="plain-syntax"> *</span><span class="identifier-syntax">K</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Kinds::base_construction</span><span class="plain-syntax">(</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">RETRIEVE_POINTER_kind_constructor</span><span class="plain-syntax">(</span><span class="identifier-syntax">infs</span><span class="plain-syntax">-></span><span class="element-syntax">represents</span><span class="plain-syntax">));</span>
|
||||
|
@ -498,11 +498,11 @@ arise.
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">InferenceSubjects::is_an_object</span><button class="popup" onclick="togglePopup('usagePopup26')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup26">Usage of <span class="code-font"><span class="function-syntax">InferenceSubjects::is_an_object</span></span>:<br/>Refine Parse Tree - <a href="9-rpt.html#SP9_6_1">§9.6.1</a><br/>The Creator - <a href="9-tc.html#SP5_2_2">§5.2.2</a>, <a href="9-tc.html#SP8_4_1">§8.4.1</a><br/>Make Assertions - <a href="9-ma.html#SP3_3_8">§3.3.8</a>, <a href="9-ma.html#SP3_3_39">§3.3.39</a><br/>Property Knowledge - <a href="9-pk.html#SP3_1">§3.1</a><br/>Emit Property Values - <a href="15-epv.html#SP3_1">§3.1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inference_subject</span><span class="plain-syntax"> *</span><span class="identifier-syntax">infs</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">InferenceSubjects::is_an_object</span><button class="popup" onclick="togglePopup('usagePopup26')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup26">Usage of <span class="code-font"><span class="function-syntax">InferenceSubjects::is_an_object</span></span>:<br/>Refine Parse Tree - <a href="9-rpt.html#SP10_6_1">§10.6.1</a><br/>The Creator - <a href="9-tc.html#SP5_2_2">§5.2.2</a>, <a href="9-tc.html#SP8_4_1">§8.4.1</a><br/>Make Assertions - <a href="9-ma.html#SP4_3_8">§4.3.8</a>, <a href="9-ma.html#SP4_3_39">§4.3.39</a><br/>Property Knowledge - <a href="9-pk.html#SP3_1">§3.1</a><br/>Emit Property Values - <a href="15-epv.html#SP3_1">§3.1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inference_subject</span><span class="plain-syntax"> *</span><span class="identifier-syntax">infs</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="16-is.html#SP19" class="function-link"><span class="function-syntax">InferenceSubjects::as_object_instance</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">infs</span><span class="plain-syntax">)) </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</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">int</span><span class="plain-syntax"> </span><span class="function-syntax">InferenceSubjects::is_a_kind_of_object</span><button class="popup" onclick="togglePopup('usagePopup27')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup27">Usage of <span class="code-font"><span class="function-syntax">InferenceSubjects::is_a_kind_of_object</span></span>:<br/>To Be and To Have - <a href="9-tbath.html#SP6">§6</a><br/>Refine Parse Tree - <a href="9-rpt.html#SP9_6_1">§9.6.1</a><br/>The Creator - <a href="9-tc.html#SP5_2_2">§5.2.2</a>, <a href="9-tc.html#SP8_4_1">§8.4.1</a><br/>Make Assertions - <a href="9-ma.html#SP3_3_8">§3.3.8</a>, <a href="9-ma.html#SP3_3_39">§3.3.39</a><br/>Property Knowledge - <a href="9-pk.html#SP3_1">§3.1</a><br/>Knowledge about Kinds - <a href="13-kak.html#SP5">§5</a><br/>Emit Property Values - <a href="15-epv.html#SP3_1">§3.1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inference_subject</span><span class="plain-syntax"> *</span><span class="identifier-syntax">infs</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">InferenceSubjects::is_a_kind_of_object</span><button class="popup" onclick="togglePopup('usagePopup27')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup27">Usage of <span class="code-font"><span class="function-syntax">InferenceSubjects::is_a_kind_of_object</span></span>:<br/>Refine Parse Tree - <a href="9-rpt.html#SP10_6_1">§10.6.1</a><br/>The Creator - <a href="9-tc.html#SP5_2_2">§5.2.2</a>, <a href="9-tc.html#SP8_4_1">§8.4.1</a><br/>Make Assertions - <a href="9-ma.html#SP1">§1</a>, <a href="9-ma.html#SP4_3_8">§4.3.8</a>, <a href="9-ma.html#SP4_3_39">§4.3.39</a><br/>Property Knowledge - <a href="9-pk.html#SP3_1">§3.1</a><br/>Knowledge about Kinds - <a href="13-kak.html#SP5">§5</a><br/>Emit Property Values - <a href="15-epv.html#SP3_1">§3.1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inference_subject</span><span class="plain-syntax"> *</span><span class="identifier-syntax">infs</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">infs</span><span class="plain-syntax">) && (</span><span class="identifier-syntax">infs</span><span class="plain-syntax">-></span><span class="element-syntax">kind_of_infs</span><span class="plain-syntax"> == </span><span class="constant-syntax">KIND_SUB</span><span class="plain-syntax">)) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">kind</span><span class="plain-syntax"> *</span><span class="identifier-syntax">K</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Kinds::base_construction</span><span class="plain-syntax">(</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">RETRIEVE_POINTER_kind_constructor</span><span class="plain-syntax">(</span><span class="identifier-syntax">infs</span><span class="plain-syntax">-></span><span class="element-syntax">represents</span><span class="plain-syntax">));</span>
|
||||
|
@ -517,7 +517,7 @@ from kinds actually do.)
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="identifier-syntax">kind</span><span class="plain-syntax"> *</span><span class="function-syntax">InferenceSubjects::domain</span><button class="popup" onclick="togglePopup('usagePopup28')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup28">Usage of <span class="code-font"><span class="function-syntax">InferenceSubjects::domain</span></span>:<br/><a href="16-is.html#SP18">§18</a><br/>Binary Predicates - <a href="6-bp.html#SP23">§23</a><br/>Relations - <a href="6-rlt.html#SP20_4">§20.4</a><br/>Traverse for Assertions - <a href="9-tfa.html#SP12">§12</a><br/>Refine Parse Tree - <a href="9-rpt.html#SP3">§3</a>, <a href="9-rpt.html#SP9_6">§9.6</a><br/>The Creator - <a href="9-tc.html#SP4_2">§4.2</a><br/>Make Assertions - <a href="9-ma.html#SP3_3_8">§3.3.8</a>, <a href="9-ma.html#SP3_3_32">§3.3.32</a><br/>Property Knowledge - <a href="9-pk.html#SP3_1">§3.1</a><br/>Relation Knowledge - <a href="9-rk.html#SP3_2">§3.2</a><br/>Assemblies - <a href="9-ass.html#SP11">§11</a>, <a href="9-ass.html#SP12">§12</a><br/>Implications - <a href="9-imp.html#SP5">§5</a>, <a href="9-imp.html#SP7_1_3">§7.1.3</a><br/>Property Declarations - <a href="9-pd.html#SP5_6">§5.6</a>, <a href="9-pd.html#SP6_1">§6.1</a><br/>Tree Conversions - <a href="11-tc.html#SP2">§2</a><br/>Assert Propositions - <a href="12-ap.html#SP9_10">§9.10</a><br/>Either-Or Properties - <a href="15-ep.html#SP3">§3</a><br/>Indefinite Appearance - <a href="15-ia.html#SP1">§1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inference_subject</span><span class="plain-syntax"> *</span><span class="identifier-syntax">infs</span><span class="plain-syntax">) {</span>
|
||||
<span class="identifier-syntax">kind</span><span class="plain-syntax"> *</span><span class="function-syntax">InferenceSubjects::domain</span><button class="popup" onclick="togglePopup('usagePopup28')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup28">Usage of <span class="code-font"><span class="function-syntax">InferenceSubjects::domain</span></span>:<br/><a href="16-is.html#SP18">§18</a><br/>Binary Predicates - <a href="6-bp.html#SP23">§23</a><br/>Relations - <a href="6-rlt.html#SP20_4">§20.4</a><br/>Traverse for Assertions - <a href="9-tfa.html#SP13">§13</a><br/>Refine Parse Tree - <a href="9-rpt.html#SP3">§3</a>, <a href="9-rpt.html#SP10_6">§10.6</a><br/>The Creator - <a href="9-tc.html#SP4_2">§4.2</a><br/>Make Assertions - <a href="9-ma.html#SP4_3_8">§4.3.8</a>, <a href="9-ma.html#SP4_3_32">§4.3.32</a><br/>Property Knowledge - <a href="9-pk.html#SP3_1">§3.1</a><br/>Relation Knowledge - <a href="9-rk.html#SP3_2">§3.2</a><br/>Assemblies - <a href="9-ass.html#SP11">§11</a>, <a href="9-ass.html#SP12">§12</a><br/>Implications - <a href="9-imp.html#SP5">§5</a>, <a href="9-imp.html#SP7_1_3">§7.1.3</a><br/>Property Declarations - <a href="9-pd.html#SP5_6">§5.6</a>, <a href="9-pd.html#SP6_1">§6.1</a><br/>Tree Conversions - <a href="11-tc.html#SP2">§2</a><br/>Assert Propositions - <a href="12-ap.html#SP9_10">§9.10</a><br/>Either-Or Properties - <a href="15-ep.html#SP3">§3</a><br/>Indefinite Appearance - <a href="15-ia.html#SP1">§1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inference_subject</span><span class="plain-syntax"> *</span><span class="identifier-syntax">infs</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><a href="16-is.html#SP19" class="function-link"><span class="function-syntax">InferenceSubjects::as_kind</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">infs</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
|
|
|
@ -553,7 +553,7 @@ a given response even at compile time. But the rules code looks after that:
|
|||
</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">Strings::assert_response_value</span><button class="popup" onclick="togglePopup('usagePopup7')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup7">Usage of <span class="code-font"><span class="function-syntax">Strings::assert_response_value</span></span>:<br/>Make Assertions - <a href="9-ma.html#SP3_3_41_6">§3.3.41.6</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">rule</span><span class="plain-syntax"> *</span><span class="identifier-syntax">R</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">marker</span><span class="plain-syntax">, </span><span class="identifier-syntax">wording</span><span class="plain-syntax"> </span><span class="identifier-syntax">W</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Strings::assert_response_value</span><button class="popup" onclick="togglePopup('usagePopup7')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup7">Usage of <span class="code-font"><span class="function-syntax">Strings::assert_response_value</span></span>:<br/>Make Assertions - <a href="9-ma.html#SP4_3_41_6">§4.3.41.6</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">rule</span><span class="plain-syntax"> *</span><span class="identifier-syntax">R</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">marker</span><span class="plain-syntax">, </span><span class="identifier-syntax">wording</span><span class="plain-syntax"> </span><span class="identifier-syntax">W</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><a href="21-rl.html#SP26" class="function-link"><span class="function-syntax">Rules::now_rule_needs_response</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">R</span><span class="plain-syntax">, </span><span class="identifier-syntax">marker</span><span class="plain-syntax">, </span><span class="identifier-syntax">W</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
|
|
|
@ -217,7 +217,7 @@ contents of a node in the tree:
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">literal_text</span><span class="plain-syntax"> *</span><span class="function-syntax">Strings::TextLiterals::compile_literal</span><button class="popup" onclick="togglePopup('usagePopup4')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup4">Usage of <span class="code-font"><span class="function-syntax">Strings::TextLiterals::compile_literal</span></span>:<br/><a href="17-tl.html#SP12">§12</a>, <a href="17-tl.html#SP13">§13</a>, <a href="17-tl.html#SP16">§16</a><br/>Make Assertions - <a href="9-ma.html#SP3_3_39_2">§3.3.39.2</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">value_holster</span><span class="plain-syntax"> *</span><span class="identifier-syntax">VH</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">write</span><span class="plain-syntax">, </span><span class="identifier-syntax">wording</span><span class="plain-syntax"> </span><span class="identifier-syntax">W</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">literal_text</span><span class="plain-syntax"> *</span><span class="function-syntax">Strings::TextLiterals::compile_literal</span><button class="popup" onclick="togglePopup('usagePopup4')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup4">Usage of <span class="code-font"><span class="function-syntax">Strings::TextLiterals::compile_literal</span></span>:<br/><a href="17-tl.html#SP12">§12</a>, <a href="17-tl.html#SP13">§13</a>, <a href="17-tl.html#SP16">§16</a><br/>Make Assertions - <a href="9-ma.html#SP4_3_39_2">§4.3.39.2</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">value_holster</span><span class="plain-syntax"> *</span><span class="identifier-syntax">VH</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">write</span><span class="plain-syntax">, </span><span class="identifier-syntax">wording</span><span class="plain-syntax"> </span><span class="identifier-syntax">W</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">w1</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Wordings::first_wn</span><span class="plain-syntax">(</span><span class="identifier-syntax">W</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">Wide::cmp</span><span class="plain-syntax">(</span><span class="identifier-syntax">Lexer::word_text</span><span class="plain-syntax">(</span><span class="identifier-syntax">w1</span><span class="plain-syntax">), </span><span class="identifier-syntax">L</span><span class="string-syntax">"\"\""</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">write</span><span class="plain-syntax">) && (</span><span class="identifier-syntax">VH</span><span class="plain-syntax">)) </span><a href="27-em.html#SP4" class="function-link"><span class="function-syntax">Emit::holster</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">VH</span><span class="plain-syntax">, </span><a href="27-hr.html#SP4" class="function-link"><span class="function-syntax">Hierarchy::find</span></a><span class="plain-syntax">(</span><span class="constant-syntax">EMPTY_TEXT_VALUE_HL</span><span class="plain-syntax">));</span>
|
||||
|
|
|
@ -116,7 +116,7 @@ column ID numbers used at run-time.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="reserved-syntax">table_contribution</span><span class="plain-syntax"> *</span><span class="identifier-syntax">next</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">} </span><span class="reserved-syntax">table_contribution</span><span class="plain-syntax">;</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>The structure table_contribution is accessed in 3/cs, 3/dlr, 3/pr, 3/tr, 5/lp, 5/ut, 5/un, 5/ins, 6/rlt, 6/nv, 7/rs, 9/tfa, 9/tbath, 9/rpt, 9/tc, 9/ma, 9/rk, 9/ass, 9/imp, 9/pd, 10/teav, 10/cap, 11/ap, 11/pr, 11/bas, 11/tc, 11/sm, 12/dtd, 12/cdp, 14/rv, 14/lv, 14/cn, 14/ds, 14/ds2, 15/ps, 15/cp, 16/is, 16/in, 19/rsft, 19/tod, 20/eq, 21/rl, 21/rl2, 21/fao, 21/rps, 21/sv, 21/ac, 22/ph, 22/tp, 22/tp2, 23/ad, 24/lv, 24/sf, 25/in, 25/pi, 25/cii, 25/cp, 26/uo, 26/tti, 26/pc, 26/ts, 27/cm and here.</li></ul>
|
||||
<ul class="endnotetexts"><li>The structure table_contribution is accessed in 3/cs, 3/dlr, 3/pr, 3/tr, 5/lp, 5/ut, 5/un, 5/ins, 6/rlt, 6/nv, 7/rs, 9/tfa, 9/rpt, 9/tc, 9/ma, 9/rk, 9/ass, 9/imp, 9/pd, 10/teav, 10/cap, 11/ap, 11/pr, 11/bas, 11/tc, 11/sm, 12/dtd, 12/cdp, 14/rv, 14/lv, 14/cn, 14/ds, 14/ds2, 15/ps, 15/cp, 16/is, 16/in, 19/rsft, 19/tod, 20/eq, 21/rl, 21/rl2, 21/fao, 21/rps, 21/sv, 21/ac, 22/ph, 22/tp, 22/tp2, 23/ad, 24/lv, 24/sf, 25/in, 25/pi, 25/cii, 25/cp, 26/uo, 26/tti, 26/pc, 26/ts, 27/cm and here.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP4"></a><b>§4. </b>These are convenient during parsing.
|
||||
</p>
|
||||
|
||||
|
|
|
@ -395,8 +395,8 @@ have occurred, but if it does then the creation has worked.
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">NounPhrases::annotate_by_articles</span><span class="plain-syntax">(</span><span class="identifier-syntax">name_entry</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">ProblemBuffer::redirect_problem_sentence</span><span class="plain-syntax">(</span><span class="identifier-syntax">current_sentence</span><span class="plain-syntax">, </span><span class="identifier-syntax">name_entry</span><span class="plain-syntax">, </span><span class="identifier-syntax">pn</span><span class="plain-syntax">-></span><span class="element-syntax">next</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOG</span><span class="plain-syntax">(</span><span class="string-syntax">"Yah $T\nTeh $T\n"</span><span class="plain-syntax">, </span><span class="identifier-syntax">name_entry</span><span class="plain-syntax">, </span><span class="identifier-syntax">pn</span><span class="plain-syntax">-></span><span class="element-syntax">next</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="9-tbath.html#SP3" class="function-link"><span class="function-syntax">Assertions::Copular::refine</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">name_entry</span><span class="plain-syntax">, </span><span class="identifier-syntax">pn</span><span class="plain-syntax">-></span><span class="element-syntax">next</span><span class="plain-syntax">))</span>
|
||||
<span class="plain-syntax"> </span><a href="9-tbath.html#SP4" class="function-link"><span class="function-syntax">Assertions::Copular::make_assertion</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">name_entry</span><span class="plain-syntax">, </span><span class="identifier-syntax">pn</span><span class="plain-syntax">-></span><span class="element-syntax">next</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="9-rpt.html#SP7" class="function-link"><span class="function-syntax">Assertions::Refiner::refine_coupling</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">name_entry</span><span class="plain-syntax">, </span><span class="identifier-syntax">pn</span><span class="plain-syntax">-></span><span class="element-syntax">next</span><span class="plain-syntax">))</span>
|
||||
<span class="plain-syntax"> </span><a href="9-ma.html#SP4" class="function-link"><span class="function-syntax">Assertions::Maker::make_assertion_recursive</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">name_entry</span><span class="plain-syntax">, </span><span class="identifier-syntax">pn</span><span class="plain-syntax">-></span><span class="element-syntax">next</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">ProblemBuffer::redirect_problem_sentence</span><span class="plain-syntax">(</span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Node::set_text</span><span class="plain-syntax">(</span><span class="identifier-syntax">name_entry</span><span class="plain-syntax">, </span><span class="identifier-syntax">NW</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">evaluation</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
|
||||
|
|
|
@ -252,7 +252,7 @@ these problems at any particular sentence.
|
|||
<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">void</span><span class="plain-syntax"> </span><span class="function-syntax">StandardProblems::subject_problem_at_sentence</span><button class="popup" onclick="togglePopup('usagePopup9')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup9">Usage of <span class="code-font"><span class="function-syntax">StandardProblems::subject_problem_at_sentence</span></span>:<br/>Make Assertions - <a href="9-ma.html#SP3_3_39_5">§3.3.39.5</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">SIGIL_ARGUMENTS</span><span class="plain-syntax">, </span><span class="reserved-syntax">inference_subject</span><span class="plain-syntax"> *</span><span class="identifier-syntax">infs</span><span class="plain-syntax">,</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">StandardProblems::subject_problem_at_sentence</span><button class="popup" onclick="togglePopup('usagePopup9')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup9">Usage of <span class="code-font"><span class="function-syntax">StandardProblems::subject_problem_at_sentence</span></span>:<br/>Make Assertions - <a href="9-ma.html#SP4_3_39_5">§4.3.39.5</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">SIGIL_ARGUMENTS</span><span class="plain-syntax">, </span><span class="reserved-syntax">inference_subject</span><span class="plain-syntax"> *</span><span class="identifier-syntax">infs</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">char</span><span class="plain-syntax"> *</span><span class="identifier-syntax">message</span><span class="plain-syntax">, </span><span class="reserved-syntax">char</span><span class="plain-syntax"> *</span><span class="identifier-syntax">explanation</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">ACT_ON_SIGIL</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::quote_source</span><span class="plain-syntax">(1, </span><span class="identifier-syntax">current_sentence</span><span class="plain-syntax">);</span>
|
||||
|
|
|
@ -146,7 +146,7 @@ this as some kind of marginal will-never-happen case.
|
|||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Problems::quote_subject</span><button class="popup" onclick="togglePopup('usagePopup8')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup8">Usage of <span class="code-font"><span class="function-syntax">Problems::quote_subject</span></span>:<br/>Supplementary Issues - <a href="2-si.html#SP2">§2</a>, <a href="2-si.html#SP7">§7</a>, <a href="2-si.html#SP8">§8</a>, <a href="2-si.html#SP9">§9</a><br/>Make Assertions - <a href="9-ma.html#SP3_3_8_1">§3.3.8.1</a>, <a href="9-ma.html#SP3_3_38">§3.3.38</a><br/>Assemblies - <a href="9-ass.html#SP14_1">§14.1</a><br/>Dash - <a href="14-ds2.html#SP11_9_1_2_3_4">§11.9.1.2.3.4</a><br/>Inferences - <a href="16-in.html#SP20_3_3">§20.3.3</a><br/>Tables - <a href="19-tb.html#SP24_4">§24.4</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">t</span><span class="plain-syntax">, </span><span class="reserved-syntax">inference_subject</span><span class="plain-syntax"> *</span><span class="identifier-syntax">infs</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Problems::quote_subject</span><button class="popup" onclick="togglePopup('usagePopup8')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup8">Usage of <span class="code-font"><span class="function-syntax">Problems::quote_subject</span></span>:<br/>Supplementary Issues - <a href="2-si.html#SP2">§2</a>, <a href="2-si.html#SP7">§7</a>, <a href="2-si.html#SP8">§8</a>, <a href="2-si.html#SP9">§9</a><br/>Make Assertions - <a href="9-ma.html#SP4_3_8_1">§4.3.8.1</a>, <a href="9-ma.html#SP4_3_38">§4.3.38</a><br/>Assemblies - <a href="9-ass.html#SP14_1">§14.1</a><br/>Dash - <a href="14-ds2.html#SP11_9_1_2_3_4">§11.9.1.2.3.4</a><br/>Inferences - <a href="16-in.html#SP20_3_3">§20.3.3</a><br/>Tables - <a href="19-tb.html#SP24_4">§24.4</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">t</span><span class="plain-syntax">, </span><span class="reserved-syntax">inference_subject</span><span class="plain-syntax"> *</span><span class="identifier-syntax">infs</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">infs</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) { </span><span class="identifier-syntax">Problems::quote_text</span><span class="plain-syntax">(</span><span class="identifier-syntax">t</span><span class="plain-syntax">, </span><span class="string-syntax">"something"</span><span class="plain-syntax">); </span><span class="reserved-syntax">return</span><span class="plain-syntax">; }</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">wording</span><span class="plain-syntax"> </span><span class="identifier-syntax">W</span><span class="plain-syntax"> = </span><a href="16-is.html#SP24" class="function-link"><span class="function-syntax">InferenceSubjects::get_name_text</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">infs</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">Wordings::nonempty</span><span class="plain-syntax">(</span><span class="identifier-syntax">W</span><span class="plain-syntax">)) { </span><span class="identifier-syntax">Problems::quote_wording</span><span class="plain-syntax">(</span><span class="identifier-syntax">t</span><span class="plain-syntax">, </span><span class="identifier-syntax">W</span><span class="plain-syntax">); </span><span class="reserved-syntax">return</span><span class="plain-syntax">; }</span>
|
||||
|
@ -166,7 +166,7 @@ this as some kind of marginal will-never-happen case.
|
|||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Problems::expand_extension_id</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">void</span><span class="plain-syntax"> *</span><span class="identifier-syntax">p</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Works::write_to_HTML_file</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, (</span><span class="identifier-syntax">inbuild_work</span><span class="plain-syntax"> *) </span><span class="identifier-syntax">p</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">void</span><span class="plain-syntax"> </span><span class="function-syntax">Problems::quote_property</span><button class="popup" onclick="togglePopup('usagePopup11')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup11">Usage of <span class="code-font"><span class="function-syntax">Problems::quote_property</span></span>:<br/>Supplementary Issues - <a href="2-si.html#SP9">§9</a>, <a href="2-si.html#SP10">§10</a><br/>Make Assertions - <a href="9-ma.html#SP3_3_8_2">§3.3.8.2</a><br/>Property Knowledge - <a href="9-pk.html#SP4_1">§4.1</a>, <a href="9-pk.html#SP4_2">§4.2</a>, <a href="9-pk.html#SP4_3">§4.3</a>, <a href="9-pk.html#SP4_4">§4.4</a><br/>Property Declarations - <a href="9-pd.html#SP7_1_3">§7.1.3</a><br/>Tree Conversions - <a href="11-tc.html#SP7_1">§7.1</a><br/>Dash - <a href="14-ds2.html#SP11_9_1_1_5_1_3">§11.9.1.1.5.1.3</a><br/>Either-Or Properties - <a href="15-ep.html#SP6">§6</a><br/>Comparative Relations - <a href="15-cr.html#SP5">§5</a><br/>Setting Property Relation - <a href="15-spr2.html#SP9_1">§9.1</a>, <a href="15-spr2.html#SP9_2">§9.2</a><br/>Properties of Values - <a href="15-pov.html#SP4_1">§4.1</a><br/>Inferences - <a href="16-in.html#SP14">§14</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">t</span><span class="plain-syntax">, </span><span class="reserved-syntax">property</span><span class="plain-syntax"> *</span><span class="identifier-syntax">p</span><span class="plain-syntax">) { </span><span class="identifier-syntax">Problems::quote_wording</span><span class="plain-syntax">(</span><span class="identifier-syntax">t</span><span class="plain-syntax">, </span><span class="identifier-syntax">p</span><span class="plain-syntax">-></span><span class="element-syntax">name</span><span class="plain-syntax">); }</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Problems::quote_property</span><button class="popup" onclick="togglePopup('usagePopup11')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup11">Usage of <span class="code-font"><span class="function-syntax">Problems::quote_property</span></span>:<br/>Supplementary Issues - <a href="2-si.html#SP9">§9</a>, <a href="2-si.html#SP10">§10</a><br/>Make Assertions - <a href="9-ma.html#SP4_3_8_2">§4.3.8.2</a><br/>Property Knowledge - <a href="9-pk.html#SP4_1">§4.1</a>, <a href="9-pk.html#SP4_2">§4.2</a>, <a href="9-pk.html#SP4_3">§4.3</a>, <a href="9-pk.html#SP4_4">§4.4</a><br/>Property Declarations - <a href="9-pd.html#SP7_1_3">§7.1.3</a><br/>Tree Conversions - <a href="11-tc.html#SP7_1">§7.1</a><br/>Dash - <a href="14-ds2.html#SP11_9_1_1_5_1_3">§11.9.1.1.5.1.3</a><br/>Either-Or Properties - <a href="15-ep.html#SP6">§6</a><br/>Comparative Relations - <a href="15-cr.html#SP5">§5</a><br/>Setting Property Relation - <a href="15-spr2.html#SP9_1">§9.1</a>, <a href="15-spr2.html#SP9_2">§9.2</a><br/>Properties of Values - <a href="15-pov.html#SP4_1">§4.1</a><br/>Inferences - <a href="16-in.html#SP14">§14</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">t</span><span class="plain-syntax">, </span><span class="reserved-syntax">property</span><span class="plain-syntax"> *</span><span class="identifier-syntax">p</span><span class="plain-syntax">) { </span><span class="identifier-syntax">Problems::quote_wording</span><span class="plain-syntax">(</span><span class="identifier-syntax">t</span><span class="plain-syntax">, </span><span class="identifier-syntax">p</span><span class="plain-syntax">-></span><span class="element-syntax">name</span><span class="plain-syntax">); }</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Problems::quote_table</span><button class="popup" onclick="togglePopup('usagePopup12')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup12">Usage of <span class="code-font"><span class="function-syntax">Problems::quote_table</span></span>:<br/>Supplementary Issues - <a href="2-si.html#SP3">§3</a><br/>The Creator - <a href="9-tc.html#SP5_4_2_7">§5.4.2.7</a><br/>Table Columns - <a href="19-tc.html#SP6_1">§6.1</a>, <a href="19-tc.html#SP14_1">§14.1</a>, <a href="19-tc.html#SP15_5">§15.5</a>, <a href="19-tc.html#SP15_6">§15.6</a><br/>Tables - <a href="19-tb.html#SP8">§8</a>, <a href="19-tb.html#SP20_5">§20.5</a>, <a href="19-tb.html#SP20_6">§20.6</a>, <a href="19-tb.html#SP20_10_2_1">§20.10.2.1</a>, <a href="19-tb.html#SP20_10_2_2">§20.10.2.2</a>, <a href="19-tb.html#SP20_10_3_2">§20.10.3.2</a>, <a href="19-tb.html#SP20_10_4_1">§20.10.4.1</a>, <a href="19-tb.html#SP27_1_3_2">§27.1.3.2</a>, <a href="19-tb.html#SP27_1_3_2_1">§27.1.3.2.1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">t</span><span class="plain-syntax">, </span><span class="reserved-syntax">table</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tab</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::quote_source</span><span class="plain-syntax">(</span><span class="identifier-syntax">t</span><span class="plain-syntax">, </span><a href="19-tb.html#SP14" class="function-link"><span class="function-syntax">Tables::get_headline</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tab</span><span class="plain-syntax">));</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
@ -175,7 +175,7 @@ this as some kind of marginal will-never-happen case.
|
|||
</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">Problems::quote_kind</span><button class="popup" onclick="togglePopup('usagePopup13')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup13">Usage of <span class="code-font"><span class="function-syntax">Problems::quote_kind</span></span>:<br/><a href="2-sq.html#SP4">§4</a><br/>Literal Patterns - <a href="5-lp.html#SP34_5">§34.5</a>, <a href="5-lp.html#SP34_6">§34.6</a><br/>Instances - <a href="5-ins.html#SP19_1">§19.1</a><br/>Nonlocal Variables - <a href="5-nv.html#SP7_1">§7.1</a>, <a href="5-nv.html#SP23">§23</a>, <a href="5-nv.html#SP25_2">§25.2</a><br/>The Universal Relation - <a href="6-tur.html#SP5">§5</a><br/>The Creator - <a href="9-tc.html#SP5_4_2_6">§5.4.2.6</a>, <a href="9-tc.html#SP5_4_2_7">§5.4.2.7</a>, <a href="9-tc.html#SP5_4_2_8">§5.4.2.8</a>, <a href="9-tc.html#SP8_1">§8.1</a><br/>Make Assertions - <a href="9-ma.html#SP3_3_39_1">§3.3.39.1</a><br/>Property Knowledge - <a href="9-pk.html#SP2_1">§2.1</a>, <a href="9-pk.html#SP4_4">§4.4</a><br/>Property Declarations - <a href="9-pd.html#SP5_6_1">§5.6.1</a>, <a href="9-pd.html#SP7_1_3">§7.1.3</a><br/>Tree Conversions - <a href="11-tc.html#SP7_1">§7.1</a><br/>Type Check Propositions - <a href="11-tcp.html#SP6_9">§6.9</a>, <a href="11-tcp.html#SP6_10">§6.10</a>, <a href="11-tcp.html#SP6_11">§6.11</a>, <a href="11-tcp.html#SP10">§10</a>, <a href="11-tcp.html#SP11">§11</a>, <a href="11-tcp.html#SP11_3">§11.3</a>, <a href="11-tcp.html#SP12">§12</a><br/>The Equality Relation - <a href="12-ter.html#SP5_1">§5.1</a>, <a href="12-ter.html#SP8_4">§8.4</a><br/>Quasinumeric Relations - <a href="12-qr.html#SP5">§5</a><br/>Compile Atoms - <a href="12-ca.html#SP6_2">§6.2</a><br/>Knowledge about Kinds - <a href="13-kak.html#SP7">§7</a><br/>Runtime Support for Kinds - <a href="13-rsfk.html#SP4_1">§4.1</a>, <a href="13-rsfk.html#SP4_2">§4.2</a>, <a href="13-rsfk.html#SP16_2">§16.2</a>, <a href="13-rsfk.html#SP26">§26</a><br/>Dash - <a href="14-ds2.html#SP10_1_1_3_1">§10.1.1.3.1</a>, <a href="14-ds2.html#SP11_8_1">§11.8.1</a>, <a href="14-ds2.html#SP11_9_1_1_2_2_2">§11.9.1.1.2.2.2</a>, <a href="14-ds2.html#SP11_9_1_1_3_1_1">§11.9.1.1.3.1.1</a>, <a href="14-ds2.html#SP11_9_1_1_5_2">§11.9.1.1.5.2</a>, <a href="14-ds2.html#SP11_9_1_2_3_3">§11.9.1.2.3.3</a>, <a href="14-ds2.html#SP11_9_1_2_4">§11.9.1.2.4</a>, <a href="14-ds2.html#SP15_4">§15.4</a>, <a href="14-ds2.html#SP19_1">§19.1</a>, <a href="14-ds2.html#SP19_2">§19.2</a>, <a href="14-ds2.html#SP19_2_1">§19.2.1</a>, <a href="14-ds2.html#SP19_5_3_2">§19.5.3.2</a>, <a href="14-ds2.html#SP19_6_1_1">§19.6.1.1</a>, <a href="14-ds2.html#SP19_6_2_1">§19.6.2.1</a>, <a href="14-ds2.html#SP19_6_2_2">§19.6.2.2</a><br/>Valued Properties - <a href="15-vp.html#SP5">§5</a><br/>Condition Properties - <a href="15-cp.html#SP3">§3</a><br/>The Provision Relation - <a href="15-tpr.html#SP5">§5</a><br/>Setting Property Relation - <a href="15-spr2.html#SP9_1">§9.1</a>, <a href="15-spr2.html#SP9_2">§9.2</a><br/>Properties of Values - <a href="15-pov.html#SP4_1">§4.1</a><br/>Inferences - <a href="16-in.html#SP14">§14</a><br/>List Constants - <a href="18-lc.html#SP8_2_1">§8.2.1</a><br/>Table Columns - <a href="19-tc.html#SP6_1">§6.1</a>, <a href="19-tc.html#SP14_1">§14.1</a>, <a href="19-tc.html#SP15">§15</a>, <a href="19-tc.html#SP15_6">§15.6</a><br/>Tables of Definitions - <a href="19-tod.html#SP6_2">§6.2</a>, <a href="19-tod.html#SP6_3_3">§6.3.3</a><br/>Equations - <a href="20-eq.html#SP41_4_1">§41.4.1</a>, <a href="20-eq.html#SP41_4_2">§41.4.2</a>, <a href="20-eq.html#SP47_3_2">§47.3.2</a><br/>Rules - <a href="21-rl.html#SP15">§15</a>, <a href="21-rl.html#SP18">§18</a><br/>Phrase Usage - <a href="22-pu.html#SP21_1_1_2">§21.1.1.2</a><br/>Compile Invocations - <a href="25-ci.html#SP3_1_1_2">§3.1.1.2</a><br/>Compile Invocations Inline - <a href="25-cii.html#SP3_2_1_1">§3.2.1.1</a>, <a href="25-cii.html#SP3_1_1_4_7_1_2">§3.1.1.4.7.1.2</a>, <a href="25-cii.html#SP3_5_3">§3.5.3</a>, <a href="25-cii.html#SP3_5_4_3">§3.5.4.3</a><br/>Compile Phrases - <a href="25-cp.html#SP5_3_5">§5.3.5</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">t</span><span class="plain-syntax">, </span><span class="identifier-syntax">kind</span><span class="plain-syntax"> *</span><span class="identifier-syntax">K</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Problems::quote_kind</span><button class="popup" onclick="togglePopup('usagePopup13')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup13">Usage of <span class="code-font"><span class="function-syntax">Problems::quote_kind</span></span>:<br/><a href="2-sq.html#SP4">§4</a><br/>Literal Patterns - <a href="5-lp.html#SP34_5">§34.5</a>, <a href="5-lp.html#SP34_6">§34.6</a><br/>Instances - <a href="5-ins.html#SP19_1">§19.1</a><br/>Nonlocal Variables - <a href="5-nv.html#SP7_1">§7.1</a>, <a href="5-nv.html#SP23">§23</a>, <a href="5-nv.html#SP25_2">§25.2</a><br/>The Universal Relation - <a href="6-tur.html#SP5">§5</a><br/>The Creator - <a href="9-tc.html#SP5_4_2_6">§5.4.2.6</a>, <a href="9-tc.html#SP5_4_2_7">§5.4.2.7</a>, <a href="9-tc.html#SP5_4_2_8">§5.4.2.8</a>, <a href="9-tc.html#SP8_1">§8.1</a><br/>Make Assertions - <a href="9-ma.html#SP4_3_39_1">§4.3.39.1</a><br/>Property Knowledge - <a href="9-pk.html#SP2_1">§2.1</a>, <a href="9-pk.html#SP4_4">§4.4</a><br/>Property Declarations - <a href="9-pd.html#SP5_6_1">§5.6.1</a>, <a href="9-pd.html#SP7_1_3">§7.1.3</a><br/>Tree Conversions - <a href="11-tc.html#SP7_1">§7.1</a><br/>Type Check Propositions - <a href="11-tcp.html#SP6_9">§6.9</a>, <a href="11-tcp.html#SP6_10">§6.10</a>, <a href="11-tcp.html#SP6_11">§6.11</a>, <a href="11-tcp.html#SP10">§10</a>, <a href="11-tcp.html#SP11">§11</a>, <a href="11-tcp.html#SP11_3">§11.3</a>, <a href="11-tcp.html#SP12">§12</a><br/>The Equality Relation - <a href="12-ter.html#SP5_1">§5.1</a>, <a href="12-ter.html#SP8_4">§8.4</a><br/>Quasinumeric Relations - <a href="12-qr.html#SP5">§5</a><br/>Compile Atoms - <a href="12-ca.html#SP6_2">§6.2</a><br/>Knowledge about Kinds - <a href="13-kak.html#SP7">§7</a><br/>Runtime Support for Kinds - <a href="13-rsfk.html#SP4_1">§4.1</a>, <a href="13-rsfk.html#SP4_2">§4.2</a>, <a href="13-rsfk.html#SP16_2">§16.2</a>, <a href="13-rsfk.html#SP26">§26</a><br/>Dash - <a href="14-ds2.html#SP10_1_1_3_1">§10.1.1.3.1</a>, <a href="14-ds2.html#SP11_8_1">§11.8.1</a>, <a href="14-ds2.html#SP11_9_1_1_2_2_2">§11.9.1.1.2.2.2</a>, <a href="14-ds2.html#SP11_9_1_1_3_1_1">§11.9.1.1.3.1.1</a>, <a href="14-ds2.html#SP11_9_1_1_5_2">§11.9.1.1.5.2</a>, <a href="14-ds2.html#SP11_9_1_2_3_3">§11.9.1.2.3.3</a>, <a href="14-ds2.html#SP11_9_1_2_4">§11.9.1.2.4</a>, <a href="14-ds2.html#SP15_4">§15.4</a>, <a href="14-ds2.html#SP19_1">§19.1</a>, <a href="14-ds2.html#SP19_2">§19.2</a>, <a href="14-ds2.html#SP19_2_1">§19.2.1</a>, <a href="14-ds2.html#SP19_5_3_2">§19.5.3.2</a>, <a href="14-ds2.html#SP19_6_1_1">§19.6.1.1</a>, <a href="14-ds2.html#SP19_6_2_1">§19.6.2.1</a>, <a href="14-ds2.html#SP19_6_2_2">§19.6.2.2</a><br/>Valued Properties - <a href="15-vp.html#SP5">§5</a><br/>Condition Properties - <a href="15-cp.html#SP3">§3</a><br/>The Provision Relation - <a href="15-tpr.html#SP5">§5</a><br/>Setting Property Relation - <a href="15-spr2.html#SP9_1">§9.1</a>, <a href="15-spr2.html#SP9_2">§9.2</a><br/>Properties of Values - <a href="15-pov.html#SP4_1">§4.1</a><br/>Inferences - <a href="16-in.html#SP14">§14</a><br/>List Constants - <a href="18-lc.html#SP8_2_1">§8.2.1</a><br/>Table Columns - <a href="19-tc.html#SP6_1">§6.1</a>, <a href="19-tc.html#SP14_1">§14.1</a>, <a href="19-tc.html#SP15">§15</a>, <a href="19-tc.html#SP15_6">§15.6</a><br/>Tables of Definitions - <a href="19-tod.html#SP6_2">§6.2</a>, <a href="19-tod.html#SP6_3_3">§6.3.3</a><br/>Equations - <a href="20-eq.html#SP41_4_1">§41.4.1</a>, <a href="20-eq.html#SP41_4_2">§41.4.2</a>, <a href="20-eq.html#SP47_3_2">§47.3.2</a><br/>Rules - <a href="21-rl.html#SP15">§15</a>, <a href="21-rl.html#SP18">§18</a><br/>Phrase Usage - <a href="22-pu.html#SP21_1_1_2">§21.1.1.2</a><br/>Compile Invocations - <a href="25-ci.html#SP3_1_1_2">§3.1.1.2</a><br/>Compile Invocations Inline - <a href="25-cii.html#SP3_2_1_1">§3.2.1.1</a>, <a href="25-cii.html#SP3_1_1_4_7_1_2">§3.1.1.4.7.1.2</a>, <a href="25-cii.html#SP3_5_3">§3.5.3</a>, <a href="25-cii.html#SP3_5_4_3">§3.5.4.3</a><br/>Compile Phrases - <a href="25-cp.html#SP5_3_5">§5.3.5</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">t</span><span class="plain-syntax">, </span><span class="identifier-syntax">kind</span><span class="plain-syntax"> *</span><span class="identifier-syntax">K</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> ((</span><span class="identifier-syntax">K</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) || (</span><span class="identifier-syntax">Kinds::Compare::eq</span><span class="plain-syntax">(</span><span class="identifier-syntax">K</span><span class="plain-syntax">, </span><span class="identifier-syntax">K_nil</span><span class="plain-syntax">))) </span><span class="identifier-syntax">Problems::quote_text</span><span class="plain-syntax">(</span><span class="identifier-syntax">t</span><span class="plain-syntax">, </span><span class="string-syntax">"nothing"</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">Problems::problem_quote</span><span class="plain-syntax">(</span><span class="identifier-syntax">t</span><span class="plain-syntax">, (</span><span class="reserved-syntax">void</span><span class="plain-syntax"> *) </span><span class="identifier-syntax">K</span><span class="plain-syntax">, </span><a href="2-sq.html#SP3" class="function-link"><span class="function-syntax">Problems::expand_kind</span></a><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
@ -190,7 +190,7 @@ actual constant 15 to the generic constant "number":
|
|||
</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">Problems::quote_kind_of</span><button class="popup" onclick="togglePopup('usagePopup14')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup14">Usage of <span class="code-font"><span class="function-syntax">Problems::quote_kind_of</span></span>:<br/>Make Assertions - <a href="9-ma.html#SP3_3_8_3">§3.3.8.3</a>, <a href="9-ma.html#SP3_3_11">§3.3.11</a>, <a href="9-ma.html#SP3_3_39">§3.3.39</a>, <a href="9-ma.html#SP3_3_41_2_1">§3.3.41.2.1</a>, <a href="9-ma.html#SP3_3_41_8">§3.3.41.8</a><br/>Dash - <a href="14-ds2.html#SP11_4_1">§11.4.1</a>, <a href="14-ds2.html#SP11_8_1">§11.8.1</a>, <a href="14-ds2.html#SP19_6_2_1">§19.6.2.1</a>, <a href="14-ds2.html#SP19_6_2_2">§19.6.2.2</a><br/>Properties - <a href="15-pr.html#SP5_2">§5.2</a><br/>Tables of Definitions - <a href="19-tod.html#SP6_3_3">§6.3.3</a><br/>Local Variables - <a href="24-lv.html#SP33_2">§33.2</a><br/>Compile Invocations Inline - <a href="25-cii.html#SP3_1_1_4_7_1_1">§3.1.1.4.7.1.1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">t</span><span class="plain-syntax">, </span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">spec</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Problems::quote_kind_of</span><button class="popup" onclick="togglePopup('usagePopup14')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup14">Usage of <span class="code-font"><span class="function-syntax">Problems::quote_kind_of</span></span>:<br/>Make Assertions - <a href="9-ma.html#SP4_3_8_3">§4.3.8.3</a>, <a href="9-ma.html#SP4_3_11">§4.3.11</a>, <a href="9-ma.html#SP4_3_39">§4.3.39</a>, <a href="9-ma.html#SP4_3_41_2_1">§4.3.41.2.1</a>, <a href="9-ma.html#SP4_3_41_8">§4.3.41.8</a><br/>Dash - <a href="14-ds2.html#SP11_4_1">§11.4.1</a>, <a href="14-ds2.html#SP11_8_1">§11.8.1</a>, <a href="14-ds2.html#SP19_6_2_1">§19.6.2.1</a>, <a href="14-ds2.html#SP19_6_2_2">§19.6.2.2</a><br/>Properties - <a href="15-pr.html#SP5_2">§5.2</a><br/>Tables of Definitions - <a href="19-tod.html#SP6_3_3">§6.3.3</a><br/>Local Variables - <a href="24-lv.html#SP33_2">§33.2</a><br/>Compile Invocations Inline - <a href="25-cii.html#SP3_1_1_4_7_1_1">§3.1.1.4.7.1.1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">t</span><span class="plain-syntax">, </span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">spec</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="14-rv.html#SP4" class="function-link"><span class="function-syntax">Rvalues::is_object</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">spec</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">Annotations::read_int</span><span class="plain-syntax">(</span><span class="identifier-syntax">spec</span><span class="plain-syntax">, </span><span class="constant-syntax">self_object_ANNOT</span><span class="plain-syntax">)) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::quote_text</span><span class="plain-syntax">(</span><span class="identifier-syntax">t</span><span class="plain-syntax">, </span><span class="string-syntax">"implicit object"</span><span class="plain-syntax">); </span><span class="comment-syntax"> this is probably never seen, but just in case</span>
|
||||
|
|
|
@ -309,7 +309,7 @@ a message which diagnoses the problem rather better.
|
|||
</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">Problems::Using::assertion_problem</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">Problems::Using::assertion_problem</span></span>:<br/>The Creator - <a href="9-tc.html#SP6_9">§6.9</a>, <a href="9-tc.html#SP6_10">§6.10</a>, <a href="9-tc.html#SP5_4_2_2_1">§5.4.2.2.1</a>, <a href="9-tc.html#SP8_3">§8.3</a><br/>Make Assertions - <a href="9-ma.html#SP3_3_4">§3.3.4</a>, <a href="9-ma.html#SP3_3_6">§3.3.6</a>, <a href="9-ma.html#SP3_3_7">§3.3.7</a>, <a href="9-ma.html#SP3_3_8_4">§3.3.8.4</a>, <a href="9-ma.html#SP3_3_8_5">§3.3.8.5</a>, <a href="9-ma.html#SP3_3_8_6">§3.3.8.6</a>, <a href="9-ma.html#SP3_3_11">§3.3.11</a>, <a href="9-ma.html#SP3_3_12">§3.3.12</a>, <a href="9-ma.html#SP3_3_13">§3.3.13</a>, <a href="9-ma.html#SP3_3_16">§3.3.16</a>, <a href="9-ma.html#SP3_3_17">§3.3.17</a>, <a href="9-ma.html#SP3_3_19">§3.3.19</a>, <a href="9-ma.html#SP3_3_20">§3.3.20</a>, <a href="9-ma.html#SP3_3_21">§3.3.21</a>, <a href="9-ma.html#SP3_3_23">§3.3.23</a>, <a href="9-ma.html#SP3_3_24">§3.3.24</a>, <a href="9-ma.html#SP3_3_25_1">§3.3.25.1</a>, <a href="9-ma.html#SP3_3_25_2">§3.3.25.2</a>, <a href="9-ma.html#SP3_3_10_1">§3.3.10.1</a>, <a href="9-ma.html#SP3_3_10_2">§3.3.10.2</a>, <a href="9-ma.html#SP3_3_26_1">§3.3.26.1</a>, <a href="9-ma.html#SP3_3_26_1_1">§3.3.26.1.1</a>, <a href="9-ma.html#SP3_3_26_2">§3.3.26.2</a>, <a href="9-ma.html#SP3_3_26_3">§3.3.26.3</a>, <a href="9-ma.html#SP3_3_26_4">§3.3.26.4</a>, <a href="9-ma.html#SP3_3_27">§3.3.27</a>, <a href="9-ma.html#SP3_3_28">§3.3.28</a>, <a href="9-ma.html#SP3_3_30">§3.3.30</a>, <a href="9-ma.html#SP3_3_32">§3.3.32</a>, <a href="9-ma.html#SP3_3_33">§3.3.33</a>, <a href="9-ma.html#SP3_3_34">§3.3.34</a>, <a href="9-ma.html#SP3_3_38_2">§3.3.38.2</a>, <a href="9-ma.html#SP3_3_40">§3.3.40</a>, <a href="9-ma.html#SP3_3_41">§3.3.41</a>, <a href="9-ma.html#SP3_3_41_1">§3.3.41.1</a>, <a href="9-ma.html#SP3_3_41_2">§3.3.41.2</a>, <a href="9-ma.html#SP3_3_41_4">§3.3.41.4</a><br/>Property Declarations - <a href="9-pd.html#SP6_1">§6.1</a>, <a href="9-pd.html#SP6_1_1">§6.1.1</a><br/>Tree Conversions - <a href="11-tc.html#SP7_1_1">§7.1.1</a>, <a href="11-tc.html#SP7_1_2">§7.1.2</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">T</span><span class="plain-syntax">, </span><span class="identifier-syntax">SIGIL_ARGUMENTS</span><span class="plain-syntax">,</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Problems::Using::assertion_problem</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">Problems::Using::assertion_problem</span></span>:<br/>The Creator - <a href="9-tc.html#SP6_9">§6.9</a>, <a href="9-tc.html#SP6_10">§6.10</a>, <a href="9-tc.html#SP5_4_2_2_1">§5.4.2.2.1</a>, <a href="9-tc.html#SP8_3">§8.3</a><br/>Make Assertions - <a href="9-ma.html#SP4_3_4">§4.3.4</a>, <a href="9-ma.html#SP4_3_6">§4.3.6</a>, <a href="9-ma.html#SP4_3_7">§4.3.7</a>, <a href="9-ma.html#SP4_3_8_4">§4.3.8.4</a>, <a href="9-ma.html#SP4_3_8_5">§4.3.8.5</a>, <a href="9-ma.html#SP4_3_8_6">§4.3.8.6</a>, <a href="9-ma.html#SP4_3_11">§4.3.11</a>, <a href="9-ma.html#SP4_3_12">§4.3.12</a>, <a href="9-ma.html#SP4_3_13">§4.3.13</a>, <a href="9-ma.html#SP4_3_16">§4.3.16</a>, <a href="9-ma.html#SP4_3_17">§4.3.17</a>, <a href="9-ma.html#SP4_3_19">§4.3.19</a>, <a href="9-ma.html#SP4_3_20">§4.3.20</a>, <a href="9-ma.html#SP4_3_21">§4.3.21</a>, <a href="9-ma.html#SP4_3_23">§4.3.23</a>, <a href="9-ma.html#SP4_3_24">§4.3.24</a>, <a href="9-ma.html#SP4_3_25_1">§4.3.25.1</a>, <a href="9-ma.html#SP4_3_25_2">§4.3.25.2</a>, <a href="9-ma.html#SP4_3_10_1">§4.3.10.1</a>, <a href="9-ma.html#SP4_3_10_2">§4.3.10.2</a>, <a href="9-ma.html#SP4_3_26_1">§4.3.26.1</a>, <a href="9-ma.html#SP4_3_26_1_1">§4.3.26.1.1</a>, <a href="9-ma.html#SP4_3_26_2">§4.3.26.2</a>, <a href="9-ma.html#SP4_3_26_3">§4.3.26.3</a>, <a href="9-ma.html#SP4_3_26_4">§4.3.26.4</a>, <a href="9-ma.html#SP4_3_27">§4.3.27</a>, <a href="9-ma.html#SP4_3_28">§4.3.28</a>, <a href="9-ma.html#SP4_3_30">§4.3.30</a>, <a href="9-ma.html#SP4_3_32">§4.3.32</a>, <a href="9-ma.html#SP4_3_33">§4.3.33</a>, <a href="9-ma.html#SP4_3_34">§4.3.34</a>, <a href="9-ma.html#SP4_3_38_2">§4.3.38.2</a>, <a href="9-ma.html#SP4_3_40">§4.3.40</a>, <a href="9-ma.html#SP4_3_41">§4.3.41</a>, <a href="9-ma.html#SP4_3_41_1">§4.3.41.1</a>, <a href="9-ma.html#SP4_3_41_2">§4.3.41.2</a>, <a href="9-ma.html#SP4_3_41_4">§4.3.41.4</a><br/>Property Declarations - <a href="9-pd.html#SP6_1">§6.1</a>, <a href="9-pd.html#SP6_1_1">§6.1.1</a><br/>Tree Conversions - <a href="11-tc.html#SP7_1_1">§7.1.1</a>, <a href="11-tc.html#SP7_1_2">§7.1.2</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">T</span><span class="plain-syntax">, </span><span class="identifier-syntax">SIGIL_ARGUMENTS</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">char</span><span class="plain-syntax"> *</span><span class="identifier-syntax">message</span><span class="plain-syntax">, </span><span class="reserved-syntax">char</span><span class="plain-syntax"> *</span><span class="identifier-syntax">explanation</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">wording</span><span class="plain-syntax"> </span><span class="identifier-syntax">RTW</span><span class="plain-syntax"> = </span><span class="identifier-syntax">EMPTY_WORDING</span><span class="plain-syntax">; </span><span class="comment-syntax"> "rather than" text</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">ACT_ON_SIGIL</span>
|
||||
|
@ -346,7 +346,7 @@ a message which diagnoses the problem rather better.
|
|||
<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">void</span><span class="plain-syntax"> </span><span class="function-syntax">Problems::Using::diagnose_further</span><button class="popup" onclick="togglePopup('usagePopup4')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup4">Usage of <span class="code-font"><span class="function-syntax">Problems::Using::diagnose_further</span></span>:<br/>Rule Subtrees - <a href="7-rs.html#SP6_6_6">§6.6.6</a><br/>Make Assertions - <a href="9-ma.html#SP3_3_41_2_2">§3.3.41.2.2</a><br/>Property Knowledge - <a href="9-pk.html#SP2_1">§2.1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">void</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Problems::Using::diagnose_further</span><button class="popup" onclick="togglePopup('usagePopup4')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup4">Usage of <span class="code-font"><span class="function-syntax">Problems::Using::diagnose_further</span></span>:<br/>Rule Subtrees - <a href="7-rs.html#SP6_6_6">§6.6.6</a><br/>Make Assertions - <a href="9-ma.html#SP4_3_41_2_2">§4.3.41.2.2</a><br/>Property Knowledge - <a href="9-pk.html#SP2_1">§2.1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">void</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">current_sentence</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">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Wordings::empty</span><span class="plain-syntax">(</span><span class="identifier-syntax">Node::get_text</span><span class="plain-syntax">(</span><span class="identifier-syntax">current_sentence</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">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">sqc</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">;</span>
|
||||
|
|
|
@ -131,7 +131,7 @@ instance has its own <span class="extract"><span class="extract-syntax">equation
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">CLASS_DEFINITION</span>
|
||||
<span class="plain-syntax">} </span><span class="reserved-syntax">equation_symbol</span><span class="plain-syntax">;</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>The structure equation_symbol is accessed in 2/sq, 2/si, 3/cs, 3/dlr, 3/pr, 3/tr, 5/lp, 5/ut, 5/un, 5/ins, 5/nv, 6/rlt, 6/nv, 7/rs, 8/ef, 9/tfa, 9/tbath, 9/rpt, 9/tc, 9/ma, 9/pk, 9/rk, 9/ass, 9/imp, 9/pd, 10/teav, 10/cap, 11/ap, 11/pr, 11/bas, 11/tc, 11/sm, 12/dtd, 12/cdp, 14/rv, 14/lv, 14/cn, 14/ds, 14/ds2, 15/pr, 15/ep, 15/vp, 15/ps, 15/cp, 15/spr, 16/is, 16/in, 16/cmw, 17/rs, 19/tc, 19/tb, 19/rsft, 19/tod, 21/rl, 21/rl2, 21/fao, 21/rps, 21/sv, 21/ac, 22/ph, 22/pu, 22/dptd, 22/po, 22/pav, 22/tp, 22/tp2, 23/ad, 24/lv, 24/sf, 25/in, 25/pi, 25/cii, 25/cp, 26/uo, 26/tti, 26/pc, 26/ts, 27/cm and here.</li></ul>
|
||||
<ul class="endnotetexts"><li>The structure equation_symbol is accessed in 2/sq, 2/si, 3/cs, 3/dlr, 3/pr, 3/tr, 5/lp, 5/ut, 5/un, 5/ins, 5/nv, 6/rlt, 6/nv, 7/rs, 8/ef, 9/tfa, 9/rpt, 9/tc, 9/ma, 9/pk, 9/rk, 9/ass, 9/imp, 9/pd, 10/teav, 10/cap, 11/ap, 11/pr, 11/bas, 11/tc, 11/sm, 12/dtd, 12/cdp, 14/rv, 14/lv, 14/cn, 14/ds, 14/ds2, 15/pr, 15/ep, 15/vp, 15/ps, 15/cp, 15/spr, 16/is, 16/in, 16/cmw, 17/rs, 19/tc, 19/tb, 19/rsft, 19/tod, 21/rl, 21/rl2, 21/fao, 21/rps, 21/sv, 21/ac, 22/ph, 22/pu, 22/dptd, 22/po, 22/pav, 22/tp, 22/tp2, 23/ad, 24/lv, 24/sf, 25/in, 25/pi, 25/cii, 25/cp, 26/uo, 26/tti, 26/pc, 26/ts, 27/cm and here.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP4"></a><b>§4. </b>In addition, there are some standing symbols used by all equations: the
|
||||
constant "pi", for example. They're stored in this linked list:
|
||||
</p>
|
||||
|
|
|
@ -100,7 +100,7 @@ function togglePopup(material_id) {
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="reserved-syntax">activity_crossref</span><span class="plain-syntax"> *</span><span class="identifier-syntax">next</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">} </span><span class="reserved-syntax">activity_crossref</span><span class="plain-syntax">;</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>The structure activity is accessed in 2/sq, 2/si, 5/ins, 5/nv, 8/ef, 9/ma, 9/pk, 11/sm, 14/lv, 14/ds2, 15/pr, 15/ep, 15/vp, 15/spr, 16/in, 16/cmw, 17/rs, 19/tc, 19/tb, 19/tod, 20/eq, 21/rl, 21/rl2, 21/fao, 21/rps, 21/sv, 22/pu, 22/dptd, 22/po, 22/pav, 25/cii, 26/uo, 26/ts and here.</li><li>The structure activity_list is accessed in 3/cs, 3/dlr, 3/pr, 3/tr, 5/lp, 5/ut, 5/un, 5/ins, 6/rlt, 6/nv, 7/rs, 9/tfa, 9/tbath, 9/rpt, 9/tc, 9/ma, 9/rk, 9/ass, 9/imp, 9/pd, 10/teav, 10/cap, 11/ap, 11/pr, 11/bas, 11/tc, 11/sm, 12/dtd, 12/cdp, 14/rv, 14/lv, 14/cn, 14/ds, 14/ds2, 15/ps, 15/cp, 16/is, 16/in, 19/tb, 19/rsft, 19/tod, 20/eq, 21/rl, 21/rl2, 21/fao, 21/rps, 21/sv, 22/ph, 22/tp, 22/tp2, 23/ad, 24/lv, 24/sf, 25/in, 25/pi, 25/cii, 25/cp, 26/uo, 26/tti, 26/pc, 26/ts, 27/cm and here.</li><li>The structure activity_crossref is accessed in 3/cs, 3/dlr, 3/pr, 3/tr, 5/lp, 5/ut, 5/un, 5/ins, 6/rlt, 6/nv, 7/rs, 9/tfa, 9/tbath, 9/rpt, 9/tc, 9/ma, 9/rk, 9/ass, 9/imp, 9/pd, 10/teav, 10/cap, 11/ap, 11/pr, 11/bas, 11/tc, 11/sm, 12/dtd, 12/cdp, 14/rv, 14/lv, 14/cn, 14/ds, 14/ds2, 15/ps, 15/cp, 16/is, 16/in, 19/tb, 19/rsft, 19/tod, 20/eq, 21/rl, 21/rl2, 21/fao, 21/rps, 21/sv, 22/ph, 22/tp, 22/tp2, 23/ad, 24/lv, 24/sf, 25/in, 25/pi, 25/cii, 25/cp, 26/uo, 26/tti, 26/pc, 26/ts, 27/cm and here.</li></ul>
|
||||
<ul class="endnotetexts"><li>The structure activity is accessed in 2/sq, 2/si, 5/ins, 5/nv, 8/ef, 9/ma, 9/pk, 11/sm, 14/lv, 14/ds2, 15/pr, 15/ep, 15/vp, 15/spr, 16/in, 16/cmw, 17/rs, 19/tc, 19/tb, 19/tod, 20/eq, 21/rl, 21/rl2, 21/fao, 21/rps, 21/sv, 22/pu, 22/dptd, 22/po, 22/pav, 25/cii, 26/uo, 26/ts and here.</li><li>The structure activity_list is accessed in 3/cs, 3/dlr, 3/pr, 3/tr, 5/lp, 5/ut, 5/un, 5/ins, 6/rlt, 6/nv, 7/rs, 9/tfa, 9/rpt, 9/tc, 9/ma, 9/rk, 9/ass, 9/imp, 9/pd, 10/teav, 10/cap, 11/ap, 11/pr, 11/bas, 11/tc, 11/sm, 12/dtd, 12/cdp, 14/rv, 14/lv, 14/cn, 14/ds, 14/ds2, 15/ps, 15/cp, 16/is, 16/in, 19/tb, 19/rsft, 19/tod, 20/eq, 21/rl, 21/rl2, 21/fao, 21/rps, 21/sv, 22/ph, 22/tp, 22/tp2, 23/ad, 24/lv, 24/sf, 25/in, 25/pi, 25/cii, 25/cp, 26/uo, 26/tti, 26/pc, 26/ts, 27/cm and here.</li><li>The structure activity_crossref is accessed in 3/cs, 3/dlr, 3/pr, 3/tr, 5/lp, 5/ut, 5/un, 5/ins, 6/rlt, 6/nv, 7/rs, 9/tfa, 9/rpt, 9/tc, 9/ma, 9/rk, 9/ass, 9/imp, 9/pd, 10/teav, 10/cap, 11/ap, 11/pr, 11/bas, 11/tc, 11/sm, 12/dtd, 12/cdp, 14/rv, 14/lv, 14/cn, 14/ds, 14/ds2, 15/ps, 15/cp, 16/is, 16/in, 19/tb, 19/rsft, 19/tod, 20/eq, 21/rl, 21/rl2, 21/fao, 21/rps, 21/sv, 22/ph, 22/tp, 22/tp2, 23/ad, 24/lv, 24/sf, 25/in, 25/pi, 25/cii, 25/cp, 26/uo, 26/tti, 26/pc, 26/ts, 27/cm and here.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP2"></a><b>§2. </b></p>
|
||||
|
||||
<pre class="definitions code-font"><span class="definition-keyword">define</span> <span class="constant-syntax">STARTING_VIRTUAL_MACHINE_ACT</span><span class="plain-syntax"> </span><span class="constant-syntax">0</span>
|
||||
|
@ -357,7 +357,7 @@ noun for it; for example, the "announcing activity".
|
|||
<p class="commentary firstcommentary"><a id="SP8"></a><b>§8. </b></p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Activities::add_variable</span><button class="popup" onclick="togglePopup('usagePopup4')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup4">Usage of <span class="code-font"><span class="function-syntax">Activities::add_variable</span></span>:<br/>Make Assertions - <a href="9-ma.html#SP3_3_25_1">§3.3.25.1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">activity</span><span class="plain-syntax"> *</span><span class="identifier-syntax">av</span><span class="plain-syntax">, </span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">cnode</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Activities::add_variable</span><button class="popup" onclick="togglePopup('usagePopup4')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup4">Usage of <span class="code-font"><span class="function-syntax">Activities::add_variable</span></span>:<br/>Make Assertions - <a href="9-ma.html#SP4_3_25_1">§4.3.25.1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">activity</span><span class="plain-syntax"> *</span><span class="identifier-syntax">av</span><span class="plain-syntax">, </span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">cnode</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">spec</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">Node::get_type</span><span class="plain-syntax">(</span><span class="identifier-syntax">cnode</span><span class="plain-syntax">) != </span><span class="constant-syntax">PROPERTYCALLED_NT</span><span class="plain-syntax">) &&</span>
|
||||
<span class="plain-syntax"> (</span><span class="identifier-syntax">Node::get_type</span><span class="plain-syntax">(</span><span class="identifier-syntax">cnode</span><span class="plain-syntax">) != </span><span class="identifier-syntax">UNPARSED_NOUN_NT</span><span class="plain-syntax">)) {</span>
|
||||
|
|
|
@ -150,7 +150,7 @@ its outcomes.
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">CLASS_DEFINITION</span>
|
||||
<span class="plain-syntax">} </span><span class="reserved-syntax">rulebook_outcome</span><span class="plain-syntax">;</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>The structure named_rulebook_outcome is accessed in 2/sq, 2/si, 5/ins, 5/nv, 8/ef, 9/ma, 9/pk, 11/sm, 14/rv, 14/lv, 14/ds2, 15/pr, 15/ep, 15/vp, 15/spr, 16/in, 16/cmw, 17/rs, 19/tc, 19/tb, 19/tod, 20/eq, 21/rl, 21/rl2, 21/rps, 21/sv, 21/ac, 22/pu, 22/dptd, 22/po, 22/pav, 25/cii, 26/uo, 26/ts and here.</li><li>The structure rulebook_outcome is accessed in 3/cs, 3/dlr, 3/pr, 3/tr, 5/lp, 5/ut, 5/un, 5/ins, 6/rlt, 6/nv, 7/rs, 9/tfa, 9/tbath, 9/rpt, 9/tc, 9/ma, 9/rk, 9/ass, 9/imp, 9/pd, 10/teav, 10/cap, 11/ap, 11/pr, 11/bas, 11/tc, 11/sm, 12/dtd, 12/cdp, 14/rv, 14/lv, 14/cn, 14/ds, 14/ds2, 15/ps, 15/cp, 16/is, 16/in, 19/tb, 19/rsft, 19/tod, 20/eq, 21/rl, 21/rl2, 21/rps, 21/sv, 21/ac, 22/ph, 22/tp, 22/tp2, 23/ad, 24/lv, 24/sf, 25/in, 25/pi, 25/cii, 25/cp, 26/uo, 26/tti, 26/pc, 26/ts, 27/cm and here.</li></ul>
|
||||
<ul class="endnotetexts"><li>The structure named_rulebook_outcome is accessed in 2/sq, 2/si, 5/ins, 5/nv, 8/ef, 9/ma, 9/pk, 11/sm, 14/rv, 14/lv, 14/ds2, 15/pr, 15/ep, 15/vp, 15/spr, 16/in, 16/cmw, 17/rs, 19/tc, 19/tb, 19/tod, 20/eq, 21/rl, 21/rl2, 21/rps, 21/sv, 21/ac, 22/pu, 22/dptd, 22/po, 22/pav, 25/cii, 26/uo, 26/ts and here.</li><li>The structure rulebook_outcome is accessed in 3/cs, 3/dlr, 3/pr, 3/tr, 5/lp, 5/ut, 5/un, 5/ins, 6/rlt, 6/nv, 7/rs, 9/tfa, 9/rpt, 9/tc, 9/ma, 9/rk, 9/ass, 9/imp, 9/pd, 10/teav, 10/cap, 11/ap, 11/pr, 11/bas, 11/tc, 11/sm, 12/dtd, 12/cdp, 14/rv, 14/lv, 14/cn, 14/ds, 14/ds2, 15/ps, 15/cp, 16/is, 16/in, 19/tb, 19/rsft, 19/tod, 20/eq, 21/rl, 21/rl2, 21/rps, 21/sv, 21/ac, 22/ph, 22/tp, 22/tp2, 23/ad, 24/lv, 24/sf, 25/in, 25/pi, 25/cii, 25/cp, 26/uo, 26/tti, 26/pc, 26/ts, 27/cm and here.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP5"></a><b>§5. </b></p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
|
|
|
@ -176,7 +176,7 @@ have affected it in this way:
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">CLASS_DEFINITION</span>
|
||||
<span class="plain-syntax">} </span><span class="reserved-syntax">placement_affecting</span><span class="plain-syntax">;</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>The structure placement_affecting is accessed in 3/cs, 3/dlr, 3/pr, 3/tr, 5/lp, 5/ut, 5/un, 5/ins, 6/rlt, 6/nv, 7/rs, 9/tfa, 9/tbath, 9/rpt, 9/tc, 9/ma, 9/rk, 9/ass, 9/imp, 9/pd, 10/teav, 10/cap, 11/ap, 11/pr, 11/bas, 11/tc, 11/sm, 12/dtd, 12/cdp, 14/rv, 14/lv, 14/cn, 14/ds, 14/ds2, 15/ps, 15/cp, 16/is, 16/in, 19/tb, 19/rsft, 19/tod, 20/eq, 21/rl, 21/fao, 21/rps, 21/sv, 21/ac, 22/ph, 22/tp, 22/tp2, 23/ad, 24/lv, 24/sf, 25/in, 25/pi, 25/cii, 25/cp, 26/uo, 26/tti, 26/pc, 26/ts, 27/cm and here.</li></ul>
|
||||
<ul class="endnotetexts"><li>The structure placement_affecting is accessed in 3/cs, 3/dlr, 3/pr, 3/tr, 5/lp, 5/ut, 5/un, 5/ins, 6/rlt, 6/nv, 7/rs, 9/tfa, 9/rpt, 9/tc, 9/ma, 9/rk, 9/ass, 9/imp, 9/pd, 10/teav, 10/cap, 11/ap, 11/pr, 11/bas, 11/tc, 11/sm, 12/dtd, 12/cdp, 14/rv, 14/lv, 14/cn, 14/ds, 14/ds2, 15/ps, 15/cp, 16/is, 16/in, 19/tb, 19/rsft, 19/tod, 20/eq, 21/rl, 21/fao, 21/rps, 21/sv, 21/ac, 22/ph, 22/tp, 22/tp2, 23/ad, 24/lv, 24/sf, 25/in, 25/pi, 25/cii, 25/cp, 26/uo, 26/tti, 26/pc, 26/ts, 27/cm and here.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP6"></a><b>§6. </b>As rulebooks are declared, the first few are quietly copied into
|
||||
a small array: that way, we can always obtain a pointer to, say, the
|
||||
turn sequence rules by looking up <span class="extract"><span class="extract-syntax">built_in_rulebooks[TURN_SEQUENCE_RB]</span></span>.
|
||||
|
@ -512,7 +512,7 @@ built (for instance, scene endings).
|
|||
<p class="commentary firstcommentary"><a id="SP14"></a><b>§14. </b></p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Rulebooks::add_variable</span><button class="popup" onclick="togglePopup('usagePopup17')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup17">Usage of <span class="code-font"><span class="function-syntax">Rulebooks::add_variable</span></span>:<br/>Make Assertions - <a href="9-ma.html#SP3_3_25_2">§3.3.25.2</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">rulebook</span><span class="plain-syntax"> *</span><span class="identifier-syntax">rb</span><span class="plain-syntax">, </span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">cnode</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Rulebooks::add_variable</span><button class="popup" onclick="togglePopup('usagePopup17')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup17">Usage of <span class="code-font"><span class="function-syntax">Rulebooks::add_variable</span></span>:<br/>Make Assertions - <a href="9-ma.html#SP4_3_25_2">§4.3.25.2</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">rulebook</span><span class="plain-syntax"> *</span><span class="identifier-syntax">rb</span><span class="plain-syntax">, </span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">cnode</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">Node::get_type</span><span class="plain-syntax">(</span><span class="identifier-syntax">cnode</span><span class="plain-syntax">) != </span><span class="constant-syntax">PROPERTYCALLED_NT</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::quote_source</span><span class="plain-syntax">(1, </span><span class="identifier-syntax">current_sentence</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">StandardProblems::handmade_problem</span><span class="plain-syntax">(</span><a href="1-wtc.html#SP5" class="function-link"><span class="function-syntax">Task::syntax_tree</span></a><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_RulebookVarUncalled</span><span class="plain-syntax">));</span>
|
||||
|
@ -1064,7 +1064,7 @@ parses the object noun phrase with the following:
|
|||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">outcomes</span><span class="plain-syntax"> *</span><span class="identifier-syntax">outcomes_being_parsed</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
|
||||
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Rulebooks::parse_properties</span><button class="popup" onclick="togglePopup('usagePopup33')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup33">Usage of <span class="code-font"><span class="function-syntax">Rulebooks::parse_properties</span></span>:<br/>Make Assertions - <a href="9-ma.html#SP3_3_18">§3.3.18</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">rulebook</span><span class="plain-syntax"> *</span><span class="identifier-syntax">rb</span><span class="plain-syntax">, </span><span class="identifier-syntax">wording</span><span class="plain-syntax"> </span><span class="identifier-syntax">W</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Rulebooks::parse_properties</span><button class="popup" onclick="togglePopup('usagePopup33')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup33">Usage of <span class="code-font"><span class="function-syntax">Rulebooks::parse_properties</span></span>:<br/>Make Assertions - <a href="9-ma.html#SP4_3_18">§4.3.18</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">rulebook</span><span class="plain-syntax"> *</span><span class="identifier-syntax">rb</span><span class="plain-syntax">, </span><span class="identifier-syntax">wording</span><span class="plain-syntax"> </span><span class="identifier-syntax">W</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">outcomes_being_parsed</span><span class="plain-syntax"> = &(</span><span class="identifier-syntax">rb</span><span class="plain-syntax">-></span><span class="element-syntax">my_outcomes</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="function-syntax"><rulebook-property></span><span class="plain-syntax">(</span><span class="identifier-syntax">W</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
|
|
@ -101,7 +101,7 @@ function togglePopup(material_id) {
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">CLASS_DEFINITION</span>
|
||||
<span class="plain-syntax">} </span><span class="reserved-syntax">stacked_variable_owner_list</span><span class="plain-syntax">;</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>The structure stacked_variable is accessed in 2/sq, 2/si, 5/ins, 5/nv, 8/ef, 9/ma, 9/pk, 11/sm, 14/lv, 14/ds2, 15/pr, 15/ep, 15/vp, 15/spr, 16/in, 16/cmw, 17/rs, 19/tc, 19/tb, 19/tod, 20/eq, 21/rl, 21/rl2, 21/fao, 21/rps, 21/ac, 22/pu, 22/dptd, 22/po, 22/pav, 25/cii, 26/uo, 26/ts and here.</li><li>The structure stacked_variable_list is accessed in 3/cs, 3/dlr, 3/pr, 3/tr, 5/lp, 5/ut, 5/un, 5/ins, 6/rlt, 6/nv, 7/rs, 9/tfa, 9/tbath, 9/rpt, 9/tc, 9/ma, 9/rk, 9/ass, 9/imp, 9/pd, 10/teav, 10/cap, 11/ap, 11/pr, 11/bas, 11/tc, 11/sm, 12/dtd, 12/cdp, 14/rv, 14/lv, 14/cn, 14/ds, 14/ds2, 15/ps, 15/cp, 16/is, 16/in, 19/tb, 19/rsft, 19/tod, 20/eq, 21/rl, 21/rl2, 21/fao, 21/rps, 21/ac, 22/ph, 22/tp, 22/tp2, 23/ad, 24/lv, 24/sf, 25/in, 25/pi, 25/cii, 25/cp, 26/uo, 26/tti, 26/pc, 26/ts, 27/cm and here.</li><li>The structure stacked_variable_owner is private to this section.</li><li>The structure stacked_variable_owner_list is accessed in 3/cs, 3/dlr, 3/pr, 3/tr, 5/lp, 5/ut, 5/un, 5/ins, 6/rlt, 6/nv, 7/rs, 9/tfa, 9/tbath, 9/rpt, 9/tc, 9/ma, 9/rk, 9/ass, 9/imp, 9/pd, 10/teav, 10/cap, 11/ap, 11/pr, 11/bas, 11/tc, 11/sm, 12/dtd, 12/cdp, 14/rv, 14/lv, 14/cn, 14/ds, 14/ds2, 15/ps, 15/cp, 16/is, 16/in, 19/tb, 19/rsft, 19/tod, 20/eq, 21/rl, 21/rl2, 21/fao, 21/rps, 21/ac, 22/ph, 22/tp, 22/tp2, 23/ad, 24/lv, 24/sf, 25/in, 25/pi, 25/cii, 25/cp, 26/uo, 26/tti, 26/pc, 26/ts, 27/cm and here.</li></ul>
|
||||
<ul class="endnotetexts"><li>The structure stacked_variable is accessed in 2/sq, 2/si, 5/ins, 5/nv, 8/ef, 9/ma, 9/pk, 11/sm, 14/lv, 14/ds2, 15/pr, 15/ep, 15/vp, 15/spr, 16/in, 16/cmw, 17/rs, 19/tc, 19/tb, 19/tod, 20/eq, 21/rl, 21/rl2, 21/fao, 21/rps, 21/ac, 22/pu, 22/dptd, 22/po, 22/pav, 25/cii, 26/uo, 26/ts and here.</li><li>The structure stacked_variable_list is accessed in 3/cs, 3/dlr, 3/pr, 3/tr, 5/lp, 5/ut, 5/un, 5/ins, 6/rlt, 6/nv, 7/rs, 9/tfa, 9/rpt, 9/tc, 9/ma, 9/rk, 9/ass, 9/imp, 9/pd, 10/teav, 10/cap, 11/ap, 11/pr, 11/bas, 11/tc, 11/sm, 12/dtd, 12/cdp, 14/rv, 14/lv, 14/cn, 14/ds, 14/ds2, 15/ps, 15/cp, 16/is, 16/in, 19/tb, 19/rsft, 19/tod, 20/eq, 21/rl, 21/rl2, 21/fao, 21/rps, 21/ac, 22/ph, 22/tp, 22/tp2, 23/ad, 24/lv, 24/sf, 25/in, 25/pi, 25/cii, 25/cp, 26/uo, 26/tti, 26/pc, 26/ts, 27/cm and here.</li><li>The structure stacked_variable_owner is private to this section.</li><li>The structure stacked_variable_owner_list is accessed in 3/cs, 3/dlr, 3/pr, 3/tr, 5/lp, 5/ut, 5/un, 5/ins, 6/rlt, 6/nv, 7/rs, 9/tfa, 9/rpt, 9/tc, 9/ma, 9/rk, 9/ass, 9/imp, 9/pd, 10/teav, 10/cap, 11/ap, 11/pr, 11/bas, 11/tc, 11/sm, 12/dtd, 12/cdp, 14/rv, 14/lv, 14/cn, 14/ds, 14/ds2, 15/ps, 15/cp, 16/is, 16/in, 19/tb, 19/rsft, 19/tod, 20/eq, 21/rl, 21/rl2, 21/fao, 21/rps, 21/ac, 22/ph, 22/tp, 22/tp2, 23/ad, 24/lv, 24/sf, 25/in, 25/pi, 25/cii, 25/cp, 26/uo, 26/tti, 26/pc, 26/ts, 27/cm and here.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP2"></a><b>§2. </b></p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
|
|
|
@ -327,7 +327,7 @@ only conditionally, or substituted by other rules.
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">prevailing_mood</span><span class="plain-syntax"> =</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Annotations::read_int</span><span class="plain-syntax">(</span><span class="identifier-syntax">p</span><span class="plain-syntax">-></span><span class="element-syntax">down</span><span class="plain-syntax">, </span><span class="identifier-syntax">verbal_certainty_ANNOT</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="9-tfa.html#SP9" class="function-link"><span class="function-syntax">Assertions::Traverse::special</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">p</span><span class="plain-syntax">-></span><span class="element-syntax">down</span><span class="plain-syntax">))</span>
|
||||
<span class="plain-syntax"> </span><a href="9-tfa.html#SP14" class="function-link"><span class="function-syntax">Assertions::Traverse::try_special_meaning</span></a><span class="plain-syntax">(</span><span class="constant-syntax">TRAVERSE_FOR_RULE_FILING_SMFT</span><span class="plain-syntax">, </span><span class="identifier-syntax">p</span><span class="plain-syntax">-></span><span class="element-syntax">down</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="9-tfa.html#SP16" class="function-link"><span class="function-syntax">Assertions::Traverse::try_special_meaning</span></a><span class="plain-syntax">(</span><span class="constant-syntax">TRAVERSE_FOR_RULE_FILING_SMFT</span><span class="plain-syntax">, </span><span class="identifier-syntax">p</span><span class="plain-syntax">-></span><span class="element-syntax">down</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
|
|
|
@ -90,7 +90,7 @@ defined as "At 9:00 AM: ..." But two values are special:
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">CLASS_DEFINITION</span>
|
||||
<span class="plain-syntax">} </span><span class="reserved-syntax">use_as_event</span><span class="plain-syntax">;</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>The structure use_as_event is accessed in 3/cs, 3/dlr, 3/pr, 3/tr, 5/lp, 5/ut, 5/un, 5/ins, 6/rlt, 6/nv, 7/rs, 9/tfa, 9/tbath, 9/rpt, 9/tc, 9/ma, 9/rk, 9/ass, 9/imp, 9/pd, 10/teav, 10/cap, 11/ap, 11/pr, 11/bas, 11/tc, 11/sm, 12/dtd, 12/cdp, 14/rv, 14/lv, 14/cn, 14/ds, 14/ds2, 15/ps, 15/cp, 16/is, 16/in, 19/tb, 19/rsft, 19/tod, 20/eq, 21/rl, 21/rl2, 21/fao, 21/rps, 21/sv, 21/ac, 22/ph, 22/tp, 23/ad, 24/lv, 24/sf, 25/in, 25/pi, 25/cii, 25/cp, 26/uo, 26/tti, 26/pc, 26/ts, 27/cm and here.</li></ul>
|
||||
<ul class="endnotetexts"><li>The structure use_as_event is accessed in 3/cs, 3/dlr, 3/pr, 3/tr, 5/lp, 5/ut, 5/un, 5/ins, 6/rlt, 6/nv, 7/rs, 9/tfa, 9/rpt, 9/tc, 9/ma, 9/rk, 9/ass, 9/imp, 9/pd, 10/teav, 10/cap, 11/ap, 11/pr, 11/bas, 11/tc, 11/sm, 12/dtd, 12/cdp, 14/rv, 14/lv, 14/cn, 14/ds, 14/ds2, 15/ps, 15/cp, 16/is, 16/in, 19/tb, 19/rsft, 19/tod, 20/eq, 21/rl, 21/rl2, 21/fao, 21/rps, 21/sv, 21/ac, 22/ph, 22/tp, 23/ad, 24/lv, 24/sf, 25/in, 25/pi, 25/cii, 25/cp, 26/uo, 26/tti, 26/pc, 26/ts, 27/cm and here.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP4"></a><b>§4. </b>Timed events are stored in two simple arrays, processed by run-time code.
|
||||
</p>
|
||||
|
||||
|
|
|
@ -144,7 +144,7 @@ marks it as deallocated.
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">CLASS_DEFINITION</span>
|
||||
<span class="plain-syntax">} </span><span class="reserved-syntax">local_variable</span><span class="plain-syntax">;</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>The structure local_variable is accessed in 3/cs, 3/dlr, 3/pr, 3/tr, 5/lp, 5/ut, 5/un, 5/ins, 6/rlt, 6/nv, 7/rs, 9/tfa, 9/tbath, 9/rpt, 9/tc, 9/ma, 9/rk, 9/ass, 9/imp, 9/pd, 10/teav, 10/cap, 11/ap, 11/pr, 11/bas, 11/tc, 11/sm, 12/dtd, 12/cdp, 14/rv, 14/lv, 14/cn, 14/ds, 14/ds2, 15/ps, 15/cp, 16/is, 16/in, 19/tb, 19/rsft, 19/tod, 20/eq, 21/rl, 21/rl2, 21/fao, 21/rps, 21/sv, 21/ac, 22/ph, 22/tp, 22/tp2, 23/ad, 24/sf, 25/in, 25/pi, 25/cii, 25/cp, 26/uo, 26/tti, 26/pc, 26/ts, 27/cm and here.</li></ul>
|
||||
<ul class="endnotetexts"><li>The structure local_variable is accessed in 3/cs, 3/dlr, 3/pr, 3/tr, 5/lp, 5/ut, 5/un, 5/ins, 6/rlt, 6/nv, 7/rs, 9/tfa, 9/rpt, 9/tc, 9/ma, 9/rk, 9/ass, 9/imp, 9/pd, 10/teav, 10/cap, 11/ap, 11/pr, 11/bas, 11/tc, 11/sm, 12/dtd, 12/cdp, 14/rv, 14/lv, 14/cn, 14/ds, 14/ds2, 15/ps, 15/cp, 16/is, 16/in, 19/tb, 19/rsft, 19/tod, 20/eq, 21/rl, 21/rl2, 21/fao, 21/rps, 21/sv, 21/ac, 22/ph, 22/tp, 22/tp2, 23/ad, 24/sf, 25/in, 25/pi, 25/cii, 25/cp, 26/uo, 26/tti, 26/pc, 26/ts, 27/cm and here.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP4"></a><b>§4. </b>A local variable needs to be stored somewhere at run-time. The obvious
|
||||
correspondence is to put these into I6 local variables, which are, in effect,
|
||||
CPU registers. We won't need to do much in the way of register-allocation,
|
||||
|
|
|
@ -118,7 +118,7 @@ function togglePopup(material_id) {
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="reserved-syntax">plugin_call</span><span class="plain-syntax"> *</span><span class="identifier-syntax">next</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">} </span><span class="reserved-syntax">plugin_call</span><span class="plain-syntax">;</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>The structure plugin_call is accessed in 3/cs, 3/dlr, 3/pr, 3/tr, 5/lp, 5/ut, 5/un, 5/ins, 6/rlt, 6/nv, 7/rs, 9/tfa, 9/tbath, 9/rpt, 9/tc, 9/ma, 9/rk, 9/ass, 9/imp, 9/pd, 10/teav, 10/cap, 11/ap, 11/pr, 11/bas, 11/tc, 11/sm, 12/dtd, 12/cdp, 14/rv, 14/lv, 14/cn, 14/ds, 14/ds2, 15/ps, 15/cp, 16/is, 16/in, 19/tb, 19/rsft, 19/tod, 20/eq, 21/rl, 21/rl2, 21/fao, 21/rps, 21/sv, 21/ac, 22/ph, 22/tp, 22/tp2, 23/ad, 24/lv, 24/sf, 25/in, 25/pi, 25/cii, 25/cp, 26/uo, 26/tti, 26/ts, 27/cm and here.</li></ul>
|
||||
<ul class="endnotetexts"><li>The structure plugin_call is accessed in 3/cs, 3/dlr, 3/pr, 3/tr, 5/lp, 5/ut, 5/un, 5/ins, 6/rlt, 6/nv, 7/rs, 9/tfa, 9/rpt, 9/tc, 9/ma, 9/rk, 9/ass, 9/imp, 9/pd, 10/teav, 10/cap, 11/ap, 11/pr, 11/bas, 11/tc, 11/sm, 12/dtd, 12/cdp, 14/rv, 14/lv, 14/cn, 14/ds, 14/ds2, 15/ps, 15/cp, 16/is, 16/in, 19/tb, 19/rsft, 19/tod, 20/eq, 21/rl, 21/rl2, 21/fao, 21/rps, 21/sv, 21/ac, 22/ph, 22/tp, 22/tp2, 23/ad, 24/lv, 24/sf, 25/in, 25/pi, 25/cii, 25/cp, 26/uo, 26/tti, 26/ts, 27/cm and here.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP4"></a><b>§4. </b></p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
|
@ -221,12 +221,12 @@ function togglePopup(material_id) {
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">PLUGINS_CALL</span><span class="plain-syntax">(</span><span class="constant-syntax">PLUGIN_PARSE_COMPOSITE_NQS</span><span class="plain-syntax">, </span><span class="identifier-syntax">W</span><span class="plain-syntax">, </span><span class="identifier-syntax">DW</span><span class="plain-syntax">, </span><span class="identifier-syntax">quantifier_used</span><span class="plain-syntax">, </span><span class="identifier-syntax">some_kind</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">Plugins::Call::refine_implicit_noun</span><button class="popup" onclick="togglePopup('usagePopup11')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup11">Usage of <span class="code-font"><span class="function-syntax">Plugins::Call::refine_implicit_noun</span></span>:<br/>Refine Parse Tree - <a href="9-rpt.html#SP9_7">§9.7</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">p</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">Plugins::Call::refine_implicit_noun</span><button class="popup" onclick="togglePopup('usagePopup11')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup11">Usage of <span class="code-font"><span class="function-syntax">Plugins::Call::refine_implicit_noun</span></span>:<br/>Refine Parse Tree - <a href="9-rpt.html#SP10_7">§10.7</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">p</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">PLUGINS_CALL</span><span class="plain-syntax">(</span><span class="constant-syntax">PLUGIN_REFINE_IMPLICIT_NOUN</span><span class="plain-syntax">, </span><span class="identifier-syntax">p</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">Plugins::Call::act_on_special_NPs</span><button class="popup" onclick="togglePopup('usagePopup12')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup12">Usage of <span class="code-font"><span class="function-syntax">Plugins::Call::act_on_special_NPs</span></span>:<br/>Refine Parse Tree - <a href="9-rpt.html#SP9_8_1">§9.8.1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">p</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">Plugins::Call::act_on_special_NPs</span><button class="popup" onclick="togglePopup('usagePopup12')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup12">Usage of <span class="code-font"><span class="function-syntax">Plugins::Call::act_on_special_NPs</span></span>:<br/>Refine Parse Tree - <a href="9-rpt.html#SP10_8_1">§10.8.1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">p</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">PLUGINS_CALL</span><span class="plain-syntax">(</span><span class="constant-syntax">PLUGIN_ACT_ON_SPECIAL_NPS</span><span class="plain-syntax">, </span><span class="identifier-syntax">p</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
|
@ -251,7 +251,7 @@ function togglePopup(material_id) {
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">PLUGINS_CALL</span><span class="plain-syntax">(</span><span class="constant-syntax">PLUGIN_EXPLAIN_CONTRADICTION</span><span class="plain-syntax">, </span><span class="identifier-syntax">A</span><span class="plain-syntax">, </span><span class="identifier-syntax">B</span><span class="plain-syntax">, </span><span class="identifier-syntax">similarity</span><span class="plain-syntax">, </span><span class="identifier-syntax">subj</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">Plugins::Call::intervene_in_assertion</span><button class="popup" onclick="togglePopup('usagePopup18')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup18">Usage of <span class="code-font"><span class="function-syntax">Plugins::Call::intervene_in_assertion</span></span>:<br/>Make Assertions - <a href="9-ma.html#SP3_1">§3.1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">px</span><span class="plain-syntax">, </span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">py</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">Plugins::Call::intervene_in_assertion</span><button class="popup" onclick="togglePopup('usagePopup18')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup18">Usage of <span class="code-font"><span class="function-syntax">Plugins::Call::intervene_in_assertion</span></span>:<br/>Make Assertions - <a href="9-ma.html#SP4_1">§4.1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">px</span><span class="plain-syntax">, </span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">py</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">PLUGINS_CALL</span><span class="plain-syntax">(</span><span class="constant-syntax">PLUGIN_INTERVENE_IN_ASSERTION</span><span class="plain-syntax">, </span><span class="identifier-syntax">px</span><span class="plain-syntax">, </span><span class="identifier-syntax">py</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
|
@ -276,11 +276,11 @@ function togglePopup(material_id) {
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">PLUGINS_CALL</span><span class="plain-syntax">(</span><span class="constant-syntax">PLUGIN_DEFAULT_APPEARANCE</span><span class="plain-syntax">, </span><span class="identifier-syntax">infs</span><span class="plain-syntax">, </span><span class="identifier-syntax">txt</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">Plugins::Call::offered_property</span><button class="popup" onclick="togglePopup('usagePopup23')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup23">Usage of <span class="code-font"><span class="function-syntax">Plugins::Call::offered_property</span></span>:<br/>Make Assertions - <a href="9-ma.html#SP3_3_25">§3.3.25</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">kind</span><span class="plain-syntax"> *</span><span class="identifier-syntax">K</span><span class="plain-syntax">, </span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">owner</span><span class="plain-syntax">, </span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">what</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">Plugins::Call::offered_property</span><button class="popup" onclick="togglePopup('usagePopup23')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup23">Usage of <span class="code-font"><span class="function-syntax">Plugins::Call::offered_property</span></span>:<br/>Make Assertions - <a href="9-ma.html#SP4_3_25">§4.3.25</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">kind</span><span class="plain-syntax"> *</span><span class="identifier-syntax">K</span><span class="plain-syntax">, </span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">owner</span><span class="plain-syntax">, </span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">what</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">PLUGINS_CALL</span><span class="plain-syntax">(</span><span class="constant-syntax">PLUGIN_OFFERED_PROPERTY</span><span class="plain-syntax">, </span><span class="identifier-syntax">K</span><span class="plain-syntax">, </span><span class="identifier-syntax">owner</span><span class="plain-syntax">, </span><span class="identifier-syntax">what</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">Plugins::Call::offered_specification</span><button class="popup" onclick="togglePopup('usagePopup24')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup24">Usage of <span class="code-font"><span class="function-syntax">Plugins::Call::offered_specification</span></span>:<br/>Make Assertions - <a href="9-ma.html#SP3_3_26_1">§3.3.26.1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">owner</span><span class="plain-syntax">, </span><span class="identifier-syntax">wording</span><span class="plain-syntax"> </span><span class="identifier-syntax">W</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">Plugins::Call::offered_specification</span><button class="popup" onclick="togglePopup('usagePopup24')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup24">Usage of <span class="code-font"><span class="function-syntax">Plugins::Call::offered_specification</span></span>:<br/>Make Assertions - <a href="9-ma.html#SP4_3_26_1">§4.3.26.1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">owner</span><span class="plain-syntax">, </span><span class="identifier-syntax">wording</span><span class="plain-syntax"> </span><span class="identifier-syntax">W</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">PLUGINS_CALL</span><span class="plain-syntax">(</span><span class="constant-syntax">PLUGIN_OFFERED_SPECIFICATION</span><span class="plain-syntax">, </span><span class="identifier-syntax">owner</span><span class="plain-syntax">, </span><span class="identifier-syntax">W</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
|
@ -292,7 +292,7 @@ function togglePopup(material_id) {
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">PLUGINS_CALL</span><span class="plain-syntax">(</span><span class="constant-syntax">PLUGIN_FORBID_SETTING</span><span class="plain-syntax">, </span><span class="identifier-syntax">K</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">Plugins::Call::variable_set_warning</span><button class="popup" onclick="togglePopup('usagePopup27')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup27">Usage of <span class="code-font"><span class="function-syntax">Plugins::Call::variable_set_warning</span></span>:<br/>Make Assertions - <a href="9-ma.html#SP3_3_41_3">§3.3.41.3</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">nonlocal_variable</span><span class="plain-syntax"> *</span><span class="identifier-syntax">q</span><span class="plain-syntax">, </span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">val</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">Plugins::Call::variable_set_warning</span><button class="popup" onclick="togglePopup('usagePopup27')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup27">Usage of <span class="code-font"><span class="function-syntax">Plugins::Call::variable_set_warning</span></span>:<br/>Make Assertions - <a href="9-ma.html#SP4_3_41_3">§4.3.41.3</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">nonlocal_variable</span><span class="plain-syntax"> *</span><span class="identifier-syntax">q</span><span class="plain-syntax">, </span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">val</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">PLUGINS_CALL</span><span class="plain-syntax">(</span><span class="constant-syntax">PLUGIN_VARIABLE_SET_WARNING</span><span class="plain-syntax">, </span><span class="identifier-syntax">q</span><span class="plain-syntax">, </span><span class="identifier-syntax">val</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
|
|
|
@ -726,7 +726,7 @@ insert them into the Inter stream close to the top.
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">Produce::guard</span><span class="plain-syntax">(</span><span class="identifier-syntax">Inter::Link::new</span><span class="plain-syntax">(</span><span class="identifier-syntax">Packaging::at</span><span class="plain-syntax">(</span><a href="27-em.html#SP2" class="function-link"><span class="function-syntax">Emit::tree</span></a><span class="plain-syntax">()), (</span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax">) </span><span class="identifier-syntax">stage</span><span class="plain-syntax">, </span><span class="identifier-syntax">ID1</span><span class="plain-syntax">, </span><span class="identifier-syntax">ID2</span><span class="plain-syntax">, </span><span class="identifier-syntax">ID3</span><span class="plain-syntax">, </span><span class="identifier-syntax">ID4</span><span class="plain-syntax">, </span><span class="identifier-syntax">ref</span><span class="plain-syntax">, </span><span class="identifier-syntax">Produce::baseline</span><span class="plain-syntax">(</span><span class="identifier-syntax">Packaging::at</span><span class="plain-syntax">(</span><a href="27-em.html#SP2" class="function-link"><span class="function-syntax">Emit::tree</span></a><span class="plain-syntax">())), </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">));</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>The structure dval_written is private to this section.</li><li>The structure nascent_array is accessed in 2/up, 3/cs, 3/dlr, 5/lp, 5/un, 7/rs, 9/tfa, 9/tbath, 9/rpt, 9/tc, 9/ma, 9/rk, 9/ass, 9/imp, 9/pd, 10/aots, 10/teav, 10/varc, 10/cap, 11/bas, 11/tc, 11/sc, 11/sm, 12/dtd, 14/sp, 14/rv, 14/lv, 14/cn, 14/ds, 14/ds2, 15/ps, 15/cp, 17/ts, 18/lc, 19/tb, 19/rsft, 19/tod, 21/rl, 21/rl2, 21/rps, 21/ac, 22/cs, 22/ph, 23/ad, 24/lv, 24/ch, 25/in, 25/pi, 25/cp, 26/uo, 26/tti, 27/cm and here.</li></ul>
|
||||
<ul class="endnotetexts"><li>The structure dval_written is private to this section.</li><li>The structure nascent_array is accessed in 2/up, 3/cs, 3/dlr, 5/lp, 5/un, 7/rs, 9/tfa, 9/rpt, 9/tc, 9/ma, 9/rk, 9/ass, 9/imp, 9/pd, 10/aots, 10/teav, 10/varc, 10/cap, 11/bas, 11/tc, 11/sc, 11/sm, 12/dtd, 14/sp, 14/rv, 14/lv, 14/cn, 14/ds, 14/ds2, 15/ps, 15/cp, 17/ts, 18/lc, 19/tb, 19/rsft, 19/tod, 21/rl, 21/rl2, 21/rps, 21/ac, 22/cs, 22/ph, 23/ad, 24/lv, 24/ch, 25/in, 25/pi, 25/cp, 26/uo, 26/tti, 27/cm and here.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP4"></a><b>§4. </b></p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
|
|
|
@ -160,7 +160,7 @@ and we ask the <a href="../linguistics-module/index.html" class="internal">lingu
|
|||
<span class="plain-syntax"> </span><a href="15-ps.html#SP2" class="function-link"><span class="function-syntax">PropertySentences::look_for_property_creation</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">p</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-cs.html#SP4_3" class="named-paragraph-link"><span class="named-paragraph">Issue problem message if either subject or object contains mismatched brackets</span><span class="named-paragraph-number">4.3</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-cs.html#SP4_4" class="named-paragraph-link"><span class="named-paragraph">Issue problem message if subject starts with double-quoted literal text</span><span class="named-paragraph-number">4.4</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">VP_PN</span><span class="plain-syntax">-></span><span class="element-syntax">next</span><span class="plain-syntax">) && (</span><span class="identifier-syntax">VP_PN</span><span class="plain-syntax">-></span><span class="element-syntax">next</span><span class="plain-syntax">-></span><span class="element-syntax">next</span><span class="plain-syntax">) && (</span><a href="9-tbath.html#SP3" class="function-link"><span class="function-syntax">Assertions::Copular::possessive</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">VP_PN</span><span class="plain-syntax">-></span><span class="element-syntax">next</span><span class="plain-syntax">-></span><span class="element-syntax">next</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">VP_PN</span><span class="plain-syntax">-></span><span class="element-syntax">next</span><span class="plain-syntax">) && (</span><span class="identifier-syntax">VP_PN</span><span class="plain-syntax">-></span><span class="element-syntax">next</span><span class="plain-syntax">-></span><span class="element-syntax">next</span><span class="plain-syntax">) && (</span><span class="identifier-syntax">Diagrams::is_possessive_RELATIONSHIP</span><span class="plain-syntax">(</span><span class="identifier-syntax">VP_PN</span><span class="plain-syntax">-></span><span class="element-syntax">next</span><span class="plain-syntax">-></span><span class="element-syntax">next</span><span class="plain-syntax">)))</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-cs.html#SP4_5" class="named-paragraph-link"><span class="named-paragraph">Diagram property callings</span><span class="named-paragraph-number">4.5</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> } </span><span class="reserved-syntax">else</span><span class="plain-syntax"> {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOG</span><span class="plain-syntax">(</span><span class="string-syntax">"$T\n"</span><span class="plain-syntax">, </span><span class="identifier-syntax">p</span><span class="plain-syntax">);</span>
|
||||
|
|
|
@ -431,7 +431,7 @@ or an either/or property? If so we return the earliest known.
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">instance</span><span class="plain-syntax"> *</span><span class="function-syntax">Adjectives::Meanings::has_ENUMERATIVE_meaning</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">Adjectives::Meanings::has_ENUMERATIVE_meaning</span></span>:<br/>Refine Parse Tree - <a href="9-rpt.html#SP6">§6</a><br/>Make Assertions - <a href="9-ma.html#SP3_3_13">§3.3.13</a><br/>Terms - <a href="11-tr.html#SP8">§8</a><br/>Dash - <a href="14-ds2.html#SP11_9_1_1_5_1_2">§11.9.1.1.5.1.2</a><br/>Condition Properties - <a href="15-cp.html#SP3">§3</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">adjective</span><span class="plain-syntax"> *</span><span class="identifier-syntax">aph</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">instance</span><span class="plain-syntax"> *</span><span class="function-syntax">Adjectives::Meanings::has_ENUMERATIVE_meaning</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">Adjectives::Meanings::has_ENUMERATIVE_meaning</span></span>:<br/>Refine Parse Tree - <a href="9-rpt.html#SP6">§6</a><br/>Make Assertions - <a href="9-ma.html#SP4_3_13">§4.3.13</a><br/>Terms - <a href="11-tr.html#SP8">§8</a><br/>Dash - <a href="14-ds2.html#SP11_9_1_1_5_1_2">§11.9.1.1.5.1.2</a><br/>Condition Properties - <a href="15-cp.html#SP3">§3</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">adjective</span><span class="plain-syntax"> *</span><span class="identifier-syntax">aph</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">adjective_meaning</span><span class="plain-syntax"> *</span><span class="identifier-syntax">am</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="identifier-syntax">am</span><span class="plain-syntax"> = </span><span class="identifier-syntax">aph</span><span class="plain-syntax">-></span><span class="identifier-syntax">adjective_meanings</span><span class="plain-syntax">.</span><span class="element-syntax">possible_meanings</span><span class="plain-syntax">; </span><span class="identifier-syntax">am</span><span class="plain-syntax">; </span><span class="identifier-syntax">am</span><span class="plain-syntax"> = </span><span class="identifier-syntax">am</span><span class="plain-syntax">-></span><span class="element-syntax">next_meaning</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">am</span><span class="plain-syntax">-></span><span class="element-syntax">adjective_form</span><span class="plain-syntax"> == </span><span class="constant-syntax">ENUMERATIVE_KADJ</span><span class="plain-syntax">)</span>
|
||||
|
|
|
@ -127,7 +127,7 @@ evidence turns up to suggest otherwise).
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="reserved-syntax">instance_usage</span><span class="plain-syntax"> *</span><span class="identifier-syntax">next</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">} </span><span class="reserved-syntax">instance_usage</span><span class="plain-syntax">;</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>The structure instance_usage is accessed in 3/cs, 3/dlr, 3/pr, 3/tr, 5/lp, 5/ut, 5/un, 6/rlt, 6/nv, 7/rs, 9/tfa, 9/tbath, 9/rpt, 9/tc, 9/ma, 9/rk, 9/ass, 9/imp, 9/pd, 10/teav, 10/cap, 11/ap, 11/pr, 11/bas, 11/tc, 11/sm, 12/dtd, 12/cdp, 14/rv, 14/lv, 14/cn, 14/ds, 14/ds2, 15/ps, 15/cp, 16/is, 16/in, 19/tb, 19/rsft, 19/tod, 20/eq, 21/rl, 21/rl2, 21/fao, 21/rps, 21/sv, 21/ac, 22/ph, 22/tp, 22/tp2, 23/ad, 24/lv, 24/sf, 25/in, 25/pi, 25/cii, 25/cp, 26/uo, 26/tti, 26/pc, 26/ts, 27/cm and here.</li></ul>
|
||||
<ul class="endnotetexts"><li>The structure instance_usage is accessed in 3/cs, 3/dlr, 3/pr, 3/tr, 5/lp, 5/ut, 5/un, 6/rlt, 6/nv, 7/rs, 9/tfa, 9/rpt, 9/tc, 9/ma, 9/rk, 9/ass, 9/imp, 9/pd, 10/teav, 10/cap, 11/ap, 11/pr, 11/bas, 11/tc, 11/sm, 12/dtd, 12/cdp, 14/rv, 14/lv, 14/cn, 14/ds, 14/ds2, 15/ps, 15/cp, 16/is, 16/in, 19/tb, 19/rsft, 19/tod, 20/eq, 21/rl, 21/rl2, 21/fao, 21/rps, 21/sv, 21/ac, 22/ph, 22/tp, 22/tp2, 23/ad, 24/lv, 24/sf, 25/in, 25/pi, 25/cii, 25/cp, 26/uo, 26/tti, 26/pc, 26/ts, 27/cm and here.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP4"></a><b>§4. </b>We record the one most recently made:
|
||||
</p>
|
||||
|
||||
|
@ -370,7 +370,7 @@ turns up subsequently, e.g., in response to
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">I</span><span class="plain-syntax">-></span><span class="element-syntax">enumeration_index</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="reserved-syntax">inference_subject</span><span class="plain-syntax"> *</span><span class="function-syntax">Instances::as_subject</span><button class="popup" onclick="togglePopup('usagePopup8')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup8">Usage of <span class="code-font"><span class="function-syntax">Instances::as_subject</span></span>:<br/><a href="5-ins.html#SP33">§33</a><br/>Adjective Meanings - <a href="4-am.html#SP23">§23</a><br/>Index Physical World - <a href="5-ipw.html#SP3_7">§3.7</a>, <a href="5-ipw.html#SP3_9">§3.9</a><br/>Relations - <a href="6-rlt.html#SP26">§26</a><br/>Refine Parse Tree - <a href="9-rpt.html#SP9_5_1">§9.5.1</a>, <a href="9-rpt.html#SP10_1">§10.1</a><br/>The Creator - <a href="9-tc.html#SP5_4">§5.4</a>, <a href="9-tc.html#SP5_4_1_1">§5.4.1.1</a>, <a href="9-tc.html#SP8_4_1">§8.4.1</a><br/>Make Assertions - <a href="9-ma.html#SP3_3_41_5">§3.3.41.5</a><br/>Tree Conversions - <a href="11-tc.html#SP2">§2</a><br/>Assert Propositions - <a href="12-ap.html#SP9_5_2">§9.5.2</a>, <a href="12-ap.html#SP12">§12</a><br/>Dash - <a href="14-ds2.html#SP11_9_1_1_5_1_3">§11.9.1.1.5.1.3</a><br/>Properties - <a href="15-pr.html#SP27">§27</a><br/>Properties of Values - <a href="15-pov.html#SP4">§4</a><br/>Inference Subjects - <a href="16-is.html#SP6">§6</a>, <a href="16-is.html#SP12">§12</a>, <a href="16-is.html#SP17">§17</a><br/>Inferences - <a href="16-in.html#SP19">§19</a><br/>Instance Counting - <a href="16-ic.html#SP8">§8</a>, <a href="16-ic.html#SP12_1">§12.1</a>, <a href="16-ic.html#SP12_3_1">§12.3.1</a>, <a href="16-ic.html#SP12_3_2">§12.3.2</a>, <a href="16-ic.html#SP12_3_3">§12.3.3</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">instance</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">inference_subject</span><span class="plain-syntax"> *</span><span class="function-syntax">Instances::as_subject</span><button class="popup" onclick="togglePopup('usagePopup8')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup8">Usage of <span class="code-font"><span class="function-syntax">Instances::as_subject</span></span>:<br/><a href="5-ins.html#SP33">§33</a><br/>Adjective Meanings - <a href="4-am.html#SP23">§23</a><br/>Index Physical World - <a href="5-ipw.html#SP3_7">§3.7</a>, <a href="5-ipw.html#SP3_9">§3.9</a><br/>Relations - <a href="6-rlt.html#SP26">§26</a><br/>Refine Parse Tree - <a href="9-rpt.html#SP10_5_1">§10.5.1</a>, <a href="9-rpt.html#SP11_1">§11.1</a><br/>The Creator - <a href="9-tc.html#SP5_4">§5.4</a>, <a href="9-tc.html#SP5_4_1_1">§5.4.1.1</a>, <a href="9-tc.html#SP8_4_1">§8.4.1</a><br/>Make Assertions - <a href="9-ma.html#SP4_3_41_5">§4.3.41.5</a><br/>Tree Conversions - <a href="11-tc.html#SP2">§2</a><br/>Assert Propositions - <a href="12-ap.html#SP9_5_2">§9.5.2</a>, <a href="12-ap.html#SP12">§12</a><br/>Dash - <a href="14-ds2.html#SP11_9_1_1_5_1_3">§11.9.1.1.5.1.3</a><br/>Properties - <a href="15-pr.html#SP27">§27</a><br/>Properties of Values - <a href="15-pov.html#SP4">§4</a><br/>Inference Subjects - <a href="16-is.html#SP6">§6</a>, <a href="16-is.html#SP12">§12</a>, <a href="16-is.html#SP17">§17</a><br/>Inferences - <a href="16-in.html#SP19">§19</a><br/>Instance Counting - <a href="16-ic.html#SP8">§8</a>, <a href="16-ic.html#SP12_1">§12.1</a>, <a href="16-ic.html#SP12_3_1">§12.3.1</a>, <a href="16-ic.html#SP12_3_2">§12.3.2</a>, <a href="16-ic.html#SP12_3_3">§12.3.3</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">instance</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">I</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">I</span><span class="plain-syntax">-></span><span class="element-syntax">as_subject</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
@ -378,7 +378,7 @@ turns up subsequently, e.g., in response to
|
|||
<p class="commentary firstcommentary"><a id="SP14"></a><b>§14. As mere names. </b></p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="identifier-syntax">wording</span><span class="plain-syntax"> </span><span class="function-syntax">Instances::get_name</span><button class="popup" onclick="togglePopup('usagePopup9')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup9">Usage of <span class="code-font"><span class="function-syntax">Instances::get_name</span></span>:<br/><a href="5-ins.html#SP15_1">§15.1</a>, <a href="5-ins.html#SP15_2">§15.2</a>, <a href="5-ins.html#SP27">§27</a>, <a href="5-ins.html#SP37">§37</a>, <a href="5-ins.html#SP38_2">§38.2</a><br/>Supplementary Quotes - <a href="2-sq.html#SP2">§2</a><br/>Index Physical World - <a href="5-ipw.html#SP2_2_1">§2.2.1</a><br/>Extension Files - <a href="8-ef.html#SP9_2">§9.2</a>, <a href="8-ef.html#SP9_4">§9.4</a><br/>Refine Parse Tree - <a href="9-rpt.html#SP9_5_1">§9.5.1</a><br/>The Creator - <a href="9-tc.html#SP5_4_1">§5.4.1</a><br/>RValues - <a href="14-rv.html#SP3">§3</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">instance</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">plural</span><span class="plain-syntax">) {</span>
|
||||
<span class="identifier-syntax">wording</span><span class="plain-syntax"> </span><span class="function-syntax">Instances::get_name</span><button class="popup" onclick="togglePopup('usagePopup9')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup9">Usage of <span class="code-font"><span class="function-syntax">Instances::get_name</span></span>:<br/><a href="5-ins.html#SP15_1">§15.1</a>, <a href="5-ins.html#SP15_2">§15.2</a>, <a href="5-ins.html#SP27">§27</a>, <a href="5-ins.html#SP37">§37</a>, <a href="5-ins.html#SP38_2">§38.2</a><br/>Supplementary Quotes - <a href="2-sq.html#SP2">§2</a><br/>Index Physical World - <a href="5-ipw.html#SP2_2_1">§2.2.1</a><br/>Extension Files - <a href="8-ef.html#SP9_2">§9.2</a>, <a href="8-ef.html#SP9_4">§9.4</a><br/>Refine Parse Tree - <a href="9-rpt.html#SP10_5_1">§10.5.1</a><br/>The Creator - <a href="9-tc.html#SP5_4_1">§5.4.1</a><br/>RValues - <a href="14-rv.html#SP3">§3</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">instance</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">plural</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">I</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) || (</span><span class="identifier-syntax">I</span><span class="plain-syntax">-></span><span class="element-syntax">tag</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">)) </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">EMPTY_WORDING</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">Nouns::nominative</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">-></span><span class="element-syntax">tag</span><span class="plain-syntax">, </span><span class="identifier-syntax">plural</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
@ -536,7 +536,7 @@ specialised than which other ones, and by making a call, we can find out.
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="identifier-syntax">kind</span><span class="plain-syntax"> *</span><span class="function-syntax">Instances::to_kind</span><button class="popup" onclick="togglePopup('usagePopup15')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup15">Usage of <span class="code-font"><span class="function-syntax">Instances::to_kind</span></span>:<br/><a href="5-ins.html#SP12">§12</a>, <a href="5-ins.html#SP15_1">§15.1</a>, <a href="5-ins.html#SP15_2">§15.2</a>, <a href="5-ins.html#SP19">§19</a>, <a href="5-ins.html#SP21">§21</a>, <a href="5-ins.html#SP25">§25</a>, <a href="5-ins.html#SP33">§33</a>, <a href="5-ins.html#SP34">§34</a>, <a href="5-ins.html#SP36">§36</a>, <a href="5-ins.html#SP37">§37</a>, <a href="5-ins.html#SP38_1">§38.1</a><br/>Supplementary Quotes - <a href="2-sq.html#SP2">§2</a>, <a href="2-sq.html#SP4">§4</a><br/>Adjective Meanings - <a href="4-am.html#SP23">§23</a><br/>Index Physical World - <a href="5-ipw.html#SP3_3_1">§3.3.1</a>, <a href="5-ipw.html#SP3_3_1_1">§3.3.1.1</a>, <a href="5-ipw.html#SP3_4">§3.4</a>, <a href="5-ipw.html#SP3_8">§3.8</a><br/>Extension Files - <a href="8-ef.html#SP9_2">§9.2</a><br/>Make Assertions - <a href="9-ma.html#SP3_3_40_1">§3.3.40.1</a>, <a href="9-ma.html#SP3_3_41_5">§3.3.41.5</a><br/>Propositions - <a href="11-pr.html#SP35_1">§35.1</a><br/>Assert Propositions - <a href="12-ap.html#SP9_10">§9.10</a><br/>RValues - <a href="14-rv.html#SP3">§3</a>, <a href="14-rv.html#SP23_1">§23.1</a><br/>Dash - <a href="14-ds2.html#SP11_9_1_1_5_1_1">§11.9.1.1.5.1.1</a>, <a href="14-ds2.html#SP11_9_1_1_5_1_2">§11.9.1.1.5.1.2</a><br/>Condition Properties - <a href="15-cp.html#SP3">§3</a><br/>Emit Property Values - <a href="15-epv.html#SP1_1">§1.1</a>, <a href="15-epv.html#SP1_1_1">§1.1.1</a><br/>Inference Subjects - <a href="16-is.html#SP19">§19</a><br/>Instance Counting - <a href="16-ic.html#SP12_3">§12.3</a>, <a href="16-ic.html#SP12_3_1">§12.3.1</a><br/>Compile Phrases - <a href="25-cp.html#SP5_3_5">§5.3.5</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">instance</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax">) {</span>
|
||||
<span class="identifier-syntax">kind</span><span class="plain-syntax"> *</span><span class="function-syntax">Instances::to_kind</span><button class="popup" onclick="togglePopup('usagePopup15')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup15">Usage of <span class="code-font"><span class="function-syntax">Instances::to_kind</span></span>:<br/><a href="5-ins.html#SP12">§12</a>, <a href="5-ins.html#SP15_1">§15.1</a>, <a href="5-ins.html#SP15_2">§15.2</a>, <a href="5-ins.html#SP19">§19</a>, <a href="5-ins.html#SP21">§21</a>, <a href="5-ins.html#SP25">§25</a>, <a href="5-ins.html#SP33">§33</a>, <a href="5-ins.html#SP34">§34</a>, <a href="5-ins.html#SP36">§36</a>, <a href="5-ins.html#SP37">§37</a>, <a href="5-ins.html#SP38_1">§38.1</a><br/>Supplementary Quotes - <a href="2-sq.html#SP2">§2</a>, <a href="2-sq.html#SP4">§4</a><br/>Adjective Meanings - <a href="4-am.html#SP23">§23</a><br/>Index Physical World - <a href="5-ipw.html#SP3_3_1">§3.3.1</a>, <a href="5-ipw.html#SP3_3_1_1">§3.3.1.1</a>, <a href="5-ipw.html#SP3_4">§3.4</a>, <a href="5-ipw.html#SP3_8">§3.8</a><br/>Extension Files - <a href="8-ef.html#SP9_2">§9.2</a><br/>Make Assertions - <a href="9-ma.html#SP4_3_40_1">§4.3.40.1</a>, <a href="9-ma.html#SP4_3_41_5">§4.3.41.5</a><br/>Propositions - <a href="11-pr.html#SP35_1">§35.1</a><br/>Assert Propositions - <a href="12-ap.html#SP9_10">§9.10</a><br/>RValues - <a href="14-rv.html#SP3">§3</a>, <a href="14-rv.html#SP23_1">§23.1</a><br/>Dash - <a href="14-ds2.html#SP11_9_1_1_5_1_1">§11.9.1.1.5.1.1</a>, <a href="14-ds2.html#SP11_9_1_1_5_1_2">§11.9.1.1.5.1.2</a><br/>Condition Properties - <a href="15-cp.html#SP3">§3</a><br/>Emit Property Values - <a href="15-epv.html#SP1_1">§1.1</a>, <a href="15-epv.html#SP1_1_1">§1.1.1</a><br/>Inference Subjects - <a href="16-is.html#SP19">§19</a><br/>Instance Counting - <a href="16-ic.html#SP12_3">§12.3</a>, <a href="16-ic.html#SP12_3_1">§12.3.1</a><br/>Compile Phrases - <a href="25-cp.html#SP5_3_5">§5.3.5</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">instance</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">I</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">inference_subject</span><span class="plain-syntax"> *</span><span class="identifier-syntax">inherits_from</span><span class="plain-syntax"> = </span><a href="16-is.html#SP14" class="function-link"><span class="function-syntax">InferenceSubjects::narrowest_broader_subject</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">-></span><span class="element-syntax">as_subject</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><a href="16-is.html#SP19" class="function-link"><span class="function-syntax">InferenceSubjects::as_kind</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">inherits_from</span><span class="plain-syntax">);</span>
|
||||
|
|
|
@ -271,7 +271,7 @@ mass might also support "in kilograms" and "in grams", for instance.
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">CLASS_DEFINITION</span>
|
||||
<span class="plain-syntax">} </span><span class="reserved-syntax">literal_pattern_name</span><span class="plain-syntax">;</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>The structure literal_pattern_name is accessed in 3/cs, 3/dlr, 3/pr, 3/tr, 5/ut, 5/un, 5/ins, 6/rlt, 6/nv, 7/rs, 9/tfa, 9/tbath, 9/rpt, 9/tc, 9/ma, 9/rk, 9/ass, 9/imp, 9/pd, 10/teav, 10/cap, 11/ap, 11/pr, 11/bas, 11/tc, 11/sm, 12/dtd, 12/cdp, 14/rv, 14/lv, 14/cn, 14/ds, 14/ds2, 15/ps, 15/cp, 16/is, 16/in, 19/tb, 19/rsft, 19/tod, 20/eq, 21/rl, 21/rl2, 21/fao, 21/rps, 21/sv, 21/ac, 22/ph, 22/tp, 22/tp2, 23/ad, 24/lv, 24/sf, 25/in, 25/pi, 25/cii, 25/cp, 26/uo, 26/tti, 26/pc, 26/ts, 27/cm and here.</li></ul>
|
||||
<ul class="endnotetexts"><li>The structure literal_pattern_name is accessed in 3/cs, 3/dlr, 3/pr, 3/tr, 5/ut, 5/un, 5/ins, 6/rlt, 6/nv, 7/rs, 9/tfa, 9/rpt, 9/tc, 9/ma, 9/rk, 9/ass, 9/imp, 9/pd, 10/teav, 10/cap, 11/ap, 11/pr, 11/bas, 11/tc, 11/sm, 12/dtd, 12/cdp, 14/rv, 14/lv, 14/cn, 14/ds, 14/ds2, 15/ps, 15/cp, 16/is, 16/in, 19/tb, 19/rsft, 19/tod, 20/eq, 21/rl, 21/rl2, 21/fao, 21/rps, 21/sv, 21/ac, 22/ph, 22/tp, 22/tp2, 23/ad, 24/lv, 24/sf, 25/in, 25/pi, 25/cii, 25/cp, 26/uo, 26/tti, 26/pc, 26/ts, 27/cm and here.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP9"></a><b>§9. Creating patterns, tokens and elements. </b></p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
|
|
|
@ -267,7 +267,7 @@ parsing only picks up globals (see note on name registration above).
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">nonlocal_variable</span><span class="plain-syntax"> *</span><span class="function-syntax">NonlocalVariables::parse</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">NonlocalVariables::parse</span></span>:<br/><a href="5-nv.html#SP10">§10</a><br/>Refine Parse Tree - <a href="9-rpt.html#SP14">§14</a><br/>Compile Invocations Inline - <a href="25-cii.html#SP8">§8</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">wording</span><span class="plain-syntax"> </span><span class="identifier-syntax">W</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">nonlocal_variable</span><span class="plain-syntax"> *</span><span class="function-syntax">NonlocalVariables::parse</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">NonlocalVariables::parse</span></span>:<br/><a href="5-nv.html#SP10">§10</a><br/>Refine Parse Tree - <a href="9-rpt.html#SP15">§15</a><br/>Compile Invocations Inline - <a href="25-cii.html#SP8">§8</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">wording</span><span class="plain-syntax"> </span><span class="identifier-syntax">W</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">W</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Articles::remove_the</span><span class="plain-syntax">(</span><span class="identifier-syntax">W</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="function-syntax"><s-global-variable></span><span class="plain-syntax">(</span><span class="identifier-syntax">W</span><span class="plain-syntax">)) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">val</span><span class="plain-syntax"> = </span><span class="function-syntax"><<rp>></span><span class="plain-syntax">;</span>
|
||||
|
@ -648,12 +648,12 @@ are reused for different purposes and are typeless.
|
|||
</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">NonlocalVariables::set_kind</span><button class="popup" onclick="togglePopup('usagePopup31')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup31">Usage of <span class="code-font"><span class="function-syntax">NonlocalVariables::set_kind</span></span>:<br/><a href="5-nv.html#SP20">§20</a><br/>Make Assertions - <a href="9-ma.html#SP3_3_39_1">§3.3.39.1</a><br/>Compile Invocations - <a href="25-ci.html#SP3_2_3_3_1_1">§3.2.3.3.1.1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">nonlocal_variable</span><span class="plain-syntax"> *</span><span class="identifier-syntax">nlv</span><span class="plain-syntax">, </span><span class="identifier-syntax">kind</span><span class="plain-syntax"> *</span><span class="identifier-syntax">K</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">NonlocalVariables::set_kind</span><button class="popup" onclick="togglePopup('usagePopup31')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup31">Usage of <span class="code-font"><span class="function-syntax">NonlocalVariables::set_kind</span></span>:<br/><a href="5-nv.html#SP20">§20</a><br/>Make Assertions - <a href="9-ma.html#SP4_3_39_1">§4.3.39.1</a><br/>Compile Invocations - <a href="25-ci.html#SP3_2_3_3_1_1">§3.2.3.3.1.1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">nonlocal_variable</span><span class="plain-syntax"> *</span><span class="identifier-syntax">nlv</span><span class="plain-syntax">, </span><span class="identifier-syntax">kind</span><span class="plain-syntax"> *</span><span class="identifier-syntax">K</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">nlv</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">"set kind for null variable"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">nlv</span><span class="plain-syntax">-></span><span class="element-syntax">nlv_kind</span><span class="plain-syntax"> = </span><span class="identifier-syntax">K</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="identifier-syntax">kind</span><span class="plain-syntax"> *</span><span class="function-syntax">NonlocalVariables::kind</span><button class="popup" onclick="togglePopup('usagePopup32')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup32">Usage of <span class="code-font"><span class="function-syntax">NonlocalVariables::kind</span></span>:<br/>Make Assertions - <a href="9-ma.html#SP3_3_39_1">§3.3.39.1</a><br/>Property Knowledge - <a href="9-pk.html#SP2">§2</a><br/>Lvalues - <a href="14-lv.html#SP12_2">§12.2</a><br/>Stacked Variables - <a href="21-sv.html#SP3">§3</a>, <a href="21-sv.html#SP3_1">§3.1</a>, <a href="21-sv.html#SP3_2">§3.2</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">nonlocal_variable</span><span class="plain-syntax"> *</span><span class="identifier-syntax">nlv</span><span class="plain-syntax">) {</span>
|
||||
<span class="identifier-syntax">kind</span><span class="plain-syntax"> *</span><span class="function-syntax">NonlocalVariables::kind</span><button class="popup" onclick="togglePopup('usagePopup32')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup32">Usage of <span class="code-font"><span class="function-syntax">NonlocalVariables::kind</span></span>:<br/>Make Assertions - <a href="9-ma.html#SP4_3_39_1">§4.3.39.1</a><br/>Property Knowledge - <a href="9-pk.html#SP2">§2</a><br/>Lvalues - <a href="14-lv.html#SP12_2">§12.2</a><br/>Stacked Variables - <a href="21-sv.html#SP3">§3</a>, <a href="21-sv.html#SP3_1">§3.1</a>, <a href="21-sv.html#SP3_2">§3.2</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">nonlocal_variable</span><span class="plain-syntax"> *</span><span class="identifier-syntax">nlv</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">nlv</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">nlv</span><span class="plain-syntax">-></span><span class="element-syntax">nlv_kind</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
@ -760,7 +760,7 @@ and leaving everything else alone.
|
|||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">substitution_session_id</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">;</span>
|
||||
<span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="function-syntax">NonlocalVariables::substitute_constants</span><button class="popup" onclick="togglePopup('usagePopup38')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup38">Usage of <span class="code-font"><span class="function-syntax">NonlocalVariables::substitute_constants</span></span>:<br/><a href="5-nv.html#SP25">§25</a><br/>Make Assertions - <a href="9-ma.html#SP3_3_41_3">§3.3.41.3</a><br/>Property Knowledge - <a href="9-pk.html#SP4">§4</a><br/>Relation Knowledge - <a href="9-rk.html#SP2">§2</a><br/>Compiling from Specifications - <a href="14-cfs.html#SP6">§6</a><br/>List Constants - <a href="18-lc.html#SP8">§8</a><br/>Tables - <a href="19-tb.html#SP26_2">§26.2</a><br/>Compile Phrases - <a href="25-cp.html#SP5_3_5">§5.3.5</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">spec</span><span class="plain-syntax">) {</span>
|
||||
<span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="function-syntax">NonlocalVariables::substitute_constants</span><button class="popup" onclick="togglePopup('usagePopup38')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup38">Usage of <span class="code-font"><span class="function-syntax">NonlocalVariables::substitute_constants</span></span>:<br/><a href="5-nv.html#SP25">§25</a><br/>Make Assertions - <a href="9-ma.html#SP4_3_41_3">§4.3.41.3</a><br/>Property Knowledge - <a href="9-pk.html#SP4">§4</a><br/>Relation Knowledge - <a href="9-rk.html#SP2">§2</a><br/>Compiling from Specifications - <a href="14-cfs.html#SP6">§6</a><br/>List Constants - <a href="18-lc.html#SP8">§8</a><br/>Tables - <a href="19-tb.html#SP26_2">§26.2</a><br/>Compile Phrases - <a href="25-cp.html#SP5_3_5">§5.3.5</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">spec</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">depth</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">substitution_session_id</span><span class="plain-syntax">++;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">while</span><span class="plain-syntax"> (</span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">) {</span>
|
||||
|
@ -795,7 +795,7 @@ neither quite proper nor common; "the player" in Inform is an example.
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">inference_subject</span><span class="plain-syntax"> *</span><span class="function-syntax">NonlocalVariables::get_alias</span><button class="popup" onclick="togglePopup('usagePopup39')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup39">Usage of <span class="code-font"><span class="function-syntax">NonlocalVariables::get_alias</span></span>:<br/>Refine Parse Tree - <a href="9-rpt.html#SP14">§14</a><br/>Assert Propositions - <a href="12-ap.html#SP12">§12</a><br/>Tables - <a href="19-tb.html#SP24_4">§24.4</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">nonlocal_variable</span><span class="plain-syntax"> *</span><span class="identifier-syntax">nlv</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">inference_subject</span><span class="plain-syntax"> *</span><span class="function-syntax">NonlocalVariables::get_alias</span><button class="popup" onclick="togglePopup('usagePopup39')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup39">Usage of <span class="code-font"><span class="function-syntax">NonlocalVariables::get_alias</span></span>:<br/>Refine Parse Tree - <a href="9-rpt.html#SP15">§15</a><br/>Assert Propositions - <a href="12-ap.html#SP12">§12</a><br/>Tables - <a href="19-tb.html#SP24_4">§24.4</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">nonlocal_variable</span><span class="plain-syntax"> *</span><span class="identifier-syntax">nlv</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">nlv</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">val</span><span class="plain-syntax"> = </span><a href="5-nv.html#SP17" class="function-link"><span class="function-syntax">NonlocalVariables::get_initial_value</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">nlv</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">inference_subject</span><span class="plain-syntax"> *</span><span class="identifier-syntax">vals</span><span class="plain-syntax"> = </span><a href="16-is.html#SP17" class="function-link"><span class="function-syntax">InferenceSubjects::from_specification</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">val</span><span class="plain-syntax">);</span>
|
||||
|
|
|
@ -367,7 +367,7 @@ and "inside" the wrong way round.
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">CLASS_DEFINITION</span>
|
||||
<span class="plain-syntax">} </span><span class="reserved-syntax">binary_predicate</span><span class="plain-syntax">;</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>The structure binary_predicate is accessed in 6/rlt, 6/nv, 9/tbath, 15/cr, 15/spr, 15/spr2, 19/lr and here.</li></ul>
|
||||
<ul class="endnotetexts"><li>The structure binary_predicate is accessed in 6/rlt, 6/nv, 15/cr, 15/spr, 15/spr2, 19/lr and here.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP11"></a><b>§11. </b>This seems a good point to lay out a classification of all of the BPs
|
||||
existing within Inform. Broadly, they divide into two: the ones explicitly
|
||||
created by the source text, in sentences like
|
||||
|
@ -1007,7 +1007,7 @@ relation itself.)
|
|||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">BinaryPredicates::store_dynamically</span><button class="popup" onclick="togglePopup('usagePopup36')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup36">Usage of <span class="code-font"><span class="function-syntax">BinaryPredicates::store_dynamically</span></span>:<br/><a href="6-bp.html#SP33">§33</a><br/>Explicit Relations - <a href="6-er.html#SP3">§3</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">binary_predicate</span><span class="plain-syntax"> *</span><span class="identifier-syntax">bp</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">bp</span><span class="plain-syntax">-></span><span class="element-syntax">dynamic_memory</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">BinaryPredicates::relates_values_not_objects</span><button class="popup" onclick="togglePopup('usagePopup37')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup37">Usage of <span class="code-font"><span class="function-syntax">BinaryPredicates::relates_values_not_objects</span></span>:<br/>Make Assertions - <a href="9-ma.html#SP3_3_34_3">§3.3.34.3</a><br/>Relation Knowledge - <a href="9-rk.html#SP3_2">§3.2</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">binary_predicate</span><span class="plain-syntax"> *</span><span class="identifier-syntax">bp</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">BinaryPredicates::relates_values_not_objects</span><button class="popup" onclick="togglePopup('usagePopup37')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup37">Usage of <span class="code-font"><span class="function-syntax">BinaryPredicates::relates_values_not_objects</span></span>:<br/>Make Assertions - <a href="9-ma.html#SP4_3_34_4">§4.3.34.4</a><br/>Relation Knowledge - <a href="9-rk.html#SP3_2">§3.2</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">binary_predicate</span><span class="plain-syntax"> *</span><span class="identifier-syntax">bp</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">bp</span><span class="plain-syntax">-></span><span class="element-syntax">relates_values_not_objects</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
<span class="reserved-syntax">inference_subject</span><span class="plain-syntax"> *</span><span class="function-syntax">BinaryPredicates::as_subject</span><button class="popup" onclick="togglePopup('usagePopup38')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup38">Usage of <span class="code-font"><span class="function-syntax">BinaryPredicates::as_subject</span></span>:<br/><a href="6-bp.html#SP33">§33</a><br/>Relations - <a href="6-rlt.html#SP20_5_1">§20.5.1</a>, <a href="6-rlt.html#SP28">§28</a><br/>Inferences - <a href="16-in.html#SP9">§9</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">binary_predicate</span><span class="plain-syntax"> *</span><span class="identifier-syntax">bp</span><span class="plain-syntax">) {</span>
|
||||
|
|
|
@ -557,7 +557,7 @@ surreptitiously check that it is correctly formed at the same time.
|
|||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>The structure contents_entry is accessed in 3/cs, 3/dlr, 3/pr, 3/tr, 5/lp, 5/ut, 5/un, 5/ins, 6/rlt, 6/nv, 7/rs, 9/tfa, 9/tbath, 9/rpt, 9/tc, 9/ma, 9/rk, 9/ass, 9/imp, 9/pd, 10/teav, 10/cap, 11/ap, 11/pr, 11/bas, 11/tc, 11/sm, 12/dtd, 12/cdp, 14/rv, 14/lv, 14/cn, 14/ds, 14/ds2, 15/ps, 15/cp, 16/is, 16/in, 19/tb, 19/rsft, 19/tod, 20/eq, 21/rl, 21/rl2, 21/fao, 21/rps, 21/sv, 21/ac, 22/ph, 22/tp, 22/tp2, 23/ad, 24/lv, 24/sf, 25/in, 25/pi, 25/cii, 25/cp, 26/uo, 26/tti, 26/pc, 26/ts, 27/cm and here.</li></ul>
|
||||
<ul class="endnotetexts"><li>The structure contents_entry is accessed in 3/cs, 3/dlr, 3/pr, 3/tr, 5/lp, 5/ut, 5/un, 5/ins, 6/rlt, 6/nv, 7/rs, 9/tfa, 9/rpt, 9/tc, 9/ma, 9/rk, 9/ass, 9/imp, 9/pd, 10/teav, 10/cap, 11/ap, 11/pr, 11/bas, 11/tc, 11/sm, 12/dtd, 12/cdp, 14/rv, 14/lv, 14/cn, 14/ds, 14/ds2, 15/ps, 15/cp, 16/is, 16/in, 19/tb, 19/rsft, 19/tod, 20/eq, 21/rl, 21/rl2, 21/fao, 21/rps, 21/sv, 21/ac, 22/ph, 22/tp, 22/tp2, 23/ad, 24/lv, 24/sf, 25/in, 25/pi, 25/cii, 25/cp, 26/uo, 26/tti, 26/pc, 26/ts, 27/cm and here.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP16_1"></a><b>§16.1. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Index this entry in the contents</span><span class="named-paragraph-number">16.1</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
|
|
|
@ -457,7 +457,7 @@ be such that their head nodes each pass this test:
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">ParseTreeUsage::allow_in_assertions</span><button class="popup" onclick="togglePopup('usagePopup6')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup6">Usage of <span class="code-font"><span class="function-syntax">ParseTreeUsage::allow_in_assertions</span></span>:<br/>Make Assertions - <a href="9-ma.html#SP2">§2</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">p</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">ParseTreeUsage::allow_in_assertions</span><button class="popup" onclick="togglePopup('usagePopup6')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup6">Usage of <span class="code-font"><span class="function-syntax">ParseTreeUsage::allow_in_assertions</span></span>:<br/>Make Assertions - <a href="9-ma.html#SP3">§3</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">p</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">VerifyTree::verify_structure_from</span><span class="plain-syntax">(</span><span class="identifier-syntax">p</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">NodeType::has_flag</span><span class="plain-syntax">(</span><span class="identifier-syntax">Node::get_type</span><span class="plain-syntax">(</span><span class="identifier-syntax">p</span><span class="plain-syntax">), </span><span class="identifier-syntax">ASSERT_NFLAG</span><span class="plain-syntax">)) </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">;</span>
|
||||
|
|
|
@ -124,7 +124,7 @@ generalisations which apply to it.
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">CLASS_DEFINITION</span>
|
||||
<span class="plain-syntax">} </span><span class="reserved-syntax">generalisation</span><span class="plain-syntax">;</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>The structure generalisation is accessed in 3/cs, 3/dlr, 3/pr, 3/tr, 5/lp, 5/ut, 5/un, 5/ins, 6/rlt, 6/nv, 7/rs, 9/tfa, 9/tbath, 9/rpt, 9/tc, 9/ma, 9/rk, 9/imp, 9/pd, 10/teav, 10/cap, 11/ap, 11/pr, 11/bas, 11/tc, 11/sm, 12/dtd, 12/cdp, 14/rv, 14/lv, 14/cn, 14/ds, 14/ds2, 15/ps, 15/cp, 16/is, 16/in, 19/tb, 19/rsft, 19/tod, 20/eq, 21/rl, 21/rl2, 21/fao, 21/rps, 21/sv, 21/ac, 22/ph, 22/tp, 22/tp2, 23/ad, 24/lv, 24/sf, 25/in, 25/pi, 25/cii, 25/cp, 26/uo, 26/tti, 26/pc, 26/ts, 27/cm and here.</li></ul>
|
||||
<ul class="endnotetexts"><li>The structure generalisation is accessed in 3/cs, 3/dlr, 3/pr, 3/tr, 5/lp, 5/ut, 5/un, 5/ins, 6/rlt, 6/nv, 7/rs, 9/tfa, 9/rpt, 9/tc, 9/ma, 9/rk, 9/imp, 9/pd, 10/teav, 10/cap, 11/ap, 11/pr, 11/bas, 11/tc, 11/sm, 12/dtd, 12/cdp, 14/rv, 14/lv, 14/cn, 14/ds, 14/ds2, 15/ps, 15/cp, 16/is, 16/in, 19/tb, 19/rsft, 19/tod, 20/eq, 21/rl, 21/rl2, 21/fao, 21/rps, 21/sv, 21/ac, 22/ph, 22/tp, 22/tp2, 23/ad, 24/lv, 24/sf, 25/in, 25/pi, 25/cii, 25/cp, 26/uo, 26/tti, 26/pc, 26/ts, 27/cm and here.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP4"></a><b>§4. </b>For reasons to do with timing, each object needs to keep track of which
|
||||
generalisations have and have not yet applied to it. In practice, this is
|
||||
a list of pairs \((K, g)\) where \(K\) is a kind and \(g\) is the most recent one
|
||||
|
@ -138,7 +138,7 @@ applied from \(K\)'s list.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="reserved-syntax">application</span><span class="plain-syntax"> *</span><span class="identifier-syntax">next</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">} </span><span class="reserved-syntax">application</span><span class="plain-syntax">;</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>The structure application is accessed in 3/cs, 3/dlr, 3/pr, 3/tr, 5/lp, 5/ut, 5/un, 5/ins, 6/rlt, 6/nv, 7/rs, 9/tfa, 9/tbath, 9/rpt, 9/tc, 9/ma, 9/rk, 9/imp, 9/pd, 10/teav, 10/cap, 11/ap, 11/pr, 11/bas, 11/tc, 11/sm, 12/dtd, 12/cdp, 14/rv, 14/lv, 14/cn, 14/ds, 14/ds2, 15/ps, 15/cp, 16/is, 16/in, 19/tb, 19/rsft, 19/tod, 20/eq, 21/rl, 21/rl2, 21/fao, 21/rps, 21/sv, 21/ac, 22/ph, 22/tp, 22/tp2, 23/ad, 24/lv, 24/sf, 25/in, 25/pi, 25/cii, 25/cp, 26/uo, 26/tti, 26/pc, 26/ts, 27/cm and here.</li></ul>
|
||||
<ul class="endnotetexts"><li>The structure application is accessed in 3/cs, 3/dlr, 3/pr, 3/tr, 5/lp, 5/ut, 5/un, 5/ins, 6/rlt, 6/nv, 7/rs, 9/tfa, 9/rpt, 9/tc, 9/ma, 9/rk, 9/imp, 9/pd, 10/teav, 10/cap, 11/ap, 11/pr, 11/bas, 11/tc, 11/sm, 12/dtd, 12/cdp, 14/rv, 14/lv, 14/cn, 14/ds, 14/ds2, 15/ps, 15/cp, 16/is, 16/in, 19/tb, 19/rsft, 19/tod, 20/eq, 21/rl, 21/rl2, 21/fao, 21/rps, 21/sv, 21/ac, 22/ph, 22/tp, 22/tp2, 23/ad, 24/lv, 24/sf, 25/in, 25/pi, 25/cii, 25/cp, 26/uo, 26/tti, 26/pc, 26/ts, 27/cm and here.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP5"></a><b>§5. </b>These structures are combined in the following packet of data attached to
|
||||
each inference subject:
|
||||
</p>
|
||||
|
@ -206,7 +206,7 @@ first it's a <span class="extract"><span class="extract-syntax">RELATIONSHIP_NT<
|
|||
</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">Assertions::Assemblies::make_generalisation</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">Assertions::Assemblies::make_generalisation</span></span>:<br/>Make Assertions - <a href="9-ma.html#SP3_3_31">§3.3.31</a>, <a href="9-ma.html#SP3_3_34_1">§3.3.34.1</a>, <a href="9-ma.html#SP3_3_35">§3.3.35</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">look_for</span><span class="plain-syntax">, </span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">what_to_make</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Assertions::Assemblies::make_generalisation</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">Assertions::Assemblies::make_generalisation</span></span>:<br/>Make Assertions - <a href="9-ma.html#SP4_3_31">§4.3.31</a>, <a href="9-ma.html#SP4_3_34_2">§4.3.34.2</a>, <a href="9-ma.html#SP4_3_35">§4.3.35</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">look_for</span><span class="plain-syntax">, </span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">what_to_make</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">EVERY_node</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">Node::get_type</span><span class="plain-syntax">(</span><span class="identifier-syntax">look_for</span><span class="plain-syntax">) == </span><span class="constant-syntax">EVERY_NT</span><span class="plain-syntax">) </span><span class="identifier-syntax">EVERY_node</span><span class="plain-syntax"> = </span><span class="identifier-syntax">look_for</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">look_for</span><span class="plain-syntax">-></span><span class="element-syntax">down</span><span class="plain-syntax">) && (</span><span class="identifier-syntax">Node::get_type</span><span class="plain-syntax">(</span><span class="identifier-syntax">look_for</span><span class="plain-syntax">-></span><span class="element-syntax">down</span><span class="plain-syntax">) == </span><span class="constant-syntax">EVERY_NT</span><span class="plain-syntax">))</span>
|
||||
|
@ -280,7 +280,7 @@ first it's a <span class="extract"><span class="extract-syntax">RELATIONSHIP_NT<
|
|||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">val</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Node::get_evaluation</span><span class="plain-syntax">(</span><span class="identifier-syntax">what_to_make</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">val</span><span class="plain-syntax">) && (</span><a href="14-ds.html#SP7" class="function-link"><span class="function-syntax">Descriptions::is_adjectives_plus_kind</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">val</span><span class="plain-syntax">))) {</span>
|
||||
<span class="plain-syntax"> </span><a href="9-rpt.html#SP10" class="function-link"><span class="function-syntax">Assertions::Refiner::refine_from_simple_description</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">what_to_make</span><span class="plain-syntax">, </span><span class="identifier-syntax">Node::duplicate</span><span class="plain-syntax">(</span><span class="identifier-syntax">val</span><span class="plain-syntax">));</span>
|
||||
<span class="plain-syntax"> </span><a href="9-rpt.html#SP11" class="function-link"><span class="function-syntax">Assertions::Refiner::refine_from_simple_description</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">what_to_make</span><span class="plain-syntax">, </span><span class="identifier-syntax">Node::duplicate</span><span class="plain-syntax">(</span><span class="identifier-syntax">val</span><span class="plain-syntax">));</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="9-ass.html#SP9">§9</a>.</li></ul>
|
||||
|
|
|
@ -104,7 +104,7 @@ is to store them and sit on them.
|
|||
</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">Assertions::Implications::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">Assertions::Implications::new</span></span>:<br/>Make Assertions - <a href="9-ma.html#SP3_3_2">§3.3.2</a>, <a href="9-ma.html#SP3_3_22">§3.3.22</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">px</span><span class="plain-syntax">, </span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">py</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Assertions::Implications::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">Assertions::Implications::new</span></span>:<br/>Make Assertions - <a href="9-ma.html#SP4_3_2">§4.3.2</a>, <a href="9-ma.html#SP4_3_22">§4.3.22</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">px</span><span class="plain-syntax">, </span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">py</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">prevailing_mood</span><span class="plain-syntax"> == </span><span class="identifier-syntax">CERTAIN_CE</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="9-imp.html#SP4_1" class="named-paragraph-link"><span class="named-paragraph">Reject implications given with certainty</span><span class="named-paragraph-number">4.1</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">Node::get_type</span><span class="plain-syntax">(</span><span class="identifier-syntax">py</span><span class="plain-syntax">) == </span><span class="identifier-syntax">AND_NT</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><a href="9-imp.html#SP4" class="function-link"><span class="function-syntax">Assertions::Implications::new</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">px</span><span class="plain-syntax">, </span><span class="identifier-syntax">py</span><span class="plain-syntax">-></span><span class="element-syntax">down</span><span class="plain-syntax">);</span>
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -195,7 +195,7 @@ good condition", not "you can come in on one condition").
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">wording</span><span class="plain-syntax"> </span><span class="identifier-syntax">CNW</span><span class="plain-syntax"> = </span><span class="identifier-syntax">EMPTY_WORDING</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">the_list</span><span class="plain-syntax">-></span><span class="element-syntax">next</span><span class="plain-syntax">) </span><span class="identifier-syntax">CNW</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Node::get_text</span><span class="plain-syntax">(</span><span class="identifier-syntax">the_list</span><span class="plain-syntax">-></span><span class="element-syntax">next</span><span class="plain-syntax">);</span>
|
||||
|
||||
<span class="plain-syntax"> </span><a href="9-rpt.html#SP8" class="function-link"><span class="function-syntax">Assertions::Refiner::refine</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">the_owner</span><span class="plain-syntax">, </span><span class="constant-syntax">FORBID_CREATION</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="9-rpt.html#SP9" class="function-link"><span class="function-syntax">Assertions::Refiner::refine</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">the_owner</span><span class="plain-syntax">, </span><span class="constant-syntax">FORBID_CREATION</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="9-pd.html#SP5_4" class="named-paragraph-link"><span class="named-paragraph">Possession must be time-independent</span><span class="named-paragraph-number">5.4</span></a></span><span class="plain-syntax">;</span>
|
||||
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">count</span><span class="plain-syntax"> = </span><a href="9-pd.html#SP5_1" class="function-link"><span class="function-syntax">Assertions::Property::list_length</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">the_list</span><span class="plain-syntax">);</span>
|
||||
|
@ -674,7 +674,7 @@ a recursive traverse of the left-hand subtree.
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">property</span><span class="plain-syntax"> *</span><span class="function-syntax">Assertions::Property::recursively_declare_properties</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">Assertions::Property::recursively_declare_properties</span></span>:<br/><a href="9-pd.html#SP7_1">§7.1</a><br/>Make Assertions - <a href="9-ma.html#SP3_3_25">§3.3.25</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">owner_ref</span><span class="plain-syntax">, </span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">p</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">property</span><span class="plain-syntax"> *</span><span class="function-syntax">Assertions::Property::recursively_declare_properties</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">Assertions::Property::recursively_declare_properties</span></span>:<br/><a href="9-pd.html#SP7_1">§7.1</a><br/>Make Assertions - <a href="9-ma.html#SP4_3_25">§4.3.25</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">owner_ref</span><span class="plain-syntax">, </span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">p</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">switch</span><span class="plain-syntax">(</span><span class="identifier-syntax">Node::get_type</span><span class="plain-syntax">(</span><span class="identifier-syntax">p</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">AND_NT:</span>
|
||||
<span class="plain-syntax"> </span><a href="9-pd.html#SP6" class="function-link"><span class="function-syntax">Assertions::Property::recursively_declare_properties</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">owner_ref</span><span class="plain-syntax">, </span><span class="identifier-syntax">p</span><span class="plain-syntax">-></span><span class="element-syntax">down</span><span class="plain-syntax">);</span>
|
||||
|
|
|
@ -73,7 +73,7 @@ and which therefore exists only once.
|
|||
</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">Assertions::PropertyKnowledge::initialise_global_variable</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">Assertions::PropertyKnowledge::initialise_global_variable</span></span>:<br/>Make Assertions - <a href="9-ma.html#SP3_3_41_3">§3.3.41.3</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">nonlocal_variable</span><span class="plain-syntax"> *</span><span class="identifier-syntax">q</span><span class="plain-syntax">, </span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">val</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Assertions::PropertyKnowledge::initialise_global_variable</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">Assertions::PropertyKnowledge::initialise_global_variable</span></span>:<br/>Make Assertions - <a href="9-ma.html#SP4_3_41_3">§4.3.41.3</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">nonlocal_variable</span><span class="plain-syntax"> *</span><span class="identifier-syntax">q</span><span class="plain-syntax">, </span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">val</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><a href="9-pk.html#SP2" class="function-link"><span class="function-syntax">Assertions::PropertyKnowledge::igv_dash</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">q</span><span class="plain-syntax">, </span><span class="identifier-syntax">val</span><span class="plain-syntax">, </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
|
@ -178,14 +178,14 @@ either as an object, a value or a subtree — should have
|
|||
</li><li>(c) a whole list of properties and their values.
|
||||
</li></ul>
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Assertions::PropertyKnowledge::assert_property_value_from_property_subtree_infs</span><button class="popup" onclick="togglePopup('usagePopup4')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup4">Usage of <span class="code-font"><span class="function-syntax">Assertions::PropertyKnowledge::assert_property_value_from_property_subtree_infs</span></span>:<br/>Make Assertions - <a href="9-ma.html#SP3_3_13">§3.3.13</a>, <a href="9-ma.html#SP3_3_26">§3.3.26</a>, <a href="9-ma.html#SP3_3_41">§3.3.41</a>, <a href="9-ma.html#SP3_3_41_4">§3.3.41.4</a>, <a href="9-ma.html#SP3_3_41_5">§3.3.41.5</a><br/>Tables of Definitions - <a href="19-tod.html#SP6_4_3_1">§6.4.3.1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">property</span><span class="plain-syntax"> *</span><span class="identifier-syntax">prn</span><span class="plain-syntax">,</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Assertions::PropertyKnowledge::assert_property_value_from_property_subtree_infs</span><button class="popup" onclick="togglePopup('usagePopup4')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup4">Usage of <span class="code-font"><span class="function-syntax">Assertions::PropertyKnowledge::assert_property_value_from_property_subtree_infs</span></span>:<br/>Make Assertions - <a href="9-ma.html#SP4_3_13">§4.3.13</a>, <a href="9-ma.html#SP4_3_26">§4.3.26</a>, <a href="9-ma.html#SP4_3_41">§4.3.41</a>, <a href="9-ma.html#SP4_3_41_4">§4.3.41.4</a>, <a href="9-ma.html#SP4_3_41_5">§4.3.41.5</a><br/>Tables of Definitions - <a href="19-tod.html#SP6_4_3_1">§6.4.3.1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">property</span><span class="plain-syntax"> *</span><span class="identifier-syntax">prn</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">inference_subject</span><span class="plain-syntax"> *</span><span class="identifier-syntax">owner</span><span class="plain-syntax">, </span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">val_subtree</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">pcalc_prop</span><span class="plain-syntax"> *</span><span class="identifier-syntax">prop</span><span class="plain-syntax"> = </span><a href="11-tc.html#SP6" class="function-link"><span class="function-syntax">Calculus::Propositions::Abstract::from_property_subtree</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">prn</span><span class="plain-syntax">, </span><span class="identifier-syntax">val_subtree</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">owner</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="9-pk.html#SP3_3" class="named-paragraph-link"><span class="named-paragraph">Issue a problem for an unrecognised property owner</span><span class="named-paragraph-number">3.3</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><a href="12-ap.html#SP5" class="function-link"><span class="function-syntax">Calculus::Propositions::Assert::assert_true_about</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">prop</span><span class="plain-syntax">, </span><span class="identifier-syntax">owner</span><span class="plain-syntax">, </span><span class="identifier-syntax">prevailing_mood</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">Assertions::PropertyKnowledge::assert_property_list</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">Assertions::PropertyKnowledge::assert_property_list</span></span>:<br/>The Creator - <a href="9-tc.html#SP5_2_1">§5.2.1</a><br/>Make Assertions - <a href="9-ma.html#SP3_3_18">§3.3.18</a>, <a href="9-ma.html#SP3_3_29">§3.3.29</a>, <a href="9-ma.html#SP7">§7</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">owner_subtree</span><span class="plain-syntax">, </span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">list_subtree</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Assertions::PropertyKnowledge::assert_property_list</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">Assertions::PropertyKnowledge::assert_property_list</span></span>:<br/>The Creator - <a href="9-tc.html#SP5_2_1">§5.2.1</a><br/>Make Assertions - <a href="9-ma.html#SP4_3_18">§4.3.18</a>, <a href="9-ma.html#SP4_3_29">§4.3.29</a>, <a href="9-ma.html#SP8">§8</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">owner_subtree</span><span class="plain-syntax">, </span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">list_subtree</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="9-pk.html#SP3_2" class="named-paragraph-link"><span class="named-paragraph">Check that the owner subtree isn't dangerously elaborate</span><span class="named-paragraph-number">3.2</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">inference_subject</span><span class="plain-syntax"> *</span><span class="identifier-syntax">owner</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Node::get_subject</span><span class="plain-syntax">(</span><span class="identifier-syntax">owner_subtree</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">owner</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) {</span>
|
||||
|
|
|
@ -90,7 +90,7 @@ objects or values, but there are two exceptional cases to take care of.
|
|||
</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">Assertions::Relational::assert_subtree_in_relationship</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">Assertions::Relational::assert_subtree_in_relationship</span></span>:<br/>Make Assertions - <a href="9-ma.html#SP3_3_34_3">§3.3.34.3</a>, <a href="9-ma.html#SP3_3_36">§3.3.36</a>, <a href="9-ma.html#SP3_3_37">§3.3.37</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">value</span><span class="plain-syntax">, </span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">relationship_subtree</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Assertions::Relational::assert_subtree_in_relationship</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">Assertions::Relational::assert_subtree_in_relationship</span></span>:<br/>Make Assertions - <a href="9-ma.html#SP4_3_34_4">§4.3.34.4</a>, <a href="9-ma.html#SP4_3_36">§4.3.36</a>, <a href="9-ma.html#SP4_3_37">§4.3.37</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">value</span><span class="plain-syntax">, </span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">relationship_subtree</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">value</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) || (</span><span class="identifier-syntax">relationship_subtree</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">"assert relation between null subtrees"</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">Node::get_type</span><span class="plain-syntax">(</span><span class="identifier-syntax">relationship_subtree</span><span class="plain-syntax">) != </span><span class="identifier-syntax">RELATIONSHIP_NT</span><span class="plain-syntax">)</span>
|
||||
|
@ -249,8 +249,8 @@ that subtrees \(T_X\) and \(T_Y\), where \(T_X\) is a single value or object and
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><a href="9-rpt.html#SP6" class="function-link"><span class="function-syntax">Assertions::Refiner::coerce_adjectival_usage_to_noun</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">px</span><span class="plain-syntax">); </span><a href="9-rpt.html#SP14" class="function-link"><span class="function-syntax">Assertions::Refiner::turn_player_to_yourself</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">px</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="9-rpt.html#SP6" class="function-link"><span class="function-syntax">Assertions::Refiner::coerce_adjectival_usage_to_noun</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">py</span><span class="plain-syntax">); </span><a href="9-rpt.html#SP14" class="function-link"><span class="function-syntax">Assertions::Refiner::turn_player_to_yourself</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">py</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="9-rpt.html#SP6" class="function-link"><span class="function-syntax">Assertions::Refiner::coerce_adjectival_usage_to_noun</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">px</span><span class="plain-syntax">); </span><a href="9-rpt.html#SP15" class="function-link"><span class="function-syntax">Assertions::Refiner::turn_player_to_yourself</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">px</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="9-rpt.html#SP6" class="function-link"><span class="function-syntax">Assertions::Refiner::coerce_adjectival_usage_to_noun</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">py</span><span class="plain-syntax">); </span><a href="9-rpt.html#SP15" class="function-link"><span class="function-syntax">Assertions::Refiner::turn_player_to_yourself</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">py</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">Node::get_type</span><span class="plain-syntax">(</span><span class="identifier-syntax">px</span><span class="plain-syntax">) != </span><span class="identifier-syntax">PROPER_NOUN_NT</span><span class="plain-syntax">) && (</span><span class="identifier-syntax">Node::get_type</span><span class="plain-syntax">(</span><span class="identifier-syntax">px</span><span class="plain-syntax">) != </span><span class="identifier-syntax">COMMON_NOUN_NT</span><span class="plain-syntax">)) ||</span>
|
||||
<span class="plain-syntax"> ((</span><span class="identifier-syntax">Node::get_type</span><span class="plain-syntax">(</span><span class="identifier-syntax">py</span><span class="plain-syntax">) != </span><span class="identifier-syntax">PROPER_NOUN_NT</span><span class="plain-syntax">) && (</span><span class="identifier-syntax">Node::get_type</span><span class="plain-syntax">(</span><span class="identifier-syntax">py</span><span class="plain-syntax">) != </span><span class="identifier-syntax">COMMON_NOUN_NT</span><span class="plain-syntax">))) {</span>
|
||||
|
|
|
@ -81,7 +81,7 @@ MathJax = {
|
|||
<ul class="crumbs"><li><a href="../index.html">Home</a></li><li><a href="../compiler.html">Inform7 Modules</a></li><li><a href="index.html">core</a></li><li><a href="index.html#9">Chapter 9: The A-Parser</a></li><li><b>Refine Parse Tree</b></li></ul></div>
|
||||
<p class="purpose">To determine which subjects are referred to by noun phrases such as "the table" and "a paper cup" found in assertion sentences being parsed.</p>
|
||||
|
||||
<ul class="toc"><li><a href="9-rpt.html#SP1">§1. How individual nouns are represented after refinement</a></li><li><a href="9-rpt.html#SP5">§5. Representation of single adjectives</a></li><li><a href="9-rpt.html#SP7">§7. The refinery itself</a></li><li><a href="9-rpt.html#SP11">§11. About surgeries</a></li><li><a href="9-rpt.html#SP12">§12. And surgery</a></li><li><a href="9-rpt.html#SP13">§13. With surgery</a></li><li><a href="9-rpt.html#SP14">§14. The player is not yourself</a></li></ul><hr class="tocbar">
|
||||
<ul class="toc"><li><a href="9-rpt.html#SP1">§1. How individual nouns are represented after refinement</a></li><li><a href="9-rpt.html#SP5">§5. Representation of single adjectives</a></li><li><a href="9-rpt.html#SP7">§7. Refining equated phrases</a></li><li><a href="9-rpt.html#SP8">§8. The refinery itself</a></li><li><a href="9-rpt.html#SP12">§12. About surgeries</a></li><li><a href="9-rpt.html#SP13">§13. And surgery</a></li><li><a href="9-rpt.html#SP14">§14. With surgery</a></li><li><a href="9-rpt.html#SP15">§15. The player is not yourself</a></li></ul><hr class="tocbar">
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP1"></a><b>§1. How individual nouns are represented after refinement. </b>The parse tree identifies the primary verb in each sentence, but does only the
|
||||
most basic work in parsing its noun phrases. It can spot the use of certain
|
||||
|
@ -95,12 +95,12 @@ nodes, thus decomposing the NP into smaller clauses which are refined in turn.
|
|||
</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">Assertions::Refiner::noun_from_infs</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">Assertions::Refiner::noun_from_infs</span></span>:<br/><a href="9-rpt.html#SP9_5_1">§9.5.1</a>, <a href="9-rpt.html#SP9_7">§9.7</a>, <a href="9-rpt.html#SP10_1">§10.1</a>, <a href="9-rpt.html#SP14">§14</a><br/>The Creator - <a href="9-tc.html#SP5_4">§5.4</a>, <a href="9-tc.html#SP8_4">§8.4</a>, <a href="9-tc.html#SP8_4_1">§8.4.1</a><br/>Assemblies - <a href="9-ass.html#SP14">§14</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">p</span><span class="plain-syntax">, </span><span class="reserved-syntax">inference_subject</span><span class="plain-syntax"> *</span><span class="identifier-syntax">infs</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Assertions::Refiner::noun_from_infs</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">Assertions::Refiner::noun_from_infs</span></span>:<br/><a href="9-rpt.html#SP10_5_1">§10.5.1</a>, <a href="9-rpt.html#SP10_7">§10.7</a>, <a href="9-rpt.html#SP11_1">§11.1</a>, <a href="9-rpt.html#SP15">§15</a><br/>The Creator - <a href="9-tc.html#SP5_4">§5.4</a>, <a href="9-tc.html#SP8_4">§8.4</a>, <a href="9-tc.html#SP8_4_1">§8.4.1</a><br/>Assemblies - <a href="9-ass.html#SP14">§14</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">p</span><span class="plain-syntax">, </span><span class="reserved-syntax">inference_subject</span><span class="plain-syntax"> *</span><span class="identifier-syntax">infs</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><a href="9-rpt.html#SP3" class="function-link"><span class="function-syntax">Assertions::Refiner::pn_make_COMMON_or_PROPER</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">p</span><span class="plain-syntax">, </span><span class="identifier-syntax">infs</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Node::set_evaluation</span><span class="plain-syntax">(</span><span class="identifier-syntax">p</span><span class="plain-syntax">, </span><a href="16-is.html#SP18" class="function-link"><span class="function-syntax">InferenceSubjects::as_constant</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">infs</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">Assertions::Refiner::noun_from_value</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">Assertions::Refiner::noun_from_value</span></span>:<br/><a href="9-rpt.html#SP6">§6</a>, <a href="9-rpt.html#SP9_8_2">§9.8.2</a>, <a href="9-rpt.html#SP9_8_2_5">§9.8.2.5</a><br/>The Creator - <a href="9-tc.html#SP5_4">§5.4</a>, <a href="9-tc.html#SP5_4_1_1">§5.4.1.1</a><br/>Make Assertions - <a href="9-ma.html#SP3_3_11">§3.3.11</a>, <a href="9-ma.html#SP5">§5</a><br/>Relation Knowledge - <a href="9-rk.html#SP2">§2</a><br/>Tables - <a href="19-tb.html#SP25_1">§25.1</a><br/>Tables of Definitions - <a href="19-tod.html#SP6_3">§6.3</a>, <a href="19-tod.html#SP6_4_3_1">§6.4.3.1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">p</span><span class="plain-syntax">, </span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">spec</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Assertions::Refiner::noun_from_value</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">Assertions::Refiner::noun_from_value</span></span>:<br/><a href="9-rpt.html#SP6">§6</a>, <a href="9-rpt.html#SP10_8_2">§10.8.2</a>, <a href="9-rpt.html#SP10_8_2_5">§10.8.2.5</a><br/>The Creator - <a href="9-tc.html#SP5_4">§5.4</a>, <a href="9-tc.html#SP5_4_1_1">§5.4.1.1</a><br/>Make Assertions - <a href="9-ma.html#SP4_3_11">§4.3.11</a>, <a href="9-ma.html#SP6">§6</a><br/>Relation Knowledge - <a href="9-rk.html#SP2">§2</a><br/>Tables - <a href="19-tb.html#SP25_1">§25.1</a><br/>Tables of Definitions - <a href="19-tod.html#SP6_3">§6.3</a>, <a href="19-tod.html#SP6_4_3_1">§6.4.3.1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">p</span><span class="plain-syntax">, </span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">spec</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">inference_subject</span><span class="plain-syntax"> *</span><span class="identifier-syntax">infs</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><a href="14-sp.html#SP3" class="function-link"><span class="function-syntax">Specifications::to_proposition</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">spec</span><span class="plain-syntax">)) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">pcalc_prop</span><span class="plain-syntax"> *</span><span class="identifier-syntax">prop</span><span class="plain-syntax"> = </span><a href="14-sp.html#SP3" class="function-link"><span class="function-syntax">Specifications::to_proposition</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">spec</span><span class="plain-syntax">);</span>
|
||||
|
@ -127,7 +127,7 @@ true — "an open door", say, or "a woman in London" — these are recor
|
|||
in a <span class="extract"><span class="extract-syntax">creation_proposition</span></span> field.
|
||||
</li></ul>
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Assertions::Refiner::pn_noun_details_from_spec</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">Assertions::Refiner::pn_noun_details_from_spec</span></span>:<br/><a href="9-rpt.html#SP1">§1</a>, <a href="9-rpt.html#SP5">§5</a>, <a href="9-rpt.html#SP10_1">§10.1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">p</span><span class="plain-syntax">, </span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">spec</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Assertions::Refiner::pn_noun_details_from_spec</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">Assertions::Refiner::pn_noun_details_from_spec</span></span>:<br/><a href="9-rpt.html#SP1">§1</a>, <a href="9-rpt.html#SP5">§5</a>, <a href="9-rpt.html#SP11_1">§11.1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">p</span><span class="plain-syntax">, </span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">spec</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">pcalc_prop</span><span class="plain-syntax"> *</span><span class="identifier-syntax">prop</span><span class="plain-syntax"> = </span><a href="14-ds.html#SP9" class="function-link"><span class="function-syntax">Descriptions::get_quantified_prop</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">spec</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Node::set_creation_proposition</span><span class="plain-syntax">(</span><span class="identifier-syntax">p</span><span class="plain-syntax">, </span><a href="11-pr.html#SP14" class="function-link"><span class="function-syntax">Calculus::Propositions::copy</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">prop</span><span class="plain-syntax">));</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">N</span><span class="plain-syntax"> = </span><a href="14-ds.html#SP9" class="function-link"><span class="function-syntax">Descriptions::get_quantification_parameter</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">spec</span><span class="plain-syntax">);</span>
|
||||
|
@ -186,7 +186,7 @@ compare "clothing" and "clothes", which has no adequate singular.)
|
|||
</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">Assertions::Refiner::pn_make_adjective</span><button class="popup" onclick="togglePopup('usagePopup6')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup6">Usage of <span class="code-font"><span class="function-syntax">Assertions::Refiner::pn_make_adjective</span></span>:<br/><a href="9-rpt.html#SP10_3">§10.3</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">p</span><span class="plain-syntax">, </span><span class="reserved-syntax">unary_predicate</span><span class="plain-syntax"> *</span><span class="identifier-syntax">ale</span><span class="plain-syntax">, </span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">spec</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Assertions::Refiner::pn_make_adjective</span><button class="popup" onclick="togglePopup('usagePopup6')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup6">Usage of <span class="code-font"><span class="function-syntax">Assertions::Refiner::pn_make_adjective</span></span>:<br/><a href="9-rpt.html#SP11_3">§11.3</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">p</span><span class="plain-syntax">, </span><span class="reserved-syntax">unary_predicate</span><span class="plain-syntax"> *</span><span class="identifier-syntax">ale</span><span class="plain-syntax">, </span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">spec</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">adjective</span><span class="plain-syntax"> *</span><span class="identifier-syntax">aph</span><span class="plain-syntax"> = </span><a href="6-up.html#SP4" class="function-link"><span class="function-syntax">UnaryPredicates::get_adj</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">ale</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Node::set_type</span><span class="plain-syntax">(</span><span class="identifier-syntax">p</span><span class="plain-syntax">, </span><span class="constant-syntax">ADJECTIVE_NT</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Node::set_aph</span><span class="plain-syntax">(</span><span class="identifier-syntax">p</span><span class="plain-syntax">, </span><span class="identifier-syntax">aph</span><span class="plain-syntax">);</span>
|
||||
|
@ -201,14 +201,28 @@ compare "clothing" and "clothes", which has no adequate singular.)
|
|||
</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">Assertions::Refiner::coerce_adjectival_usage_to_noun</span><button class="popup" onclick="togglePopup('usagePopup7')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup7">Usage of <span class="code-font"><span class="function-syntax">Assertions::Refiner::coerce_adjectival_usage_to_noun</span></span>:<br/>Make Assertions - <a href="9-ma.html#SP3_3_22">§3.3.22</a>, <a href="9-ma.html#SP3_3_26">§3.3.26</a><br/>Property Knowledge - <a href="9-pk.html#SP4_3">§4.3</a><br/>Relation Knowledge - <a href="9-rk.html#SP3_1">§3.1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">leaf</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Assertions::Refiner::coerce_adjectival_usage_to_noun</span><button class="popup" onclick="togglePopup('usagePopup7')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup7">Usage of <span class="code-font"><span class="function-syntax">Assertions::Refiner::coerce_adjectival_usage_to_noun</span></span>:<br/>Make Assertions - <a href="9-ma.html#SP4_3_22">§4.3.22</a>, <a href="9-ma.html#SP4_3_26">§4.3.26</a><br/>Property Knowledge - <a href="9-pk.html#SP4_3">§4.3</a><br/>Relation Knowledge - <a href="9-rk.html#SP3_1">§3.1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">leaf</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> ((</span><span class="identifier-syntax">leaf</span><span class="plain-syntax">) && (</span><span class="identifier-syntax">Node::get_type</span><span class="plain-syntax">(</span><span class="identifier-syntax">leaf</span><span class="plain-syntax">) == </span><span class="constant-syntax">ADJECTIVE_NT</span><span class="plain-syntax">)) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">instance</span><span class="plain-syntax"> *</span><span class="identifier-syntax">q</span><span class="plain-syntax"> = </span><a href="4-am.html#SP13" class="function-link"><span class="function-syntax">Adjectives::Meanings::has_ENUMERATIVE_meaning</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">Node::get_aph</span><span class="plain-syntax">(</span><span class="identifier-syntax">leaf</span><span class="plain-syntax">));</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">q</span><span class="plain-syntax">) </span><a href="9-rpt.html#SP1" class="function-link"><span class="function-syntax">Assertions::Refiner::noun_from_value</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">leaf</span><span class="plain-syntax">, </span><a href="14-rv.html#SP3" class="function-link"><span class="function-syntax">Rvalues::from_instance</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">q</span><span class="plain-syntax">));</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP7"></a><b>§7. The refinery itself. </b>Time to get started, then. Each subtree can be refined only once.
|
||||
<p class="commentary firstcommentary"><a id="SP7"></a><b>§7. Refining equated phrases. </b>When an assertion couples <span class="extract"><span class="extract-syntax">px</span></span> and <span class="extract"><span class="extract-syntax">py</span></span>, the following is called first to
|
||||
refine them.
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">Assertions::Refiner::refine_coupling</span><button class="popup" onclick="togglePopup('usagePopup8')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup8">Usage of <span class="code-font"><span class="function-syntax">Assertions::Refiner::refine_coupling</span></span>:<br/>Traverse for Assertions - <a href="9-tfa.html#SP9_2">§9.2</a><br/>Tables of Definitions - <a href="19-tod.html#SP6_3">§6.3</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">px</span><span class="plain-syntax">, </span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">py</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">pc</span><span class="plain-syntax"> = </span><span class="identifier-syntax">problem_count</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><a href="9-rpt.html#SP9" class="function-link"><span class="function-syntax">Assertions::Refiner::refine</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">px</span><span class="plain-syntax">, </span><span class="constant-syntax">ALLOW_CREATION</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="9-rpt.html#SP9" class="function-link"><span class="function-syntax">Assertions::Refiner::refine</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">py</span><span class="plain-syntax">, </span><span class="constant-syntax">ALLOW_CREATION</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">problem_count</span><span class="plain-syntax"> > </span><span class="identifier-syntax">pc</span><span class="plain-syntax">) </span><span class="reserved-syntax">return</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><a href="9-tc.html#SP1" class="function-link"><span class="function-syntax">Assertions::Creator::consult_the_creator</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">px</span><span class="plain-syntax">, </span><span class="identifier-syntax">py</span><span class="plain-syntax">) == </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">) </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">FALSE</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">TRUE</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP8"></a><b>§8. The refinery itself. </b>Time to get started, then. Each subtree can be refined only once.
|
||||
</p>
|
||||
|
||||
<p class="commentary">The <span class="extract"><span class="extract-syntax">creation_rule</span></span> can have three values:
|
||||
|
@ -218,11 +232,11 @@ compare "clothing" and "clothes", which has no adequate singular.)
|
|||
<span class="definition-keyword">define</span> <span class="constant-syntax">ALLOW_CREATION</span><span class="plain-syntax"> </span><span class="constant-syntax">1</span><span class="plain-syntax"> </span><span class="comment-syntax"> create an object with this name if that looks sensible</span>
|
||||
<span class="definition-keyword">define</span> <span class="constant-syntax">MANDATE_CREATION</span><span class="plain-syntax"> </span><span class="constant-syntax">2</span><span class="plain-syntax"> </span><span class="comment-syntax"> always create an object with this name, except for "it"</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP8"></a><b>§8. </b></p>
|
||||
<p class="commentary firstcommentary"><a id="SP9"></a><b>§9. </b></p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">forbid_nowhere</span><span class="plain-syntax"> = </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">;</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Assertions::Refiner::refine</span><button class="popup" onclick="togglePopup('usagePopup8')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup8">Usage of <span class="code-font"><span class="function-syntax">Assertions::Refiner::refine</span></span>:<br/><a href="9-rpt.html#SP9_1">§9.1</a>, <a href="9-rpt.html#SP9_2">§9.2</a>, <a href="9-rpt.html#SP9_3">§9.3</a>, <a href="9-rpt.html#SP9_4">§9.4</a>, <a href="9-rpt.html#SP9_5">§9.5</a>, <a href="9-rpt.html#SP9_6">§9.6</a><br/>To Be and To Have - <a href="9-tbath.html#SP3">§3</a><br/>Property Declarations - <a href="9-pd.html#SP5">§5</a><br/>Tree Conversions - <a href="11-tc.html#SP7_1">§7.1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">p</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">creation_rule</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Assertions::Refiner::refine</span><button class="popup" onclick="togglePopup('usagePopup9')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup9">Usage of <span class="code-font"><span class="function-syntax">Assertions::Refiner::refine</span></span>:<br/><a href="9-rpt.html#SP7">§7</a>, <a href="9-rpt.html#SP10_1">§10.1</a>, <a href="9-rpt.html#SP10_2">§10.2</a>, <a href="9-rpt.html#SP10_3">§10.3</a>, <a href="9-rpt.html#SP10_4">§10.4</a>, <a href="9-rpt.html#SP10_5">§10.5</a>, <a href="9-rpt.html#SP10_6">§10.6</a><br/>Property Declarations - <a href="9-pd.html#SP5">§5</a><br/>Tree Conversions - <a href="11-tc.html#SP7_1">§7.1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">p</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">creation_rule</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">p</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">"Refine parse tree on null pn"</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">Annotations::read_int</span><span class="plain-syntax">(</span><span class="identifier-syntax">p</span><span class="plain-syntax">, </span><span class="constant-syntax">refined_ANNOT</span><span class="plain-syntax">)) </span><span class="reserved-syntax">return</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Annotations::write_int</span><span class="plain-syntax">(</span><span class="identifier-syntax">p</span><span class="plain-syntax">, </span><span class="constant-syntax">refined_ANNOT</span><span class="plain-syntax">, </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">);</span>
|
||||
|
@ -233,44 +247,44 @@ compare "clothing" and "clothes", which has no adequate singular.)
|
|||
<span class="plain-syntax"> ((</span><span class="identifier-syntax">creation_rule</span><span class="plain-syntax"> == </span><span class="constant-syntax">ALLOW_CREATION</span><span class="plain-syntax">)?</span><span class="string-syntax">"allow"</span><span class="plain-syntax">:</span><span class="string-syntax">"mandate"</span><span class="plain-syntax">)), </span><span class="identifier-syntax">p</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOG_INDENT</span><span class="plain-syntax">;</span>
|
||||
|
||||
<span class="plain-syntax"> </span><a href="9-rpt.html#SP9" class="function-link"><span class="function-syntax">Assertions::Refiner::refine_parse_tree_inner</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">p</span><span class="plain-syntax">, </span><span class="identifier-syntax">creation_rule</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="9-rpt.html#SP10" class="function-link"><span class="function-syntax">Assertions::Refiner::refine_parse_tree_inner</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">p</span><span class="plain-syntax">, </span><span class="identifier-syntax">creation_rule</span><span class="plain-syntax">);</span>
|
||||
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOG_OUTDENT</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOGIF</span><span class="plain-syntax">(</span><span class="identifier-syntax">NOUN_RESOLUTION</span><span class="plain-syntax">, </span><span class="string-syntax">"Refined subtree is:\n$T"</span><span class="plain-syntax">, </span><span class="identifier-syntax">p</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP9"></a><b>§9. </b>What we do depends on the crude structure already found.
|
||||
<p class="commentary firstcommentary"><a id="SP10"></a><b>§10. </b>What we do depends on the crude structure already found.
|
||||
</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">Assertions::Refiner::refine_parse_tree_inner</span><button class="popup" onclick="togglePopup('usagePopup9')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup9">Usage of <span class="code-font"><span class="function-syntax">Assertions::Refiner::refine_parse_tree_inner</span></span>:<br/><a href="9-rpt.html#SP8">§8</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">p</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">creation_rule</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Assertions::Refiner::refine_parse_tree_inner</span><button class="popup" onclick="togglePopup('usagePopup10')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup10">Usage of <span class="code-font"><span class="function-syntax">Assertions::Refiner::refine_parse_tree_inner</span></span>:<br/><a href="9-rpt.html#SP9">§9</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">p</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">creation_rule</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">switch</span><span class="plain-syntax">(</span><span class="identifier-syntax">Node::get_type</span><span class="plain-syntax">(</span><span class="identifier-syntax">p</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">X_OF_Y_NT:</span><span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="9-rpt.html#SP9_1" class="named-paragraph-link"><span class="named-paragraph">Refine an X-of-Y subtree</span><span class="named-paragraph-number">9.1</span></a></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">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">WITH_NT:</span><span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="9-rpt.html#SP9_2" class="named-paragraph-link"><span class="named-paragraph">Refine an X-with-Y subtree</span><span class="named-paragraph-number">9.2</span></a></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">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">AND_NT:</span><span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="9-rpt.html#SP9_3" class="named-paragraph-link"><span class="named-paragraph">Refine an X-and-Y subtree</span><span class="named-paragraph-number">9.3</span></a></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">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">RELATIONSHIP_NT:</span><span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="9-rpt.html#SP9_5" class="named-paragraph-link"><span class="named-paragraph">Refine a relationship subtree</span><span class="named-paragraph-number">9.5</span></a></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">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">CALLED_NT:</span><span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="9-rpt.html#SP9_4" class="named-paragraph-link"><span class="named-paragraph">Refine a calling subtree</span><span class="named-paragraph-number">9.4</span></a></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">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">KIND_NT:</span><span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="9-rpt.html#SP9_6" class="named-paragraph-link"><span class="named-paragraph">Refine a kind subtree</span><span class="named-paragraph-number">9.6</span></a></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">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">PRONOUN_NT:</span><span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="9-rpt.html#SP9_7" class="named-paragraph-link"><span class="named-paragraph">Refine a pronoun</span><span class="named-paragraph-number">9.7</span></a></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">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">X_OF_Y_NT:</span><span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="9-rpt.html#SP10_1" class="named-paragraph-link"><span class="named-paragraph">Refine an X-of-Y subtree</span><span class="named-paragraph-number">10.1</span></a></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">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">WITH_NT:</span><span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="9-rpt.html#SP10_2" class="named-paragraph-link"><span class="named-paragraph">Refine an X-with-Y subtree</span><span class="named-paragraph-number">10.2</span></a></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">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">AND_NT:</span><span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="9-rpt.html#SP10_3" class="named-paragraph-link"><span class="named-paragraph">Refine an X-and-Y subtree</span><span class="named-paragraph-number">10.3</span></a></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">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">RELATIONSHIP_NT:</span><span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="9-rpt.html#SP10_5" class="named-paragraph-link"><span class="named-paragraph">Refine a relationship subtree</span><span class="named-paragraph-number">10.5</span></a></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">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">CALLED_NT:</span><span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="9-rpt.html#SP10_4" class="named-paragraph-link"><span class="named-paragraph">Refine a calling subtree</span><span class="named-paragraph-number">10.4</span></a></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">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">KIND_NT:</span><span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="9-rpt.html#SP10_6" class="named-paragraph-link"><span class="named-paragraph">Refine a kind subtree</span><span class="named-paragraph-number">10.6</span></a></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">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">PRONOUN_NT:</span><span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="9-rpt.html#SP10_7" class="named-paragraph-link"><span class="named-paragraph">Refine a pronoun</span><span class="named-paragraph-number">10.7</span></a></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">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">PROPER_NOUN_NT:</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">UNPARSED_NOUN_NT:</span><span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="9-rpt.html#SP9_8" class="named-paragraph-link"><span class="named-paragraph">Refine what seems to be a noun phrase</span><span class="named-paragraph-number">9.8</span></a></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">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">UNPARSED_NOUN_NT:</span><span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="9-rpt.html#SP10_8" class="named-paragraph-link"><span class="named-paragraph">Refine what seems to be a noun phrase</span><span class="named-paragraph-number">10.8</span></a></span><span class="plain-syntax">; </span><span class="reserved-syntax">return</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP9_1"></a><b>§9.1. </b>Recall that an <span class="extract"><span class="extract-syntax">X_OF_Y_NT</span></span> subtree has the form owner followed by
|
||||
<p class="commentary firstcommentary"><a id="SP10_1"></a><b>§10.1. </b>Recall that an <span class="extract"><span class="extract-syntax">X_OF_Y_NT</span></span> subtree has the form owner followed by
|
||||
property name, so we forbid creation of a new object from the property name
|
||||
subtree.
|
||||
</p>
|
||||
|
||||
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Refine an X-of-Y subtree</span><span class="named-paragraph-number">9.1</span></span><span class="comment-syntax"> =</span>
|
||||
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Refine an X-of-Y subtree</span><span class="named-paragraph-number">10.1</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><a href="9-rpt.html#SP8" class="function-link"><span class="function-syntax">Assertions::Refiner::refine</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">p</span><span class="plain-syntax">-></span><span class="element-syntax">down</span><span class="plain-syntax">, </span><span class="identifier-syntax">creation_rule</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="9-rpt.html#SP8" class="function-link"><span class="function-syntax">Assertions::Refiner::refine</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">p</span><span class="plain-syntax">-></span><span class="element-syntax">down</span><span class="plain-syntax">-></span><span class="element-syntax">next</span><span class="plain-syntax">, </span><span class="constant-syntax">FORBID_CREATION</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="9-rpt.html#SP9" class="function-link"><span class="function-syntax">Assertions::Refiner::refine</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">p</span><span class="plain-syntax">-></span><span class="element-syntax">down</span><span class="plain-syntax">, </span><span class="identifier-syntax">creation_rule</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="9-rpt.html#SP9" class="function-link"><span class="function-syntax">Assertions::Refiner::refine</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">p</span><span class="plain-syntax">-></span><span class="element-syntax">down</span><span class="plain-syntax">-></span><span class="element-syntax">next</span><span class="plain-syntax">, </span><span class="constant-syntax">FORBID_CREATION</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="9-rpt.html#SP9">§9</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP9_2"></a><b>§9.2. </b><span class="extract"><span class="extract-syntax">WITH_NT</span></span> is used to create something with a list of properties. This
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="9-rpt.html#SP10">§10</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP10_2"></a><b>§10.2. </b><span class="extract"><span class="extract-syntax">WITH_NT</span></span> is used to create something with a list of properties. This
|
||||
leads to some awkward cases — for instance, where a "with" in an action
|
||||
pattern like "doing something with the bucket" has been misinterpreted.
|
||||
We fix those cases by hand, by reconstructing the text before it was
|
||||
|
@ -278,12 +292,12 @@ divided, to form the word range \((a_1, a_2)\); then parsing it as an action
|
|||
pattern; if it works, that reading is allowed to stand.
|
||||
</p>
|
||||
|
||||
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Refine an X-with-Y subtree</span><span class="named-paragraph-number">9.2</span></span><span class="comment-syntax"> =</span>
|
||||
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Refine an X-with-Y subtree</span><span class="named-paragraph-number">10.2</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><a href="9-rpt.html#SP8" class="function-link"><span class="function-syntax">Assertions::Refiner::refine</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">p</span><span class="plain-syntax">-></span><span class="element-syntax">down</span><span class="plain-syntax">, </span><span class="identifier-syntax">creation_rule</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="9-rpt.html#SP13" class="function-link"><span class="function-syntax">Assertions::Refiner::perform_with_surgery</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">p</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="9-rpt.html#SP9" class="function-link"><span class="function-syntax">Assertions::Refiner::refine</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">p</span><span class="plain-syntax">-></span><span class="element-syntax">down</span><span class="plain-syntax">, </span><span class="identifier-syntax">creation_rule</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="9-rpt.html#SP14" class="function-link"><span class="function-syntax">Assertions::Refiner::perform_with_surgery</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">p</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">Node::get_type</span><span class="plain-syntax">(</span><span class="identifier-syntax">p</span><span class="plain-syntax">) == </span><span class="identifier-syntax">WITH_NT</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> #</span><span class="identifier-syntax">ifdef</span><span class="plain-syntax"> </span><span class="identifier-syntax">IF_MODULE</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">wording</span><span class="plain-syntax"> </span><span class="identifier-syntax">W</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Wordings::new</span><span class="plain-syntax">(</span><span class="identifier-syntax">Wordings::first_wn</span><span class="plain-syntax">(</span><span class="identifier-syntax">Node::get_text</span><span class="plain-syntax">(</span><span class="identifier-syntax">p</span><span class="plain-syntax">-></span><span class="element-syntax">down</span><span class="plain-syntax">)),</span>
|
||||
|
@ -298,20 +312,20 @@ pattern; if it works, that reading is allowed to stand.
|
|||
<span class="plain-syntax"> #</span><span class="identifier-syntax">endif</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="9-rpt.html#SP9">§9</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP9_3"></a><b>§9.3. </b><span class="extract"><span class="extract-syntax">AND_NT</span></span> is easy, except for "and surgery", of which more below.
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="9-rpt.html#SP10">§10</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP10_3"></a><b>§10.3. </b><span class="extract"><span class="extract-syntax">AND_NT</span></span> is easy, except for "and surgery", of which more below.
|
||||
</p>
|
||||
|
||||
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Refine an X-and-Y subtree</span><span class="named-paragraph-number">9.3</span></span><span class="comment-syntax"> =</span>
|
||||
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Refine an X-and-Y subtree</span><span class="named-paragraph-number">10.3</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><a href="9-rpt.html#SP8" class="function-link"><span class="function-syntax">Assertions::Refiner::refine</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">p</span><span class="plain-syntax">-></span><span class="element-syntax">down</span><span class="plain-syntax">, </span><span class="identifier-syntax">creation_rule</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="9-rpt.html#SP8" class="function-link"><span class="function-syntax">Assertions::Refiner::refine</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">p</span><span class="plain-syntax">-></span><span class="element-syntax">down</span><span class="plain-syntax">-></span><span class="element-syntax">next</span><span class="plain-syntax">, </span><span class="identifier-syntax">creation_rule</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="9-rpt.html#SP12" class="function-link"><span class="function-syntax">Assertions::Refiner::perform_and_surgery</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">p</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="9-rpt.html#SP9" class="function-link"><span class="function-syntax">Assertions::Refiner::refine</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">p</span><span class="plain-syntax">-></span><span class="element-syntax">down</span><span class="plain-syntax">, </span><span class="identifier-syntax">creation_rule</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="9-rpt.html#SP9" class="function-link"><span class="function-syntax">Assertions::Refiner::refine</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">p</span><span class="plain-syntax">-></span><span class="element-syntax">down</span><span class="plain-syntax">-></span><span class="element-syntax">next</span><span class="plain-syntax">, </span><span class="identifier-syntax">creation_rule</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="9-rpt.html#SP13" class="function-link"><span class="function-syntax">Assertions::Refiner::perform_and_surgery</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">p</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="9-rpt.html#SP9">§9</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP9_4"></a><b>§9.4. </b>A <span class="extract"><span class="extract-syntax">CALLED_NT</span></span> node has two children: in the phrase "an X called Y", they
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="9-rpt.html#SP10">§10</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP10_4"></a><b>§10.4. </b>A <span class="extract"><span class="extract-syntax">CALLED_NT</span></span> node has two children: in the phrase "an X called Y", they
|
||||
will represent X and Y respectively. Y must be created afresh whatever its
|
||||
name, since the whole point of "called" is that it enables the designer
|
||||
to use names which would otherwise be interpreted as meaning something
|
||||
|
@ -322,11 +336,11 @@ of Y and the kind of X. In this way, all <span class="extract"><span class="extr
|
|||
from the tree.
|
||||
</p>
|
||||
|
||||
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Refine a calling subtree</span><span class="named-paragraph-number">9.4</span></span><span class="comment-syntax"> =</span>
|
||||
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Refine a calling subtree</span><span class="named-paragraph-number">10.4</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><a href="9-rpt.html#SP8" class="function-link"><span class="function-syntax">Assertions::Refiner::refine</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">p</span><span class="plain-syntax">-></span><span class="element-syntax">down</span><span class="plain-syntax">, </span><span class="constant-syntax">FORBID_CREATION</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="9-rpt.html#SP9" class="function-link"><span class="function-syntax">Assertions::Refiner::refine</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">p</span><span class="plain-syntax">-></span><span class="element-syntax">down</span><span class="plain-syntax">, </span><span class="constant-syntax">FORBID_CREATION</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">Annotations::read_int</span><span class="plain-syntax">(</span><span class="identifier-syntax">p</span><span class="plain-syntax">-></span><span class="identifier-syntax">down</span><span class="plain-syntax">, </span><span class="constant-syntax">multiplicity_ANNOT</span><span class="plain-syntax">) > </span><span class="constant-syntax">1</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">StandardProblems::sentence_problem</span><span class="plain-syntax">(</span><a href="1-wtc.html#SP5" class="function-link"><span class="function-syntax">Task::syntax_tree</span></a><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_MultipleCalled</span><span class="plain-syntax">),</span>
|
||||
<span class="plain-syntax"> </span><span class="string-syntax">"I can only make a single 'called' thing at a time"</span><span class="plain-syntax">,</span>
|
||||
|
@ -340,37 +354,37 @@ from the tree.
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">StandardProblems::sentence_problem</span><span class="plain-syntax">(</span><a href="1-wtc.html#SP5" class="function-link"><span class="function-syntax">Task::syntax_tree</span></a><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">BelievedImpossible</span><span class="plain-syntax">),</span>
|
||||
<span class="plain-syntax"> </span><span class="string-syntax">"'called' can't be used in this context"</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="string-syntax">"and is best reserved for full sentences."</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><a href="9-rpt.html#SP8" class="function-link"><span class="function-syntax">Assertions::Refiner::refine</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">p</span><span class="plain-syntax">-></span><span class="element-syntax">down</span><span class="plain-syntax">-></span><span class="element-syntax">next</span><span class="plain-syntax">, </span><span class="constant-syntax">MANDATE_CREATION</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><a href="9-rpt.html#SP9" class="function-link"><span class="function-syntax">Assertions::Refiner::refine</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">p</span><span class="plain-syntax">-></span><span class="element-syntax">down</span><span class="plain-syntax">-></span><span class="element-syntax">next</span><span class="plain-syntax">, </span><span class="constant-syntax">MANDATE_CREATION</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">forbid_nowhere</span><span class="plain-syntax"> = </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">;</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="9-rpt.html#SP9">§9</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP9_5"></a><b>§9.5. </b>A <span class="extract"><span class="extract-syntax">RELATIONSHIP_NT</span></span> node may have no children, representing "here"; or
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="9-rpt.html#SP10">§10</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP10_5"></a><b>§10.5. </b>A <span class="extract"><span class="extract-syntax">RELATIONSHIP_NT</span></span> node may have no children, representing "here"; or
|
||||
it may have one child, a room or door which lies in some map direction. But
|
||||
in general it has two children: for instance "a green marble in a blue box"
|
||||
has the marble and the box as its children, the relationship being containment.
|
||||
</p>
|
||||
|
||||
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Refine a relationship subtree</span><span class="named-paragraph-number">9.5</span></span><span class="comment-syntax"> =</span>
|
||||
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Refine a relationship subtree</span><span class="named-paragraph-number">10.5</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">p</span><span class="plain-syntax">-></span><span class="identifier-syntax">down</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><a href="9-rpt.html#SP8" class="function-link"><span class="function-syntax">Assertions::Refiner::refine</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">p</span><span class="plain-syntax">-></span><span class="element-syntax">down</span><span class="plain-syntax">, </span><span class="identifier-syntax">creation_rule</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="9-rpt.html#SP9" class="function-link"><span class="function-syntax">Assertions::Refiner::refine</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">p</span><span class="plain-syntax">-></span><span class="element-syntax">down</span><span class="plain-syntax">, </span><span class="identifier-syntax">creation_rule</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> #</span><span class="identifier-syntax">ifdef</span><span class="plain-syntax"> </span><span class="identifier-syntax">IF_MODULE</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">instance</span><span class="plain-syntax"> *</span><span class="identifier-syntax">dir</span><span class="plain-syntax"> = </span><span class="identifier-syntax">PL::MapDirections::get_mapping_relationship</span><span class="plain-syntax">(</span><span class="identifier-syntax">p</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">dir</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="9-rpt.html#SP9_5_1" class="named-paragraph-link"><span class="named-paragraph">Make the relation one which refers to a map direction</span><span class="named-paragraph-number">9.5.1</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">dir</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="9-rpt.html#SP10_5_1" class="named-paragraph-link"><span class="named-paragraph">Make the relation one which refers to a map direction</span><span class="named-paragraph-number">10.5.1</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> #</span><span class="identifier-syntax">endif</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">p</span><span class="plain-syntax">-></span><span class="element-syntax">down</span><span class="plain-syntax">-></span><span class="element-syntax">next</span><span class="plain-syntax">) </span><a href="9-rpt.html#SP8" class="function-link"><span class="function-syntax">Assertions::Refiner::refine</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">p</span><span class="plain-syntax">-></span><span class="element-syntax">down</span><span class="plain-syntax">-></span><span class="element-syntax">next</span><span class="plain-syntax">, </span><span class="identifier-syntax">creation_rule</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">p</span><span class="plain-syntax">-></span><span class="element-syntax">down</span><span class="plain-syntax">-></span><span class="element-syntax">next</span><span class="plain-syntax">) </span><a href="9-rpt.html#SP9" class="function-link"><span class="function-syntax">Assertions::Refiner::refine</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">p</span><span class="plain-syntax">-></span><span class="element-syntax">down</span><span class="plain-syntax">-></span><span class="element-syntax">next</span><span class="plain-syntax">, </span><span class="identifier-syntax">creation_rule</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="9-rpt.html#SP9">§9</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP9_5_1"></a><b>§9.5.1. </b>This handles the case of a one-child node representing a map direction,
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="9-rpt.html#SP10">§10</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP10_5_1"></a><b>§10.5.1. </b>This handles the case of a one-child node representing a map direction,
|
||||
but fills in a second child as the direction object in question. Thus if
|
||||
the relation is mapped-north-of, then the second child will become the
|
||||
direction object for "north".
|
||||
</p>
|
||||
|
||||
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Make the relation one which refers to a map direction</span><span class="named-paragraph-number">9.5.1</span></span><span class="comment-syntax"> =</span>
|
||||
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Make the relation one which refers to a map direction</span><span class="named-paragraph-number">10.5.1</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
|
@ -380,34 +394,34 @@ direction object for "north".
|
|||
<span class="plain-syntax"> </span><a href="9-rpt.html#SP1" class="function-link"><span class="function-syntax">Assertions::Refiner::noun_from_infs</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">p</span><span class="plain-syntax">-></span><span class="element-syntax">down</span><span class="plain-syntax">-></span><span class="element-syntax">next</span><span class="plain-syntax">, </span><a href="5-ins.html#SP13" class="function-link"><span class="function-syntax">Instances::as_subject</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">dir</span><span class="plain-syntax">));</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Annotations::write_int</span><span class="plain-syntax">(</span><span class="identifier-syntax">p</span><span class="plain-syntax">-></span><span class="element-syntax">down</span><span class="plain-syntax">-></span><span class="element-syntax">next</span><span class="plain-syntax">, </span><span class="constant-syntax">refined_ANNOT</span><span class="plain-syntax">, </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="9-rpt.html#SP9_5">§9.5</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP9_6"></a><b>§9.6. </b>A <span class="extract"><span class="extract-syntax">KIND_NT</span></span> node may have no children, and if so it represents the bare
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="9-rpt.html#SP10_5">§10.5</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP10_6"></a><b>§10.6. </b>A <span class="extract"><span class="extract-syntax">KIND_NT</span></span> node may have no children, and if so it represents the bare
|
||||
word "kind": the reference must be to the kind "kind" itself.
|
||||
Otherwise it has one child — the name of an existing kind of value or
|
||||
object. After refinement, it will be annotated with a valid non-null
|
||||
inference subject representing the domain to which any new kind would belong.
|
||||
</p>
|
||||
|
||||
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Refine a kind subtree</span><span class="named-paragraph-number">9.6</span></span><span class="comment-syntax"> =</span>
|
||||
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Refine a kind subtree</span><span class="named-paragraph-number">10.6</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">inference_subject</span><span class="plain-syntax"> *</span><span class="identifier-syntax">kind_of_what</span><span class="plain-syntax"> = </span><a href="13-kak.html#SP1" class="function-link"><span class="function-syntax">Kinds::Knowledge::as_subject</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">K_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">p</span><span class="plain-syntax">-></span><span class="identifier-syntax">down</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">what</span><span class="plain-syntax"> = </span><span class="identifier-syntax">p</span><span class="plain-syntax">-></span><span class="element-syntax">down</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><a href="9-rpt.html#SP8" class="function-link"><span class="function-syntax">Assertions::Refiner::refine</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">what</span><span class="plain-syntax">, </span><span class="constant-syntax">FORBID_CREATION</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="9-rpt.html#SP9" class="function-link"><span class="function-syntax">Assertions::Refiner::refine</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">what</span><span class="plain-syntax">, </span><span class="constant-syntax">FORBID_CREATION</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">kind_of_what</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Node::get_subject</span><span class="plain-syntax">(</span><span class="identifier-syntax">what</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">kind_of_what</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) || (</span><a href="16-is.html#SP21" class="function-link"><span class="function-syntax">InferenceSubjects::domain</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">kind_of_what</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="9-rpt.html#SP9_6_1" class="named-paragraph-link"><span class="named-paragraph">Issue a problem message for a kind of instance</span><span class="named-paragraph-number">9.6.1</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="9-rpt.html#SP10_6_1" class="named-paragraph-link"><span class="named-paragraph">Issue a problem message for a kind of instance</span><span class="named-paragraph-number">10.6.1</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> ((</span><a href="16-is.html#SP19" class="function-link"><span class="function-syntax">InferenceSubjects::as_nonobject_kind</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">kind_of_what</span><span class="plain-syntax">)) &&</span>
|
||||
<span class="plain-syntax"> (</span><span class="identifier-syntax">kind_of_what</span><span class="plain-syntax"> != </span><a href="13-kak.html#SP1" class="function-link"><span class="function-syntax">Kinds::Knowledge::as_subject</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">K_value</span><span class="plain-syntax">)) &&</span>
|
||||
<span class="plain-syntax"> (</span><span class="identifier-syntax">kind_of_what</span><span class="plain-syntax"> != </span><a href="13-kak.html#SP1" class="function-link"><span class="function-syntax">Kinds::Knowledge::as_subject</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">K_object</span><span class="plain-syntax">)))</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="9-rpt.html#SP9_6_2" class="named-paragraph-link"><span class="named-paragraph">Issue a problem message for a disallowed subkind</span><span class="named-paragraph-number">9.6.2</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="9-rpt.html#SP10_6_2" class="named-paragraph-link"><span class="named-paragraph">Issue a problem message for a disallowed subkind</span><span class="named-paragraph-number">10.6.2</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Node::set_subject</span><span class="plain-syntax">(</span><span class="identifier-syntax">p</span><span class="plain-syntax">, </span><span class="identifier-syntax">kind_of_what</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="9-rpt.html#SP9">§9</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP9_6_1"></a><b>§9.6.1. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Issue a problem message for a kind of instance</span><span class="named-paragraph-number">9.6.1</span></span><span class="comment-syntax"> =</span>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="9-rpt.html#SP10">§10</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP10_6_1"></a><b>§10.6.1. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Issue a problem message for a kind of instance</span><span class="named-paragraph-number">10.6.1</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
|
@ -427,8 +441,8 @@ inference subject representing the domain to which any new kind would belong.
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">kind_of_what</span><span class="plain-syntax"> = </span><a href="13-kak.html#SP1" class="function-link"><span class="function-syntax">Kinds::Knowledge::as_subject</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">K_value</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="9-rpt.html#SP9_6">§9.6</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP9_6_2"></a><b>§9.6.2. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Issue a problem message for a disallowed subkind</span><span class="named-paragraph-number">9.6.2</span></span><span class="comment-syntax"> =</span>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="9-rpt.html#SP10_6">§10.6</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP10_6_2"></a><b>§10.6.2. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Issue a problem message for a disallowed subkind</span><span class="named-paragraph-number">10.6.2</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
|
@ -439,11 +453,11 @@ inference subject representing the domain to which any new kind would belong.
|
|||
<span class="plain-syntax"> </span><span class="string-syntax">"a kind of number' is not."</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">kind_of_what</span><span class="plain-syntax"> = </span><a href="13-kak.html#SP1" class="function-link"><span class="function-syntax">Kinds::Knowledge::as_subject</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">K_value</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="9-rpt.html#SP9_6">§9.6</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP9_7"></a><b>§9.7. </b>The following could clearly be improved.
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="9-rpt.html#SP10_6">§10.6</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP10_7"></a><b>§10.7. </b>The following could clearly be improved.
|
||||
</p>
|
||||
|
||||
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Refine a pronoun</span><span class="named-paragraph-number">9.7</span></span><span class="comment-syntax"> =</span>
|
||||
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Refine a pronoun</span><span class="named-paragraph-number">10.7</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
|
@ -483,8 +497,8 @@ inference subject representing the domain to which any new kind would belong.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> } </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="identifier-syntax">internal_error</span><span class="plain-syntax">(</span><span class="string-syntax">"misconstrued pronoun"</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="9-rpt.html#SP9">§9</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP9_8"></a><b>§9.8. </b>The simple description of what happens to a <span class="extract"><span class="extract-syntax">PROPER_NOUN_NT</span></span> node is that
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="9-rpt.html#SP10">§10</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP10_8"></a><b>§10.8. </b>The simple description of what happens to a <span class="extract"><span class="extract-syntax">PROPER_NOUN_NT</span></span> node is that
|
||||
if it's an existing object or value, then it should be annotated with a
|
||||
reference to that object or value; and if not, then a new object should be
|
||||
created with that name. (We don't actually create here, though: we just mark
|
||||
|
@ -492,49 +506,49 @@ such a noun phrase by changing its node type to <span class="extract"><span clas
|
|||
complicated description is as follows:
|
||||
</p>
|
||||
|
||||
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Refine what seems to be a noun phrase</span><span class="named-paragraph-number">9.8</span></span><span class="comment-syntax"> =</span>
|
||||
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Refine what seems to be a noun phrase</span><span class="named-paragraph-number">10.8</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Node::set_type</span><span class="plain-syntax">(</span><span class="identifier-syntax">p</span><span class="plain-syntax">, </span><span class="identifier-syntax">PROPER_NOUN_NT</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">forbid_nowhere</span><span class="plain-syntax"> == </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="9-rpt.html#SP9_8_1" class="named-paragraph-link"><span class="named-paragraph">Act on any special noun phrases significant to plugins</span><span class="named-paragraph-number">9.8.1</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">forbid_nowhere</span><span class="plain-syntax"> == </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="9-rpt.html#SP10_8_1" class="named-paragraph-link"><span class="named-paragraph">Act on any special noun phrases significant to plugins</span><span class="named-paragraph-number">10.8.1</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">creation_rule</span><span class="plain-syntax"> != </span><span class="constant-syntax">MANDATE_CREATION</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="9-rpt.html#SP9_8_2" class="named-paragraph-link"><span class="named-paragraph">Interpret this as an existing noun if possible</span><span class="named-paragraph-number">9.8.2</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="9-rpt.html#SP10_8_2" class="named-paragraph-link"><span class="named-paragraph">Interpret this as an existing noun if possible</span><span class="named-paragraph-number">10.8.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">creation_rule</span><span class="plain-syntax"> != </span><span class="constant-syntax">FORBID_CREATION</span><span class="plain-syntax">) </span><span class="identifier-syntax">Node::set_type</span><span class="plain-syntax">(</span><span class="identifier-syntax">p</span><span class="plain-syntax">, </span><span class="constant-syntax">CREATED_NT</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">Node::set_subject</span><span class="plain-syntax">(</span><span class="identifier-syntax">p</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="9-rpt.html#SP9">§9</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP9_8_1"></a><b>§9.8.1. </b>For example, "above" and "below" become significant if the mapping plugin
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="9-rpt.html#SP10">§10</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP10_8_1"></a><b>§10.8.1. </b>For example, "above" and "below" become significant if the mapping plugin
|
||||
is active, and "nowhere" if the spatial one is.
|
||||
</p>
|
||||
|
||||
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Act on any special noun phrases significant to plugins</span><span class="named-paragraph-number">9.8.1</span></span><span class="comment-syntax"> =</span>
|
||||
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Act on any special noun phrases significant to plugins</span><span class="named-paragraph-number">10.8.1</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="26-pc.html#SP6" class="function-link"><span class="function-syntax">Plugins::Call::act_on_special_NPs</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">p</span><span class="plain-syntax">)) </span><span class="reserved-syntax">return</span><span class="plain-syntax">;</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="9-rpt.html#SP9_8">§9.8</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP9_8_2"></a><b>§9.8.2. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Interpret this as an existing noun if possible</span><span class="named-paragraph-number">9.8.2</span></span><span class="comment-syntax"> =</span>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="9-rpt.html#SP10_8">§10.8</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP10_8_2"></a><b>§10.8.2. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Interpret this as an existing noun if possible</span><span class="named-paragraph-number">10.8.2</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">spec</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="9-rpt.html#SP9_8_2_1" class="named-paragraph-link"><span class="named-paragraph">Parse the noun phrase as a value property name</span><span class="named-paragraph-number">9.8.2.1</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">spec</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="9-rpt.html#SP9_8_2_3" class="named-paragraph-link"><span class="named-paragraph">Parse the noun phrase as a value</span><span class="named-paragraph-number">9.8.2.3</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="9-rpt.html#SP10_8_2_1" class="named-paragraph-link"><span class="named-paragraph">Parse the noun phrase as a value property name</span><span class="named-paragraph-number">10.8.2.1</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">spec</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="9-rpt.html#SP10_8_2_3" class="named-paragraph-link"><span class="named-paragraph">Parse the noun phrase as a value</span><span class="named-paragraph-number">10.8.2.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">Node::is</span><span class="plain-syntax">(</span><span class="identifier-syntax">spec</span><span class="plain-syntax">, </span><span class="constant-syntax">NONLOCAL_VARIABLE_NT</span><span class="plain-syntax">)) ||</span>
|
||||
<span class="plain-syntax"> (</span><span class="identifier-syntax">Node::is</span><span class="plain-syntax">(</span><span class="identifier-syntax">spec</span><span class="plain-syntax">, </span><span class="constant-syntax">CONSTANT_NT</span><span class="plain-syntax">))) {</span>
|
||||
<span class="plain-syntax"> </span><a href="9-rpt.html#SP1" class="function-link"><span class="function-syntax">Assertions::Refiner::noun_from_value</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">p</span><span class="plain-syntax">, </span><span class="identifier-syntax">spec</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</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><a href="14-sp.html#SP3" class="function-link"><span class="function-syntax">Specifications::is_description</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">spec</span><span class="plain-syntax">))</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="9-rpt.html#SP9_8_2_5" class="named-paragraph-link"><span class="named-paragraph">Act on a description used as a noun phrase</span><span class="named-paragraph-number">9.8.2.5</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="9-rpt.html#SP9_8_2_4" class="named-paragraph-link"><span class="named-paragraph">Act on an action pattern used as a noun phrase</span><span class="named-paragraph-number">9.8.2.4</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="9-rpt.html#SP10_8_2_5" class="named-paragraph-link"><span class="named-paragraph">Act on a description used as a noun phrase</span><span class="named-paragraph-number">10.8.2.5</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="9-rpt.html#SP10_8_2_4" class="named-paragraph-link"><span class="named-paragraph">Act on an action pattern used as a noun phrase</span><span class="named-paragraph-number">10.8.2.4</span></a></span><span class="plain-syntax">;</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="9-rpt.html#SP9_8">§9.8</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP9_8_2_1"></a><b>§9.8.2.1. </b>Perhaps it is the name of a valued property? If so, it is used as a noun,
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="9-rpt.html#SP10_8">§10.8</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP10_8_2_1"></a><b>§10.8.2.1. </b>Perhaps it is the name of a valued property? If so, it is used as a noun,
|
||||
without obvious reference to any owner: we convert it to a noun node.
|
||||
</p>
|
||||
|
||||
|
@ -542,14 +556,14 @@ without obvious reference to any owner: we convert it to a noun node.
|
|||
property name meaning, not as the name of a kind of value.)
|
||||
</p>
|
||||
|
||||
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Parse the noun phrase as a value property name</span><span class="named-paragraph-number">9.8.2.1</span></span><span class="comment-syntax"> =</span>
|
||||
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Parse the noun phrase as a value property name</span><span class="named-paragraph-number">10.8.2.1</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="function-syntax"><value-property-name></span><span class="plain-syntax">(</span><span class="identifier-syntax">Node::get_text</span><span class="plain-syntax">(</span><span class="identifier-syntax">p</span><span class="plain-syntax">)))</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">spec</span><span class="plain-syntax"> = </span><a href="14-rv.html#SP1" class="function-link"><span class="function-syntax">Rvalues::from_property</span></a><span class="plain-syntax">(</span><span class="function-syntax"><<rp>></span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="9-rpt.html#SP9_8_2">§9.8.2</a>.</li></ul>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="9-rpt.html#SP10_8_2">§10.8.2</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP_1"></a><b>§.1. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Issue PM_VagueVariable problem</span><span class="named-paragraph-number">.1</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
|
@ -561,8 +575,8 @@ property name meaning, not as the name of a kind of value.)
|
|||
<span class="plain-syntax"> </span><span class="string-syntax">"need - would be much clearer."</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> ==> { </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">, - };</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="9-rpt.html#SP9_8_2_2">§9.8.2.2</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP9_8_2_2"></a><b>§9.8.2.2. </b>When a noun phrase in an assertion represents a value, it's normally a
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="9-rpt.html#SP10_8_2_2">§10.8.2.2</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP10_8_2_2"></a><b>§10.8.2.2. </b>When a noun phrase in an assertion represents a value, it's normally a
|
||||
constant ("13") or else something like a description of values ("a number").
|
||||
It wouldn't make sense to refer to a temporary value like a local variable,
|
||||
but a global ("player" or "time of day") is possible.
|
||||
|
@ -581,7 +595,7 @@ a noun instead of a condition testing the current action.
|
|||
<span class="Preform-plain-syntax"> </span><span class="Preform-function-syntax"><s-global-variable></span><span class="Preform-plain-syntax"> </span><span class="Preform-reserved-syntax">==></span><span class="Preform-plain-syntax"> { TRUE, RP[1] }</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This is <a href="../words-module/4-ap.html" class="internal">Preform grammar</a>, not regular C code.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP9_8_2_3"></a><b>§9.8.2.3. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Parse the noun phrase as a value</span><span class="named-paragraph-number">9.8.2.3</span></span><span class="Preform-comment-syntax"> =</span>
|
||||
<p class="commentary firstcommentary"><a id="SP10_8_2_3"></a><b>§10.8.2.3. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Parse the noun phrase as a value</span><span class="named-paragraph-number">10.8.2.3</span></span><span class="Preform-comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
|
@ -592,10 +606,10 @@ a noun instead of a condition testing the current action.
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">spec</span><span class="plain-syntax"> = </span><a href="14-sp.html#SP8" class="function-link"><span class="function-syntax">Specifications::new_UNKNOWN</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">Node::get_text</span><span class="plain-syntax">(</span><span class="identifier-syntax">p</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><a href="14-ds.html#SP9" class="function-link"><span class="function-syntax">Descriptions::get_quantifier</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">spec</span><span class="plain-syntax">))</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="9-rpt.html#SP9_8_2_3_1" class="named-paragraph-link"><span class="named-paragraph">Check that this noun phrase is allowed a quantifier</span><span class="named-paragraph-number">9.8.2.3.1</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="9-rpt.html#SP10_8_2_3_1" class="named-paragraph-link"><span class="named-paragraph">Check that this noun phrase is allowed a quantifier</span><span class="named-paragraph-number">10.8.2.3.1</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOGIF</span><span class="plain-syntax">(</span><span class="identifier-syntax">NOUN_RESOLUTION</span><span class="plain-syntax">, </span><span class="string-syntax">"Noun phrase %W parsed as value: $P\n"</span><span class="plain-syntax">, </span><span class="identifier-syntax">Node::get_text</span><span class="plain-syntax">(</span><span class="identifier-syntax">p</span><span class="plain-syntax">), </span><span class="identifier-syntax">spec</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="9-rpt.html#SP9_8_2">§9.8.2</a>.</li></ul>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="9-rpt.html#SP10_8_2">§10.8.2</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP_1"></a><b>§.1. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Issue a problem for a variable described without a kind</span><span class="named-paragraph-number">.1</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
|
@ -603,7 +617,7 @@ a noun instead of a condition testing the current action.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax">;</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is never used.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP9_8_2_3_1"></a><b>§9.8.2.3.1. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Check that this noun phrase is allowed a quantifier</span><span class="named-paragraph-number">9.8.2.3.1</span></span><span class="comment-syntax"> =</span>
|
||||
<p class="commentary firstcommentary"><a id="SP10_8_2_3_1"></a><b>§10.8.2.3.1. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Check that this noun phrase is allowed a quantifier</span><span class="named-paragraph-number">10.8.2.3.1</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
|
@ -638,8 +652,8 @@ a noun instead of a condition testing the current action.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="9-rpt.html#SP9_8_2_3">§9.8.2.3</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP9_8_2_4"></a><b>§9.8.2.4. </b>If the noun phrase is a valid action pattern, such as "taking something",
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="9-rpt.html#SP10_8_2_3">§10.8.2.3</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP10_8_2_4"></a><b>§10.8.2.4. </b>If the noun phrase is a valid action pattern, such as "taking something",
|
||||
we change it to a new node type to mark this. We don't keep the pattern:
|
||||
it will be reparsed much later on.
|
||||
</p>
|
||||
|
@ -651,7 +665,7 @@ piece of wood. So we parse action patterns with a lower priority than values
|
|||
here, given that we know we are looking for a noun.
|
||||
</p>
|
||||
|
||||
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Act on an action pattern used as a noun phrase</span><span class="named-paragraph-number">9.8.2.4</span></span><span class="comment-syntax"> =</span>
|
||||
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Act on an action pattern used as a noun phrase</span><span class="named-paragraph-number">10.8.2.4</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
|
@ -665,8 +679,8 @@ here, given that we know we are looking for a noun.
|
|||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> #</span><span class="identifier-syntax">endif</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="9-rpt.html#SP9_8_2">§9.8.2</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP9_8_2_5"></a><b>§9.8.2.5. </b>This case has been left to last, since it's so much the most difficult.
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="9-rpt.html#SP10_8_2">§10.8.2</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP10_8_2_5"></a><b>§10.8.2.5. </b>This case has been left to last, since it's so much the most difficult.
|
||||
Descriptions have to be converted into a surprising range of different
|
||||
subtrees — otherwise it will not be possible to issue a wide range of
|
||||
to-the-point problem messages for badly constructed sentences.
|
||||
|
@ -675,7 +689,7 @@ to-the-point problem messages for badly constructed sentences.
|
|||
<p class="commentary">Oddly, it's not the complicated descriptions which give trouble...
|
||||
</p>
|
||||
|
||||
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Act on a description used as a noun phrase</span><span class="named-paragraph-number">9.8.2.5</span></span><span class="comment-syntax"> =</span>
|
||||
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Act on a description used as a noun phrase</span><span class="named-paragraph-number">10.8.2.5</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
|
@ -684,10 +698,10 @@ to-the-point problem messages for badly constructed sentences.
|
|||
<span class="plain-syntax"> </span><a href="9-rpt.html#SP1" class="function-link"><span class="function-syntax">Assertions::Refiner::noun_from_value</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">p</span><span class="plain-syntax">, </span><span class="identifier-syntax">spec</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="9-rpt.html#SP9_8_2_5_1" class="named-paragraph-link"><span class="named-paragraph">Act on a simple description</span><span class="named-paragraph-number">9.8.2.5.1</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="9-rpt.html#SP10_8_2_5_1" class="named-paragraph-link"><span class="named-paragraph">Act on a simple description</span><span class="named-paragraph-number">10.8.2.5.1</span></a></span><span class="plain-syntax">;</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="9-rpt.html#SP9_8_2">§9.8.2</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP9_8_2_5_1"></a><b>§9.8.2.5.1. </b>...it's the shorter phrases where, perversely, the risk of a
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="9-rpt.html#SP10_8_2">§10.8.2</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP10_8_2_5_1"></a><b>§10.8.2.5.1. </b>...it's the shorter phrases where, perversely, the risk of a
|
||||
misunderstanding is higher. For one thing, we deliberately ignore a valid
|
||||
description in two cases:
|
||||
</p>
|
||||
|
@ -721,19 +735,19 @@ that this is not the same silver bar referred to in some previous
|
|||
sentence.
|
||||
</p>
|
||||
|
||||
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Act on a simple description</span><span class="named-paragraph-number">9.8.2.5.1</span></span><span class="comment-syntax"> =</span>
|
||||
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Act on a simple description</span><span class="named-paragraph-number">10.8.2.5.1</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (!((</span><a href="14-ds.html#SP5" class="function-link"><span class="function-syntax">Descriptions::to_instance</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">spec</span><span class="plain-syntax">)) &&</span>
|
||||
<span class="plain-syntax"> ((</span><a href="14-ds.html#SP8" class="function-link"><span class="function-syntax">Descriptions::number_of_adjectives_applied_to</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">spec</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">Articles::may_be_definite</span><span class="plain-syntax">(</span><span class="identifier-syntax">Node::get_article</span><span class="plain-syntax">(</span><span class="identifier-syntax">p</span><span class="plain-syntax">)) == </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">)))) {</span>
|
||||
<span class="plain-syntax"> </span><a href="9-rpt.html#SP10" class="function-link"><span class="function-syntax">Assertions::Refiner::refine_from_simple_description</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">p</span><span class="plain-syntax">, </span><span class="identifier-syntax">spec</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="9-rpt.html#SP11" class="function-link"><span class="function-syntax">Assertions::Refiner::refine_from_simple_description</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">p</span><span class="plain-syntax">, </span><span class="identifier-syntax">spec</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="9-rpt.html#SP9_8_2_5">§9.8.2.5</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP10"></a><b>§10. </b>The following turns the node <span class="extract"><span class="extract-syntax">p</span></span> into a subtree representing the content of
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="9-rpt.html#SP10_8_2_5">§10.8.2.5</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP11"></a><b>§11. </b>The following turns the node <span class="extract"><span class="extract-syntax">p</span></span> into a subtree representing the content of
|
||||
a simple description in <span class="extract"><span class="extract-syntax">spec</span></span>. Besides being used above, it's also convenient
|
||||
for assemblies.
|
||||
</p>
|
||||
|
@ -745,16 +759,16 @@ where the adjectives each become <span class="extract"><span class="extract-synt
|
|||
</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">Assertions::Refiner::refine_from_simple_description</span><button class="popup" onclick="togglePopup('usagePopup10')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup10">Usage of <span class="code-font"><span class="function-syntax">Assertions::Refiner::refine_from_simple_description</span></span>:<br/><a href="9-rpt.html#SP9_8_2_5_1">§9.8.2.5.1</a><br/>Assemblies - <a href="9-ass.html#SP9_3">§9.3</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">p</span><span class="plain-syntax">, </span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">spec</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Assertions::Refiner::refine_from_simple_description</span><button class="popup" onclick="togglePopup('usagePopup11')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup11">Usage of <span class="code-font"><span class="function-syntax">Assertions::Refiner::refine_from_simple_description</span></span>:<br/><a href="9-rpt.html#SP10_8_2_5_1">§10.8.2.5.1</a><br/>Assemblies - <a href="9-ass.html#SP9_3">§9.3</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">p</span><span class="plain-syntax">, </span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">spec</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">inference_subject</span><span class="plain-syntax"> *</span><span class="identifier-syntax">head</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="9-rpt.html#SP10_1" class="named-paragraph-link"><span class="named-paragraph">Set the attachment node to the headword, if there is one</span><span class="named-paragraph-number">10.1</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="9-rpt.html#SP11_1" class="named-paragraph-link"><span class="named-paragraph">Set the attachment node to the headword, if there is one</span><span class="named-paragraph-number">11.1</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="14-ds.html#SP8" class="function-link"><span class="function-syntax">Descriptions::number_of_adjectives_applied_to</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">spec</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">head</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="9-rpt.html#SP10_2" class="named-paragraph-link"><span class="named-paragraph">Insert a WITH node joining adjective tree to headword</span><span class="named-paragraph-number">10.2</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="9-rpt.html#SP10_3" class="named-paragraph-link"><span class="named-paragraph">Place a subtree of adjectives at the attachment node</span><span class="named-paragraph-number">10.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">head</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="9-rpt.html#SP11_2" class="named-paragraph-link"><span class="named-paragraph">Insert a WITH node joining adjective tree to headword</span><span class="named-paragraph-number">11.2</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="9-rpt.html#SP11_3" class="named-paragraph-link"><span class="named-paragraph">Place a subtree of adjectives at the attachment node</span><span class="named-paragraph-number">11.3</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP10_1"></a><b>§10.1. </b>Crucially, the headword node gets one extra annotation: its "full phrase
|
||||
<p class="commentary firstcommentary"><a id="SP11_1"></a><b>§11.1. </b>Crucially, the headword node gets one extra annotation: its "full phrase
|
||||
evaluation", which retains the original description information — in
|
||||
particular, quantification data such as that in "four doors", which
|
||||
would be lost if we simply applied <span class="extract"><span class="extract-syntax">Assertions::Refiner::noun_from_infs</span></span> to the inference
|
||||
|
@ -766,7 +780,7 @@ no headword node — this is why we don't bother to find any subject to
|
|||
set for it.
|
||||
</p>
|
||||
|
||||
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Set the attachment node to the headword, if there is one</span><span class="named-paragraph-number">10.1</span></span><span class="comment-syntax"> =</span>
|
||||
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Set the attachment node to the headword, if there is one</span><span class="named-paragraph-number">11.1</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
|
@ -784,13 +798,13 @@ set for it.
|
|||
<span class="plain-syntax"> </span><a href="9-rpt.html#SP2" class="function-link"><span class="function-syntax">Assertions::Refiner::pn_noun_details_from_spec</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">p</span><span class="plain-syntax">, </span><span class="identifier-syntax">spec</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="9-rpt.html#SP10">§10</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP10_2"></a><b>§10.2. </b>We put a WITH node in the attachment position, displacing the headword
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="9-rpt.html#SP11">§11</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP11_2"></a><b>§11.2. </b>We put a WITH node in the attachment position, displacing the headword
|
||||
content to its first child, and making its second child the new attachment
|
||||
position — so that that is where the adjectives subtree will go.
|
||||
</p>
|
||||
|
||||
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Insert a WITH node joining adjective tree to headword</span><span class="named-paragraph-number">10.2</span></span><span class="comment-syntax"> =</span>
|
||||
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Insert a WITH node joining adjective tree to headword</span><span class="named-paragraph-number">11.2</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
|
@ -801,14 +815,14 @@ position — so that that is where the adjectives subtree will go.
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">lower_copy</span><span class="plain-syntax">-></span><span class="element-syntax">next</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Node::new</span><span class="plain-syntax">(</span><span class="identifier-syntax">PROPER_NOUN_NT</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">p</span><span class="plain-syntax"> = </span><span class="identifier-syntax">lower_copy</span><span class="plain-syntax">-></span><span class="element-syntax">next</span><span class="plain-syntax">;</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="9-rpt.html#SP10">§10</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP10_3"></a><b>§10.3. </b>When there are two or more adjectives, they must occur as leaves of a
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="9-rpt.html#SP11">§11</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP11_3"></a><b>§11.3. </b>When there are two or more adjectives, they must occur as leaves of a
|
||||
binary tree whose non-leaf nodes are <span class="extract"><span class="extract-syntax">AND_NT</span></span>. We do this pretty inefficiently,
|
||||
making no effort to balance the tree, since it has negligible effect on speed
|
||||
or memory.
|
||||
</p>
|
||||
|
||||
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Place a subtree of adjectives at the attachment node</span><span class="named-paragraph-number">10.3</span></span><span class="comment-syntax"> =</span>
|
||||
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Place a subtree of adjectives at the attachment node</span><span class="named-paragraph-number">11.3</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
|
@ -838,8 +852,8 @@ or memory.
|
|||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="9-rpt.html#SP10">§10</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP11"></a><b>§11. About surgeries. </b>The rest of this section is taken up with four local surgical operations
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="9-rpt.html#SP11">§11</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP12"></a><b>§12. About surgeries. </b>The rest of this section is taken up with four local surgical operations
|
||||
performed on the tree in the light of what we can now see. In each case, the
|
||||
problem is that two clausal constructions implied by the nodes inserted
|
||||
earlier have been applied the wrong way round:
|
||||
|
@ -851,7 +865,7 @@ in disguised form this is another clash with <span class="extract"><span class="
|
|||
</li><li>(3) "Location surgery": <span class="extract"><span class="extract-syntax">AND_NT</span></span> and <span class="extract"><span class="extract-syntax">RELATIONSHIP_NT</span></span> the wrong way round.
|
||||
</li><li>(4) "Called surgery": <span class="extract"><span class="extract-syntax">CALLED_NT</span></span> and <span class="extract"><span class="extract-syntax">RELATIONSHIP_NT</span></span> the wrong way round.
|
||||
</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP12"></a><b>§12. And surgery. </b>"And surgery" is a fiddly operation to correct the parse tree after
|
||||
<p class="commentary firstcommentary"><a id="SP13"></a><b>§13. And surgery. </b>"And surgery" is a fiddly operation to correct the parse tree after
|
||||
resolution of all the nouns in a phrase which involves both "and" and
|
||||
"with" in a particular way. There's no problem with either of these:
|
||||
</p>
|
||||
|
@ -894,7 +908,7 @@ on the back of an envelope. Change at your peril.
|
|||
</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">Assertions::Refiner::perform_and_surgery</span><button class="popup" onclick="togglePopup('usagePopup11')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup11">Usage of <span class="code-font"><span class="function-syntax">Assertions::Refiner::perform_and_surgery</span></span>:<br/><a href="9-rpt.html#SP9_3">§9.3</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">p</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Assertions::Refiner::perform_and_surgery</span><button class="popup" onclick="togglePopup('usagePopup12')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup12">Usage of <span class="code-font"><span class="function-syntax">Assertions::Refiner::perform_and_surgery</span></span>:<br/><a href="9-rpt.html#SP10_3">§10.3</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">p</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">x</span><span class="plain-syntax">, *</span><span class="identifier-syntax">a_p</span><span class="plain-syntax">, *</span><span class="identifier-syntax">w_p</span><span class="plain-syntax">, *</span><span class="identifier-syntax">p1_p</span><span class="plain-syntax">, *</span><span class="identifier-syntax">p2_p</span><span class="plain-syntax">, *</span><span class="identifier-syntax">i_p</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">Node::get_type</span><span class="plain-syntax">(</span><span class="identifier-syntax">p</span><span class="plain-syntax">-></span><span class="element-syntax">down</span><span class="plain-syntax">) == </span><span class="constant-syntax">ADJECTIVE_NT</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> && (</span><span class="identifier-syntax">Node::get_type</span><span class="plain-syntax">(</span><span class="identifier-syntax">p</span><span class="plain-syntax">-></span><span class="element-syntax">down</span><span class="plain-syntax">-></span><span class="element-syntax">next</span><span class="plain-syntax">) == </span><span class="identifier-syntax">WITH_NT</span><span class="plain-syntax">)) {</span>
|
||||
|
@ -914,7 +928,7 @@ on the back of an envelope. Change at your peril.
|
|||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP13"></a><b>§13. With surgery. </b>This is a less traumatic operation, motivated by sentences like:
|
||||
<p class="commentary firstcommentary"><a id="SP14"></a><b>§14. With surgery. </b>This is a less traumatic operation, motivated by sentences like:
|
||||
</p>
|
||||
|
||||
<blockquote>
|
||||
|
@ -947,7 +961,7 @@ terms of the tree,
|
|||
<span class="plain-syntax"> PROPERTY_LIST_NT "The box..."</span>
|
||||
</pre>
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Assertions::Refiner::perform_with_surgery</span><button class="popup" onclick="togglePopup('usagePopup12')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup12">Usage of <span class="code-font"><span class="function-syntax">Assertions::Refiner::perform_with_surgery</span></span>:<br/><a href="9-rpt.html#SP9_2">§9.2</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">p</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Assertions::Refiner::perform_with_surgery</span><button class="popup" onclick="togglePopup('usagePopup13')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup13">Usage of <span class="code-font"><span class="function-syntax">Assertions::Refiner::perform_with_surgery</span></span>:<br/><a href="9-rpt.html#SP10_2">§10.2</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">p</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">inst</span><span class="plain-syntax">, *</span><span class="identifier-syntax">prop_1</span><span class="plain-syntax">, *</span><span class="identifier-syntax">prop_2</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">Node::get_type</span><span class="plain-syntax">(</span><span class="identifier-syntax">p</span><span class="plain-syntax">) == </span><span class="identifier-syntax">WITH_NT</span><span class="plain-syntax">) && (</span><span class="identifier-syntax">Node::get_type</span><span class="plain-syntax">(</span><span class="identifier-syntax">p</span><span class="plain-syntax">-></span><span class="element-syntax">down</span><span class="plain-syntax">) == </span><span class="identifier-syntax">WITH_NT</span><span class="plain-syntax">)) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inst</span><span class="plain-syntax"> = </span><span class="identifier-syntax">p</span><span class="plain-syntax">-></span><span class="element-syntax">down</span><span class="plain-syntax">-></span><span class="element-syntax">down</span><span class="plain-syntax">;</span>
|
||||
|
@ -960,7 +974,7 @@ terms of the tree,
|
|||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP14"></a><b>§14. The player is not yourself. </b>The following routine handles a feature added to Inform to handle just one
|
||||
<p class="commentary firstcommentary"><a id="SP15"></a><b>§15. The player is not yourself. </b>The following routine handles a feature added to Inform to handle just one
|
||||
peculiarity of syntax: that the source text will often talk about "the
|
||||
player" to mean the object which represents the player at the start of
|
||||
play (properly called "yourself"), not the variable whose value is the
|
||||
|
@ -972,7 +986,7 @@ can set up aliases of variable names to constants like this.
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">Assertions::Refiner::turn_player_to_yourself</span><button class="popup" onclick="togglePopup('usagePopup13')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup13">Usage of <span class="code-font"><span class="function-syntax">Assertions::Refiner::turn_player_to_yourself</span></span>:<br/>Make Assertions - <a href="9-ma.html#SP3_3_13">§3.3.13</a>, <a href="9-ma.html#SP3_3_20">§3.3.20</a>, <a href="9-ma.html#SP3_3_25">§3.3.25</a>, <a href="9-ma.html#SP3_3_26">§3.3.26</a>, <a href="9-ma.html#SP3_3_29">§3.3.29</a>, <a href="9-ma.html#SP3_3_36">§3.3.36</a>, <a href="9-ma.html#SP3_3_37">§3.3.37</a><br/>Relation Knowledge - <a href="9-rk.html#SP3_1">§3.1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pn</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">Assertions::Refiner::turn_player_to_yourself</span><button class="popup" onclick="togglePopup('usagePopup14')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup14">Usage of <span class="code-font"><span class="function-syntax">Assertions::Refiner::turn_player_to_yourself</span></span>:<br/>Make Assertions - <a href="9-ma.html#SP4_3_13">§4.3.13</a>, <a href="9-ma.html#SP4_3_20">§4.3.20</a>, <a href="9-ma.html#SP4_3_25">§4.3.25</a>, <a href="9-ma.html#SP4_3_26">§4.3.26</a>, <a href="9-ma.html#SP4_3_29">§4.3.29</a>, <a href="9-ma.html#SP4_3_36">§4.3.36</a>, <a href="9-ma.html#SP4_3_37">§4.3.37</a><br/>Relation Knowledge - <a href="9-rk.html#SP3_1">§3.1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pn</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">Wordings::nonempty</span><span class="plain-syntax">(</span><span class="identifier-syntax">Node::get_text</span><span class="plain-syntax">(</span><span class="identifier-syntax">pn</span><span class="plain-syntax">))) &&</span>
|
||||
<span class="plain-syntax"> (</span><span class="identifier-syntax">Node::get_type</span><span class="plain-syntax">(</span><span class="identifier-syntax">pn</span><span class="plain-syntax">) == </span><span class="identifier-syntax">PROPER_NOUN_NT</span><span class="plain-syntax">) &&</span>
|
||||
<span class="plain-syntax"> (</span><span class="identifier-syntax">Annotations::read_int</span><span class="plain-syntax">(</span><span class="identifier-syntax">pn</span><span class="plain-syntax">, </span><span class="constant-syntax">turned_already_ANNOT</span><span class="plain-syntax">) == </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">)) {</span>
|
||||
|
|
|
@ -12,14 +12,6 @@
|
|||
<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>
|
||||
|
@ -112,44 +104,6 @@ box" (not just a leaf, since it will be a tree showing the containment
|
|||
relationship as well as the noun).
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">Assertions::Copular::refine</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">Assertions::Copular::refine</span></span>:<br/>Tables of Definitions - <a href="19-tod.html#SP6_3">§6.3</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">px</span><span class="plain-syntax">, </span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">py</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">pc</span><span class="plain-syntax"> = </span><span class="identifier-syntax">problem_count</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> ((</span><a href="9-tbath.html#SP3" class="function-link"><span class="function-syntax">Assertions::Copular::possessive</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">py</span><span class="plain-syntax">)) &&</span>
|
||||
<span class="plain-syntax"> (</span><span class="function-syntax"><k-kind>(Node::get_text(py-></span><span class="element-syntax">down</span><span class="plain-syntax">)))) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Node::set_type</span><span class="plain-syntax">(</span><span class="identifier-syntax">py</span><span class="plain-syntax">, </span><span class="constant-syntax">ALLOWED_NT</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Node::set_type</span><span class="plain-syntax">(</span><span class="identifier-syntax">py</span><span class="plain-syntax">-></span><span class="element-syntax">down</span><span class="plain-syntax">, </span><span class="identifier-syntax">UNPARSED_NOUN_NT</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
|
||||
<span class="plain-syntax"> </span><a href="9-rpt.html#SP8" class="function-link"><span class="function-syntax">Assertions::Refiner::refine</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">px</span><span class="plain-syntax">, </span><span class="constant-syntax">ALLOW_CREATION</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="9-rpt.html#SP8" class="function-link"><span class="function-syntax">Assertions::Refiner::refine</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">py</span><span class="plain-syntax">, </span><span class="constant-syntax">ALLOW_CREATION</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">problem_count</span><span class="plain-syntax"> > </span><span class="identifier-syntax">pc</span><span class="plain-syntax">) </span><span class="reserved-syntax">return</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><a href="9-tc.html#SP1" class="function-link"><span class="function-syntax">Assertions::Creator::consult_the_creator</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">px</span><span class="plain-syntax">, </span><span class="identifier-syntax">py</span><span class="plain-syntax">) == </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">) </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">FALSE</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">TRUE</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Assertions::Copular::assertion</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">Assertions::Copular::assertion</span></span>:<br/>Traverse for Assertions - <a href="9-tfa.html#SP9_2">§9.2</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pv</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">px</span><span class="plain-syntax"> = </span><span class="identifier-syntax">pv</span><span class="plain-syntax">-></span><span class="element-syntax">down</span><span class="plain-syntax">-></span><span class="element-syntax">next</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">py</span><span class="plain-syntax"> = </span><span class="identifier-syntax">px</span><span class="plain-syntax">-></span><span class="element-syntax">next</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">traverse</span><span class="plain-syntax"> == </span><span class="constant-syntax">1</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="9-tbath.html#SP3" class="function-link"><span class="function-syntax">Assertions::Copular::refine</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">px</span><span class="plain-syntax">, </span><span class="identifier-syntax">py</span><span class="plain-syntax">) == </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">) </span><span class="reserved-syntax">return</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="9-tbath.html#SP3" class="function-link"><span class="function-syntax">Assertions::Copular::possessive</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">py</span><span class="plain-syntax">))</span>
|
||||
<span class="plain-syntax"> </span><a href="9-tbath.html#SP4" class="function-link"><span class="function-syntax">Assertions::Copular::make_assertion</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">px</span><span class="plain-syntax">, </span><span class="identifier-syntax">py</span><span class="plain-syntax">-></span><span class="element-syntax">down</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span>
|
||||
<span class="plain-syntax"> </span><a href="9-tbath.html#SP4" class="function-link"><span class="function-syntax">Assertions::Copular::make_assertion</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">px</span><span class="plain-syntax">, </span><span class="identifier-syntax">py</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">Assertions::Copular::possessive</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">Assertions::Copular::possessive</span></span>:<br/>Classifying Sentences - <a href="3-cs.html#SP4">§4</a><br/>Property Sentences - <a href="15-ps.html#SP2">§2</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">py</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">py</span><span class="plain-syntax">) && (</span><span class="identifier-syntax">Node::get_type</span><span class="plain-syntax">(</span><span class="identifier-syntax">py</span><span class="plain-syntax">) == </span><span class="identifier-syntax">RELATIONSHIP_NT</span><span class="plain-syntax">) &&</span>
|
||||
<span class="plain-syntax"> (</span><span class="identifier-syntax">Node::get_relationship</span><span class="plain-syntax">(</span><span class="identifier-syntax">py</span><span class="plain-syntax">)) &&</span>
|
||||
<span class="plain-syntax"> (</span><span class="identifier-syntax">Node::get_relationship</span><span class="plain-syntax">(</span><span class="identifier-syntax">py</span><span class="plain-syntax">)-></span><span class="element-syntax">reversal</span><span class="plain-syntax"> == </span><span class="constant-syntax">VERB_MEANING_POSSESSION</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">TRUE</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">FALSE</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP4"></a><b>§4. </b>In either case, then, we end up going through <span class="extract"><span class="extract-syntax">Assertions::Copular::make_assertion</span></span> and then to the
|
||||
following routine, which asserts that subtree <span class="extract"><span class="extract-syntax">px</span></span> "is" <span class="extract"><span class="extract-syntax">py</span></span>.
|
||||
</p>
|
||||
|
@ -169,88 +123,6 @@ the massive <span class="extract"><span class="extract-syntax">Assertions::Maker
|
|||
<p class="commentary">In traverse 2, only (c) takes place; (a) and (b) are one-time events.
|
||||
</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">Assertions::Copular::make_assertion</span><button class="popup" onclick="togglePopup('usagePopup4')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup4">Usage of <span class="code-font"><span class="function-syntax">Assertions::Copular::make_assertion</span></span>:<br/><a href="9-tbath.html#SP3">§3</a><br/>Tables of Definitions - <a href="19-tod.html#SP6_3">§6.3</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">px</span><span class="plain-syntax">, </span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">py</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">SyntaxTree::is_trace_set</span><span class="plain-syntax">(</span><a href="1-wtc.html#SP5" class="function-link"><span class="function-syntax">Task::syntax_tree</span></a><span class="plain-syntax">())) </span><span class="identifier-syntax">LOG</span><span class="plain-syntax">(</span><span class="string-syntax">"$T"</span><span class="plain-syntax">, </span><span class="identifier-syntax">current_sentence</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="function-syntax"><np-existential></span><span class="plain-syntax">(</span><span class="identifier-syntax">Node::get_text</span><span class="plain-syntax">(</span><span class="identifier-syntax">px</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">traverse</span><span class="plain-syntax"> == </span><span class="constant-syntax">1</span><span class="plain-syntax">) </span><a href="9-tbath.html#SP6" class="function-link"><span class="function-syntax">Assertions::Copular::make_existential_assertion</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">py</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">px</span><span class="plain-syntax"> = </span><span class="identifier-syntax">py</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> } </span><span class="reserved-syntax">else</span><span class="plain-syntax"> {</span>
|
||||
<span class="plain-syntax"> </span><a href="9-ma.html#SP3" class="function-link"><span class="function-syntax">Assertions::Maker::make_assertion_recursive</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">px</span><span class="plain-syntax">, </span><span class="identifier-syntax">py</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="9-tbath.html#SP4_1" class="named-paragraph-link"><span class="named-paragraph">Change the discussion topic for subsequent sentences</span><span class="named-paragraph-number">4.1</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP4_1"></a><b>§4.1. </b>The slight asymmetry in what follows is partly pragmatic, partly the result
|
||||
of subject-verb inversion ("in the bag is the ball" not "the ball is in the
|
||||
bag"). We extract a subject from a relationship node on the left, but not on
|
||||
the right, and we don't extract an object from one. Consider:
|
||||
</p>
|
||||
|
||||
<blockquote>
|
||||
<p>A billiards table is in the Gazebo. On it is a trophy cup.</p>
|
||||
</blockquote>
|
||||
|
||||
<p class="commentary">What does "it" mean, and why? A human reader goes for the billiards table at
|
||||
once, because it seems more likely as a supporter than the Gazebo, but that's
|
||||
not how Inform gets the same answer. It all hangs on "billiards table" being
|
||||
the object of the first sentence, not the Gazebo; if we descended the RHS,
|
||||
which is <span class="extract"><span class="extract-syntax">RELATIONSHIP_NT -> PROPER_NOUN_NT</span></span> pointing to the Gazebo, that's the
|
||||
conclusion we would have reached.
|
||||
</p>
|
||||
|
||||
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Change the discussion topic for subsequent sentences</span><span class="named-paragraph-number">4.1</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">inference_subject</span><span class="plain-syntax"> *</span><span class="identifier-syntax">infsx</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, *</span><span class="identifier-syntax">infsy</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, *</span><span class="identifier-syntax">infsy_full</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">infsx</span><span class="plain-syntax"> = </span><a href="9-tbath.html#SP5" class="function-link"><span class="function-syntax">Assertions::Copular::discussed_at_node</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">px</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">infsy_full</span><span class="plain-syntax"> = </span><a href="9-tbath.html#SP5" class="function-link"><span class="function-syntax">Assertions::Copular::discussed_at_node</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">py</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">Node::get_type</span><span class="plain-syntax">(</span><span class="identifier-syntax">py</span><span class="plain-syntax">) != </span><span class="identifier-syntax">KIND_NT</span><span class="plain-syntax">) </span><span class="identifier-syntax">infsy</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Node::get_subject</span><span class="plain-syntax">(</span><span class="identifier-syntax">py</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="9-tfa.html#SP12" class="function-link"><span class="function-syntax">Assertions::Traverse::change_discussion_topic</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">infsx</span><span class="plain-syntax">, </span><span class="identifier-syntax">infsy</span><span class="plain-syntax">, </span><span class="identifier-syntax">infsy_full</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">Node::get_type</span><span class="plain-syntax">(</span><span class="identifier-syntax">px</span><span class="plain-syntax">) == </span><span class="identifier-syntax">AND_NT</span><span class="plain-syntax">) </span><a href="9-tfa.html#SP13" class="function-link"><span class="function-syntax">Assertions::Traverse::subject_of_discussion_a_list</span></a><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Annotations::read_int</span><span class="plain-syntax">(</span><span class="identifier-syntax">current_sentence</span><span class="plain-syntax">, </span><span class="constant-syntax">clears_pronouns_ANNOT</span><span class="plain-syntax">))</span>
|
||||
<span class="plain-syntax"> </span><a href="9-tfa.html#SP12" class="function-link"><span class="function-syntax">Assertions::Traverse::new_discussion</span></a><span class="plain-syntax">();</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="9-tbath.html#SP4">§4</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP5"></a><b>§5. </b></p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">inference_subject</span><span class="plain-syntax"> *</span><span class="function-syntax">Assertions::Copular::discussed_at_node</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">Assertions::Copular::discussed_at_node</span></span>:<br/><a href="9-tbath.html#SP4_1">§4.1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pn</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">inference_subject</span><span class="plain-syntax"> *</span><span class="identifier-syntax">infs</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">Node::get_type</span><span class="plain-syntax">(</span><span class="identifier-syntax">pn</span><span class="plain-syntax">) != </span><span class="identifier-syntax">KIND_NT</span><span class="plain-syntax">) </span><span class="identifier-syntax">infs</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Node::get_subject</span><span class="plain-syntax">(</span><span class="identifier-syntax">pn</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">Node::get_type</span><span class="plain-syntax">(</span><span class="identifier-syntax">pn</span><span class="plain-syntax">) == </span><span class="identifier-syntax">RELATIONSHIP_NT</span><span class="plain-syntax">) && (</span><span class="identifier-syntax">pn</span><span class="plain-syntax">-></span><span class="element-syntax">down</span><span class="plain-syntax">) &&</span>
|
||||
<span class="plain-syntax"> (</span><span class="identifier-syntax">Node::get_type</span><span class="plain-syntax">(</span><span class="identifier-syntax">pn</span><span class="plain-syntax">-></span><span class="element-syntax">down</span><span class="plain-syntax">) == </span><span class="identifier-syntax">PROPER_NOUN_NT</span><span class="plain-syntax">))</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">infs</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Node::get_subject</span><span class="plain-syntax">(</span><span class="identifier-syntax">pn</span><span class="plain-syntax">-></span><span class="element-syntax">down</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">Node::get_type</span><span class="plain-syntax">(</span><span class="identifier-syntax">pn</span><span class="plain-syntax">) == </span><span class="identifier-syntax">WITH_NT</span><span class="plain-syntax">) && (</span><span class="identifier-syntax">pn</span><span class="plain-syntax">-></span><span class="element-syntax">down</span><span class="plain-syntax">) &&</span>
|
||||
<span class="plain-syntax"> (</span><span class="identifier-syntax">Node::get_type</span><span class="plain-syntax">(</span><span class="identifier-syntax">pn</span><span class="plain-syntax">-></span><span class="element-syntax">down</span><span class="plain-syntax">) == </span><span class="identifier-syntax">PROPER_NOUN_NT</span><span class="plain-syntax">))</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">infs</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Node::get_subject</span><span class="plain-syntax">(</span><span class="identifier-syntax">pn</span><span class="plain-syntax">-></span><span class="element-syntax">down</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">infs</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP6"></a><b>§6. </b></p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Assertions::Copular::make_existential_assertion</span><button class="popup" onclick="togglePopup('usagePopup6')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup6">Usage of <span class="code-font"><span class="function-syntax">Assertions::Copular::make_existential_assertion</span></span>:<br/><a href="9-tbath.html#SP4">§4</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">py</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">Node::get_type</span><span class="plain-syntax">(</span><span class="identifier-syntax">py</span><span class="plain-syntax">) == </span><span class="identifier-syntax">WITH_NT</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><a href="9-tbath.html#SP6" class="function-link"><span class="function-syntax">Assertions::Copular::make_existential_assertion</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">py</span><span class="plain-syntax">-></span><span class="element-syntax">down</span><span class="plain-syntax">); </span><span class="reserved-syntax">return</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">Node::get_type</span><span class="plain-syntax">(</span><span class="identifier-syntax">py</span><span class="plain-syntax">) == </span><span class="identifier-syntax">AND_NT</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><a href="9-tbath.html#SP6" class="function-link"><span class="function-syntax">Assertions::Copular::make_existential_assertion</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">py</span><span class="plain-syntax">-></span><span class="element-syntax">down</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="9-tbath.html#SP6" class="function-link"><span class="function-syntax">Assertions::Copular::make_existential_assertion</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">py</span><span class="plain-syntax">-></span><span class="element-syntax">down</span><span class="plain-syntax">-></span><span class="element-syntax">next</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</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">Node::get_type</span><span class="plain-syntax">(</span><span class="identifier-syntax">py</span><span class="plain-syntax">) == </span><span class="identifier-syntax">COMMON_NOUN_NT</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> ((</span><a href="16-is.html#SP20" class="function-link"><span class="function-syntax">InferenceSubjects::is_a_kind_of_object</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">Node::get_subject</span><span class="plain-syntax">(</span><span class="identifier-syntax">py</span><span class="plain-syntax">))) ||</span>
|
||||
<span class="plain-syntax"> (</span><span class="identifier-syntax">Kinds::Compare::eq</span><span class="plain-syntax">(</span><span class="identifier-syntax">K_object</span><span class="plain-syntax">, </span><a href="16-is.html#SP19" class="function-link"><span class="function-syntax">InferenceSubjects::as_kind</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">Node::get_subject</span><span class="plain-syntax">(</span><span class="identifier-syntax">py</span><span class="plain-syntax">)))))</span>
|
||||
<span class="plain-syntax"> </span><a href="9-tc.html#SP8" class="function-link"><span class="function-syntax">Assertions::Creator::convert_instance_to_nounphrase</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">py</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">else</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">StandardProblems::sentence_problem</span><span class="plain-syntax">(</span><a href="1-wtc.html#SP5" class="function-link"><span class="function-syntax">Task::syntax_tree</span></a><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_ThereIsVague</span><span class="plain-syntax">),</span>
|
||||
<span class="plain-syntax"> </span><span class="string-syntax">"'there is...' can only be used to create objects"</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="string-syntax">"and not instances of other kinds.'"</span><span class="plain-syntax">);</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="9-tfa.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-up.html">2</a></li><li class="progresschapter"><a href="3-bv.html">3</a></li><li class="progresschapter"><a href="4-its.html">4</a></li><li class="progresschapter"><a href="5-lp.html">5</a></li><li class="progresschapter"><a href="6-up.html">6</a></li><li class="progresschapter"><a href="7-ptu.html">7</a></li><li class="progresschapter"><a href="8-ef.html">8</a></li><li class="progresscurrentchapter">9</li><li class="progresssection"><a href="9-ita.html">ita</a></li><li class="progresssection"><a href="9-tfa.html">tfa</a></li><li class="progresscurrent">tbath</li><li class="progresssection"><a href="9-rpt.html">rpt</a></li><li class="progresssection"><a href="9-tc.html">tc</a></li><li class="progresssection"><a href="9-ma.html">ma</a></li><li class="progresssection"><a href="9-pk.html">pk</a></li><li class="progresssection"><a href="9-rk.html">rk</a></li><li class="progresssection"><a href="9-ass.html">ass</a></li><li class="progresssection"><a href="9-imp.html">imp</a></li><li class="progresssection"><a href="9-pd.html">pd</a></li><li class="progresschapter"><a href="10-aots.html">10</a></li><li class="progresschapter"><a href="11-itpc.html">11</a></li><li class="progresschapter"><a href="12-ter.html">12</a></li><li class="progresschapter"><a href="13-kak.html">13</a></li><li class="progresschapter"><a href="14-sp.html">14</a></li><li class="progresschapter"><a href="15-pr.html">15</a></li><li class="progresschapter"><a href="16-is.html">16</a></li><li class="progresschapter"><a href="17-tl.html">17</a></li><li class="progresschapter"><a href="18-lc.html">18</a></li><li class="progresschapter"><a href="19-tc.html">19</a></li><li class="progresschapter"><a href="20-eq.html">20</a></li><li class="progresschapter"><a href="21-rl.html">21</a></li><li class="progresschapter"><a href="22-itp.html">22</a></li><li class="progresschapter"><a href="23-ad.html">23</a></li><li class="progresschapter"><a href="24-lv.html">24</a></li><li class="progresschapter"><a href="25-in.html">25</a></li><li class="progresschapter"><a href="26-fc.html">26</a></li><li class="progresschapter"><a href="27-hr.html">27</a></li><li class="progressnext"><a href="9-rpt.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
|
|
@ -107,7 +107,7 @@ message had to be issued during its work.
|
|||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">problem_count_when_creator_started</span><span class="plain-syntax">;</span>
|
||||
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">Assertions::Creator::consult_the_creator</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">Assertions::Creator::consult_the_creator</span></span>:<br/>To Be and To Have - <a href="9-tbath.html#SP3">§3</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">px</span><span class="plain-syntax">, </span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">py</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">Assertions::Creator::consult_the_creator</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">Assertions::Creator::consult_the_creator</span></span>:<br/>Refine Parse Tree - <a href="9-rpt.html#SP7">§7</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">px</span><span class="plain-syntax">, </span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">py</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">problem_count_when_creator_started</span><span class="plain-syntax"> = </span><span class="identifier-syntax">problem_count</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="function-syntax"><np-existential></span><span class="plain-syntax">(</span><span class="identifier-syntax">Node::get_text</span><span class="plain-syntax">(</span><span class="identifier-syntax">px</span><span class="plain-syntax">)))</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="9-tc.html#SP1_1" class="named-paragraph-link"><span class="named-paragraph">Perform creation duties on a "There is..." sentence</span><span class="named-paragraph-number">1.1</span></a></span>
|
||||
|
@ -1116,7 +1116,7 @@ object.
|
|||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">name_stubs_count</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">;</span>
|
||||
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Assertions::Creator::convert_instance_to_nounphrase</span><button class="popup" onclick="togglePopup('usagePopup9')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup9">Usage of <span class="code-font"><span class="function-syntax">Assertions::Creator::convert_instance_to_nounphrase</span></span>:<br/>To Be and To Have - <a href="9-tbath.html#SP6">§6</a><br/>Make Assertions - <a href="9-ma.html#SP3_3_34_2">§3.3.34.2</a>, <a href="9-ma.html#SP3_3_34_4">§3.3.34.4</a>, <a href="9-ma.html#SP3_3_35">§3.3.35</a>, <a href="9-ma.html#SP7">§7</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">p</span><span class="plain-syntax">, </span><span class="reserved-syntax">binary_predicate</span><span class="plain-syntax"> *</span><span class="identifier-syntax">hinge_relation</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Assertions::Creator::convert_instance_to_nounphrase</span><button class="popup" onclick="togglePopup('usagePopup9')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup9">Usage of <span class="code-font"><span class="function-syntax">Assertions::Creator::convert_instance_to_nounphrase</span></span>:<br/>Make Assertions - <a href="9-ma.html#SP1">§1</a>, <a href="9-ma.html#SP4_3_34_3">§4.3.34.3</a>, <a href="9-ma.html#SP4_3_34_5">§4.3.34.5</a>, <a href="9-ma.html#SP4_3_35">§4.3.35</a>, <a href="9-ma.html#SP8">§8</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">p</span><span class="plain-syntax">, </span><span class="reserved-syntax">binary_predicate</span><span class="plain-syntax"> *</span><span class="identifier-syntax">hinge_relation</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="9-tc.html#SP5_1" class="named-paragraph-link"><span class="named-paragraph">Check we are sure about this</span><span class="named-paragraph-number">5.1</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">confect_name_flag</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">hinge_relation</span><span class="plain-syntax">) && (</span><a href="6-bp.html#SP39" class="function-link"><span class="function-syntax">BinaryPredicates::is_the_wrong_way_round</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">hinge_relation</span><span class="plain-syntax">)))</span>
|
||||
|
@ -1258,7 +1258,7 @@ to a different vehicle object.
|
|||
<span class="plain-syntax"> #</span><span class="identifier-syntax">endif</span>
|
||||
<span class="plain-syntax"> </span><a href="9-rpt.html#SP1" class="function-link"><span class="function-syntax">Assertions::Refiner::noun_from_infs</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">pz</span><span class="plain-syntax">, </span><span class="identifier-syntax">new_instance</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Annotations::write_int</span><span class="plain-syntax">(</span><span class="identifier-syntax">pz</span><span class="plain-syntax">, </span><span class="constant-syntax">creation_site_ANNOT</span><span class="plain-syntax">, </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="9-ma.html#SP3" class="function-link"><span class="function-syntax">Assertions::Maker::make_assertion_recursive</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">pz</span><span class="plain-syntax">, </span><span class="identifier-syntax">p</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="9-ma.html#SP4" class="function-link"><span class="function-syntax">Assertions::Maker::make_assertion_recursive</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">pz</span><span class="plain-syntax">, </span><span class="identifier-syntax">p</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="9-tc.html#SP8_4">§8.4</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP8_4_1_1"></a><b>§8.4.1.1. </b>The following is used only in assemblies, where the instance count is always
|
||||
|
|
|
@ -368,7 +368,7 @@ for the telemetry file.
|
|||
<span class="reserved-syntax">sentence_handler</span><span class="plain-syntax"> </span><span class="identifier-syntax">SENTENCE_SH_handler</span><span class="plain-syntax"> =</span>
|
||||
<span class="plain-syntax"> { </span><span class="identifier-syntax">SENTENCE_NT</span><span class="plain-syntax">, -1, </span><span class="constant-syntax">0</span><span class="plain-syntax">, </span><a href="9-tfa.html#SP9" class="function-link"><span class="function-syntax">Assertions::Traverse::handle_sentence_with_primary_verb</span></a><span class="plain-syntax"> };</span>
|
||||
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">Assertions::Traverse::special</span><button class="popup" onclick="togglePopup('usagePopup4')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup4">Usage of <span class="code-font"><span class="function-syntax">Assertions::Traverse::special</span></span>:<br/><a href="9-tfa.html#SP9_2">§9.2</a>, <a href="9-tfa.html#SP14">§14</a><br/>Property Sentences - <a href="15-ps.html#SP2">§2</a><br/>Construction Sequence - <a href="22-cs.html#SP9">§9</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">p</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">Assertions::Traverse::special</span><button class="popup" onclick="togglePopup('usagePopup4')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup4">Usage of <span class="code-font"><span class="function-syntax">Assertions::Traverse::special</span></span>:<br/><a href="9-tfa.html#SP9_2">§9.2</a>, <a href="9-tfa.html#SP16">§16</a><br/>Property Sentences - <a href="15-ps.html#SP2">§2</a><br/>Construction Sequence - <a href="22-cs.html#SP9">§9</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">p</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">Node::get_special_meaning</span><span class="plain-syntax">(</span><span class="identifier-syntax">p</span><span class="plain-syntax">)) </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
@ -413,8 +413,23 @@ nothing on either traverse, of course.
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="9-tfa.html#SP9" class="function-link"><span class="function-syntax">Assertions::Traverse::special</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">p</span><span class="plain-syntax">-></span><span class="element-syntax">down</span><span class="plain-syntax">)) </span><a href="9-tfa.html#SP14" class="function-link"><span class="function-syntax">Assertions::Traverse::special_meaning</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">p</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><a href="9-tbath.html#SP3" class="function-link"><span class="function-syntax">Assertions::Copular::assertion</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">p</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="9-tfa.html#SP9" class="function-link"><span class="function-syntax">Assertions::Traverse::special</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">p</span><span class="plain-syntax">-></span><span class="element-syntax">down</span><span class="plain-syntax">)) {</span>
|
||||
<span class="plain-syntax"> </span><a href="9-tfa.html#SP16" class="function-link"><span class="function-syntax">Assertions::Traverse::special_meaning</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">p</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> } </span><span class="reserved-syntax">else</span><span class="plain-syntax"> {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">px</span><span class="plain-syntax"> = </span><span class="identifier-syntax">p</span><span class="plain-syntax">-></span><span class="element-syntax">down</span><span class="plain-syntax">-></span><span class="element-syntax">next</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">py</span><span class="plain-syntax"> = </span><span class="identifier-syntax">px</span><span class="plain-syntax">-></span><span class="element-syntax">next</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">traverse</span><span class="plain-syntax"> == </span><span class="constant-syntax">1</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="9-rpt.html#SP7" class="function-link"><span class="function-syntax">Assertions::Refiner::refine_coupling</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">px</span><span class="plain-syntax">, </span><span class="identifier-syntax">py</span><span class="plain-syntax">) == </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">) </span><span class="reserved-syntax">return</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">SyntaxTree::is_trace_set</span><span class="plain-syntax">(</span><a href="1-wtc.html#SP5" class="function-link"><span class="function-syntax">Task::syntax_tree</span></a><span class="plain-syntax">())) </span><span class="identifier-syntax">LOG</span><span class="plain-syntax">(</span><span class="string-syntax">"$T"</span><span class="plain-syntax">, </span><span class="identifier-syntax">current_sentence</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">Node::get_type</span><span class="plain-syntax">(</span><span class="identifier-syntax">px</span><span class="plain-syntax">) == </span><span class="identifier-syntax">DEFECTIVE_NOUN_NT</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">traverse</span><span class="plain-syntax"> == </span><span class="constant-syntax">1</span><span class="plain-syntax">) </span><a href="9-ma.html#SP1" class="function-link"><span class="function-syntax">Assertions::Maker::make_existential_assertion</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">py</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="9-tfa.html#SP13" class="function-link"><span class="function-syntax">Assertions::Traverse::change_discussion_from_coupling</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">py</span><span class="plain-syntax">, </span><span class="identifier-syntax">py</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> } </span><span class="reserved-syntax">else</span><span class="plain-syntax"> {</span>
|
||||
<span class="plain-syntax"> </span><a href="9-ma.html#SP4" class="function-link"><span class="function-syntax">Assertions::Maker::make_assertion_recursive</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">px</span><span class="plain-syntax">, </span><span class="identifier-syntax">py</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="9-tfa.html#SP13" class="function-link"><span class="function-syntax">Assertions::Traverse::change_discussion_from_coupling</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">px</span><span class="plain-syntax">, </span><span class="identifier-syntax">py</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="9-tfa.html#SP9">§9</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP10"></a><b>§10. </b>The "appearance" is not a property as such. When a quoted piece of text
|
||||
|
@ -514,15 +529,15 @@ not to tangible things and kinds.
|
|||
<span class="reserved-syntax">inference_subject</span><span class="plain-syntax"> *</span><span class="identifier-syntax">object_of_sentences</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, *</span><span class="identifier-syntax">subject_of_sentences</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">subject_seems_to_be_plural</span><span class="plain-syntax"> = </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">;</span>
|
||||
|
||||
<span class="reserved-syntax">inference_subject</span><span class="plain-syntax"> *</span><span class="function-syntax">Assertions::Traverse::get_current_subject</span><button class="popup" onclick="togglePopup('usagePopup6')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup6">Usage of <span class="code-font"><span class="function-syntax">Assertions::Traverse::get_current_subject</span></span>:<br/><a href="9-tfa.html#SP10">§10</a><br/>Make Assertions - <a href="9-ma.html#SP3_3_41_1">§3.3.41.1</a>, <a href="9-ma.html#SP3_3_41_4">§3.3.41.4</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">void</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">inference_subject</span><span class="plain-syntax"> *</span><span class="function-syntax">Assertions::Traverse::get_current_subject</span><button class="popup" onclick="togglePopup('usagePopup6')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup6">Usage of <span class="code-font"><span class="function-syntax">Assertions::Traverse::get_current_subject</span></span>:<br/><a href="9-tfa.html#SP10">§10</a><br/>Make Assertions - <a href="9-ma.html#SP4_3_41_1">§4.3.41.1</a>, <a href="9-ma.html#SP4_3_41_4">§4.3.41.4</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">void</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">subject_of_sentences</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="reserved-syntax">inference_subject</span><span class="plain-syntax"> *</span><span class="function-syntax">Assertions::Traverse::get_current_object</span><button class="popup" onclick="togglePopup('usagePopup7')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup7">Usage of <span class="code-font"><span class="function-syntax">Assertions::Traverse::get_current_object</span></span>:<br/>Refine Parse Tree - <a href="9-rpt.html#SP9_7">§9.7</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">void</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">inference_subject</span><span class="plain-syntax"> *</span><span class="function-syntax">Assertions::Traverse::get_current_object</span><button class="popup" onclick="togglePopup('usagePopup7')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup7">Usage of <span class="code-font"><span class="function-syntax">Assertions::Traverse::get_current_object</span></span>:<br/>Refine Parse Tree - <a href="9-rpt.html#SP10_7">§10.7</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">void</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">object_of_sentences</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">Assertions::Traverse::get_current_subject_plurality</span><button class="popup" onclick="togglePopup('usagePopup8')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup8">Usage of <span class="code-font"><span class="function-syntax">Assertions::Traverse::get_current_subject_plurality</span></span>:<br/>Refine Parse Tree - <a href="9-rpt.html#SP9_7">§9.7</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">void</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">Assertions::Traverse::get_current_subject_plurality</span><button class="popup" onclick="togglePopup('usagePopup8')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup8">Usage of <span class="code-font"><span class="function-syntax">Assertions::Traverse::get_current_subject_plurality</span></span>:<br/>Refine Parse Tree - <a href="9-rpt.html#SP10_7">§10.7</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">void</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">subject_seems_to_be_plural</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
|
@ -547,15 +562,45 @@ subject carried over from previous sentences.
|
|||
</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">Assertions::Traverse::new_discussion</span><button class="popup" onclick="togglePopup('usagePopup9')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup9">Usage of <span class="code-font"><span class="function-syntax">Assertions::Traverse::new_discussion</span></span>:<br/><a href="9-tfa.html#SP7">§7</a><br/>Headings - <a href="7-hdn.html#SP13">§13</a><br/>Extension Files - <a href="8-ef.html#SP11">§11</a><br/>To Be and To Have - <a href="9-tbath.html#SP4_1">§4.1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">void</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Assertions::Traverse::new_discussion</span><button class="popup" onclick="togglePopup('usagePopup9')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup9">Usage of <span class="code-font"><span class="function-syntax">Assertions::Traverse::new_discussion</span></span>:<br/><a href="9-tfa.html#SP7">§7</a>, <a href="9-tfa.html#SP13">§13</a><br/>Headings - <a href="7-hdn.html#SP13">§13</a><br/>Extension Files - <a href="8-ef.html#SP11">§11</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">void</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">subject_of_sentences</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOGIF</span><span class="plain-syntax">(</span><span class="identifier-syntax">PRONOUNS</span><span class="plain-syntax">, </span><span class="string-syntax">"[Forgotten subject of sentences: $j]\n"</span><span class="plain-syntax">, </span><span class="identifier-syntax">subject_of_sentences</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">subject_of_sentences</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOGIF</span><span class="plain-syntax">(</span><span class="identifier-syntax">PRONOUNS</span><span class="plain-syntax">, </span><span class="string-syntax">"[Forgotten object of sentences: $j]\n"</span><span class="plain-syntax">, </span><span class="identifier-syntax">object_of_sentences</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">subject_of_sentences</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">; </span><span class="identifier-syntax">object_of_sentences</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="SP13"></a><b>§13. </b>The slight asymmetry in what follows is partly pragmatic, partly the result
|
||||
of subject-verb inversion ("in the bag is the ball" not "the ball is in the
|
||||
bag"). We extract a subject from a relationship node on the left, but not on
|
||||
the right, and we don't extract an object from one. Consider:
|
||||
</p>
|
||||
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Assertions::Traverse::change_discussion_topic</span><button class="popup" onclick="togglePopup('usagePopup10')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup10">Usage of <span class="code-font"><span class="function-syntax">Assertions::Traverse::change_discussion_topic</span></span>:<br/>To Be and To Have - <a href="9-tbath.html#SP4_1">§4.1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inference_subject</span><span class="plain-syntax"> *</span><span class="identifier-syntax">infsx</span><span class="plain-syntax">,</span>
|
||||
<blockquote>
|
||||
<p>A billiards table is in the Gazebo. On it is a trophy cup.</p>
|
||||
</blockquote>
|
||||
|
||||
<p class="commentary">What does "it" mean, and why? A human reader goes for the billiards table at
|
||||
once, because it seems more likely as a supporter than the Gazebo, but that's
|
||||
not how Inform gets the same answer. It all hangs on "billiards table" being
|
||||
the object of the first sentence, not the Gazebo; if we descended the RHS,
|
||||
which is <span class="extract"><span class="extract-syntax">RELATIONSHIP_NT -> PROPER_NOUN_NT</span></span> pointing to the Gazebo, that's the
|
||||
conclusion we would have reached.
|
||||
</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">Assertions::Traverse::change_discussion_from_coupling</span><button class="popup" onclick="togglePopup('usagePopup10')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup10">Usage of <span class="code-font"><span class="function-syntax">Assertions::Traverse::change_discussion_from_coupling</span></span>:<br/><a href="9-tfa.html#SP9_2">§9.2</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">px</span><span class="plain-syntax">, </span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">py</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">inference_subject</span><span class="plain-syntax"> *</span><span class="identifier-syntax">infsx</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, *</span><span class="identifier-syntax">infsy</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, *</span><span class="identifier-syntax">infsy_full</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">infsx</span><span class="plain-syntax"> = </span><a href="9-tfa.html#SP14" class="function-link"><span class="function-syntax">Assertions::Traverse::discussed_at_node</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">px</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">infsy_full</span><span class="plain-syntax"> = </span><a href="9-tfa.html#SP14" class="function-link"><span class="function-syntax">Assertions::Traverse::discussed_at_node</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">py</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">Node::get_type</span><span class="plain-syntax">(</span><span class="identifier-syntax">py</span><span class="plain-syntax">) != </span><span class="identifier-syntax">KIND_NT</span><span class="plain-syntax">) </span><span class="identifier-syntax">infsy</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Node::get_subject</span><span class="plain-syntax">(</span><span class="identifier-syntax">py</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="9-tfa.html#SP13" class="function-link"><span class="function-syntax">Assertions::Traverse::change_discussion_topic</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">infsx</span><span class="plain-syntax">, </span><span class="identifier-syntax">infsy</span><span class="plain-syntax">, </span><span class="identifier-syntax">infsy_full</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">Node::get_type</span><span class="plain-syntax">(</span><span class="identifier-syntax">px</span><span class="plain-syntax">) == </span><span class="identifier-syntax">AND_NT</span><span class="plain-syntax">) </span><a href="9-tfa.html#SP15" class="function-link"><span class="function-syntax">Assertions::Traverse::subject_of_discussion_a_list</span></a><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Annotations::read_int</span><span class="plain-syntax">(</span><span class="identifier-syntax">current_sentence</span><span class="plain-syntax">, </span><span class="constant-syntax">clears_pronouns_ANNOT</span><span class="plain-syntax">))</span>
|
||||
<span class="plain-syntax"> </span><a href="9-tfa.html#SP12" class="function-link"><span class="function-syntax">Assertions::Traverse::new_discussion</span></a><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">Assertions::Traverse::change_discussion_topic</span><span class="plain-syntax">(</span><span class="reserved-syntax">inference_subject</span><span class="plain-syntax"> *</span><span class="identifier-syntax">infsx</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">inference_subject</span><span class="plain-syntax"> *</span><span class="identifier-syntax">infsy</span><span class="plain-syntax">, </span><span class="reserved-syntax">inference_subject</span><span class="plain-syntax"> *</span><span class="identifier-syntax">infsy_full</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">inference_subject</span><span class="plain-syntax"> *</span><span class="identifier-syntax">old_sub</span><span class="plain-syntax"> = </span><span class="identifier-syntax">subject_of_sentences</span><span class="plain-syntax">, *</span><span class="identifier-syntax">old_obj</span><span class="plain-syntax"> = </span><span class="identifier-syntax">object_of_sentences</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">subject_seems_to_be_plural</span><span class="plain-syntax"> = </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">;</span>
|
||||
|
@ -581,22 +626,37 @@ subject carried over from previous sentences.
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">object_of_sentences</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP13"></a><b>§13. </b>Occasionally we need to force the issue, though:
|
||||
</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">Assertions::Traverse::subject_of_discussion_a_list</span><button class="popup" onclick="togglePopup('usagePopup11')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup11">Usage of <span class="code-font"><span class="function-syntax">Assertions::Traverse::subject_of_discussion_a_list</span></span>:<br/>To Be and To Have - <a href="9-tbath.html#SP4_1">§4.1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">void</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">subject_seems_to_be_plural</span><span class="plain-syntax"> = </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP14"></a><b>§14. </b></p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Assertions::Traverse::special_meaning</span><button class="popup" onclick="togglePopup('usagePopup12')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup12">Usage of <span class="code-font"><span class="function-syntax">Assertions::Traverse::special_meaning</span></span>:<br/><a href="9-tfa.html#SP9_2">§9.2</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pn</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><a href="9-tfa.html#SP14" class="function-link"><span class="function-syntax">Assertions::Traverse::try_special_meaning</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">traverse</span><span class="plain-syntax">, </span><span class="identifier-syntax">pn</span><span class="plain-syntax">-></span><span class="element-syntax">down</span><span class="plain-syntax">);</span>
|
||||
<span class="reserved-syntax">inference_subject</span><span class="plain-syntax"> *</span><span class="function-syntax">Assertions::Traverse::discussed_at_node</span><button class="popup" onclick="togglePopup('usagePopup11')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup11">Usage of <span class="code-font"><span class="function-syntax">Assertions::Traverse::discussed_at_node</span></span>:<br/><a href="9-tfa.html#SP13">§13</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pn</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">inference_subject</span><span class="plain-syntax"> *</span><span class="identifier-syntax">infs</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">Node::get_type</span><span class="plain-syntax">(</span><span class="identifier-syntax">pn</span><span class="plain-syntax">) != </span><span class="identifier-syntax">KIND_NT</span><span class="plain-syntax">) </span><span class="identifier-syntax">infs</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Node::get_subject</span><span class="plain-syntax">(</span><span class="identifier-syntax">pn</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">Node::get_type</span><span class="plain-syntax">(</span><span class="identifier-syntax">pn</span><span class="plain-syntax">) == </span><span class="identifier-syntax">RELATIONSHIP_NT</span><span class="plain-syntax">) && (</span><span class="identifier-syntax">pn</span><span class="plain-syntax">-></span><span class="element-syntax">down</span><span class="plain-syntax">) &&</span>
|
||||
<span class="plain-syntax"> (</span><span class="identifier-syntax">Node::get_type</span><span class="plain-syntax">(</span><span class="identifier-syntax">pn</span><span class="plain-syntax">-></span><span class="element-syntax">down</span><span class="plain-syntax">) == </span><span class="identifier-syntax">PROPER_NOUN_NT</span><span class="plain-syntax">))</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">infs</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Node::get_subject</span><span class="plain-syntax">(</span><span class="identifier-syntax">pn</span><span class="plain-syntax">-></span><span class="element-syntax">down</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">Node::get_type</span><span class="plain-syntax">(</span><span class="identifier-syntax">pn</span><span class="plain-syntax">) == </span><span class="identifier-syntax">WITH_NT</span><span class="plain-syntax">) && (</span><span class="identifier-syntax">pn</span><span class="plain-syntax">-></span><span class="element-syntax">down</span><span class="plain-syntax">) &&</span>
|
||||
<span class="plain-syntax"> (</span><span class="identifier-syntax">Node::get_type</span><span class="plain-syntax">(</span><span class="identifier-syntax">pn</span><span class="plain-syntax">-></span><span class="element-syntax">down</span><span class="plain-syntax">) == </span><span class="identifier-syntax">PROPER_NOUN_NT</span><span class="plain-syntax">))</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">infs</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Node::get_subject</span><span class="plain-syntax">(</span><span class="identifier-syntax">pn</span><span class="plain-syntax">-></span><span class="element-syntax">down</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">infs</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP15"></a><b>§15. </b>Occasionally we need to force the issue, though:
|
||||
</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">Assertions::Traverse::subject_of_discussion_a_list</span><button class="popup" onclick="togglePopup('usagePopup12')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup12">Usage of <span class="code-font"><span class="function-syntax">Assertions::Traverse::subject_of_discussion_a_list</span></span>:<br/><a href="9-tfa.html#SP13">§13</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">void</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">subject_seems_to_be_plural</span><span class="plain-syntax"> = </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP16"></a><b>§16. </b></p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Assertions::Traverse::special_meaning</span><button class="popup" onclick="togglePopup('usagePopup13')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup13">Usage of <span class="code-font"><span class="function-syntax">Assertions::Traverse::special_meaning</span></span>:<br/><a href="9-tfa.html#SP9_2">§9.2</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pn</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><a href="9-tfa.html#SP16" class="function-link"><span class="function-syntax">Assertions::Traverse::try_special_meaning</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">traverse</span><span class="plain-syntax">, </span><span class="identifier-syntax">pn</span><span class="plain-syntax">-></span><span class="element-syntax">down</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">Assertions::Traverse::try_special_meaning</span><button class="popup" onclick="togglePopup('usagePopup13')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup13">Usage of <span class="code-font"><span class="function-syntax">Assertions::Traverse::try_special_meaning</span></span>:<br/>Construction Sequence - <a href="22-cs.html#SP9">§9</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">task</span><span class="plain-syntax">, </span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pn</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Assertions::Traverse::try_special_meaning</span><button class="popup" onclick="togglePopup('usagePopup14')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup14">Usage of <span class="code-font"><span class="function-syntax">Assertions::Traverse::try_special_meaning</span></span>:<br/>Construction Sequence - <a href="22-cs.html#SP9">§9</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">task</span><span class="plain-syntax">, </span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pn</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="9-tfa.html#SP9" class="function-link"><span class="function-syntax">Assertions::Traverse::special</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">pn</span><span class="plain-syntax">)) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">special_meaning_holder</span><span class="plain-syntax"> *</span><span class="identifier-syntax">sm</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Node::get_special_meaning</span><span class="plain-syntax">(</span><span class="identifier-syntax">pn</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">sm</span><span class="plain-syntax">) </span><span class="identifier-syntax">SpecialMeanings::call</span><span class="plain-syntax">(</span><span class="identifier-syntax">sm</span><span class="plain-syntax">, </span><span class="identifier-syntax">task</span><span class="plain-syntax">, </span><span class="identifier-syntax">pn</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
|
||||
|
|
|
@ -308,6 +308,14 @@ first place: a lesson there for all of us.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">P</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">Diagrams::is_possessive_RELATIONSHIP</span><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">py</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">py</span><span class="plain-syntax">) && (</span><span class="identifier-syntax">Node::get_type</span><span class="plain-syntax">(</span><span class="identifier-syntax">py</span><span class="plain-syntax">) == </span><span class="constant-syntax">RELATIONSHIP_NT</span><span class="plain-syntax">) &&</span>
|
||||
<span class="plain-syntax"> (</span><span class="identifier-syntax">Node::get_relationship</span><span class="plain-syntax">(</span><span class="identifier-syntax">py</span><span class="plain-syntax">)) &&</span>
|
||||
<span class="plain-syntax"> (</span><a href="3-vm.html#SP2" class="function-link"><span class="function-syntax">VerbMeanings::reverse_VMT</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">Node::get_relationship</span><span class="plain-syntax">(</span><span class="identifier-syntax">py</span><span class="plain-syntax">)) == </span><span class="identifier-syntax">VERB_MEANING_POSSESSION</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">TRUE</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">FALSE</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="function-syntax">Diagrams::new_implied_RELATIONSHIP</span><button class="popup" onclick="togglePopup('usagePopup10')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup10">Usage of <span class="code-font"><span class="function-syntax">Diagrams::new_implied_RELATIONSHIP</span></span>:<br/>Noun Phrases - <a href="4-np.html#SP14_1">§14.1</a>, <a href="4-np.html#SP14_2">§14.2</a>, <a href="4-np.html#SP14_3">§14.3</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">wording</span><span class="plain-syntax"> </span><span class="identifier-syntax">W</span><span class="plain-syntax">, </span><span class="constant-syntax">VERB_MEANING_LINGUISTICS_TYPE</span><span class="plain-syntax"> *</span><span class="identifier-syntax">R</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">preform_lookahead_mode</span><span class="plain-syntax">) </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><a href="1-dgr.html#SP7" class="function-link"><span class="function-syntax">Diagrams::new_RELATIONSHIP</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">W</span><span class="plain-syntax">, </span><span class="identifier-syntax">R</span><span class="plain-syntax">, </span><a href="1-dgr.html#SP7" class="function-link"><span class="function-syntax">Diagrams::new_PRONOUN</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">W</span><span class="plain-syntax">, </span><a href="2-prn.html#SP5" class="function-link"><span class="function-syntax">Pronouns::get_implied</span></a><span class="plain-syntax">()));</span>
|
||||
|
|
|
@ -88,7 +88,7 @@ to ask for a reversal to be performed when needed.
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="constant-syntax">VERB_MEANING_LINGUISTICS_TYPE</span><span class="plain-syntax"> *</span><span class="function-syntax">VerbMeanings::reverse_VMT</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">VerbMeanings::reverse_VMT</span></span>:<br/><a href="3-vm.html#SP10">§10</a><br/>Verb Usages - <a href="3-vu.html#SP12">§12</a><br/>Noun Phrases - <a href="4-np.html#SP15_1">§15.1</a><br/>Verb Phrases - <a href="4-vp.html#SP7_1">§7.1</a></span></button><span class="plain-syntax">(</span><span class="constant-syntax">VERB_MEANING_LINGUISTICS_TYPE</span><span class="plain-syntax"> *</span><span class="identifier-syntax">recto</span><span class="plain-syntax">) {</span>
|
||||
<span class="constant-syntax">VERB_MEANING_LINGUISTICS_TYPE</span><span class="plain-syntax"> *</span><span class="function-syntax">VerbMeanings::reverse_VMT</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">VerbMeanings::reverse_VMT</span></span>:<br/><a href="3-vm.html#SP10">§10</a><br/>Diagrams - <a href="1-dgr.html#SP7">§7</a><br/>Verb Usages - <a href="3-vu.html#SP12">§12</a><br/>Noun Phrases - <a href="4-np.html#SP15_1">§15.1</a><br/>Verb Phrases - <a href="4-vp.html#SP7_1">§7.1</a></span></button><span class="plain-syntax">(</span><span class="constant-syntax">VERB_MEANING_LINGUISTICS_TYPE</span><span class="plain-syntax"> *</span><span class="identifier-syntax">recto</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> #</span><span class="identifier-syntax">ifdef</span><span class="plain-syntax"> </span><span class="identifier-syntax">VERB_MEANING_REVERSAL_LINGUISTICS_CALLBACK</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">VERB_MEANING_REVERSAL_LINGUISTICS_CALLBACK</span><span class="plain-syntax">(</span><span class="identifier-syntax">recto</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> #</span><span class="identifier-syntax">endif</span>
|
||||
|
|
|
@ -4736,12 +4736,12 @@
|
|||
|
||||
<adjective-name> internal hits 0/258 nti 17 constraint (none) extremes [1, infinity)
|
||||
|
||||
<optional-definite-article> hits 36061/72122 nti 13 constraint (none) extremes [1, infinity)
|
||||
<optional-definite-article> hits 36075/72150 nti 13 constraint (none) extremes [1, infinity)
|
||||
English:
|
||||
<definite-article> {...}
|
||||
(hits 7694/36061) (matched long text) constraint (none) extremes [2, infinity)
|
||||
(hits 7694/36075) (matched long text) constraint (none) extremes [2, infinity)
|
||||
{...}
|
||||
(hits 28367/28367) (matched long text) constraint (none) extremes [1, infinity)
|
||||
(hits 28381/28381) (matched long text) constraint (none) extremes [1, infinity)
|
||||
|
||||
<optional-indefinite-article> nti 14 constraint (none) extremes [1, infinity)
|
||||
English:
|
||||
|
@ -4750,21 +4750,21 @@
|
|||
{...}
|
||||
constraint (none) extremes [1, infinity)
|
||||
|
||||
<optional-article> hits 81344/162688 nti 15 constraint (none) extremes [1, infinity)
|
||||
<optional-article> hits 81396/162792 nti 15 constraint (none) extremes [1, infinity)
|
||||
English:
|
||||
<article> {...}
|
||||
(hits 15781/46516) (matched long text) constraint (none) extremes [2, infinity)
|
||||
(hits 15781/46530) (matched long text) constraint (none) extremes [2, infinity)
|
||||
{...}
|
||||
(hits 65563/65563) (matched long text) constraint (none) extremes [1, infinity)
|
||||
(hits 65615/65615) (matched long text) constraint (none) extremes [1, infinity)
|
||||
|
||||
<compulsory-article> nti 16 constraint (none) extremes [2, infinity)
|
||||
English:
|
||||
<article> {...}
|
||||
constraint (none) extremes [2, infinity)
|
||||
|
||||
<article> internal hits 16205/96556 nti r2 constraint (none) extremes [1, 1]
|
||||
<article> internal hits 16205/96584 nti r2 constraint (none) extremes [1, 1]
|
||||
|
||||
<definite-article> internal hits 21519/254266 nti r2 constraint (none) extremes [1, 1]
|
||||
<definite-article> internal hits 21519/254308 nti r2 constraint (none) extremes [1, 1]
|
||||
|
||||
<indefinite-article> internal hits 2239/40852 nti r2 constraint (none) extremes [1, 1]
|
||||
|
||||
|
@ -5031,10 +5031,10 @@
|
|||
<np-unparsed>
|
||||
(hits 60/60) (matched: 'fixed in place') constraint (none) extremes [1, infinity)
|
||||
|
||||
<np-existential> hits 33/122748 nti 19 constraint CS = {19} extremes [1, 1]
|
||||
<np-existential> hits 33/120886 nti 19 constraint CS = {19} extremes [1, 1]
|
||||
English:
|
||||
there
|
||||
(hits 33/772) (matched: 'there') constraint CS = {19} extremes [1, 1]
|
||||
(hits 33/752) (matched: 'there') constraint CS = {19} extremes [1, 1]
|
||||
|
||||
<np-articled> hits 2081/4162 nti 8 constraint (none) extremes [1, infinity)
|
||||
English:
|
||||
|
@ -5271,7 +5271,7 @@
|
|||
grammatical case
|
||||
(hits 1/1) (matched: 'grammatical case') constraint CS = {7} extremes [2, 2]
|
||||
|
||||
<if-parsing-phrase-tokens> internal hits 2474/40926 nti 26 constraint (none) extremes [0, 0]
|
||||
<if-parsing-phrase-tokens> internal hits 2474/40954 nti 26 constraint (none) extremes [0, 0]
|
||||
|
||||
<k-kind-for-template> internal hits 164/328 nti 27 constraint (none) extremes [1, infinity)
|
||||
|
||||
|
@ -5297,20 +5297,20 @@
|
|||
<k-kind>
|
||||
(hits 5/5) (matched: 'value of kind k') constraint (none) extremes [1, infinity)
|
||||
|
||||
<k-kind> hits 5771/102278 nti r5 constraint (none) extremes [1, infinity)
|
||||
<k-kind> hits 5771/102316 nti r5 constraint (none) extremes [1, infinity)
|
||||
English:
|
||||
( <k-kind> )
|
||||
(hits 0/2032) constraint DS = {r5} & CW = {r2, r5} extremes [3, infinity)
|
||||
^<if-parsing-phrase-tokens> <k-kind-variable>
|
||||
(hits 1589/11026) (matched: 'k') constraint CW = {r2, r5} extremes [1, infinity)
|
||||
(hits 1589/11033) (matched: 'k') constraint CW = {r2, r5} extremes [1, infinity)
|
||||
<if-parsing-phrase-tokens> <k-variable-definition>
|
||||
(hits 201/9437) (matched: 'sayable value of kind k') constraint CW = {r2, r5} extremes [1, infinity)
|
||||
(hits 201/9444) (matched: 'sayable value of kind k') constraint CW = {r2, r5} extremes [1, infinity)
|
||||
<k-base-kind>
|
||||
(hits 3626/9236) (matched: 'an ice cream cone') constraint CW = {r2, r5} extremes [1, infinity)
|
||||
(hits 3626/9243) (matched: 'an ice cream cone') constraint CW = {r2, r5} extremes [1, infinity)
|
||||
<k-irregular-kind-construction>
|
||||
(hits 2/15790) (matched: 'object-based rulebook') constraint DS = {r5} extremes [2, infinity)
|
||||
<k-kind-construction>
|
||||
(hits 353/5608) (matched long text) constraint CW = {r2, r5} extremes [1, infinity)
|
||||
(hits 353/5615) (matched long text) constraint CW = {r2, r5} extremes [1, infinity)
|
||||
|
||||
<k-kind-articled> hits 40/338 nti 28 constraint (none) extremes [1, infinity)
|
||||
English:
|
||||
|
@ -5326,7 +5326,7 @@
|
|||
<k-kind-of-kind> of kind <k-formal-kind-variable>
|
||||
(hits 81/315) (matched: 'sayable value of kind k') constraint DS = {r5} & CW = {r2, r5} extremes [4, infinity)
|
||||
|
||||
<k-base-kind> internal hits 3626/18472 nti r5 constraint CW = {r2, r5} extremes [1, infinity)
|
||||
<k-base-kind> internal hits 3626/18486 nti r5 constraint CW = {r2, r5} extremes [1, infinity)
|
||||
|
||||
<k-irregular-kind-construction> hits 2/31580 nti r5 constraint DS = {r5} extremes [2, infinity)
|
||||
English:
|
||||
|
@ -5357,7 +5357,7 @@
|
|||
either-or property
|
||||
(hits 0/974) constraint CS = {r5} extremes [2, 2]
|
||||
|
||||
<k-kind-construction> internal hits 353/11216 nti r5 constraint CW = {r2, r5} extremes [1, infinity)
|
||||
<k-kind-construction> internal hits 353/11230 nti r5 constraint CW = {r2, r5} extremes [1, infinity)
|
||||
|
||||
<k-single-material> hits 150/300 nti r5 constraint (none) extremes [1, infinity)
|
||||
English:
|
||||
|
@ -5402,7 +5402,7 @@
|
|||
<k-kind>
|
||||
(hits 100/224) (matched: 'sayable value') constraint (none) extremes [1, infinity)
|
||||
|
||||
<k-kind-variable> internal hits 1589/19578 nti r5 constraint CW = {r2, r5} extremes [1, 1]
|
||||
<k-kind-variable> internal hits 1589/19592 nti r5 constraint CW = {r2, r5} extremes [1, 1]
|
||||
|
||||
<k-formal-kind-variable> internal hits 220/1414 nti r5 constraint CW = {r2, r5} extremes [1, 1]
|
||||
|
||||
|
@ -6885,7 +6885,7 @@
|
|||
|
||||
<s-stacked-variable> internal hits 897/18620 nti 11 constraint (none) extremes [1, infinity)
|
||||
|
||||
<s-global-variable> internal hits 2296/19440 nti 12 constraint (none) extremes [1, infinity)
|
||||
<s-global-variable> internal hits 2296/19516 nti 12 constraint (none) extremes [1, infinity)
|
||||
|
||||
<property-of-shape> hits 105/18348 nti 9 constraint DS = {9} extremes [3, infinity)
|
||||
English:
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
100.0% in inform7 run
|
||||
65.4% in compilation to Inter
|
||||
24.5% in //Phrases::Manager::compile_first_block//
|
||||
8.8% in //Phrases::Manager::compile_as_needed//
|
||||
7.1% in //Strings::compile_responses//
|
||||
6.1% in //World::Compile::compile//
|
||||
3.2% in //Classifying::traverse//
|
||||
3.0% in //Assertions::Traverse::traverse1//
|
||||
2.3% in //Phrases::Manager::RulePrintingRule_routine//
|
||||
66.0% in compilation to Inter
|
||||
25.0% in //Phrases::Manager::compile_first_block//
|
||||
8.5% in //Phrases::Manager::compile_as_needed//
|
||||
6.9% in //Strings::compile_responses//
|
||||
6.0% in //World::Compile::compile//
|
||||
3.4% in //Classifying::traverse//
|
||||
3.1% in //Assertions::Traverse::traverse1//
|
||||
2.1% in //Phrases::Manager::RulePrintingRule_routine//
|
||||
1.9% in //Phrases::Manager::rulebooks_array//
|
||||
1.1% in //NewVerbs::ConjugateVerb//
|
||||
0.7% in //Phrases::Manager::traverse//
|
||||
|
@ -19,11 +19,11 @@
|
|||
0.1% in //RuleSubtrees::register_recently_lexed_phrases//
|
||||
0.1% in //Task::make_built_in_kind_constructors//
|
||||
0.1% in //World::complete//
|
||||
3.8% not specifically accounted for
|
||||
32.0% in running Inter pipeline
|
||||
10.5% in inter step 2/12: link
|
||||
10.3% in step preparation
|
||||
7.4% in inter step 12/12: generate inform6 -> auto.inf
|
||||
4.3% not specifically accounted for
|
||||
31.4% in running Inter pipeline
|
||||
10.4% in step preparation
|
||||
10.0% in inter step 2/12: link
|
||||
7.3% in inter step 12/12: generate inform6 -> auto.inf
|
||||
0.3% in inter step 9/12: make-identifiers-unique
|
||||
0.1% in inter step 10/12: reconcile-verbs
|
||||
0.1% in inter step 11/12: eliminate-redundant-labels
|
||||
|
@ -31,6 +31,6 @@
|
|||
0.1% in inter step 6/12: assimilate
|
||||
0.1% in inter step 7/12: resolve-external-symbols
|
||||
0.1% in inter step 8/12: inspect-plugs
|
||||
2.1% not specifically accounted for
|
||||
1.9% not specifically accounted for
|
||||
2.1% in supervisor
|
||||
0.4% not specifically accounted for
|
||||
|
|
|
@ -34,7 +34,7 @@ void PropertySentences::look_for_property_creation(parse_node *pn) {
|
|||
&& (Assertions::Traverse::special(pn) == FALSE)
|
||||
&& (pn->next)
|
||||
&& (pn->next->next)
|
||||
&& (Assertions::Copular::possessive(pn->next->next))
|
||||
&& (Diagrams::is_possessive_RELATIONSHIP(pn->next->next))
|
||||
&& (Node::get_type(pn->next->next->down) == CALLED_NT)
|
||||
&& (pn->next->next->down->down)
|
||||
&& (pn->next->next->down->down->next)) {
|
||||
|
|
|
@ -271,8 +271,8 @@ have occurred, but if it does then the creation has worked.
|
|||
NounPhrases::annotate_by_articles(name_entry);
|
||||
ProblemBuffer::redirect_problem_sentence(current_sentence, name_entry, pn->next);
|
||||
LOG("Yah $T\nTeh $T\n", name_entry, pn->next);
|
||||
if (Assertions::Copular::refine(name_entry, pn->next))
|
||||
Assertions::Copular::make_assertion(name_entry, pn->next);
|
||||
if (Assertions::Refiner::refine_coupling(name_entry, pn->next))
|
||||
Assertions::Maker::make_assertion_recursive(name_entry, pn->next);
|
||||
ProblemBuffer::redirect_problem_sentence(NULL, NULL, NULL);
|
||||
Node::set_text(name_entry, NW);
|
||||
evaluation = NULL;
|
||||
|
|
|
@ -91,7 +91,7 @@ void Classifying::sentence(parse_node *p) {
|
|||
PropertySentences::look_for_property_creation(p);
|
||||
@<Issue problem message if either subject or object contains mismatched brackets@>;
|
||||
@<Issue problem message if subject starts with double-quoted literal text@>;
|
||||
if ((VP_PN->next) && (VP_PN->next->next) && (Assertions::Copular::possessive(VP_PN->next->next)))
|
||||
if ((VP_PN->next) && (VP_PN->next->next) && (Diagrams::is_possessive_RELATIONSHIP(VP_PN->next->next)))
|
||||
@<Diagram property callings@>;
|
||||
} else {
|
||||
LOG("$T\n", p);
|
||||
|
|
|
@ -4,6 +4,33 @@ To read assertion sentences, sort them according to a detailed
|
|||
grammatical classification and take the primary actions necessary either
|
||||
to generate problem messages, or to infer information.
|
||||
|
||||
@h Existential assertions.
|
||||
These are very much simpler than coupling assertions, and the tree |py|
|
||||
can contain only a common noun together with requirements on it: for
|
||||
example, the subtree for "an open door".
|
||||
|
||||
=
|
||||
void Assertions::Maker::make_existential_assertion(parse_node *py) {
|
||||
switch (Node::get_type(py)) {
|
||||
case WITH_NT:
|
||||
Assertions::Maker::make_existential_assertion(py->down);
|
||||
break;
|
||||
case AND_NT:
|
||||
Assertions::Maker::make_existential_assertion(py->down);
|
||||
Assertions::Maker::make_existential_assertion(py->down->next);
|
||||
break;
|
||||
case COMMON_NOUN_NT:
|
||||
if ((InferenceSubjects::is_a_kind_of_object(Node::get_subject(py))) ||
|
||||
(Kinds::Compare::eq(K_object, InferenceSubjects::as_kind(Node::get_subject(py)))))
|
||||
Assertions::Creator::convert_instance_to_nounphrase(py, NULL);
|
||||
else
|
||||
StandardProblems::sentence_problem(Task::syntax_tree(), _p_(PM_ThereIsVague),
|
||||
"'there is...' can only be used to create objects",
|
||||
"and not instances of other kinds.'");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@h The Matrix.
|
||||
So assertion sentences such as:
|
||||
|
||||
|
@ -957,6 +984,16 @@ opera about a dog, "Collared Is Bowser".)
|
|||
@h Case 31. "Every K is in L."
|
||||
|
||||
@<Case 31 - EVERY vs RELATIONSHIP@> =
|
||||
if (Diagrams::is_possessive_RELATIONSHIP(py)) {
|
||||
if (<k-kind>(Node::get_text(py->down))) {
|
||||
Node::set_type(py, ALLOWED_NT);
|
||||
Node::set_type(py->down, UNPARSED_NOUN_NT);
|
||||
Assertions::Maker::make_assertion_recursive(px, py);
|
||||
return;
|
||||
}
|
||||
Assertions::Maker::make_assertion_recursive(px, py->down);
|
||||
return;
|
||||
}
|
||||
if (traverse == 1) Assertions::Assemblies::make_generalisation(px, py);
|
||||
|
||||
@h Case 32. A problem message issued purely on stylistic grounds.
|
||||
|
@ -992,6 +1029,7 @@ this ought to be allowed...
|
|||
>> An animal is in the desk.
|
||||
|
||||
@<Case 34 - COMMON NOUN vs RELATIONSHIP@> =
|
||||
@<Possession of something is allowed@>;
|
||||
@<Generalised relationships are allowed@>;
|
||||
@<Multiple objects in a relationship are allowed@>;
|
||||
@<Certain non-spatial relationships are allowed too@>;
|
||||
|
@ -1030,6 +1068,20 @@ this ought to be allowed...
|
|||
"an old book. If that's the trouble, you can use 'called': "
|
||||
"for instance, 'In the prayer-box is a thing called the text.'");
|
||||
|
||||
@
|
||||
|
||||
@<Possession of something is allowed@> =
|
||||
if (Diagrams::is_possessive_RELATIONSHIP(py)) {
|
||||
if (<k-kind>(Node::get_text(py->down))) {
|
||||
Node::set_type(py, ALLOWED_NT);
|
||||
Node::set_type(py->down, UNPARSED_NOUN_NT);
|
||||
Assertions::Maker::make_assertion_recursive(px, py);
|
||||
return;
|
||||
}
|
||||
Assertions::Maker::make_assertion_recursive(px, py->down);
|
||||
return;
|
||||
}
|
||||
|
||||
@ For example,
|
||||
|
||||
>> An animal is in every desk.
|
||||
|
@ -1099,6 +1151,16 @@ since "west of the Lawn" parses to a |RELATIONSHIP_NT| subtree.
|
|||
if (Assertions::Refiner::turn_player_to_yourself(px)) {
|
||||
Assertions::Maker::make_assertion_recursive(px, py); return;
|
||||
}
|
||||
if (Diagrams::is_possessive_RELATIONSHIP(py)) {
|
||||
if (<k-kind>(Node::get_text(py->down))) {
|
||||
Node::set_type(py, ALLOWED_NT);
|
||||
Node::set_type(py->down, UNPARSED_NOUN_NT);
|
||||
Assertions::Maker::make_assertion_recursive(px, py);
|
||||
return;
|
||||
}
|
||||
Assertions::Maker::make_assertion_recursive(px, py->down);
|
||||
return;
|
||||
}
|
||||
Assertions::Maker::instantiate_related_common_nouns(py);
|
||||
if (traverse == 2) Assertions::Relational::assert_subtree_in_relationship(px, py);
|
||||
|
||||
|
|
|
@ -120,6 +120,20 @@ void Assertions::Refiner::coerce_adjectival_usage_to_noun(parse_node *leaf) {
|
|||
}
|
||||
}
|
||||
|
||||
@h Refining equated phrases.
|
||||
When an assertion couples |px| and |py|, the following is called first to
|
||||
refine them.
|
||||
|
||||
=
|
||||
int Assertions::Refiner::refine_coupling(parse_node *px, parse_node *py) {
|
||||
int pc = problem_count;
|
||||
Assertions::Refiner::refine(px, ALLOW_CREATION);
|
||||
Assertions::Refiner::refine(py, ALLOW_CREATION);
|
||||
if (problem_count > pc) return FALSE;
|
||||
if (Assertions::Creator::consult_the_creator(px, py) == FALSE) return FALSE;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@h The refinery itself.
|
||||
Time to get started, then. Each subtree can be refined only once.
|
||||
|
||||
|
|
|
@ -39,44 +39,6 @@ will result in |px| representing "white marble" and |py| "in the bamboo
|
|||
box" (not just a leaf, since it will be a tree showing the containment
|
||||
relationship as well as the noun).
|
||||
|
||||
=
|
||||
int Assertions::Copular::refine(parse_node *px, parse_node *py) {
|
||||
int pc = problem_count;
|
||||
if ((Assertions::Copular::possessive(py)) &&
|
||||
(<k-kind>(Node::get_text(py->down)))) {
|
||||
Node::set_type(py, ALLOWED_NT);
|
||||
Node::set_type(py->down, UNPARSED_NOUN_NT);
|
||||
}
|
||||
|
||||
Assertions::Refiner::refine(px, ALLOW_CREATION);
|
||||
Assertions::Refiner::refine(py, ALLOW_CREATION);
|
||||
if (problem_count > pc) return FALSE;
|
||||
if (Assertions::Creator::consult_the_creator(px, py) == FALSE) return FALSE;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void Assertions::Copular::assertion(parse_node *pv) {
|
||||
parse_node *px = pv->down->next;
|
||||
parse_node *py = px->next;
|
||||
|
||||
if (traverse == 1) {
|
||||
if (Assertions::Copular::refine(px, py) == FALSE) return;
|
||||
}
|
||||
|
||||
if (Assertions::Copular::possessive(py))
|
||||
Assertions::Copular::make_assertion(px, py->down);
|
||||
else
|
||||
Assertions::Copular::make_assertion(px, py);
|
||||
}
|
||||
|
||||
int Assertions::Copular::possessive(parse_node *py) {
|
||||
if ((py) && (Node::get_type(py) == RELATIONSHIP_NT) &&
|
||||
(Node::get_relationship(py)) &&
|
||||
(Node::get_relationship(py)->reversal == VERB_MEANING_POSSESSION))
|
||||
return TRUE;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@ In either case, then, we end up going through |Assertions::Copular::make_assertion| and then to the
|
||||
following routine, which asserts that subtree |px| "is" |py|.
|
||||
|
||||
|
@ -94,73 +56,3 @@ we cause X to be created, but otherwise do nothing; otherwise, we call
|
|||
the massive |Assertions::Maker::make_assertion_recursive| routine (see "Make Assertions").
|
||||
|
||||
In traverse 2, only (c) takes place; (a) and (b) are one-time events.
|
||||
|
||||
=
|
||||
void Assertions::Copular::make_assertion(parse_node *px, parse_node *py) {
|
||||
if (SyntaxTree::is_trace_set(Task::syntax_tree())) LOG("$T", current_sentence);
|
||||
if (<np-existential>(Node::get_text(px))) {
|
||||
if (traverse == 1) Assertions::Copular::make_existential_assertion(py);
|
||||
px = py;
|
||||
} else {
|
||||
Assertions::Maker::make_assertion_recursive(px, py);
|
||||
}
|
||||
@<Change the discussion topic for subsequent sentences@>;
|
||||
}
|
||||
|
||||
@ The slight asymmetry in what follows is partly pragmatic, partly the result
|
||||
of subject-verb inversion ("in the bag is the ball" not "the ball is in the
|
||||
bag"). We extract a subject from a relationship node on the left, but not on
|
||||
the right, and we don't extract an object from one. Consider:
|
||||
|
||||
>> A billiards table is in the Gazebo. On it is a trophy cup.
|
||||
|
||||
What does "it" mean, and why? A human reader goes for the billiards table at
|
||||
once, because it seems more likely as a supporter than the Gazebo, but that's
|
||||
not how Inform gets the same answer. It all hangs on "billiards table" being
|
||||
the object of the first sentence, not the Gazebo; if we descended the RHS,
|
||||
which is |RELATIONSHIP_NT -> PROPER_NOUN_NT| pointing to the Gazebo, that's the
|
||||
conclusion we would have reached.
|
||||
|
||||
@<Change the discussion topic for subsequent sentences@> =
|
||||
inference_subject *infsx = NULL, *infsy = NULL, *infsy_full = NULL;
|
||||
infsx = Assertions::Copular::discussed_at_node(px);
|
||||
infsy_full = Assertions::Copular::discussed_at_node(py);
|
||||
if (Node::get_type(py) != KIND_NT) infsy = Node::get_subject(py);
|
||||
Assertions::Traverse::change_discussion_topic(infsx, infsy, infsy_full);
|
||||
if (Node::get_type(px) == AND_NT) Assertions::Traverse::subject_of_discussion_a_list();
|
||||
if (Annotations::read_int(current_sentence, clears_pronouns_ANNOT))
|
||||
Assertions::Traverse::new_discussion();
|
||||
|
||||
@ =
|
||||
inference_subject *Assertions::Copular::discussed_at_node(parse_node *pn) {
|
||||
inference_subject *infs = NULL;
|
||||
if (Node::get_type(pn) != KIND_NT) infs = Node::get_subject(pn);
|
||||
if ((Node::get_type(pn) == RELATIONSHIP_NT) && (pn->down) &&
|
||||
(Node::get_type(pn->down) == PROPER_NOUN_NT))
|
||||
infs = Node::get_subject(pn->down);
|
||||
if ((Node::get_type(pn) == WITH_NT) && (pn->down) &&
|
||||
(Node::get_type(pn->down) == PROPER_NOUN_NT))
|
||||
infs = Node::get_subject(pn->down);
|
||||
return infs;
|
||||
}
|
||||
|
||||
@ =
|
||||
void Assertions::Copular::make_existential_assertion(parse_node *py) {
|
||||
if (Node::get_type(py) == WITH_NT) {
|
||||
Assertions::Copular::make_existential_assertion(py->down); return;
|
||||
}
|
||||
if (Node::get_type(py) == AND_NT) {
|
||||
Assertions::Copular::make_existential_assertion(py->down);
|
||||
Assertions::Copular::make_existential_assertion(py->down->next);
|
||||
return;
|
||||
}
|
||||
if (Node::get_type(py) == COMMON_NOUN_NT) {
|
||||
if ((InferenceSubjects::is_a_kind_of_object(Node::get_subject(py))) ||
|
||||
(Kinds::Compare::eq(K_object, InferenceSubjects::as_kind(Node::get_subject(py)))))
|
||||
Assertions::Creator::convert_instance_to_nounphrase(py, NULL);
|
||||
else
|
||||
StandardProblems::sentence_problem(Task::syntax_tree(), _p_(PM_ThereIsVague),
|
||||
"'there is...' can only be used to create objects",
|
||||
"and not instances of other kinds.'");
|
||||
}
|
||||
}
|
||||
|
|
|
@ -291,8 +291,23 @@ a valid verb number to have no handler: if so, we handle the verb by doing
|
|||
nothing on either traverse, of course.
|
||||
|
||||
@<Act on the primary verb in the sentence@> =
|
||||
if (Assertions::Traverse::special(p->down)) Assertions::Traverse::special_meaning(p);
|
||||
else Assertions::Copular::assertion(p);
|
||||
if (Assertions::Traverse::special(p->down)) {
|
||||
Assertions::Traverse::special_meaning(p);
|
||||
} else {
|
||||
parse_node *px = p->down->next;
|
||||
parse_node *py = px->next;
|
||||
if (traverse == 1) {
|
||||
if (Assertions::Refiner::refine_coupling(px, py) == FALSE) return;
|
||||
}
|
||||
if (SyntaxTree::is_trace_set(Task::syntax_tree())) LOG("$T", current_sentence);
|
||||
if (Node::get_type(px) == DEFECTIVE_NOUN_NT) {
|
||||
if (traverse == 1) Assertions::Maker::make_existential_assertion(py);
|
||||
Assertions::Traverse::change_discussion_from_coupling(py, py);
|
||||
} else {
|
||||
Assertions::Maker::make_assertion_recursive(px, py);
|
||||
Assertions::Traverse::change_discussion_from_coupling(px, py);
|
||||
}
|
||||
}
|
||||
|
||||
@ The "appearance" is not a property as such. When a quoted piece of text
|
||||
is given as a whole sentence, it might be:
|
||||
|
@ -408,6 +423,32 @@ void Assertions::Traverse::new_discussion(void) {
|
|||
subject_of_sentences = NULL; object_of_sentences = NULL;
|
||||
}
|
||||
|
||||
@ The slight asymmetry in what follows is partly pragmatic, partly the result
|
||||
of subject-verb inversion ("in the bag is the ball" not "the ball is in the
|
||||
bag"). We extract a subject from a relationship node on the left, but not on
|
||||
the right, and we don't extract an object from one. Consider:
|
||||
|
||||
>> A billiards table is in the Gazebo. On it is a trophy cup.
|
||||
|
||||
What does "it" mean, and why? A human reader goes for the billiards table at
|
||||
once, because it seems more likely as a supporter than the Gazebo, but that's
|
||||
not how Inform gets the same answer. It all hangs on "billiards table" being
|
||||
the object of the first sentence, not the Gazebo; if we descended the RHS,
|
||||
which is |RELATIONSHIP_NT -> PROPER_NOUN_NT| pointing to the Gazebo, that's the
|
||||
conclusion we would have reached.
|
||||
|
||||
=
|
||||
void Assertions::Traverse::change_discussion_from_coupling(parse_node *px, parse_node *py) {
|
||||
inference_subject *infsx = NULL, *infsy = NULL, *infsy_full = NULL;
|
||||
infsx = Assertions::Traverse::discussed_at_node(px);
|
||||
infsy_full = Assertions::Traverse::discussed_at_node(py);
|
||||
if (Node::get_type(py) != KIND_NT) infsy = Node::get_subject(py);
|
||||
Assertions::Traverse::change_discussion_topic(infsx, infsy, infsy_full);
|
||||
if (Node::get_type(px) == AND_NT) Assertions::Traverse::subject_of_discussion_a_list();
|
||||
if (Annotations::read_int(current_sentence, clears_pronouns_ANNOT))
|
||||
Assertions::Traverse::new_discussion();
|
||||
}
|
||||
|
||||
void Assertions::Traverse::change_discussion_topic(inference_subject *infsx,
|
||||
inference_subject *infsy, inference_subject *infsy_full) {
|
||||
inference_subject *old_sub = subject_of_sentences, *old_obj = object_of_sentences;
|
||||
|
@ -434,6 +475,19 @@ void Assertions::Traverse::change_discussion_topic(inference_subject *infsx,
|
|||
object_of_sentences);
|
||||
}
|
||||
|
||||
@ =
|
||||
inference_subject *Assertions::Traverse::discussed_at_node(parse_node *pn) {
|
||||
inference_subject *infs = NULL;
|
||||
if (Node::get_type(pn) != KIND_NT) infs = Node::get_subject(pn);
|
||||
if ((Node::get_type(pn) == RELATIONSHIP_NT) && (pn->down) &&
|
||||
(Node::get_type(pn->down) == PROPER_NOUN_NT))
|
||||
infs = Node::get_subject(pn->down);
|
||||
if ((Node::get_type(pn) == WITH_NT) && (pn->down) &&
|
||||
(Node::get_type(pn->down) == PROPER_NOUN_NT))
|
||||
infs = Node::get_subject(pn->down);
|
||||
return infs;
|
||||
}
|
||||
|
||||
@ Occasionally we need to force the issue, though:
|
||||
|
||||
=
|
||||
|
|
|
@ -5,11 +5,11 @@ Size of lexicon: 3102 excerpt meanings
|
|||
29 words have a middle list: longest belongs to to (with 4 meanings)
|
||||
108 words have a subset list: longest belongs to street (with 4 meanings)
|
||||
|
||||
Number of attempts to retrieve: 104693
|
||||
of which unsuccessful: 87191
|
||||
Number of attempts to retrieve: 104745
|
||||
of which unsuccessful: 87243
|
||||
of which successful: 17502
|
||||
|
||||
Total attempts to match against excerpt meanings: 249444
|
||||
of which, total with incorrect hash codes: 227454
|
||||
Total attempts to match against excerpt meanings: 249465
|
||||
of which, total with incorrect hash codes: 227475
|
||||
of which, total with correct hash codes: 21990
|
||||
of which, total which matched: 19268
|
||||
|
|
|
@ -230,6 +230,14 @@ parse_node *Diagrams::new_RELATIONSHIP(wording W, VERB_MEANING_LINGUISTICS_TYPE
|
|||
return P;
|
||||
}
|
||||
|
||||
int Diagrams::is_possessive_RELATIONSHIP(parse_node *py) {
|
||||
if ((py) && (Node::get_type(py) == RELATIONSHIP_NT) &&
|
||||
(Node::get_relationship(py)) &&
|
||||
(VerbMeanings::reverse_VMT(Node::get_relationship(py)) == VERB_MEANING_POSSESSION))
|
||||
return TRUE;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
parse_node *Diagrams::new_implied_RELATIONSHIP(wording W, VERB_MEANING_LINGUISTICS_TYPE *R) {
|
||||
if (preform_lookahead_mode) return NULL;
|
||||
return Diagrams::new_RELATIONSHIP(W, R, Diagrams::new_PRONOUN(W, Pronouns::get_implied()));
|
||||
|
|
Loading…
Reference in a new issue