1
0
Fork 0
mirror of https://github.com/ganelson/inform.git synced 2024-06-26 04:00:43 +03:00

Removed vestigial verb_id_ANNOT annotation

This commit is contained in:
Graham Nelson 2020-07-28 20:52:26 +01:00
parent fd943d1f38
commit 2c10aeda6a
27 changed files with 49 additions and 106 deletions

View file

@ -1,36 +1,44 @@
100.0% in inform7 run
66.8% in compilation to Inter
25.3% in //Phrases::Manager::compile_first_block//
9.1% in //Phrases::Manager::compile_as_needed//
6.8% in //Strings::compile_responses//
5.9% in //World::Compile::compile//
3.6% in //Sentences::VPs::traverse//
3.4% in //Assertions::Traverse::traverse1//
2.0% in //Phrases::Manager::RulePrintingRule_routine//
66.5% in compilation to Inter
24.9% in //Phrases::Manager::compile_first_block//
8.8% in //Phrases::Manager::compile_as_needed//
7.2% in //Strings::compile_responses//
6.5% in //World::Compile::compile//
3.3% in //Assertions::Traverse::traverse1//
3.3% in //Sentences::VPs::traverse//
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//
0.9% in //NewVerbs::ConjugateVerb//
0.8% in //Phrases::Manager::traverse//
0.5% in //Phrases::Manager::parse_rule_parameters//
0.3% in //Phrases::Manager::compile_rulebooks//
0.4% in //Phrases::Manager::compile_rulebooks//
0.3% in //Assertions::Traverse::traverse2//
0.3% in //Phrases::Manager::traverse_for_names//
0.1% in //Assertions::Traverse::traverse2//
0.3% in //Relations::compile_defined_relations//
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 //PL::Parsing::Verbs::compile_all//
0.1% in //Relations::compile_defined_relations//
0.1% in //Phrases::Manager::add_rules_to_rulebooks//
0.1% in //Sentences::Rearrangement::tidy_up_ofs_and_froms//
0.1% in //Sentences::RuleSubtrees::register_recently_lexed_phrases//
0.1% in //Task::load_types//
0.1% in //World::complete//
4.2% not specifically accounted for
0.1% in //World::complete_additions//
3.0% not specifically accounted for
31.0% in running Inter pipeline
10.0% in step preparation
9.7% in inter step 2/12: link
7.4% in inter step 12/12: generate inform6 -> auto.inf
10.6% in step preparation
10.3% in inter step 2/12: link
7.2% 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.1% in inter step 10/12: reconcile-verbs
0.1% in inter step 11/12: eliminate-redundant-labels
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 3/12: merge-template <- none
0.1% in inter step 4/12: parse-linked-matter
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
2.3% not specifically accounted for
1.9% in supervisor
0.2% not specifically accounted for
1.1% not specifically accounted for
2.1% in supervisor
0.3% not specifically accounted for

View file

@ -504,7 +504,6 @@ tree; though it's a little like itemising the baubles on a Christmas tree.
@e token_to_be_parsed_against_ANNOT /* |parse_node|: what if anything is returned */
@e turned_already_ANNOT /* |int|: aliasing like "player" to "yourself" performed already */
@e unproven_ANNOT /* |int|: this invocation needs run-time typechecking */
@e verb_id_ANNOT /* int: identifying what kind of VERB node */
@e verb_problem_issued_ANNOT /* |int|: has a problem message about the primary verb been issued already? */
@e vu_ANNOT /* |verb_usage|: for e.g. "does not carry" */
@e you_can_ignore_ANNOT /* |int|: for assertions now drained of meaning */

View file

