1
0
Fork 0
mirror of https://github.com/ganelson/inform.git synced 2024-07-03 07:24:58 +03:00

Improved testing of prepositions

This commit is contained in:
Graham Nelson 2020-07-18 23:24:04 +01:00
parent 15a20798a8
commit 3e284b25ce
6 changed files with 64 additions and 49 deletions

View file

@ -106,9 +106,9 @@ possible values these are.)
<span class="plain-syntax"> </span><span class="identifier-syntax">PW</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Node::get_text</span><span class="plain-syntax">(</span><span class="identifier-syntax">option</span><span class="plain-syntax">-&gt;</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><span class="identifier-syntax">PW</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Node::get_text</span><span class="plain-syntax">(</span><span class="identifier-syntax">option</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">&lt;adjective-name&gt;</span><span class="plain-syntax">(</span><span class="identifier-syntax">PW</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><span class="function-syntax">&lt;&lt;rp&gt;&gt;</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">I</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">aph</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">adj</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Adjectives::parse</span><span class="plain-syntax">(</span><span class="identifier-syntax">PW</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">adj</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">I</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">adj</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">I</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">I</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">common_kind</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">common_kind</span><span class="plain-syntax"> = </span><span class="identifier-syntax">K</span><span class="plain-syntax">;</span>

View file

@ -115,17 +115,20 @@ any text but then fail.
<pre class="Preform-displayed-code all-displayed-code code-font">
<span class="Preform-function-syntax">&lt;verb-stock&gt;</span><span class="Preform-plain-syntax"> </span><span class="Preform-reserved-syntax">::=</span>
<span class="Preform-plain-syntax"> </span><span class="Preform-reserved-syntax">...</span><span class="Preform-plain-syntax"> </span><span class="Preform-constant-syntax">=</span><span class="Preform-plain-syntax"> </span><span class="Preform-constant-syntax">verb</span><span class="Preform-plain-syntax"> </span><span class="Preform-function-syntax">&lt;cardinal-number&gt;</span><span class="Preform-plain-syntax"> </span><span class="Preform-reserved-syntax">==&gt;</span><span class="Preform-plain-syntax"> R[1]; *XP = Conjugation::conjugate(WordAssemblages::from_wording(FW[1]), DefaultLanguage::get(NULL));</span>
<span class="Preform-plain-syntax"> </span><span class="Preform-reserved-syntax">...</span><span class="Preform-plain-syntax"> </span><span class="Preform-constant-syntax">=</span><span class="Preform-plain-syntax"> </span><span class="Preform-constant-syntax">verb</span><span class="Preform-plain-syntax"> </span><span class="Preform-function-syntax">&lt;cardinal-number&gt;</span><span class="Preform-plain-syntax"> </span><span class="Preform-reserved-syntax">==&gt;</span><span class="Preform-plain-syntax"> R[1]; *XP = Conjugation::conjugate(WordAssemblages::from_wording(FW[1]), DefaultLanguage::get(NULL));</span>
<span class="Preform-function-syntax">&lt;preposition-stock&gt;</span><span class="Preform-plain-syntax"> </span><span class="Preform-reserved-syntax">::=</span>
<span class="Preform-plain-syntax"> </span><span class="Preform-reserved-syntax">...</span><span class="Preform-plain-syntax"> </span><span class="Preform-constant-syntax">=</span><span class="Preform-plain-syntax"> </span><span class="Preform-constant-syntax">preposition</span>
<span class="Preform-function-syntax">&lt;common-noun-stock&gt;</span><span class="Preform-plain-syntax"> </span><span class="Preform-reserved-syntax">::=</span>
<span class="Preform-plain-syntax"> </span><span class="Preform-reserved-syntax">...</span><span class="Preform-plain-syntax"> </span><span class="Preform-constant-syntax">=</span><span class="Preform-plain-syntax"> </span><span class="Preform-constant-syntax">neuter</span><span class="Preform-plain-syntax"> </span><span class="Preform-constant-syntax">common</span><span class="Preform-plain-syntax"> </span><span class="Preform-constant-syntax">noun</span><span class="Preform-plain-syntax"> </span><span class="Preform-reserved-syntax">|</span><span class="Preform-plain-syntax"> </span><span class="Preform-reserved-syntax">==&gt;</span><span class="Preform-plain-syntax"> NEUTER_GENDER</span>
<span class="Preform-plain-syntax"> </span><span class="Preform-reserved-syntax">...</span><span class="Preform-plain-syntax"> </span><span class="Preform-constant-syntax">=</span><span class="Preform-plain-syntax"> </span><span class="Preform-constant-syntax">neuter</span><span class="Preform-plain-syntax"> </span><span class="Preform-constant-syntax">common</span><span class="Preform-plain-syntax"> </span><span class="Preform-constant-syntax">noun</span><span class="Preform-plain-syntax"> </span><span class="Preform-reserved-syntax">|</span><span class="Preform-plain-syntax"> </span><span class="Preform-reserved-syntax">==&gt;</span><span class="Preform-plain-syntax"> NEUTER_GENDER</span>
<span class="Preform-plain-syntax"> </span><span class="Preform-reserved-syntax">...</span><span class="Preform-plain-syntax"> </span><span class="Preform-constant-syntax">=</span><span class="Preform-plain-syntax"> </span><span class="Preform-constant-syntax">masculine</span><span class="Preform-plain-syntax"> </span><span class="Preform-constant-syntax">common</span><span class="Preform-plain-syntax"> </span><span class="Preform-constant-syntax">noun</span><span class="Preform-plain-syntax"> </span><span class="Preform-reserved-syntax">|</span><span class="Preform-plain-syntax"> </span><span class="Preform-reserved-syntax">==&gt;</span><span class="Preform-plain-syntax"> MASCULINE_GENDER</span>
<span class="Preform-plain-syntax"> </span><span class="Preform-reserved-syntax">...</span><span class="Preform-plain-syntax"> </span><span class="Preform-constant-syntax">=</span><span class="Preform-plain-syntax"> </span><span class="Preform-constant-syntax">feminine</span><span class="Preform-plain-syntax"> </span><span class="Preform-constant-syntax">common</span><span class="Preform-plain-syntax"> </span><span class="Preform-constant-syntax">noun</span><span class="Preform-plain-syntax"> </span><span class="Preform-reserved-syntax">==&gt;</span><span class="Preform-plain-syntax"> FEMININE_GENDER</span>
<span class="Preform-plain-syntax"> </span><span class="Preform-reserved-syntax">...</span><span class="Preform-plain-syntax"> </span><span class="Preform-constant-syntax">=</span><span class="Preform-plain-syntax"> </span><span class="Preform-constant-syntax">feminine</span><span class="Preform-plain-syntax"> </span><span class="Preform-constant-syntax">common</span><span class="Preform-plain-syntax"> </span><span class="Preform-constant-syntax">noun</span><span class="Preform-plain-syntax"> </span><span class="Preform-reserved-syntax">==&gt;</span><span class="Preform-plain-syntax"> FEMININE_GENDER</span>
<span class="Preform-function-syntax">&lt;proper-noun-stock&gt;</span><span class="Preform-plain-syntax"> </span><span class="Preform-reserved-syntax">::=</span>
<span class="Preform-plain-syntax"> </span><span class="Preform-reserved-syntax">...</span><span class="Preform-plain-syntax"> </span><span class="Preform-constant-syntax">=</span><span class="Preform-plain-syntax"> </span><span class="Preform-constant-syntax">neuter</span><span class="Preform-plain-syntax"> </span><span class="Preform-constant-syntax">proper</span><span class="Preform-plain-syntax"> </span><span class="Preform-constant-syntax">noun</span><span class="Preform-plain-syntax"> </span><span class="Preform-reserved-syntax">|</span><span class="Preform-plain-syntax"> </span><span class="Preform-reserved-syntax">==&gt;</span><span class="Preform-plain-syntax"> NEUTER_GENDER</span>
<span class="Preform-plain-syntax"> </span><span class="Preform-reserved-syntax">...</span><span class="Preform-plain-syntax"> </span><span class="Preform-constant-syntax">=</span><span class="Preform-plain-syntax"> </span><span class="Preform-constant-syntax">neuter</span><span class="Preform-plain-syntax"> </span><span class="Preform-constant-syntax">proper</span><span class="Preform-plain-syntax"> </span><span class="Preform-constant-syntax">noun</span><span class="Preform-plain-syntax"> </span><span class="Preform-reserved-syntax">|</span><span class="Preform-plain-syntax"> </span><span class="Preform-reserved-syntax">==&gt;</span><span class="Preform-plain-syntax"> NEUTER_GENDER</span>
<span class="Preform-plain-syntax"> </span><span class="Preform-reserved-syntax">...</span><span class="Preform-plain-syntax"> </span><span class="Preform-constant-syntax">=</span><span class="Preform-plain-syntax"> </span><span class="Preform-constant-syntax">masculine</span><span class="Preform-plain-syntax"> </span><span class="Preform-constant-syntax">proper</span><span class="Preform-plain-syntax"> </span><span class="Preform-constant-syntax">noun</span><span class="Preform-plain-syntax"> </span><span class="Preform-reserved-syntax">|</span><span class="Preform-plain-syntax"> </span><span class="Preform-reserved-syntax">==&gt;</span><span class="Preform-plain-syntax"> MASCULINE_GENDER</span>
<span class="Preform-plain-syntax"> </span><span class="Preform-reserved-syntax">...</span><span class="Preform-plain-syntax"> </span><span class="Preform-constant-syntax">=</span><span class="Preform-plain-syntax"> </span><span class="Preform-constant-syntax">feminine</span><span class="Preform-plain-syntax"> </span><span class="Preform-constant-syntax">proper</span><span class="Preform-plain-syntax"> </span><span class="Preform-constant-syntax">noun</span><span class="Preform-plain-syntax"> </span><span class="Preform-reserved-syntax">==&gt;</span><span class="Preform-plain-syntax"> FEMININE_GENDER</span>
<span class="Preform-plain-syntax"> </span><span class="Preform-reserved-syntax">...</span><span class="Preform-plain-syntax"> </span><span class="Preform-constant-syntax">=</span><span class="Preform-plain-syntax"> </span><span class="Preform-constant-syntax">feminine</span><span class="Preform-plain-syntax"> </span><span class="Preform-constant-syntax">proper</span><span class="Preform-plain-syntax"> </span><span class="Preform-constant-syntax">noun</span><span class="Preform-plain-syntax"> </span><span class="Preform-reserved-syntax">==&gt;</span><span class="Preform-plain-syntax"> FEMININE_GENDER</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="SP6"></a><b>&#167;6. Syntax tree. </b></p>
@ -168,6 +171,11 @@ any text but then fail.
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">vc_be</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) </span><span class="identifier-syntax">vc_be</span><span class="plain-syntax"> = </span><span class="identifier-syntax">vc</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">vc_have</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) </span><span class="identifier-syntax">vc_have</span><span class="plain-syntax"> = </span><span class="identifier-syntax">vc</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><a href="../linguistics-module/3-vrb.html#SP12" class="function-link"><span class="function-syntax">Verbs::add_form</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">vi</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><a href="../linguistics-module/3-vm.html#SP6" class="function-link"><span class="function-syntax">VerbMeanings::regular</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">vc</span><span class="plain-syntax">), </span><span class="constant-syntax">SVO_FS_BIT</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="function-syntax">&lt;preposition-stock&gt;</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">word_assemblage</span><span class="plain-syntax"> </span><span class="identifier-syntax">wa</span><span class="plain-syntax"> = </span><a href="../words-module/2-wa.html#SP4" class="function-link"><span class="function-syntax">WordAssemblages::from_wording</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">GET_RW</span><span class="plain-syntax">(</span><span class="function-syntax">&lt;preposition-stock&gt;</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">preposition</span><span class="plain-syntax"> *</span><span class="identifier-syntax">prep</span><span class="plain-syntax"> = </span><a href="../linguistics-module/3-prp.html#SP6" class="function-link"><span class="function-syntax">Prepositions::make</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">wa</span><span class="plain-syntax">, </span><span class="constant-syntax">FALSE</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">vc_be</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> </span><a href="../linguistics-module/3-vrb.html#SP12" class="function-link"><span class="function-syntax">Verbs::add_form</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">vc_be</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">vc_conjugates</span><span class="plain-syntax">, </span><span class="identifier-syntax">prep</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><a href="../linguistics-module/3-vm.html#SP6" class="function-link"><span class="function-syntax">VerbMeanings::regular</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">vc_be</span><span class="plain-syntax">), </span><span class="constant-syntax">SVO_FS_BIT</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="function-syntax">&lt;common-noun-stock&gt;</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">wording</span><span class="plain-syntax"> </span><span class="identifier-syntax">W</span><span class="plain-syntax"> = </span><span class="identifier-syntax">GET_RW</span><span class="plain-syntax">(</span><span class="function-syntax">&lt;common-noun-stock&gt;</span><span class="plain-syntax">, </span><span class="constant-syntax">1</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="../linguistics-module/2-nns.html#SP7" class="function-link"><span class="function-syntax">Nouns::new_common_noun</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">W</span><span class="plain-syntax">, </span><span class="function-syntax">&lt;&lt;r&gt;&gt;</span><span class="plain-syntax">, </span><span class="constant-syntax">ADD_TO_LEXICON_NTOPT</span><span class="plain-syntax"> + </span><span class="constant-syntax">WITH_PLURAL_FORMS_NTOPT</span><span class="plain-syntax">,</span>

View file

@ -1,43 +1,36 @@
100.0% in inform7 run
66.2% in compilation to Inter
24.9% in //Phrases::Manager::compile_first_block//
8.2% in //Phrases::Manager::compile_as_needed//
7.3% in //Strings::compile_responses//
6.7% in //World::Compile::compile//
3.3% in //Assertions::Traverse::traverse1//
65.9% in compilation to Inter
25.7% in //Phrases::Manager::compile_first_block//
8.6% in //Phrases::Manager::compile_as_needed//
6.9% in //Strings::compile_responses//
5.8% in //World::Compile::compile//
3.4% in //Assertions::Traverse::traverse1//
3.0% in //Sentences::VPs::traverse//
2.2% in //Phrases::Manager::RulePrintingRule_routine//
2.1% in //Phrases::Manager::rulebooks_array//
1.0% in //NewVerbs::ConjugateVerb//
0.8% in //Phrases::Manager::traverse//
2.0% in //Phrases::Manager::RulePrintingRule_routine//
1.8% in //Phrases::Manager::rulebooks_array//
0.9% in //NewVerbs::ConjugateVerb//
0.7% in //Phrases::Manager::traverse//
0.5% in //Phrases::Manager::parse_rule_parameters//
0.4% in //Phrases::Manager::compile_rulebooks//
0.3% in //Phrases::Manager::compile_rulebooks//
0.3% in //Phrases::Manager::traverse_for_names//
0.3% in //Relations::compile_defined_relations//
0.2% in //Assertions::Traverse::traverse2//
0.2% in //PL::Parsing::Verbs::compile_all//
0.2% in //Task::load_types//
0.2% in //World::complete//
0.1% in //Emit::begin//
0.1% in //Index::DocReferences::read_xrefs//
0.1% in //Kinds::Knowledge::include_templates_for_kinds//
0.1% in //Phrases::Manager::add_rules_to_rulebooks//
0.1% in //Sentences::Rearrangement::tidy_up_ofs_and_froms//
0.1% in //Assertions::Traverse::traverse2//
0.1% in //PL::Parsing::Verbs::compile_all//
0.1% in //Sentences::RuleSubtrees::register_recently_lexed_phrases//
0.1% in //World::complete_additions//
2.9% not specifically accounted for
31.3% in running Inter pipeline
10.7% in step preparation
10.4% in inter step 2/12: link
0.1% in //Task::load_types//
0.1% in //World::complete//
3.9% not specifically accounted for
31.7% in running Inter pipeline
10.3% in step preparation
10.2% in inter step 2/12: link
7.3% in inter step 12/12: generate inform6 -> auto.inf
0.3% in inter step 10/12: reconcile-verbs
0.3% in inter step 9/12: make-identifiers-unique
0.2% in inter step 11/12: eliminate-redundant-labels
0.2% in inter step 6/12: assimilate
0.2% in inter step 7/12: resolve-external-symbols
0.1% in inter step 4/12: parse-linked-matter
0.1% in inter step 10/12: reconcile-verbs
0.1% in inter step 11/12: eliminate-redundant-labels
0.1% in inter step 5/12: resolve-conditional-compilation
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
1.1% not specifically accounted for
2.1% in supervisor
0.3% not specifically accounted for
2.3% not specifically accounted for
2.0% in supervisor
0.2% not specifically accounted for

View file

@ -33,9 +33,9 @@ property *Properties::Conditions::new(inference_subject *infs, wording NW, parse
PW = Node::get_text(option->down);
else
PW = Node::get_text(option);
if (<adjective-name>(PW)) {
adjective *aph = <<rp>>;
instance *I = Adjectives::Meanings::has_ENUMERATIVE_meaning(aph);
adjective *adj = Adjectives::parse(PW);
if (adj) {
instance *I = Adjectives::Meanings::has_ENUMERATIVE_meaning(adj);
kind *K = (I)?Instances::to_kind(I):NULL;
if (common_kind == NULL) {
common_kind = K;

View file

@ -55,17 +55,20 @@ any text but then fail.
@ =
<verb-stock> ::=
... = verb <cardinal-number> ==> R[1]; *XP = Conjugation::conjugate(WordAssemblages::from_wording(FW[1]), DefaultLanguage::get(NULL));
... = verb <cardinal-number> ==> R[1]; *XP = Conjugation::conjugate(WordAssemblages::from_wording(FW[1]), DefaultLanguage::get(NULL));
<preposition-stock> ::=
... = preposition
<common-noun-stock> ::=
... = neuter common noun | ==> NEUTER_GENDER
... = neuter common noun | ==> NEUTER_GENDER
... = masculine common noun | ==> MASCULINE_GENDER
... = feminine common noun ==> FEMININE_GENDER
... = feminine common noun ==> FEMININE_GENDER
<proper-noun-stock> ::=
... = neuter proper noun | ==> NEUTER_GENDER
... = neuter proper noun | ==> NEUTER_GENDER
... = masculine proper noun | ==> MASCULINE_GENDER
... = feminine proper noun ==> FEMININE_GENDER
... = feminine proper noun ==> FEMININE_GENDER
@h Syntax tree.
@ -107,6 +110,11 @@ void Unit::diagram(parse_node *p) {
if (vc_be == NULL) vc_be = vc;
else if (vc_have == NULL) vc_have = vc;
Verbs::add_form(vi, NULL, NULL, VerbMeanings::regular(vc), SVO_FS_BIT);
} else if (<preposition-stock>(W)) {
word_assemblage wa = WordAssemblages::from_wording(GET_RW(<preposition-stock>, 1));
preposition *prep = Prepositions::make(wa, FALSE, NULL);
if (vc_be)
Verbs::add_form(vc_be->vc_conjugates, prep, NULL, VerbMeanings::regular(vc_be), SVO_FS_BIT);
} else if (<common-noun-stock>(W)) {
wording W = GET_RW(<common-noun-stock>, 1);
Nouns::new_common_noun(W, <<r>>, ADD_TO_LEXICON_NTOPT + WITH_PLURAL_FORMS_NTOPT,

View file

@ -10,6 +10,8 @@ mean = verb 3
see = verb 3
on = preposition
Peter = neuter proper noun
Jane = neuter proper noun
@ -47,3 +49,7 @@ Some people are here.
Peter always carries the torch.
Peter carries the torch for the third time.
On the table is a ball.
A ball is on the table.