@ -97,7 +97,6 @@ int Tables::Defining::defined_by_SMF(int task, parse_node *V, wording *NPs) {
switch (task) { /* "The colours are defined by Table 1." */
case ACCEPT_SMFT:
if (<defined-by-sentence-object>(OW)) {
Annotations::write_int(V, verb_id_ANNOT, SPECIAL_MEANING_VB);
Annotations::write_int(V, examine_for_ofs_ANNOT, TRUE);
parse_node *O = <<rp>>;
<np-unparsed>(SW);

View file

@ -95,7 +95,6 @@ int Activities::new_activity_SMF(int task, parse_node *V, wording *NPs) {
switch (task) { /* "Description is an activity." */
case ACCEPT_SMFT:
if (<bare-activity-sentence-object>(OW)) {
Annotations::write_int(V, verb_id_ANNOT, SPECIAL_MEANING_VB);
<np-unparsed>(SW);
V->next = <<rp>>;
<np-unparsed>(OW);

View file

@ -57,7 +57,6 @@ int Rules::Placement::listed_in_SMF(int task, parse_node *V, wording *NPs) {
switch (task) { /* "The time passes rule is listed in the turn sequence rulebook." */
case ACCEPT_SMFT:
if ((<nounphrase-rule-list>(SW)) && (<listed-in-sentence-object>(OW))) {
Annotations::write_int(V, verb_id_ANNOT, SPECIAL_MEANING_VB);
Annotations::write_int(V, listing_sense_ANNOT, <<r>>);
parse_node *O = <<rp>>;
<np-unparsed>(SW);
@ -108,7 +107,6 @@ int Rules::Placement::substitutes_for_SMF(int task, parse_node *V, wording *NPs)
switch (task) { /* "The time passes slowly rule substitutes for the time passes rule." */
case ACCEPT_SMFT:
if ((<nounphrase-rule-list>(SW)) && (<substitutes-for-sentence-object>(OW))) {
Annotations::write_int(V, verb_id_ANNOT, SPECIAL_MEANING_VB);
Annotations::write_int(V, listing_sense_ANNOT, <<r>>);
parse_node *O = <<rp>>;
<np-unparsed>(SW);
@ -193,7 +191,6 @@ int Rules::Placement::does_nothing_SMF(int task, parse_node *V, wording *NPs) {
switch (task) { /* "The time passes rule does nothing." */
case ACCEPT_SMFT:
if ((<nounphrase-rule-list>(SW)) && (<does-nothing-sentence-object>(OW))) {
Annotations::write_int(V, verb_id_ANNOT, SPECIAL_MEANING_VB);
parse_node *O = <<rp>>;
<np-unparsed>(SW);
V->next = <<rp>>;
@ -216,7 +213,6 @@ int Rules::Placement::does_nothing_if_SMF(int task, parse_node *V, wording *NPs)
switch (task) { /* "The time passes rule does nothing if ..." */
case ACCEPT_SMFT:
if ((<nounphrase-rule-list>(SW)) && (<does-nothing-sentence-object>(OW))) {
Annotations::write_int(V, verb_id_ANNOT, SPECIAL_MEANING_VB);
<np-unparsed>(SW);
V->next = <<rp>>;
<np-unparsed>(CW);
@ -240,7 +236,6 @@ int Rules::Placement::does_nothing_unless_SMF(int task, parse_node *V, wording *
switch (task) { /* "The time passes rule does nothing unless ..." */
case ACCEPT_SMFT:
if ((<nounphrase-rule-list>(SW)) && (<does-nothing-sentence-object>(OW))) {
Annotations::write_int(V, verb_id_ANNOT, SPECIAL_MEANING_VB);
<np-unparsed>(SW);
V->next = <<rp>>;
<np-unparsed>(CW);

View file

@ -238,7 +238,7 @@ void Phrases::Manager::visit_to_parse_placements(parse_node *p) {
(Node::get_type(p->down) == VERB_NT)) {
prevailing_mood =
Annotations::read_int(p->down, verbal_certainty_ANNOT);
if (Annotations::read_int(p->down, verb_id_ANNOT) == SPECIAL_MEANING_VB)
if (Sentences::VPs::special(p->down))
Assertions::Traverse::try_special_meaning(TRAVERSE_FOR_RULE_FILING_SMFT, p->down);
}
}

View file

@ -190,7 +190,6 @@ int PL::Parsing::TestScripts::test_with_SMF(int task, parse_node *V, wording *NP
wording O2W = (NPs)?(NPs[2]):EMPTY_WORDING;
switch (task) { /* "Test me with..." */
case ACCEPT_SMFT:
Annotations::write_int(V, verb_id_ANNOT, SPECIAL_MEANING_VB);
<np-unparsed>(O2W);
V->next = <<rp>>;
<np-unparsed>(OW);

View file

@ -71,7 +71,6 @@ int UseOptions::use_translates_as_SMF(int task, parse_node *V, wording *NPs) {
switch (task) { /* "Use American dialect means ..." */
case ACCEPT_SMFT:
if (<use-translates-as-sentence-subject>(SW)) {
Annotations::write_int(V, verb_id_ANNOT, SPECIAL_MEANING_VB);
V->next = <<rp>>;
<np-unparsed>(OW);
V->next->next = <<rp>>;
@ -208,7 +207,6 @@ int UseOptions::use_SMF(int task, parse_node *V, wording *NPs) {
wording OW = (NPs)?(NPs[1]):EMPTY_WORDING;
switch (task) { /* "Use American dialect." */
case ACCEPT_SMFT:
Annotations::write_int(V, verb_id_ANNOT, SPECIAL_MEANING_VB);
<np-articled-list>(OW);
V->next = <<rp>>;
return TRUE;

View file

@ -25,7 +25,6 @@ int Plurals::plural_SMF(int task, parse_node *V, wording *NPs) {
case ACCEPT_SMFT:
FSW = SW; FOW = OW;
if (<plural-sentence-subject>(SW)) {
Annotations::write_int(V, verb_id_ANNOT, SPECIAL_MEANING_VB);
V->next = <<rp>>;
<np-unparsed>(OW);
V->next->next = <<rp>>;

View file

@ -2340,7 +2340,6 @@ int LiteralPatterns::specifies_SMF(int task, parse_node *V, wording *NPs) {
if (<np-unparsed>(OW)) {
parse_node *O = <<rp>>;
V->next = S; V->next->next = O;
Annotations::write_int(V, verb_id_ANNOT, SPECIAL_MEANING_VB);
return TRUE;
}
}

View file

@ -247,7 +247,6 @@ int NewVerbs::new_verb_SMF(int task, parse_node *V, wording *NPs) {
case ACCEPT_SMFT:
if (<new-verb-sentence-object>(OW)) {
if (<<r>> == FALSE) return FALSE;
Annotations::write_int(V, verb_id_ANNOT, SPECIAL_MEANING_VB);
parse_node *O = <<rp>>;
<np-unparsed>(SW);
V->next = <<rp>>;
@ -280,7 +279,6 @@ int NewVerbs::verb_means_SMF(int task, parse_node *V, wording *NPs) {
case ACCEPT_SMFT:
if (<verb-means-sentence-subject>(SW)) {
int imperative_flag = <<r>>;
Annotations::write_int(V, verb_id_ANNOT, SPECIAL_MEANING_VB);
V->next = <<rp>>;
<np-articled>(OW);
V->next->next = <<rp>>;
@ -1134,7 +1132,6 @@ int NewVerbs::new_adjective_SMF(int task, parse_node *V, wording *NPs) {
switch (task) { /* "In French petit is an adjective meaning..." */
case ACCEPT_SMFT:
if (<new-adjective-sentence-object>(OW)) {
Annotations::write_int(V, verb_id_ANNOT, SPECIAL_MEANING_VB);
parse_node *O = <<rp>>;
if (O == NULL) { <np-unparsed>(OW); O = <<rp>>; }
<np-unparsed>(SW);

View file

@ -106,7 +106,6 @@ int Relations::new_relation_SMF(int task, parse_node *V, wording *NPs) {
switch (task) { /* "Knowledge relates various people to various things." */
case ACCEPT_SMFT:
if (<new-relation-sentence-object>(OW)) {
Annotations::write_int(V, verb_id_ANNOT, SPECIAL_MEANING_VB);
parse_node *O = <<rp>>;
<np-unparsed>(SW);
V->next = <<rp>>;

View file

@ -130,6 +130,12 @@ void Sentences::VPs::visit(parse_node *p) {
"instructions.");
}
@ =
int Sentences::VPs::special(parse_node *p) {
if (Node::get_special_meaning(p)) return TRUE;
return FALSE;
}
@ To break up an individual sentence into noun phrases and a verb phrase
is quite simple: we feed it to the <nonstructural-sentence> grammar,
and if that doesn't work, we feed it to <bad-nonstructural-sentence-diagnosis>
@ -161,7 +167,6 @@ int Sentences::VPs::include_in_SMF(int task, parse_node *V, wording *NPs) {
switch (task) { /* "Index map with ..." */
case ACCEPT_SMFT:
if (<the-debugging-log>(OW)) {
Annotations::write_int(V, verb_id_ANNOT, SPECIAL_MEANING_VB);
<np-articled-list>(O2W);
V->next = <<rp>>;
Sentences::VPs::switch_dl_mode(V->next, TRUE);
@ -178,7 +183,6 @@ int Sentences::VPs::omit_from_SMF(int task, parse_node *V, wording *NPs) {
switch (task) { /* "Index map with ..." */
case ACCEPT_SMFT:
if (<the-debugging-log>(OW)) {
Annotations::write_int(V, verb_id_ANNOT, SPECIAL_MEANING_VB);
<np-articled-list>(O2W);
V->next = <<rp>>;
Sentences::VPs::switch_dl_mode(V->next, FALSE);
@ -324,8 +328,6 @@ action declarations continue with usually extensive further text:
parse_node *VP_PN = RP[1];
if (Annotations::read_int(VP_PN, linguistic_error_here_ANNOT) == TwoLikelihoods_LINERROR)
@<Issue two likelihoods problem@>;
if (Annotations::read_int(VP_PN, verb_id_ANNOT) == 0)
Annotations::write_int(VP_PN, verb_id_ANNOT, ASSERT_VB);
SyntaxTree::graft(Task::syntax_tree(), VP_PN, nss_tree_head);
if (SyntaxTree::is_trace_set(Task::syntax_tree())) {
@ -352,38 +354,6 @@ object noun phrase.
PROPER_NOUN_NT "Railway Departure"
PROPER_NOUN_NT "the player is in the train"
=
This is made by |Sentences::VPs::nss_tree2|, but there are variants for one noun phrase or three.
=
int Sentences::VPs::nss_tree1(int t, wording VW, parse_node *np1) {
parse_node *VP_PN = Node::new(VERB_NT);
Node::set_text(VP_PN, VW);
Annotations::write_int(VP_PN, verb_id_ANNOT, t);
SyntaxTree::graft(Task::syntax_tree(), VP_PN, nss_tree_head);
SyntaxTree::graft(Task::syntax_tree(), np1, nss_tree_head);
return 0;
}
int Sentences::VPs::nss_tree2(int t, wording VW, parse_node *np1, parse_node *np2) {
parse_node *VP_PN = Node::new(VERB_NT);
Node::set_text(VP_PN, VW);
Annotations::write_int(VP_PN, verb_id_ANNOT, t);
SyntaxTree::graft(Task::syntax_tree(), VP_PN, nss_tree_head);
SyntaxTree::graft(Task::syntax_tree(), np1, nss_tree_head);
SyntaxTree::graft(Task::syntax_tree(), np2, nss_tree_head);
return 0;
}
int Sentences::VPs::nss_tree3(int t, wording VW, parse_node *np1, parse_node *np2, parse_node *np3) {
parse_node *VP_PN = Node::new(VERB_NT);
Node::set_text(VP_PN, VW);
Annotations::write_int(VP_PN, verb_id_ANNOT, t);
SyntaxTree::graft(Task::syntax_tree(), VP_PN, nss_tree_head);
SyntaxTree::graft(Task::syntax_tree(), np1, nss_tree_head);
SyntaxTree::graft(Task::syntax_tree(), np2, nss_tree_head);
SyntaxTree::graft(Task::syntax_tree(), np3, nss_tree_head);
return 0;
}
@ In the assertion parser, any text at all can be a noun phrase. However,
to disambiguate sentences we sometimes want to insist that it takes a
@ -436,7 +406,6 @@ int Sentences::VPs::translates_into_unicode_as_SMF(int task, parse_node *V, word
switch (task) { /* "Black king chess piece translates into Unicode as 9818" */
case ACCEPT_SMFT:
if (<translation-target-unicode>(O2W)) {
Annotations::write_int(V, verb_id_ANNOT, SPECIAL_MEANING_VB);
<np-articled>(SW);
V->next = <<rp>>;
<np-articled>(OW);
@ -458,7 +427,6 @@ int Sentences::VPs::translates_into_I6_as_SMF(int task, parse_node *V, wording *
switch (task) { /* "Black king chess piece translates into Unicode as 9818" */
case ACCEPT_SMFT:
if (<translation-target-i6>(O2W)) {
Annotations::write_int(V, verb_id_ANNOT, SPECIAL_MEANING_VB);
<np-articled>(SW);
V->next = <<rp>>;
<np-articled>(OW);
@ -481,7 +449,6 @@ int Sentences::VPs::translates_into_language_as_SMF(int task, parse_node *V, wor
switch (task) { /* "Black king chess piece translates into Unicode as 9818" */
case ACCEPT_SMFT:
if (<translation-target-language>(O2W)) {
Annotations::write_int(V, verb_id_ANNOT, SPECIAL_MEANING_VB);
inform_language *nl = (inform_language *) (<<rp>>);
<np-articled>(SW);
V->next = <<rp>>;

View file

@ -141,7 +141,7 @@ We therefore look for this subtree structure:
the new property.
@<See if this assertion creates property names with "... has ... called ..."@> =
if ((Annotations::read_int(pn, verb_id_ANNOT) == ASSERT_VB)
if ((Sentences::VPs::special(pn) == FALSE)
&& (pn->next)
&& (pn->next->next)
&& (Assertions::Copular::possessive(pn->next->next))
@ -279,8 +279,8 @@ wastes only a negligible amount of memory.
void Sentences::Rearrangement::traverse_for_nonbreaking_ofs(parse_node *pn) {
if ((Node::get_type(pn) == SENTENCE_NT) &&
(pn->down) && (Node::get_type(pn->down) == VERB_NT)) {
int vn = Annotations::read_int(pn->down, verb_id_ANNOT);
if (((vn == ASSERT_VB) || (Annotations::read_int(pn->down, examine_for_ofs_ANNOT))) &&
int vn = Sentences::VPs::special(pn->down);
if (((vn == FALSE) || (Annotations::read_int(pn->down, examine_for_ofs_ANNOT))) &&
(<sentence-needing-second-look>(Node::get_text(pn)))) {
current_sentence = pn; /* (just in case any problem messages are issued) */
pn->down = NULL; /* thus cutting off and forgetting its former subtree */

View file

@ -203,7 +203,6 @@ void ParseTreeUsage::write_permissions(void) {
Annotations::allow(ADJECTIVE_NT, negated_boolean_ANNOT);
Annotations::allow(ADJECTIVE_NT, article_ANNOT);
Annotations::allow(VERB_NT, log_inclusion_sense_ANNOT);
Annotations::allow(VERB_NT, verb_id_ANNOT);
Annotations::allow(VERB_NT, imperative_ANNOT);
Annotations::allow(VERB_NT, examine_for_ofs_ANNOT);
Annotations::allow(VERB_NT, listing_sense_ANNOT);
@ -455,9 +454,6 @@ void ParseTreeUsage::log_node(OUTPUT_STREAM, parse_node *pn) {
WRITE(" (x%d)", Annotations::read_int(pn, multiplicity_ANNOT));
show_refers = TRUE;
break;
case VERB_NT:
WRITE(" ($V)", Annotations::read_int(pn, verb_id_ANNOT));
break;
case TOKEN_NT: WRITE(" [%d/%d]", Annotations::read_int(pn, slash_class_ANNOT),
Annotations::read_int(pn, slash_dash_dash_ANNOT)); break;
case INVOCATION_LIST_NT:

View file

@ -317,7 +317,6 @@ void Assertions::Assemblies::satisfies_generalisation(inference_subject *infs, g
/* make the new sentence an assertion: */
new_sentence->down = Node::new(VERB_NT);
Annotations::write_int(new_sentence->down, verb_id_ANNOT, ASSERT_VB);
new_sentence->down->next = Node::new(CREATED_NT);
Node::copy_subtree(g->look_for, new_sentence->down->next, 0);
new_sentence->down->next->next = Node::new(CREATED_NT);

View file

@ -21,7 +21,6 @@ int Assertions::Property::either_SMF(int task, parse_node *V, wording *NPs) {
switch (task) { /* "A room is either dark or lighted." */
case ACCEPT_SMFT:
if (<either-sentence-object>(OW)) {
Annotations::write_int(V, verb_id_ANNOT, SPECIAL_MEANING_VB);
parse_node *O = <<rp>>;
<np-unparsed>(SW);
V->next = <<rp>>;
@ -42,7 +41,6 @@ int Assertions::Property::optional_either_SMF(int task, parse_node *V, wording *
wording OW = (NPs)?(NPs[1]):EMPTY_WORDING;
switch (task) { /* "A room can be dark or lighted." */
case ACCEPT_SMFT:
Annotations::write_int(V, verb_id_ANNOT, SPECIAL_MEANING_VB);
<np-unparsed>(OW);
parse_node *O = <<rp>>;
<np-unparsed>(SW);

View file

@ -295,9 +295,11 @@ 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@> =
int vn = Annotations::read_int(p->down, verb_id_ANNOT);
int vn = ASSERT_VB;
if (Sentences::VPs::special(p->down)) vn = SPECIAL_MEANING_VB;
if ((vn < 0) || (vn >= MAX_OF_NTS_AND_VBS)) {
LOG("Unimplemented verb %d\n", Annotations::read_int(p->down, verb_id_ANNOT));
LOG("Unimplemented verb\n");
internal_error_on_node_type(p->down);
}
if (how_to_handle_sentences[vn]) {
@ -544,7 +546,7 @@ void Assertions::Traverse::special_meaning(parse_node *pn) {
}
void Assertions::Traverse::try_special_meaning(int task, parse_node *pn) {
if (Annotations::read_int(pn, verb_id_ANNOT) == SPECIAL_MEANING_VB) {
if (Sentences::VPs::special(pn)) {
special_meaning_holder *sm = Node::get_special_meaning(pn);
if (sm) SpecialMeanings::call(sm, task, pn, NULL);
}

View file

@ -173,7 +173,6 @@ int PL::Bibliographic::episode_SMF(int task, parse_node *V, wording *NPs) {
switch (task) { /* "The story is episode 2 of ..." */
case ACCEPT_SMFT:
if ((<episode-sentence-subject>(SW)) && (<episode-sentence-object>(OW))) {
Annotations::write_int(V, verb_id_ANNOT, SPECIAL_MEANING_VB);
if (<<r>> >= 0) {
episode_number = <<r>>;
Word::dequote(<<series>>);

View file

@ -108,7 +108,6 @@ int PL::Bibliographic::Release::release_along_with_SMF(int task, parse_node *V,
wording OW = (NPs)?(NPs[1]):EMPTY_WORDING;
switch (task) { /* "Use American dialect." */
case ACCEPT_SMFT:
Annotations::write_int(V, verb_id_ANNOT, SPECIAL_MEANING_VB);
<np-articled-list>(OW);
V->next = <<rp>>;
return TRUE;

View file

@ -308,7 +308,6 @@ int PL::EPSMap::index_map_with_SMF(int task, parse_node *V, wording *NPs) {
wording OW = (NPs)?(NPs[1]):EMPTY_WORDING;
switch (task) { /* "Index map with ..." */
case ACCEPT_SMFT:
Annotations::write_int(V, verb_id_ANNOT, SPECIAL_MEANING_VB);
<np-articled-list>(OW);
V->next = <<rp>>;
return TRUE;

View file

@ -298,7 +298,6 @@ int PL::Scenes::begins_when_SMF(int task, parse_node *V, wording *NPs) {
wording OW = (NPs)?(NPs[1]):EMPTY_WORDING;
switch (task) { /* "The Ballroom Scene begins when..." */
case ACCEPT_SMFT:
Annotations::write_int(V, verb_id_ANNOT, SPECIAL_MEANING_VB);
<np-unparsed>(OW);
parse_node *O = <<rp>>;
<np-unparsed>(SW);
@ -325,7 +324,6 @@ int PL::Scenes::ends_when_SMF(int task, parse_node *V, wording *NPs) {
wording O2W = (NPs)?(NPs[2]):EMPTY_WORDING;
switch (task) { /* "The Ballroom Scene ends when..." */
case ACCEPT_SMFT:
Annotations::write_int(V, verb_id_ANNOT, SPECIAL_MEANING_VB);
<np-unparsed>(OW);
parse_node *O = <<rp>>;
<np-unparsed>(SW);

View file

@ -730,7 +730,6 @@ int PL::Actions::new_action_SMF(int task, parse_node *V, wording *NPs) {
case ACCEPT_SMFT:
if (<new-action-sentence-object>(OW)) {
if (<<r>> == FALSE) return FALSE;
Annotations::write_int(V, verb_id_ANNOT, SPECIAL_MEANING_VB);
parse_node *O = <<rp>>;
<np-unparsed>(SW);
V->next = <<rp>>;

View file

@ -57,7 +57,6 @@ int PL::Parsing::understand_as_SMF(int task, parse_node *V, wording *NPs) {
wording O2W = (NPs)?(NPs[2]):EMPTY_WORDING;
switch (task) { /* "Understand... as..." */
case ACCEPT_SMFT:
Annotations::write_int(V, verb_id_ANNOT, SPECIAL_MEANING_VB);
<np-unparsed>(O2W);
V->next = <<rp>>;
<np-unparsed>(OW);

View file

@ -136,7 +136,6 @@ int PL::Files::new_file_SMF(int task, parse_node *V, wording *NPs) {
switch (task) { /* "File... is the file..." */
case ACCEPT_SMFT:
if ((<nounphrase-external-file>(SW)) && (<new-file-sentence-object>(OW))) {
Annotations::write_int(V, verb_id_ANNOT, SPECIAL_MEANING_VB);
parse_node *O = <<rp>>;
<np-unparsed>(SW);
V->next = <<rp>>;

View file

@ -89,7 +89,6 @@ int PL::Figures::new_figure_SMF(int task, parse_node *V, wording *NPs) {
switch (task) { /* "Figure... is the file..." */
case ACCEPT_SMFT:
if ((<nounphrase-figure>(SW)) && (<new-figure-sentence-object>(OW))) {
Annotations::write_int(V, verb_id_ANNOT, SPECIAL_MEANING_VB);
parse_node *O = <<rp>>;
<np-unparsed>(SW);
V->next = <<rp>>;

View file

@ -81,7 +81,6 @@ int PL::Sounds::new_sound_SMF(int task, parse_node *V, wording *NPs) {
switch (task) { /* "Sound... is the file..." */
case ACCEPT_SMFT:
if ((<nounphrase-sound>(SW)) && (<new-sound-sentence-object>(OW))) {
Annotations::write_int(V, verb_id_ANNOT, SPECIAL_MEANING_VB);
parse_node *O = <<rp>>;
<np-unparsed>(SW);
V->next = <<rp>>;